????
Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/ |
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/manager-manager-module-ngfactory-es2015.js.map |
{"version":3,"sources":["./node_modules/@angular/cdk/fesm2015/portal.js","./node_modules/@dojo/framework/has/has.mjs","./node_modules/@dojo/framework/shim/AbortController.mjs","./node_modules/@dojo/framework/shim/Promise.mjs","./node_modules/@dojo/framework/shim/Symbol.mjs","./node_modules/@dojo/framework/shim/WeakMap.mjs","./node_modules/@dojo/framework/shim/array.mjs","./node_modules/@dojo/framework/shim/global.mjs","./node_modules/@dojo/framework/shim/iterator.mjs","./node_modules/@dojo/framework/shim/number.mjs","./node_modules/@dojo/framework/shim/object.mjs","./node_modules/@dojo/framework/shim/string.mjs","./node_modules/@dojo/framework/shim/support/queue.mjs","./node_modules/@dojo/framework/shim/support/util.mjs","./node_modules/@swimlane/ngx-charts/fesm2015/swimlane-ngx-charts.js","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AreaChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AreaChartNormalizedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AreaChartStackedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AreaSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarHorizontalComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarHorizontal2DComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarHorizontalNormalizedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarHorizontalStackedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.SeriesHorizontal.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarLabelComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarVerticalComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarVertical2DComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarVerticalNormalizedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BarVerticalStackedComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.SeriesVerticalComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BubbleChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BubbleSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LegendComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.ScaleLegendComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LegendEntryComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AdvancedLegendComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.TooltipContentComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AxisLabelComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.XAxisComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.XAxisTicksComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.YAxisComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.YAxisTicksComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.CountUpDirective.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.Timeline.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.ChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AreaComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.BaseChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.CircleComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.CircleSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.GridPanelComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.GridPanelSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.SvgLinearGradientComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.SvgRadialGradientComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.TooltipArea.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.GaugeArcComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.GaugeAxisComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.GaugeComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LinearGaugeComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.HeatMapComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.HeatMapCellComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.HeatCellSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LineChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LineComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.LineSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.NumberCardComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.CardComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.CardSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.AdvancedPieChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieArcComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieGridComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieGridSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PieLabelComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PolarChartComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.PolarSeriesComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.TreeMapComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.TreeMapCellComponent.html","./node_modules/@swimlane/ngx-charts/swimlane-ngx-charts.d.ts.TreeMapCellSeriesComponent.html","./node_modules/@swimlane/ngx-datatable/fesm2015/swimlane-ngx-datatable.js","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DatatableComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableHeaderComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableHeaderCellComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableBodyComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableBodyCellComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableBodyRowComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.ProgressBarComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.ScrollerComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableRowWrapperComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableSelectionComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableSummaryRowComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTableFooterComponent.html","./node_modules/@swimlane/ngx-datatable/swimlane-ngx-datatable.d.ts.DataTablePagerComponent.html","./node_modules/arcgis-js-api/Basemap.js","./node_modules/arcgis-js-api/Camera.js","./node_modules/arcgis-js-api/Color.js","./node_modules/arcgis-js-api/Graphic.js","./node_modules/arcgis-js-api/Ground.js","./node_modules/arcgis-js-api/Map.js","./node_modules/arcgis-js-api/PopupTemplate.js","./node_modules/arcgis-js-api/TimeExtent.js","./node_modules/arcgis-js-api/TimeInterval.js","./node_modules/arcgis-js-api/Viewpoint.js","./node_modules/arcgis-js-api/core/Accessor.js","./node_modules/arcgis-js-api/core/ArrayPool.js","./node_modules/arcgis-js-api/core/CircularArray.js","./node_modules/arcgis-js-api/core/Collection.js","./node_modules/arcgis-js-api/core/CollectionFlattener.js","./node_modules/arcgis-js-api/core/Error.js","./node_modules/arcgis-js-api/core/Evented.js","./node_modules/arcgis-js-api/core/HandleOwner.js","./node_modules/arcgis-js-api/core/Handles.js","./node_modules/arcgis-js-api/core/HeapSort.js","./node_modules/arcgis-js-api/core/Identifiable.js","./node_modules/arcgis-js-api/core/ItemCache.js","./node_modules/arcgis-js-api/core/JSONSupport.js","./node_modules/arcgis-js-api/core/LRUCache.js","./node_modules/arcgis-js-api/core/Loadable.js","./node_modules/arcgis-js-api/core/Logger.js","./node_modules/arcgis-js-api/core/MD5.js","./node_modules/arcgis-js-api/core/MemCache.js","./node_modules/arcgis-js-api/core/Message.js","./node_modules/arcgis-js-api/core/MultiOriginJSONSupport.js","./node_modules/arcgis-js-api/core/ObjectPool.js","./node_modules/arcgis-js-api/core/PooledArray.js","./node_modules/arcgis-js-api/core/Promise.js","./node_modules/arcgis-js-api/core/Queue.js","./node_modules/arcgis-js-api/core/RandomLCG.js","./node_modules/arcgis-js-api/core/ReentrantObjectPool.js","./node_modules/arcgis-js-api/core/Warning.js","./node_modules/arcgis-js-api/core/accessorSupport/MultiOriginStore.js","./node_modules/arcgis-js-api/core/accessorSupport/Properties.js","./node_modules/arcgis-js-api/core/accessorSupport/PropertyOrigin.js","./node_modules/arcgis-js-api/core/accessorSupport/Store.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/aliasOf.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/autoDestroy.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/cast.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/declared.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/enumeration.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/property.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/reader.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/shared.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/subclass.js","./node_modules/arcgis-js-api/core/accessorSupport/decorators/writer.js","./node_modules/arcgis-js-api/core/accessorSupport/diffUtils.js","./node_modules/arcgis-js-api/core/accessorSupport/ensureType.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/aliasedProperty.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/computedProperty.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty/originAliases.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty/reader.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty/shorthands.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty/type.js","./node_modules/arcgis-js-api/core/accessorSupport/extensions/serializableProperty/writer.js","./node_modules/arcgis-js-api/core/accessorSupport/get.js","./node_modules/arcgis-js-api/core/accessorSupport/introspection.js","./node_modules/arcgis-js-api/core/accessorSupport/metadata.js","./node_modules/arcgis-js-api/core/accessorSupport/read.js","./node_modules/arcgis-js-api/core/accessorSupport/set.js","./node_modules/arcgis-js-api/core/accessorSupport/testSupport.js","./node_modules/arcgis-js-api/core/accessorSupport/utils.js","./node_modules/arcgis-js-api/core/accessorSupport/watch.js","./node_modules/arcgis-js-api/core/accessorSupport/wire.js","./node_modules/arcgis-js-api/core/accessorSupport/write.js","./node_modules/arcgis-js-api/core/arrayUtils.js","./node_modules/arcgis-js-api/core/asyncUtils.js","./node_modules/arcgis-js-api/core/clock.js","./node_modules/arcgis-js-api/core/collectionUtils.js","./node_modules/arcgis-js-api/core/colorUtils.js","./node_modules/arcgis-js-api/core/compilerUtils.js","./node_modules/arcgis-js-api/core/date.js","./node_modules/arcgis-js-api/core/declare.js","./node_modules/arcgis-js-api/core/deprecate.js","./node_modules/arcgis-js-api/core/devEnvironmentUtils.js","./node_modules/arcgis-js-api/core/domUtils.js","./node_modules/arcgis-js-api/core/events.js","./node_modules/arcgis-js-api/core/geolocationUtils.js","./node_modules/arcgis-js-api/core/has.js","./node_modules/arcgis-js-api/core/iteratorUtils.js","./node_modules/arcgis-js-api/core/jsonMap.js","./node_modules/arcgis-js-api/core/lang.js","./node_modules/arcgis-js-api/core/libs/earcut/earcut.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/common.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/mat2df32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/mat2df64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/mat3f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/mat4f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/vec2f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/vec2f64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/vec3f64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/factories/vec4f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat2d.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat2df32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat2df64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/math/common.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/math/mat2d.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/math/mat3.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/math/vec2.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/math/vec3.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/types/vec2.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f32.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js","./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4f32.js","./node_modules/arcgis-js-api/core/libs/libtess/libtess.js","./node_modules/arcgis-js-api/core/libs/pep/pep.js","./node_modules/arcgis-js-api/core/loadAll.js","./node_modules/arcgis-js-api/core/mathUtils.js","./node_modules/arcgis-js-api/core/maybe.js","./node_modules/arcgis-js-api/core/nextTick.js","./node_modules/arcgis-js-api/core/now.js","./node_modules/arcgis-js-api/core/object.js","./node_modules/arcgis-js-api/core/pbf.js","./node_modules/arcgis-js-api/core/promiseUtils.js","./node_modules/arcgis-js-api/core/requestAnimationFrame.js","./node_modules/arcgis-js-api/core/requireUtils.js","./node_modules/arcgis-js-api/core/scheduling.js","./node_modules/arcgis-js-api/core/screenUtils.js","./node_modules/arcgis-js-api/core/string.js","./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js","./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js","./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js","./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js","./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js","./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js","./node_modules/arcgis-js-api/core/tsSupport/paramHelper.js","./node_modules/arcgis-js-api/core/typedArrayUtil.js","./node_modules/arcgis-js-api/core/unitUtils.js","./node_modules/arcgis-js-api/core/urlUtils.js","./node_modules/arcgis-js-api/core/watchUtils.js","./node_modules/arcgis-js-api/core/wgs84Constants.js","./node_modules/arcgis-js-api/core/workers.js","./node_modules/arcgis-js-api/core/workers/Connection.js","./node_modules/arcgis-js-api/core/workers/RemoteClient.js","./node_modules/arcgis-js-api/core/workers/WorkerFallback.js","./node_modules/arcgis-js-api/core/workers/WorkerOwner.js","./node_modules/arcgis-js-api/core/workers/loaderConfig.js","./node_modules/arcgis-js-api/core/workers/utils.js","./node_modules/arcgis-js-api/core/workers/workerFactory.js","./node_modules/arcgis-js-api/core/workers/workers.js","./node_modules/arcgis-js-api/geometry.js","./node_modules/arcgis-js-api/geometry/Circle.js","./node_modules/arcgis-js-api/geometry/Extent.js","./node_modules/arcgis-js-api/geometry/Geometry.js","./node_modules/arcgis-js-api/geometry/HeightModelInfo.js","./node_modules/arcgis-js-api/geometry/Multipoint.js","./node_modules/arcgis-js-api/geometry/Point.js","./node_modules/arcgis-js-api/geometry/Polygon.js","./node_modules/arcgis-js-api/geometry/Polyline.js","./node_modules/arcgis-js-api/geometry/SpatialReference.js","./node_modules/arcgis-js-api/geometry/geometryEngine.js","./node_modules/arcgis-js-api/geometry/support/WKIDUnitConversion.js","./node_modules/arcgis-js-api/geometry/support/aaBoundingBox.js","./node_modules/arcgis-js-api/geometry/support/aaBoundingRect.js","./node_modules/arcgis-js-api/geometry/support/boundsUtils.js","./node_modules/arcgis-js-api/geometry/support/centroid.js","./node_modules/arcgis-js-api/geometry/support/contains.js","./node_modules/arcgis-js-api/geometry/support/coordsUtils.js","./node_modules/arcgis-js-api/geometry/support/extentUtils.js","./node_modules/arcgis-js-api/geometry/support/geodesicUtils.js","./node_modules/arcgis-js-api/geometry/support/heightModelInfoUtils.js","./node_modules/arcgis-js-api/geometry/support/intersects.js","./node_modules/arcgis-js-api/geometry/support/jsonUtils.js","./node_modules/arcgis-js-api/geometry/support/normalizeUtils.js","./node_modules/arcgis-js-api/geometry/support/offset.js","./node_modules/arcgis-js-api/geometry/support/quantizationUtils.js","./node_modules/arcgis-js-api/geometry/support/scaleUtils.js","./node_modules/arcgis-js-api/geometry/support/spatialReferenceUtils.js","./node_modules/arcgis-js-api/geometry/support/webMercatorUtils.js","./node_modules/arcgis-js-api/geometry/support/zmUtils.js","./node_modules/arcgis-js-api/ground/NavigationConstraint.js","./node_modules/arcgis-js-api/intl.js","./node_modules/arcgis-js-api/intl/date.js","./node_modules/arcgis-js-api/intl/locale.js","./node_modules/arcgis-js-api/intl/number.js","./node_modules/arcgis-js-api/intl/substitute.js","./node_modules/arcgis-js-api/kernel.js","./node_modules/arcgis-js-api/layers/FeatureLayer.js","./node_modules/arcgis-js-api/layers/GraphicsLayer.js","./node_modules/arcgis-js-api/layers/GroupLayer.js","./node_modules/arcgis-js-api/layers/Layer.js","./node_modules/arcgis-js-api/layers/MapImageLayer.js","./node_modules/arcgis-js-api/layers/graphics/OptimizedFeature.js","./node_modules/arcgis-js-api/layers/graphics/OptimizedFeatureSet.js","./node_modules/arcgis-js-api/layers/graphics/OptimizedGeometry.js","./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatureComparison.js","./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatures.js","./node_modules/arcgis-js-api/layers/graphics/featureConversionUtils.js","./node_modules/arcgis-js-api/layers/graphics/sources/MemorySource.js","./node_modules/arcgis-js-api/layers/mixins/ArcGISMapService.js","./node_modules/arcgis-js-api/layers/mixins/ArcGISService.js","./node_modules/arcgis-js-api/layers/mixins/OperationalLayer.js","./node_modules/arcgis-js-api/layers/mixins/PortalLayer.js","./node_modules/arcgis-js-api/layers/mixins/RefreshableLayer.js","./node_modules/arcgis-js-api/layers/mixins/ScaleRangeLayer.js","./node_modules/arcgis-js-api/layers/mixins/SublayersOwner.js","./node_modules/arcgis-js-api/layers/mixins/TemporalLayer.js","./node_modules/arcgis-js-api/layers/support/AttachmentInfo.js","./node_modules/arcgis-js-api/layers/support/CodedValue.js","./node_modules/arcgis-js-api/layers/support/CodedValueDomain.js","./node_modules/arcgis-js-api/layers/support/Domain.js","./node_modules/arcgis-js-api/layers/support/ExportImageParameters.js","./node_modules/arcgis-js-api/layers/support/FeatureIndex.js","./node_modules/arcgis-js-api/layers/support/FeatureReduction.js","./node_modules/arcgis-js-api/layers/support/FeatureReductionCluster.js","./node_modules/arcgis-js-api/layers/support/FeatureReductionSelection.js","./node_modules/arcgis-js-api/layers/support/FeatureTemplate.js","./node_modules/arcgis-js-api/layers/support/FeatureType.js","./node_modules/arcgis-js-api/layers/support/Field.js","./node_modules/arcgis-js-api/layers/support/FieldsIndex.js","./node_modules/arcgis-js-api/layers/support/InheritedDomain.js","./node_modules/arcgis-js-api/layers/support/LOD.js","./node_modules/arcgis-js-api/layers/support/LabelClass.js","./node_modules/arcgis-js-api/layers/support/LabelExpressionInfo.js","./node_modules/arcgis-js-api/layers/support/MapImage.js","./node_modules/arcgis-js-api/layers/support/RangeDomain.js","./node_modules/arcgis-js-api/layers/support/Relationship.js","./node_modules/arcgis-js-api/layers/support/Sublayer.js","./node_modules/arcgis-js-api/layers/support/TileInfo.js","./node_modules/arcgis-js-api/layers/support/TimeInfo.js","./node_modules/arcgis-js-api/layers/support/TimeReference.js","./node_modules/arcgis-js-api/layers/support/arcgisLayerUrl.js","./node_modules/arcgis-js-api/layers/support/commonProperties.js","./node_modules/arcgis-js-api/layers/support/domains.js","./node_modules/arcgis-js-api/layers/support/exifUtils.js","./node_modules/arcgis-js-api/layers/support/featureReductionUtils.js","./node_modules/arcgis-js-api/layers/support/fieldProperties.js","./node_modules/arcgis-js-api/layers/support/fieldType.js","./node_modules/arcgis-js-api/layers/support/fieldUtils.js","./node_modules/arcgis-js-api/layers/support/labelUtils.js","./node_modules/arcgis-js-api/layers/support/labelingInfo.js","./node_modules/arcgis-js-api/layers/support/layerSourceUtils.js","./node_modules/arcgis-js-api/layers/support/sublayerUtils.js","./node_modules/arcgis-js-api/layers/support/timeUtils.js","./node_modules/arcgis-js-api/layers/support/types.js","./node_modules/arcgis-js-api/libs/maquette/cache.js","./node_modules/arcgis-js-api/libs/maquette/dom.js","./node_modules/arcgis-js-api/libs/maquette/h.js","./node_modules/arcgis-js-api/libs/maquette/index.js","./node_modules/arcgis-js-api/libs/maquette/mapping.js","./node_modules/arcgis-js-api/libs/maquette/projection.js","./node_modules/arcgis-js-api/libs/maquette/projector.js","./node_modules/arcgis-js-api/libs/sanitizer/Sanitizer.js","./node_modules/arcgis-js-api/libs/sortablejs/Sortable.js","./node_modules/arcgis-js-api/nls/basemaps.js","./node_modules/arcgis-js-api/nls/common.js","./node_modules/arcgis-js-api/nls/vi/basemaps.js","./node_modules/arcgis-js-api/nls/vi/common.js","./node_modules/arcgis-js-api/popup/ExpressionInfo.js","./node_modules/arcgis-js-api/popup/FieldInfo.js","./node_modules/arcgis-js-api/popup/LayerOptions.js","./node_modules/arcgis-js-api/popup/RelatedRecordsInfo.js","./node_modules/arcgis-js-api/popup/content.js","./node_modules/arcgis-js-api/popup/content/AttachmentsContent.js","./node_modules/arcgis-js-api/popup/content/BarChartMediaInfo.js","./node_modules/arcgis-js-api/popup/content/ColumnChartMediaInfo.js","./node_modules/arcgis-js-api/popup/content/Content.js","./node_modules/arcgis-js-api/popup/content/FieldsContent.js","./node_modules/arcgis-js-api/popup/content/ImageMediaInfo.js","./node_modules/arcgis-js-api/popup/content/LineChartMediaInfo.js","./node_modules/arcgis-js-api/popup/content/MediaContent.js","./node_modules/arcgis-js-api/popup/content/PieChartMediaInfo.js","./node_modules/arcgis-js-api/popup/content/TextContent.js","./node_modules/arcgis-js-api/popup/content/mixins/ChartMediaInfo.js","./node_modules/arcgis-js-api/popup/content/mixins/MediaInfo.js","./node_modules/arcgis-js-api/popup/content/support/ChartMediaInfoValue.js","./node_modules/arcgis-js-api/popup/content/support/ChartMediaInfoValueSeries.js","./node_modules/arcgis-js-api/popup/content/support/ImageMediaInfoValue.js","./node_modules/arcgis-js-api/popup/content/support/chartMediaInfoUtils.js","./node_modules/arcgis-js-api/popup/content/support/mediaInfoTypes.js","./node_modules/arcgis-js-api/popup/support/FieldInfoFormat.js","./node_modules/arcgis-js-api/popup/support/RelatedRecordsInfoFieldOrder.js","./node_modules/arcgis-js-api/portal/Portal.js","./node_modules/arcgis-js-api/portal/PortalFolder.js","./node_modules/arcgis-js-api/portal/PortalGroup.js","./node_modules/arcgis-js-api/portal/PortalItem.js","./node_modules/arcgis-js-api/portal/PortalQueryParams.js","./node_modules/arcgis-js-api/portal/PortalQueryResult.js","./node_modules/arcgis-js-api/portal/PortalRating.js","./node_modules/arcgis-js-api/portal/PortalUser.js","./node_modules/arcgis-js-api/renderers.js","./node_modules/arcgis-js-api/renderers/ClassBreaksRenderer.js","./node_modules/arcgis-js-api/renderers/DictionaryRenderer.js","./node_modules/arcgis-js-api/renderers/DotDensityRenderer.js","./node_modules/arcgis-js-api/renderers/HeatmapRenderer.js","./node_modules/arcgis-js-api/renderers/Renderer.js","./node_modules/arcgis-js-api/renderers/SimpleRenderer.js","./node_modules/arcgis-js-api/renderers/UniqueValueRenderer.js","./node_modules/arcgis-js-api/renderers/mixins/VisualVariablesMixin.js","./node_modules/arcgis-js-api/renderers/support/AttributeColorInfo.js","./node_modules/arcgis-js-api/renderers/support/AuthoringInfo.js","./node_modules/arcgis-js-api/renderers/support/AuthoringInfoClassBreakInfo.js","./node_modules/arcgis-js-api/renderers/support/AuthoringInfoFieldInfo.js","./node_modules/arcgis-js-api/renderers/support/AuthoringInfoVisualVariable.js","./node_modules/arcgis-js-api/renderers/support/ClassBreakInfo.js","./node_modules/arcgis-js-api/renderers/support/DotDensityLegendOptions.js","./node_modules/arcgis-js-api/renderers/support/HeatmapColorStop.js","./node_modules/arcgis-js-api/renderers/support/LegendOptions.js","./node_modules/arcgis-js-api/renderers/support/UniqueValueInfo.js","./node_modules/arcgis-js-api/renderers/support/jsonUtils.js","./node_modules/arcgis-js-api/renderers/support/numberUtils.js","./node_modules/arcgis-js-api/renderers/support/styleUtils.js","./node_modules/arcgis-js-api/renderers/support/utils.js","./node_modules/arcgis-js-api/renderers/visualVariables/ColorVariable.js","./node_modules/arcgis-js-api/renderers/visualVariables/OpacityVariable.js","./node_modules/arcgis-js-api/renderers/visualVariables/RotationVariable.js","./node_modules/arcgis-js-api/renderers/visualVariables/SizeVariable.js","./node_modules/arcgis-js-api/renderers/visualVariables/VisualVariable.js","./node_modules/arcgis-js-api/renderers/visualVariables/VisualVariableFactory.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/ColorStop.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/OpacityStop.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/SizeStop.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/SizeVariableLegendOptions.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/VisualVariableLegendOptions.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/sizeVariableUtils.js","./node_modules/arcgis-js-api/renderers/visualVariables/support/visualVariableUtils.js","./node_modules/arcgis-js-api/request.js","./node_modules/arcgis-js-api/support/GraphicsCollection.js","./node_modules/arcgis-js-api/support/LayersMixin.js","./node_modules/arcgis-js-api/support/actions/ActionBase.js","./node_modules/arcgis-js-api/support/actions/ActionButton.js","./node_modules/arcgis-js-api/support/actions/ActionSlider.js","./node_modules/arcgis-js-api/support/actions/ActionToggle.js","./node_modules/arcgis-js-api/support/arcadeOnDemand.js","./node_modules/arcgis-js-api/support/basemapDefinitions.js","./node_modules/arcgis-js-api/support/basemapUtils.js","./node_modules/arcgis-js-api/support/featureFlags.js","./node_modules/arcgis-js-api/support/groundUtils.js","./node_modules/arcgis-js-api/support/popupUtils.js","./node_modules/arcgis-js-api/support/revision.js","./node_modules/arcgis-js-api/symbols.js","./node_modules/arcgis-js-api/symbols/CIMSymbol.js","./node_modules/arcgis-js-api/symbols/ExtrudeSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/FillSymbol.js","./node_modules/arcgis-js-api/symbols/FillSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/Font.js","./node_modules/arcgis-js-api/symbols/IconSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/LabelSymbol3D.js","./node_modules/arcgis-js-api/symbols/LineSymbol.js","./node_modules/arcgis-js-api/symbols/LineSymbol3D.js","./node_modules/arcgis-js-api/symbols/LineSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/MarkerSymbol.js","./node_modules/arcgis-js-api/symbols/MeshSymbol3D.js","./node_modules/arcgis-js-api/symbols/ObjectSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/PathSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/PictureFillSymbol.js","./node_modules/arcgis-js-api/symbols/PictureMarkerSymbol.js","./node_modules/arcgis-js-api/symbols/PointSymbol3D.js","./node_modules/arcgis-js-api/symbols/PolygonSymbol3D.js","./node_modules/arcgis-js-api/symbols/SimpleFillSymbol.js","./node_modules/arcgis-js-api/symbols/SimpleLineSymbol.js","./node_modules/arcgis-js-api/symbols/SimpleMarkerSymbol.js","./node_modules/arcgis-js-api/symbols/Symbol.js","./node_modules/arcgis-js-api/symbols/Symbol3D.js","./node_modules/arcgis-js-api/symbols/Symbol3DLayer.js","./node_modules/arcgis-js-api/symbols/TextSymbol.js","./node_modules/arcgis-js-api/symbols/TextSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/WaterSymbol3DLayer.js","./node_modules/arcgis-js-api/symbols/WebStyleSymbol.js","./node_modules/arcgis-js-api/symbols/callouts/Callout3D.js","./node_modules/arcgis-js-api/symbols/callouts/LineCallout3D.js","./node_modules/arcgis-js-api/symbols/callouts/LineCallout3DBorder.js","./node_modules/arcgis-js-api/symbols/callouts/calloutUtils.js","./node_modules/arcgis-js-api/symbols/cim/CIMCursor.js","./node_modules/arcgis-js-api/symbols/cim/CIMEffects.js","./node_modules/arcgis-js-api/symbols/cim/CIMOperators.js","./node_modules/arcgis-js-api/symbols/cim/CIMPlacements.js","./node_modules/arcgis-js-api/symbols/cim/CIMSymbolDrawHelper.js","./node_modules/arcgis-js-api/symbols/cim/CIMSymbolHelper.js","./node_modules/arcgis-js-api/symbols/cim/CIMSymbolRasterizer.js","./node_modules/arcgis-js-api/symbols/cim/Rasterizer.js","./node_modules/arcgis-js-api/symbols/cim/Rect.js","./node_modules/arcgis-js-api/symbols/cim/SDFHelper.js","./node_modules/arcgis-js-api/symbols/cim/TextRasterizer.js","./node_modules/arcgis-js-api/symbols/cim/cimAnalyzer.js","./node_modules/arcgis-js-api/symbols/cim/enums.js","./node_modules/arcgis-js-api/symbols/cim/packingUtils.js","./node_modules/arcgis-js-api/symbols/cim/utils.js","./node_modules/arcgis-js-api/symbols/edges/Edges3D.js","./node_modules/arcgis-js-api/symbols/edges/SketchEdges3D.js","./node_modules/arcgis-js-api/symbols/edges/SolidEdges3D.js","./node_modules/arcgis-js-api/symbols/edges/utils.js","./node_modules/arcgis-js-api/symbols/support/ElevationInfo.js","./node_modules/arcgis-js-api/symbols/support/FeatureExpressionInfo.js","./node_modules/arcgis-js-api/symbols/support/IconSymbol3DLayerResource.js","./node_modules/arcgis-js-api/symbols/support/ObjectSymbol3DLayerResource.js","./node_modules/arcgis-js-api/symbols/support/StyleOrigin.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DAnchorPosition2D.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DAnchorPosition3D.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DFillMaterial.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DHalo.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DMaterial.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DOutline.js","./node_modules/arcgis-js-api/symbols/support/Symbol3DVerticalOffset.js","./node_modules/arcgis-js-api/symbols/support/Thumbnail.js","./node_modules/arcgis-js-api/symbols/support/cimSymbolUtils.js","./node_modules/arcgis-js-api/symbols/support/colors.js","./node_modules/arcgis-js-api/symbols/support/defaults.js","./node_modules/arcgis-js-api/symbols/support/defaultsJSON.js","./node_modules/arcgis-js-api/symbols/support/gfxUtils.js","./node_modules/arcgis-js-api/symbols/support/jsonUtils.js","./node_modules/arcgis-js-api/symbols/support/materialUtils.js","./node_modules/arcgis-js-api/symbols/support/previewCIMSymbol.js","./node_modules/arcgis-js-api/symbols/support/previewSymbol2D.js","./node_modules/arcgis-js-api/symbols/support/previewSymbol3D.js","./node_modules/arcgis-js-api/symbols/support/previewUtils.js","./node_modules/arcgis-js-api/symbols/support/previewWebStyleSymbol.js","./node_modules/arcgis-js-api/symbols/support/renderUtils.js","./node_modules/arcgis-js-api/symbols/support/styleUtils.js","./node_modules/arcgis-js-api/symbols/support/svgUtils.js","./node_modules/arcgis-js-api/symbols/support/symbolConversion.js","./node_modules/arcgis-js-api/symbols/support/symbolUtils.js","./node_modules/arcgis-js-api/symbols/support/unitConversionUtils.js","./node_modules/arcgis-js-api/symbols/support/urlUtils.js","./node_modules/arcgis-js-api/symbols/support/utils.js","./node_modules/arcgis-js-api/tasks/GeometryService.js","./node_modules/arcgis-js-api/tasks/Geoprocessor.js","./node_modules/arcgis-js-api/tasks/PrintTask.js","./node_modules/arcgis-js-api/tasks/QueryTask.js","./node_modules/arcgis-js-api/tasks/Task.js","./node_modules/arcgis-js-api/tasks/geometry/cut.js","./node_modules/arcgis-js-api/tasks/geometry/simplify.js","./node_modules/arcgis-js-api/tasks/operations/PBFWorker.js","./node_modules/arcgis-js-api/tasks/operations/pbfDehydratedFeatureSet.js","./node_modules/arcgis-js-api/tasks/operations/pbfFeatureServiceParser.js","./node_modules/arcgis-js-api/tasks/operations/pbfOptimizedFeatureSet.js","./node_modules/arcgis-js-api/tasks/operations/pbfQueryUtils.js","./node_modules/arcgis-js-api/tasks/operations/query.js","./node_modules/arcgis-js-api/tasks/operations/queryAttachments.js","./node_modules/arcgis-js-api/tasks/operations/queryRelatedRecords.js","./node_modules/arcgis-js-api/tasks/operations/urlUtils.js","./node_modules/arcgis-js-api/tasks/support/AlgorithmicColorRamp.js","./node_modules/arcgis-js-api/tasks/support/AttachmentQuery.js","./node_modules/arcgis-js-api/tasks/support/ColorRamp.js","./node_modules/arcgis-js-api/tasks/support/DataFile.js","./node_modules/arcgis-js-api/tasks/support/FeatureSet.js","./node_modules/arcgis-js-api/tasks/support/GPMessage.js","./node_modules/arcgis-js-api/tasks/support/JobInfo.js","./node_modules/arcgis-js-api/tasks/support/LinearUnit.js","./node_modules/arcgis-js-api/tasks/support/MultipartColorRamp.js","./node_modules/arcgis-js-api/tasks/support/ParameterValue.js","./node_modules/arcgis-js-api/tasks/support/PrintParameters.js","./node_modules/arcgis-js-api/tasks/support/PrintTemplate.js","./node_modules/arcgis-js-api/tasks/support/ProjectParameters.js","./node_modules/arcgis-js-api/tasks/support/QuantizationParameters.js","./node_modules/arcgis-js-api/tasks/support/Query.js","./node_modules/arcgis-js-api/tasks/support/RasterData.js","./node_modules/arcgis-js-api/tasks/support/RelationshipQuery.js","./node_modules/arcgis-js-api/tasks/support/StatisticDefinition.js","./node_modules/arcgis-js-api/tasks/support/colorRamps.js","./node_modules/arcgis-js-api/tasks/support/fileFormat.js","./node_modules/arcgis-js-api/tasks/support/layoutTemplate.js","./node_modules/arcgis-js-api/tasks/support/printTaskUtils.js","./node_modules/arcgis-js-api/views/2d/AnimationManager.js","./node_modules/arcgis-js-api/views/2d/FrameTask.js","./node_modules/arcgis-js-api/views/2d/MapViewConstraints.js","./node_modules/arcgis-js-api/views/2d/PaddedViewState.js","./node_modules/arcgis-js-api/views/2d/ViewState.js","./node_modules/arcgis-js-api/views/2d/arcade/utils.js","./node_modules/arcgis-js-api/views/2d/constraints/RotationConstraint.js","./node_modules/arcgis-js-api/views/2d/constraints/ZoomConstraint.js","./node_modules/arcgis-js-api/views/2d/engine.js","./node_modules/arcgis-js-api/views/2d/engine/Bitmap.js","./node_modules/arcgis-js-api/views/2d/engine/BitmapContainer.js","./node_modules/arcgis-js-api/views/2d/engine/BitmapTile.js","./node_modules/arcgis-js-api/views/2d/engine/BitmapTileContainer.js","./node_modules/arcgis-js-api/views/2d/engine/Container.js","./node_modules/arcgis-js-api/views/2d/engine/DisplayObject.js","./node_modules/arcgis-js-api/views/2d/engine/ImageryBitmapSource.js","./node_modules/arcgis-js-api/views/2d/engine/LevelDependentSizeVariable.js","./node_modules/arcgis-js-api/views/2d/engine/Stage.js","./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/GeometryUtils.js","./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/ProgramCache.js","./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/Programs.js","./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/sources/resolver.js","./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/AttributeStoreView.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/BitBlitRenderer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/ClippingInfo.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/DirtyMap.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/DisplayRecordStore.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Fader.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/FreeList.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Geometry.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/GeometryUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/GlyphMosaic.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/GlyphSource.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/MaterialManager.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/MemoryRequirements.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Mesh2D.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/MeshData.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Painter.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Profiler.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Rect.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/RectangleBinPack.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/SDFConverter.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/SpriteMosaic.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/SymbolProperties.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TextShaping.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TextShapingNew.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TextureManager.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TileBufferData.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TileClipper.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TileContainer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TileData.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TileDisplayData.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TiledDisplayObject.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/TurboLine.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/Utils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/VertexStream.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLBuffers.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLContainer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLDisplayList.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLDisplayObject.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLDisplayRecord.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLRendererInfo.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WGLTile.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/WebGLDriverTest.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/alignmentUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/BrushBitmap.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/BrushClip.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrush.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushInfo.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushStencil.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/BoundingBox.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/CollisionBucket.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/CollisionBucketEntry.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/CollisionEngine.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/CollisionGrid.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/LayerCollisionInfo.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/LayerViewSorter.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/Metric.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/collisions/visualVariableSimpleUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/color.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/definitions.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/AnimationEffect.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/Effect.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/HighlightEffect.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/HittestEffect.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/highlight/HighlightGradient.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/effects/highlight/parameters.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/enums.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/fontUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/materialKey/MaterialKey.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/MeshData.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/Tesselator.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/VertexBuffer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/VertexVector.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/factories/WGLMeshFactory.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/factories/matcherUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/ComputedGlyph.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/GlyphGroup.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLBaseLineTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLBaseMarkerTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLBaseTextTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLDynamicLineTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLDynamicMarkerTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLDynamicMeshTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLDynamicTextTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLLineTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLMarkerTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLMeshTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLTemplateStore.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/WGLTextTemplate.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/mesh/templates/util.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/number.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/packingUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/painter/RenderPass.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/BackgroundPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/BitBlitPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/HighlightPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/MagnifierPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/MaterialPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/StencilPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/TileInfoPrograms.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/sources/resolver.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/sources/shaderRepository.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/BidiText.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/Lock.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/Matcher.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/Reader.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/Result.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/Writer.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/debug.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/serializationUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/symbolUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/util/vvFlagUtils.js","./node_modules/arcgis-js-api/views/2d/engine/webgl/visualVariablesUtils.js","./node_modules/arcgis-js-api/views/2d/input/MapViewInputManager.js","./node_modules/arcgis-js-api/views/2d/input/handlers/DoubleClickZoom.js","./node_modules/arcgis-js-api/views/2d/input/handlers/DoubleTapDragZoom.js","./node_modules/arcgis-js-api/views/2d/input/handlers/DragPan.js","./node_modules/arcgis-js-api/views/2d/input/handlers/DragRotate.js","./node_modules/arcgis-js-api/views/2d/input/handlers/GamepadNavigation.js","./node_modules/arcgis-js-api/views/2d/input/handlers/KeyPan.js","./node_modules/arcgis-js-api/views/2d/input/handlers/KeyRotate.js","./node_modules/arcgis-js-api/views/2d/input/handlers/KeyZoom.js","./node_modules/arcgis-js-api/views/2d/input/handlers/MouseWheelZoom.js","./node_modules/arcgis-js-api/views/2d/input/handlers/PinchAction.js","./node_modules/arcgis-js-api/views/2d/layerViewModuleImportUtils.js","./node_modules/arcgis-js-api/views/2d/layers/support/clusterUtils.js","./node_modules/arcgis-js-api/views/2d/support/HighlightOptions.js","./node_modules/arcgis-js-api/views/2d/support/Timeline.js","./node_modules/arcgis-js-api/views/2d/tiling.js","./node_modules/arcgis-js-api/views/2d/tiling/LODInfo.js","./node_modules/arcgis-js-api/views/2d/tiling/TileCache.js","./node_modules/arcgis-js-api/views/2d/tiling/TileCoverage.js","./node_modules/arcgis-js-api/views/2d/tiling/TileInfoView.js","./node_modules/arcgis-js-api/views/2d/tiling/TileKey.js","./node_modules/arcgis-js-api/views/2d/tiling/TileQueue.js","./node_modules/arcgis-js-api/views/2d/tiling/TileSpan.js","./node_modules/arcgis-js-api/views/2d/tiling/TileStrategy.js","./node_modules/arcgis-js-api/views/2d/unitBezier.js","./node_modules/arcgis-js-api/views/2d/viewpointUtils.js","./node_modules/arcgis-js-api/views/3d/support/mathUtils.js","./node_modules/arcgis-js-api/views/BasemapView.js","./node_modules/arcgis-js-api/views/BreakpointsOwner.js","./node_modules/arcgis-js-api/views/DOMContainer.js","./node_modules/arcgis-js-api/views/LayerViewManager.js","./node_modules/arcgis-js-api/views/Magnifier.js","./node_modules/arcgis-js-api/views/MapView.js","./node_modules/arcgis-js-api/views/MapViewBase.js","./node_modules/arcgis-js-api/views/PopupView.js","./node_modules/arcgis-js-api/views/RefreshManager.js","./node_modules/arcgis-js-api/views/ToolViewManager.js","./node_modules/arcgis-js-api/views/View.js","./node_modules/arcgis-js-api/views/ViewAnimation.js","./node_modules/arcgis-js-api/views/draw/Draw.js","./node_modules/arcgis-js-api/views/draw/DrawAction.js","./node_modules/arcgis-js-api/views/draw/MultipointDrawAction.js","./node_modules/arcgis-js-api/views/draw/PointDrawAction.js","./node_modules/arcgis-js-api/views/draw/PolygonDrawAction.js","./node_modules/arcgis-js-api/views/draw/PolylineDrawAction.js","./node_modules/arcgis-js-api/views/draw/SegmentDrawAction.js","./node_modules/arcgis-js-api/views/draw/input/DrawEvents.js","./node_modules/arcgis-js-api/views/draw/input/Keys.js","./node_modules/arcgis-js-api/views/input/BrowserEventSource.js","./node_modules/arcgis-js-api/views/input/DragEventSeparator.js","./node_modules/arcgis-js-api/views/input/EventMatch.js","./node_modules/arcgis-js-api/views/input/Input.js","./node_modules/arcgis-js-api/views/input/InputHandler.js","./node_modules/arcgis-js-api/views/input/InputManager.js","./node_modules/arcgis-js-api/views/input/ViewEvents.js","./node_modules/arcgis-js-api/views/input/gamepad/GamepadInputDevice.js","./node_modules/arcgis-js-api/views/input/gamepad/GamepadSettings.js","./node_modules/arcgis-js-api/views/input/gamepad/GamepadSource.js","./node_modules/arcgis-js-api/views/input/gamepad/GamepadState.js","./node_modules/arcgis-js-api/views/input/handlers/LatestPointerType.js","./node_modules/arcgis-js-api/views/input/handlers/PreventContextMenu.js","./node_modules/arcgis-js-api/views/input/handlers/support.js","./node_modules/arcgis-js-api/views/input/keys.js","./node_modules/arcgis-js-api/views/input/recognizers/DoubleTapDrag.js","./node_modules/arcgis-js-api/views/input/recognizers/Drag.js","./node_modules/arcgis-js-api/views/input/recognizers/PointerClickHoldAndDrag.js","./node_modules/arcgis-js-api/views/input/recognizers/SingleAndDoubleClick.js","./node_modules/arcgis-js-api/views/input/recognizers/support.js","./node_modules/arcgis-js-api/views/interactive/ToolViewManagerManipulatorState.js","./node_modules/arcgis-js-api/views/interactive/interactiveToolUtils.js","./node_modules/arcgis-js-api/views/layers/RefreshableLayerView.js","./node_modules/arcgis-js-api/views/navigation/Navigation.js","./node_modules/arcgis-js-api/views/navigation/gamepad/GamepadSettings.js","./node_modules/arcgis-js-api/views/navigation/gamepadAndKeyboardUtils.js","./node_modules/arcgis-js-api/views/overlay/ViewOverlay.js","./node_modules/arcgis-js-api/views/support/DefaultsFromMap.js","./node_modules/arcgis-js-api/views/support/QueueProcessor.js","./node_modules/arcgis-js-api/views/support/Scheduler.js","./node_modules/arcgis-js-api/views/support/WatchUpdatingTracking.js","./node_modules/arcgis-js-api/views/support/WebGLRequirements.js","./node_modules/arcgis-js-api/views/support/debugFlags.js","./node_modules/arcgis-js-api/views/support/layerViewUtils.js","./node_modules/arcgis-js-api/views/support/screenshotUtils.js","./node_modules/arcgis-js-api/views/ui/2d/DefaultUI2D.js","./node_modules/arcgis-js-api/views/ui/Component.js","./node_modules/arcgis-js-api/views/ui/DefaultUI.js","./node_modules/arcgis-js-api/views/ui/UI.js","./node_modules/arcgis-js-api/views/webgl.js","./node_modules/arcgis-js-api/views/webgl/BufferObject.js","./node_modules/arcgis-js-api/views/webgl/FramebufferObject.js","./node_modules/arcgis-js-api/views/webgl/InstanceCounter.js","./node_modules/arcgis-js-api/views/webgl/Program.js","./node_modules/arcgis-js-api/views/webgl/ProgramCache.js","./node_modules/arcgis-js-api/views/webgl/Renderbuffer.js","./node_modules/arcgis-js-api/views/webgl/RenderingContext.js","./node_modules/arcgis-js-api/views/webgl/ShaderCompiler.js","./node_modules/arcgis-js-api/views/webgl/ShaderTranspiler.js","./node_modules/arcgis-js-api/views/webgl/Texture.js","./node_modules/arcgis-js-api/views/webgl/Util.js","./node_modules/arcgis-js-api/views/webgl/VertexArrayObject.js","./node_modules/arcgis-js-api/views/webgl/capabilities/DisjointTimerQuery.js","./node_modules/arcgis-js-api/views/webgl/capabilities/Instancing.js","./node_modules/arcgis-js-api/views/webgl/capabilities/LoseContext.js","./node_modules/arcgis-js-api/views/webgl/capabilities/VertexArrayObjects.js","./node_modules/arcgis-js-api/views/webgl/capabilities/isWebGL2Context.js","./node_modules/arcgis-js-api/views/webgl/capabilities/load.js","./node_modules/arcgis-js-api/views/webgl/context-util.js","./node_modules/arcgis-js-api/views/webgl/enums.js","./node_modules/arcgis-js-api/views/webgl/lib/glsl-tokenizer/index.js","./node_modules/arcgis-js-api/views/webgl/lib/glsl-tokenizer/lib/builtins.js","./node_modules/arcgis-js-api/views/webgl/lib/glsl-tokenizer/lib/literals.js","./node_modules/arcgis-js-api/views/webgl/lib/glsl-tokenizer/lib/operators.js","./node_modules/arcgis-js-api/views/webgl/lib/glsl-tokenizer/string.js","./node_modules/arcgis-js-api/views/webgl/programUtils.js","./node_modules/arcgis-js-api/views/webgl/renderState.js","./node_modules/arcgis-js-api/views/webgl/reservedWordsGLSL3.js","./node_modules/arcgis-js-api/webdoc/support/opacityUtils.js","./node_modules/arcgis-js-api/webdoc/support/writeUtils.js","./node_modules/arcgis-js-api/widgets/Attribution.js","./node_modules/arcgis-js-api/widgets/Attribution/AttributionViewModel.js","./node_modules/arcgis-js-api/widgets/Attribution/nls/Attribution.js","./node_modules/arcgis-js-api/widgets/Attribution/nls/vi/Attribution.js","./node_modules/arcgis-js-api/widgets/BasemapToggle.js","./node_modules/arcgis-js-api/widgets/BasemapToggle/BasemapToggleViewModel.js","./node_modules/arcgis-js-api/widgets/BasemapToggle/nls/BasemapToggle.js","./node_modules/arcgis-js-api/widgets/BasemapToggle/nls/vi/BasemapToggle.js","./node_modules/arcgis-js-api/widgets/Compass.js","./node_modules/arcgis-js-api/widgets/Compass/CompassViewModel.js","./node_modules/arcgis-js-api/widgets/Compass/nls/Compass.js","./node_modules/arcgis-js-api/widgets/Compass/nls/vi/Compass.js","./node_modules/arcgis-js-api/widgets/Expand.js","./node_modules/arcgis-js-api/widgets/Expand/ExpandViewModel.js","./node_modules/arcgis-js-api/widgets/Expand/nls/Expand.js","./node_modules/arcgis-js-api/widgets/Expand/nls/vi/Expand.js","./node_modules/arcgis-js-api/widgets/Home.js","./node_modules/arcgis-js-api/widgets/Home/HomeViewModel.js","./node_modules/arcgis-js-api/widgets/Home/nls/Home.js","./node_modules/arcgis-js-api/widgets/Home/nls/vi/Home.js","./node_modules/arcgis-js-api/widgets/LayerList.js","./node_modules/arcgis-js-api/widgets/LayerList/LayerListViewModel.js","./node_modules/arcgis-js-api/widgets/LayerList/ListItem.js","./node_modules/arcgis-js-api/widgets/LayerList/ListItemPanel.js","./node_modules/arcgis-js-api/widgets/LayerList/nls/LayerList.js","./node_modules/arcgis-js-api/widgets/LayerList/nls/vi/LayerList.js","./node_modules/arcgis-js-api/widgets/LayerList/support/layerListUtils.js","./node_modules/arcgis-js-api/widgets/Legend.js","./node_modules/arcgis-js-api/widgets/Legend/LegendViewModel.js","./node_modules/arcgis-js-api/widgets/Legend/nls/Legend.js","./node_modules/arcgis-js-api/widgets/Legend/nls/vi/Legend.js","./node_modules/arcgis-js-api/widgets/Legend/styles/Card.js","./node_modules/arcgis-js-api/widgets/Legend/styles/Classic.js","./node_modules/arcgis-js-api/widgets/Legend/styles/support/utils.js","./node_modules/arcgis-js-api/widgets/Legend/support/ActiveLayerInfo.js","./node_modules/arcgis-js-api/widgets/Legend/support/colorRampUtils.js","./node_modules/arcgis-js-api/widgets/Legend/support/heatmapRampUtils.js","./node_modules/arcgis-js-api/widgets/Legend/support/relationshipRampUtils.js","./node_modules/arcgis-js-api/widgets/Legend/support/sizeRampUtils.js","./node_modules/arcgis-js-api/widgets/Legend/support/styleUtils.js","./node_modules/arcgis-js-api/widgets/Legend/support/utils.js","./node_modules/arcgis-js-api/widgets/Locate.js","./node_modules/arcgis-js-api/widgets/Locate/LocateViewModel.js","./node_modules/arcgis-js-api/widgets/Locate/nls/Locate.js","./node_modules/arcgis-js-api/widgets/Locate/nls/vi/Locate.js","./node_modules/arcgis-js-api/widgets/Measurement.js","./node_modules/arcgis-js-api/widgets/Measurement/MeasurementViewModel.js","./node_modules/arcgis-js-api/widgets/Measurement/nls/Measurement.js","./node_modules/arcgis-js-api/widgets/Measurement/nls/vi/Measurement.js","./node_modules/arcgis-js-api/widgets/NavigationToggle.js","./node_modules/arcgis-js-api/widgets/NavigationToggle/NavigationToggleViewModel.js","./node_modules/arcgis-js-api/widgets/NavigationToggle/nls/NavigationToggle.js","./node_modules/arcgis-js-api/widgets/NavigationToggle/nls/vi/NavigationToggle.js","./node_modules/arcgis-js-api/widgets/Popup.js","./node_modules/arcgis-js-api/widgets/Popup/PopupViewModel.js","./node_modules/arcgis-js-api/widgets/Popup/actions.js","./node_modules/arcgis-js-api/widgets/Popup/nls/Popup.js","./node_modules/arcgis-js-api/widgets/Popup/nls/vi/Popup.js","./node_modules/arcgis-js-api/widgets/Print.js","./node_modules/arcgis-js-api/widgets/Print/FileLink.js","./node_modules/arcgis-js-api/widgets/Print/PrintViewModel.js","./node_modules/arcgis-js-api/widgets/Print/TemplateOptions.js","./node_modules/arcgis-js-api/widgets/Print/nls/Print.js","./node_modules/arcgis-js-api/widgets/Print/nls/vi/Print.js","./node_modules/arcgis-js-api/widgets/Spinner.js","./node_modules/arcgis-js-api/widgets/Spinner/SpinnerViewModel.js","./node_modules/arcgis-js-api/widgets/Widget.js","./node_modules/arcgis-js-api/widgets/Zoom.js","./node_modules/arcgis-js-api/widgets/Zoom/IconButton.js","./node_modules/arcgis-js-api/widgets/Zoom/ZoomConditions2D.js","./node_modules/arcgis-js-api/widgets/Zoom/ZoomConditions3D.js","./node_modules/arcgis-js-api/widgets/Zoom/ZoomViewModel.js","./node_modules/arcgis-js-api/widgets/Zoom/nls/Zoom.js","./node_modules/arcgis-js-api/widgets/Zoom/nls/vi/Zoom.js","./node_modules/arcgis-js-api/widgets/support/AnchorElementViewModel.js","./node_modules/arcgis-js-api/widgets/support/GeolocationPositioning.js","./node_modules/arcgis-js-api/widgets/support/GoTo.js","./node_modules/arcgis-js-api/widgets/support/colorUtils.js","./node_modules/arcgis-js-api/widgets/support/commonProperties.js","./node_modules/arcgis-js-api/widgets/support/decorators.js","./node_modules/arcgis-js-api/widgets/support/decorators/accessibleHandler.js","./node_modules/arcgis-js-api/widgets/support/decorators/propUtils.js","./node_modules/arcgis-js-api/widgets/support/decorators/renderable.js","./node_modules/arcgis-js-api/widgets/support/decorators/vmEvent.js","./node_modules/arcgis-js-api/widgets/support/jsxFactory.js","./node_modules/arcgis-js-api/widgets/support/shim/SVGElement.js","./node_modules/arcgis-js-api/widgets/support/widget.js","./node_modules/arcgis-js-api/widgets/support/widgetUtils.js","./node_modules/d3-array/src/array.js","./node_modules/d3-array/src/ascending.js","./node_modules/d3-array/src/bin.js","./node_modules/d3-array/src/bisect.js","./node_modules/d3-array/src/bisector.js","./node_modules/d3-array/src/constant.js","./node_modules/d3-array/src/count.js","./node_modules/d3-array/src/cross.js","./node_modules/d3-array/src/cumsum.js","./node_modules/d3-array/src/descending.js","./node_modules/d3-array/src/deviation.js","./node_modules/d3-array/src/difference.js","./node_modules/d3-array/src/disjoint.js","./node_modules/d3-array/src/every.js","./node_modules/d3-array/src/extent.js","./node_modules/d3-array/src/filter.js","./node_modules/d3-array/src/fsum.js","./node_modules/d3-array/src/greatest.js","./node_modules/d3-array/src/greatestIndex.js","./node_modules/d3-array/src/group.js","./node_modules/d3-array/src/groupSort.js","./node_modules/d3-array/src/identity.js","./node_modules/d3-array/src/index.js","./node_modules/d3-array/src/intersection.js","./node_modules/d3-array/src/least.js","./node_modules/d3-array/src/leastIndex.js","./node_modules/d3-array/src/map.js","./node_modules/d3-array/src/max.js","./node_modules/d3-array/src/maxIndex.js","./node_modules/d3-array/src/mean.js","./node_modules/d3-array/src/median.js","./node_modules/d3-array/src/merge.js","./node_modules/d3-array/src/min.js","./node_modules/d3-array/src/minIndex.js","./node_modules/d3-array/src/nice.js","./node_modules/d3-array/src/number.js","./node_modules/d3-array/src/pairs.js","./node_modules/d3-array/src/permute.js","./node_modules/d3-array/src/quantile.js","./node_modules/d3-array/src/quickselect.js","./node_modules/d3-array/src/range.js","./node_modules/d3-array/src/reduce.js","./node_modules/d3-array/src/reverse.js","./node_modules/d3-array/src/scan.js","./node_modules/d3-array/src/set.js","./node_modules/d3-array/src/shuffle.js","./node_modules/d3-array/src/some.js","./node_modules/d3-array/src/sort.js","./node_modules/d3-array/src/subset.js","./node_modules/d3-array/src/sum.js","./node_modules/d3-array/src/superset.js","./node_modules/d3-array/src/threshold/freedmanDiaconis.js","./node_modules/d3-array/src/threshold/scott.js","./node_modules/d3-array/src/threshold/sturges.js","./node_modules/d3-array/src/ticks.js","./node_modules/d3-array/src/transpose.js","./node_modules/d3-array/src/union.js","./node_modules/d3-array/src/variance.js","./node_modules/d3-array/src/zip.js","./node_modules/d3-brush/src/brush.js","./node_modules/d3-brush/src/constant.js","./node_modules/d3-brush/src/event.js","./node_modules/d3-brush/src/index.js","./node_modules/d3-brush/src/noevent.js","./node_modules/d3-color/src/color.js","./node_modules/d3-color/src/cubehelix.js","./node_modules/d3-color/src/define.js","./node_modules/d3-color/src/index.js","./node_modules/d3-color/src/lab.js","./node_modules/d3-color/src/math.js","./node_modules/d3-dispatch/src/dispatch.js","./node_modules/d3-dispatch/src/index.js","./node_modules/d3-drag/src/constant.js","./node_modules/d3-drag/src/drag.js","./node_modules/d3-drag/src/event.js","./node_modules/d3-drag/src/index.js","./node_modules/d3-drag/src/nodrag.js","./node_modules/d3-drag/src/noevent.js","./node_modules/d3-ease/src/back.js","./node_modules/d3-ease/src/bounce.js","./node_modules/d3-ease/src/circle.js","./node_modules/d3-ease/src/cubic.js","./node_modules/d3-ease/src/elastic.js","./node_modules/d3-ease/src/exp.js","./node_modules/d3-ease/src/index.js","./node_modules/d3-ease/src/linear.js","./node_modules/d3-ease/src/math.js","./node_modules/d3-ease/src/poly.js","./node_modules/d3-ease/src/quad.js","./node_modules/d3-ease/src/sin.js","./node_modules/d3-format/src/defaultLocale.js","./node_modules/d3-format/src/exponent.js","./node_modules/d3-format/src/formatDecimal.js","./node_modules/d3-format/src/formatGroup.js","./node_modules/d3-format/src/formatNumerals.js","./node_modules/d3-format/src/formatPrefixAuto.js","./node_modules/d3-format/src/formatRounded.js","./node_modules/d3-format/src/formatSpecifier.js","./node_modules/d3-format/src/formatTrim.js","./node_modules/d3-format/src/formatTypes.js","./node_modules/d3-format/src/identity.js","./node_modules/d3-format/src/index.js","./node_modules/d3-format/src/locale.js","./node_modules/d3-format/src/precisionFixed.js","./node_modules/d3-format/src/precisionPrefix.js","./node_modules/d3-format/src/precisionRound.js","./node_modules/d3-hierarchy/src/accessors.js","./node_modules/d3-hierarchy/src/array.js","./node_modules/d3-hierarchy/src/cluster.js","./node_modules/d3-hierarchy/src/constant.js","./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","./node_modules/d3-hierarchy/src/hierarchy/count.js","./node_modules/d3-hierarchy/src/hierarchy/descendants.js","./node_modules/d3-hierarchy/src/hierarchy/each.js","./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","./node_modules/d3-hierarchy/src/hierarchy/index.js","./node_modules/d3-hierarchy/src/hierarchy/leaves.js","./node_modules/d3-hierarchy/src/hierarchy/links.js","./node_modules/d3-hierarchy/src/hierarchy/path.js","./node_modules/d3-hierarchy/src/hierarchy/sort.js","./node_modules/d3-hierarchy/src/hierarchy/sum.js","./node_modules/d3-hierarchy/src/index.js","./node_modules/d3-hierarchy/src/pack/enclose.js","./node_modules/d3-hierarchy/src/pack/index.js","./node_modules/d3-hierarchy/src/pack/siblings.js","./node_modules/d3-hierarchy/src/partition.js","./node_modules/d3-hierarchy/src/stratify.js","./node_modules/d3-hierarchy/src/tree.js","./node_modules/d3-hierarchy/src/treemap/binary.js","./node_modules/d3-hierarchy/src/treemap/dice.js","./node_modules/d3-hierarchy/src/treemap/index.js","./node_modules/d3-hierarchy/src/treemap/resquarify.js","./node_modules/d3-hierarchy/src/treemap/round.js","./node_modules/d3-hierarchy/src/treemap/slice.js","./node_modules/d3-hierarchy/src/treemap/sliceDice.js","./node_modules/d3-hierarchy/src/treemap/squarify.js","./node_modules/d3-interpolate/src/array.js","./node_modules/d3-interpolate/src/basis.js","./node_modules/d3-interpolate/src/basisClosed.js","./node_modules/d3-interpolate/src/color.js","./node_modules/d3-interpolate/src/constant.js","./node_modules/d3-interpolate/src/cubehelix.js","./node_modules/d3-interpolate/src/date.js","./node_modules/d3-interpolate/src/discrete.js","./node_modules/d3-interpolate/src/hcl.js","./node_modules/d3-interpolate/src/hsl.js","./node_modules/d3-interpolate/src/hue.js","./node_modules/d3-interpolate/src/index.js","./node_modules/d3-interpolate/src/lab.js","./node_modules/d3-interpolate/src/number.js","./node_modules/d3-interpolate/src/numberArray.js","./node_modules/d3-interpolate/src/object.js","./node_modules/d3-interpolate/src/piecewise.js","./node_modules/d3-interpolate/src/quantize.js","./node_modules/d3-interpolate/src/rgb.js","./node_modules/d3-interpolate/src/round.js","./node_modules/d3-interpolate/src/string.js","./node_modules/d3-interpolate/src/transform/decompose.js","./node_modules/d3-interpolate/src/transform/index.js","./node_modules/d3-interpolate/src/transform/parse.js","./node_modules/d3-interpolate/src/value.js","./node_modules/d3-interpolate/src/zoom.js","./node_modules/d3-path/src/index.js","./node_modules/d3-path/src/path.js","./node_modules/d3-scale/src/band.js","./node_modules/d3-scale/src/constant.js","./node_modules/d3-scale/src/continuous.js","./node_modules/d3-scale/src/diverging.js","./node_modules/d3-scale/src/identity.js","./node_modules/d3-scale/src/index.js","./node_modules/d3-scale/src/init.js","./node_modules/d3-scale/src/linear.js","./node_modules/d3-scale/src/log.js","./node_modules/d3-scale/src/nice.js","./node_modules/d3-scale/src/number.js","./node_modules/d3-scale/src/ordinal.js","./node_modules/d3-scale/src/pow.js","./node_modules/d3-scale/src/quantile.js","./node_modules/d3-scale/src/quantize.js","./node_modules/d3-scale/src/radial.js","./node_modules/d3-scale/src/sequential.js","./node_modules/d3-scale/src/sequentialQuantile.js","./node_modules/d3-scale/src/symlog.js","./node_modules/d3-scale/src/threshold.js","./node_modules/d3-scale/src/tickFormat.js","./node_modules/d3-scale/src/time.js","./node_modules/d3-scale/src/utcTime.js","./node_modules/d3-selection/src/constant.js","./node_modules/d3-selection/src/create.js","./node_modules/d3-selection/src/creator.js","./node_modules/d3-selection/src/index.js","./node_modules/d3-selection/src/local.js","./node_modules/d3-selection/src/matcher.js","./node_modules/d3-selection/src/mouse.js","./node_modules/d3-selection/src/namespace.js","./node_modules/d3-selection/src/namespaces.js","./node_modules/d3-selection/src/point.js","./node_modules/d3-selection/src/select.js","./node_modules/d3-selection/src/selectAll.js","./node_modules/d3-selection/src/selection/append.js","./node_modules/d3-selection/src/selection/attr.js","./node_modules/d3-selection/src/selection/call.js","./node_modules/d3-selection/src/selection/classed.js","./node_modules/d3-selection/src/selection/clone.js","./node_modules/d3-selection/src/selection/data.js","./node_modules/d3-selection/src/selection/datum.js","./node_modules/d3-selection/src/selection/dispatch.js","./node_modules/d3-selection/src/selection/each.js","./node_modules/d3-selection/src/selection/empty.js","./node_modules/d3-selection/src/selection/enter.js","./node_modules/d3-selection/src/selection/exit.js","./node_modules/d3-selection/src/selection/filter.js","./node_modules/d3-selection/src/selection/html.js","./node_modules/d3-selection/src/selection/index.js","./node_modules/d3-selection/src/selection/insert.js","./node_modules/d3-selection/src/selection/join.js","./node_modules/d3-selection/src/selection/lower.js","./node_modules/d3-selection/src/selection/merge.js","./node_modules/d3-selection/src/selection/node.js","./node_modules/d3-selection/src/selection/nodes.js","./node_modules/d3-selection/src/selection/on.js","./node_modules/d3-selection/src/selection/order.js","./node_modules/d3-selection/src/selection/property.js","./node_modules/d3-selection/src/selection/raise.js","./node_modules/d3-selection/src/selection/remove.js","./node_modules/d3-selection/src/selection/select.js","./node_modules/d3-selection/src/selection/selectAll.js","./node_modules/d3-selection/src/selection/size.js","./node_modules/d3-selection/src/selection/sort.js","./node_modules/d3-selection/src/selection/sparse.js","./node_modules/d3-selection/src/selection/style.js","./node_modules/d3-selection/src/selection/text.js","./node_modules/d3-selection/src/selector.js","./node_modules/d3-selection/src/selectorAll.js","./node_modules/d3-selection/src/sourceEvent.js","./node_modules/d3-selection/src/touch.js","./node_modules/d3-selection/src/touches.js","./node_modules/d3-selection/src/window.js","./node_modules/d3-shape/src/arc.js","./node_modules/d3-shape/src/area.js","./node_modules/d3-shape/src/areaRadial.js","./node_modules/d3-shape/src/array.js","./node_modules/d3-shape/src/constant.js","./node_modules/d3-shape/src/curve/basis.js","./node_modules/d3-shape/src/curve/basisClosed.js","./node_modules/d3-shape/src/curve/basisOpen.js","./node_modules/d3-shape/src/curve/bundle.js","./node_modules/d3-shape/src/curve/cardinal.js","./node_modules/d3-shape/src/curve/cardinalClosed.js","./node_modules/d3-shape/src/curve/cardinalOpen.js","./node_modules/d3-shape/src/curve/catmullRom.js","./node_modules/d3-shape/src/curve/catmullRomClosed.js","./node_modules/d3-shape/src/curve/catmullRomOpen.js","./node_modules/d3-shape/src/curve/linear.js","./node_modules/d3-shape/src/curve/linearClosed.js","./node_modules/d3-shape/src/curve/monotone.js","./node_modules/d3-shape/src/curve/natural.js","./node_modules/d3-shape/src/curve/radial.js","./node_modules/d3-shape/src/curve/step.js","./node_modules/d3-shape/src/descending.js","./node_modules/d3-shape/src/identity.js","./node_modules/d3-shape/src/index.js","./node_modules/d3-shape/src/line.js","./node_modules/d3-shape/src/lineRadial.js","./node_modules/d3-shape/src/link/index.js","./node_modules/d3-shape/src/math.js","./node_modules/d3-shape/src/noop.js","./node_modules/d3-shape/src/offset/diverging.js","./node_modules/d3-shape/src/offset/expand.js","./node_modules/d3-shape/src/offset/none.js","./node_modules/d3-shape/src/offset/silhouette.js","./node_modules/d3-shape/src/offset/wiggle.js","./node_modules/d3-shape/src/order/appearance.js","./node_modules/d3-shape/src/order/ascending.js","./node_modules/d3-shape/src/order/descending.js","./node_modules/d3-shape/src/order/insideOut.js","./node_modules/d3-shape/src/order/none.js","./node_modules/d3-shape/src/order/reverse.js","./node_modules/d3-shape/src/pie.js","./node_modules/d3-shape/src/point.js","./node_modules/d3-shape/src/pointRadial.js","./node_modules/d3-shape/src/stack.js","./node_modules/d3-shape/src/symbol.js","./node_modules/d3-shape/src/symbol/circle.js","./node_modules/d3-shape/src/symbol/cross.js","./node_modules/d3-shape/src/symbol/diamond.js","./node_modules/d3-shape/src/symbol/square.js","./node_modules/d3-shape/src/symbol/star.js","./node_modules/d3-shape/src/symbol/triangle.js","./node_modules/d3-shape/src/symbol/wye.js","./node_modules/d3-time-format/node_modules/d3-time/src/day.js","./node_modules/d3-time-format/node_modules/d3-time/src/duration.js","./node_modules/d3-time-format/node_modules/d3-time/src/hour.js","./node_modules/d3-time-format/node_modules/d3-time/src/index.js","./node_modules/d3-time-format/node_modules/d3-time/src/interval.js","./node_modules/d3-time-format/node_modules/d3-time/src/millisecond.js","./node_modules/d3-time-format/node_modules/d3-time/src/minute.js","./node_modules/d3-time-format/node_modules/d3-time/src/month.js","./node_modules/d3-time-format/node_modules/d3-time/src/second.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcDay.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcHour.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcMinute.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcMonth.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcWeek.js","./node_modules/d3-time-format/node_modules/d3-time/src/utcYear.js","./node_modules/d3-time-format/node_modules/d3-time/src/week.js","./node_modules/d3-time-format/node_modules/d3-time/src/year.js","./node_modules/d3-time-format/src/defaultLocale.js","./node_modules/d3-time-format/src/index.js","./node_modules/d3-time-format/src/isoFormat.js","./node_modules/d3-time-format/src/isoParse.js","./node_modules/d3-time-format/src/locale.js","./node_modules/d3-time/src/day.js","./node_modules/d3-time/src/duration.js","./node_modules/d3-time/src/hour.js","./node_modules/d3-time/src/index.js","./node_modules/d3-time/src/interval.js","./node_modules/d3-time/src/millisecond.js","./node_modules/d3-time/src/minute.js","./node_modules/d3-time/src/month.js","./node_modules/d3-time/src/second.js","./node_modules/d3-time/src/ticks.js","./node_modules/d3-time/src/utcDay.js","./node_modules/d3-time/src/utcHour.js","./node_modules/d3-time/src/utcMinute.js","./node_modules/d3-time/src/utcMonth.js","./node_modules/d3-time/src/utcWeek.js","./node_modules/d3-time/src/utcYear.js","./node_modules/d3-time/src/week.js","./node_modules/d3-time/src/year.js","./node_modules/d3-timer/src/index.js","./node_modules/d3-timer/src/interval.js","./node_modules/d3-timer/src/timeout.js","./node_modules/d3-timer/src/timer.js","./node_modules/d3-transition/src/active.js","./node_modules/d3-transition/src/index.js","./node_modules/d3-transition/src/interrupt.js","./node_modules/d3-transition/src/selection/index.js","./node_modules/d3-transition/src/selection/interrupt.js","./node_modules/d3-transition/src/selection/transition.js","./node_modules/d3-transition/src/transition/attr.js","./node_modules/d3-transition/src/transition/attrTween.js","./node_modules/d3-transition/src/transition/delay.js","./node_modules/d3-transition/src/transition/duration.js","./node_modules/d3-transition/src/transition/ease.js","./node_modules/d3-transition/src/transition/end.js","./node_modules/d3-transition/src/transition/filter.js","./node_modules/d3-transition/src/transition/index.js","./node_modules/d3-transition/src/transition/interpolate.js","./node_modules/d3-transition/src/transition/merge.js","./node_modules/d3-transition/src/transition/on.js","./node_modules/d3-transition/src/transition/remove.js","./node_modules/d3-transition/src/transition/schedule.js","./node_modules/d3-transition/src/transition/select.js","./node_modules/d3-transition/src/transition/selectAll.js","./node_modules/d3-transition/src/transition/selection.js","./node_modules/d3-transition/src/transition/style.js","./node_modules/d3-transition/src/transition/styleTween.js","./node_modules/d3-transition/src/transition/text.js","./node_modules/d3-transition/src/transition/textTween.js","./node_modules/d3-transition/src/transition/transition.js","./node_modules/d3-transition/src/transition/tween.js","./node_modules/dojo-webpack-plugin/lib/NoModule.js","webpack:///./node_modules/arcgis-js-api/nls/basemaps.js?924b","webpack:///./node_modules/arcgis-js-api/nls/common.js?6731","webpack:///./node_modules/arcgis-js-api/widgets/Attribution/nls/Attribution.js?7841","webpack:///./node_modules/arcgis-js-api/widgets/BasemapToggle/nls/BasemapToggle.js?f8cf","webpack:///./node_modules/arcgis-js-api/widgets/Compass/nls/Compass.js?d7a9","webpack:///./node_modules/arcgis-js-api/widgets/Expand/nls/Expand.js?9975","webpack:///./node_modules/arcgis-js-api/widgets/Home/nls/Home.js?f19f","webpack:///./node_modules/arcgis-js-api/widgets/LayerList/nls/LayerList.js?123b","webpack:///./node_modules/arcgis-js-api/widgets/Legend/nls/Legend.js?27a1","webpack:///./node_modules/arcgis-js-api/widgets/Locate/nls/Locate.js?bc77","webpack:///./node_modules/arcgis-js-api/widgets/Measurement/nls/Measurement.js?8704","webpack:///./node_modules/arcgis-js-api/widgets/NavigationToggle/nls/NavigationToggle.js?36b5","webpack:///./node_modules/arcgis-js-api/widgets/Popup/nls/Popup.js?367c","webpack:///./node_modules/arcgis-js-api/widgets/Print/nls/Print.js?d443","webpack:///./node_modules/arcgis-js-api/widgets/Zoom/nls/Zoom.js?fe3d","./node_modules/dojo-webpack-plugin/loaders/dojo/runner.js","./node_modules/dojo/Deferred.js","./node_modules/dojo/Evented.js","./node_modules/dojo/Stateful.js","./node_modules/dojo/_base/Color.js","./node_modules/dojo/_base/Deferred.js","./node_modules/dojo/_base/array.js","./node_modules/dojo/_base/config.js","./node_modules/dojo/_base/connect.js","./node_modules/dojo/_base/declare.js","./node_modules/dojo/_base/event.js","./node_modules/dojo/_base/json.js","./node_modules/dojo/_base/kernel.js","./node_modules/dojo/_base/lang.js","./node_modules/dojo/_base/sniff.js","./node_modules/dojo/_base/window.js","./node_modules/dojo/_base/xhr.js","./node_modules/dojo/aspect.js","./node_modules/dojo/dom-attr.js","./node_modules/dojo/dom-construct.js","./node_modules/dojo/dom-form.js","./node_modules/dojo/dom-geometry.js","./node_modules/dojo/dom-prop.js","./node_modules/dojo/dom-style.js","./node_modules/dojo/dom.js","./node_modules/dojo/errors/CancelError.js","./node_modules/dojo/errors/RequestError.js","./node_modules/dojo/errors/RequestTimeoutError.js","./node_modules/dojo/errors/create.js","./node_modules/dojo/global.js","./node_modules/dojo/has.js","./node_modules/dojo/i18n.js","./node_modules/dojo/io-query.js","./node_modules/dojo/json.js","./node_modules/dojo/keys.js","./node_modules/dojo/mouse.js","./node_modules/dojo/on.js","./node_modules/dojo/promise/Promise.js","./node_modules/dojo/promise/all.js","./node_modules/dojo/promise/instrumentation.js","./node_modules/dojo/promise/tracer.js","./node_modules/dojo/request/handlers.js","./node_modules/dojo/request/util.js","./node_modules/dojo/request/watch.js","./node_modules/dojo/request/xhr.js","./node_modules/dojo/sniff.js","./node_modules/dojo/topic.js","./node_modules/dojo/when.js","./node_modules/dojox/gfx/_base.js","./node_modules/dojox/gfx/arc.js","./node_modules/dojox/gfx/bezierutils.js","./node_modules/dojox/gfx/canvas.js","./node_modules/dojox/gfx/decompose.js","./node_modules/dojox/gfx/matrix.js","./node_modules/dojox/gfx/path.js","./node_modules/dojox/gfx/shape.js","./node_modules/dojox/string/BidiEngine.js","./node_modules/internmap/src/index.js","./node_modules/maquette-css-transitions/dist/maquette-css-transitions.umd.js","./node_modules/maquette-jsx/dist/maquette-jsx.umd.js","./node_modules/ng2-pdfjs-viewer/index.js","./node_modules/ng2-pdfjs-viewer/ng2-pdfjs-viewer.d.ts.PdfJsViewerComponent.html","./node_modules/ngx-perfect-scrollbar/ngx-perfect-scrollbar.d.ts.PerfectScrollbarComponent.html","./src/app/layout/header/header.component.html","./src/app/layout/header/header.component.ts","./src/app/layout/layout.module.ts","./src/app/layout/nav-bar/nav-bar.component.html","./src/app/layout/nav-bar/nav-bar.component.ts","./src/app/manager/dasboard/dasboard.component.html","./src/app/manager/dasboard/dasboard.component.ts","./src/app/manager/dasboard/dasboard.module.ts","./src/app/manager/dasboard/group-bar-chart/group-bar-chart.component.html","./src/app/manager/dasboard/group-bar-chart/group-bar-chart.component.ts","./src/app/manager/dasboard/modal-statistical/modal-statistical.component.html","./src/app/manager/dasboard/modal-statistical/modal-statistical.component.ts","./src/app/manager/dasboard/number-card-chart/counter-up.directive.ts","./src/app/manager/dasboard/number-card-chart/number-card-chart.component.html","./src/app/manager/dasboard/number-card-chart/number-card-chart.component.ts","./src/app/manager/dasboard/number-card-chart/number-card-chart.module.ts","./src/app/manager/dasboard/pie-chart-file/pie-chart-file.component.html","./src/app/manager/dasboard/pie-chart-file/pie-chart-file.component.ts","./src/app/manager/dasboard/pie-chart/pie-chart.component.html","./src/app/manager/dasboard/pie-chart/pie-chart.component.ts","./src/app/manager/diem-dich-vu/add/add.component.html","./src/app/manager/diem-dich-vu/add/add.component.ts","./src/app/manager/diem-dich-vu/diem-dich-vu-routing.module.ts","./src/app/manager/diem-dich-vu/diem-dich-vu.component.html","./src/app/manager/diem-dich-vu/diem-dich-vu.component.ts","./src/app/manager/diem-dich-vu/diem-dich-vu.module.ts","./src/app/manager/diem-dich-vu/list/list.component.html","./src/app/manager/diem-dich-vu/list/list.component.ts","./src/app/manager/ho-so/add/add.component.html","./src/app/manager/ho-so/add/add.component.ts","./src/app/manager/ho-so/add/modal-add-diemdv/modal-add-diemdv.component.html","./src/app/manager/ho-so/add/modal-add-diemdv/modal-add-diemdv.component.ts","./src/app/manager/ho-so/add/modal-add-tcngam/modal-add-tcngam.component.html","./src/app/manager/ho-so/add/modal-add-tcngam/modal-add-tcngam.component.ts","./src/app/manager/ho-so/add/modal-add-tcnoi/modal-add-tcnoi.component.html","./src/app/manager/ho-so/add/modal-add-tcnoi/modal-add-tcnoi.component.ts","./src/app/manager/ho-so/add/modal-add-trambts/modal-add-trambts.component.html","./src/app/manager/ho-so/add/modal-add-trambts/modal-add-trambts.component.ts","./src/app/manager/ho-so/add/modal-approved/modal-approved.component.html","./src/app/manager/ho-so/add/modal-approved/modal-approved.component.ts","./src/app/manager/ho-so/add/modal-details/modal-details.component.html","./src/app/manager/ho-so/add/modal-details/modal-details.component.ts","./src/app/manager/ho-so/add/modal-edit/modal-edit.component.html","./src/app/manager/ho-so/add/modal-edit/modal-edit.component.ts","./src/app/manager/ho-so/add/modal-ly-do/modal-ly-do.component.html","./src/app/manager/ho-so/add/modal-ly-do/modal-ly-do.component.ts","./src/app/manager/ho-so/add/modal-rename/modal-rename.component.html","./src/app/manager/ho-so/add/modal-rename/modal-rename.component.ts","./src/app/manager/ho-so/add/modal-tuchoi-tram/modal-tuchoi-tram.component.html","./src/app/manager/ho-so/add/modal-tuchoi-tram/modal-tuchoi-tram.component.ts","./src/app/manager/ho-so/ho-so-routing.module.ts","./src/app/manager/ho-so/ho-so.component.html","./src/app/manager/ho-so/ho-so.component.ts","./src/app/manager/ho-so/ho-so.module.ts","./src/app/manager/ho-so/list/list.component.html","./src/app/manager/ho-so/list/list.component.ts","./src/app/manager/ho-so/list/modal-delete/modal-delete.component.html","./src/app/manager/ho-so/list/modal-delete/modal-delete.component.ts","./src/app/manager/ho-so/modal-view-pdf/modal-view-pdf.component.html","./src/app/manager/ho-so/modal-view-pdf/modal-view-pdf.component.ts.ModalKySo.html","./src/app/manager/ho-so/modal-view-pdf/modal-view-pdf.component.ts","./src/app/manager/manager-routing.module.ts","./src/app/manager/manager.component.html","./src/app/manager/manager.component.ts","./src/app/manager/manager.module.ts","./src/app/manager/phe-duyet/modal-file-pdf/modal-file-pdf.component.html","./src/app/manager/phe-duyet/modal-file-pdf/modal-file-pdf.component.ts","./src/app/manager/phe-duyet/phe-duyet.component.html","./src/app/manager/phe-duyet/phe-duyet.component.ts","./src/app/manager/profile/mdl-change-password/mdl-change-password.component.html","./src/app/manager/profile/mdl-change-password/mdl-change-password.component.ts","./src/app/manager/profile/profile.component.html","./src/app/manager/profile/profile.component.ts","./src/app/manager/profile/profile.module.ts","./src/app/manager/shared/components/card/card.component.html","./src/app/manager/shared/components/card/card.component.ts","./src/app/manager/shared/components/components.module.ts","./src/app/manager/shared/components/datatable/datatable.component.html","./src/app/manager/shared/components/datatable/datatable.component.ts","./src/app/manager/shared/components/form/form.component.html","./src/app/manager/shared/components/form/form.component.ts","./src/app/manager/shared/components/mini-map/mini-map.component.html","./src/app/manager/shared/components/mini-map/mini-map.component.ts","./src/app/manager/shared/components/modal-detail/modal-detail.component.html","./src/app/manager/shared/components/modal-detail/modal-detail.component.ts","./src/app/manager/shared/components/table-details/table-details.component.html","./src/app/manager/shared/components/table-details/table-details.component.ts","./src/app/manager/shared/components/table/table.component.html","./src/app/manager/shared/components/table/table.component.ts","./src/app/manager/shared/models/ho-so.model.ts","./src/app/manager/shared/services/api.service.ts","./src/app/manager/shared/services/attachment.service.ts","./src/app/manager/shared/services/bts-attachment.service.ts","./src/app/manager/shared/services/data.service.ts","./src/app/manager/shared/services/diem-dich-vu-attachment.service.ts","./src/app/manager/shared/services/diem-dich-vu.service.ts","./src/app/manager/shared/services/tram-bts.service.ts","./src/app/manager/shared/services/tuyen-cap-ngam.service.ts","./src/app/manager/shared/services/tuyen-cap-noi.service.ts","./src/app/manager/tram-bts/add/add.component.html","./src/app/manager/tram-bts/add/add.component.ts","./src/app/manager/tram-bts/list/list.component.html","./src/app/manager/tram-bts/list/list.component.ts","./src/app/manager/tram-bts/modal-info/modal-info.component.html","./src/app/manager/tram-bts/modal-info/modal-info.component.ts","./src/app/manager/tram-bts/tram-bts-routing.module.ts","./src/app/manager/tram-bts/tram-bts.component.html","./src/app/manager/tram-bts/tram-bts.component.ts","./src/app/manager/tram-bts/tram-bts.module.ts","./src/app/manager/tuyen-cap-ngam/add/add.component.html","./src/app/manager/tuyen-cap-ngam/add/add.component.ts","./src/app/manager/tuyen-cap-ngam/list/list.component.html","./src/app/manager/tuyen-cap-ngam/list/list.component.ts","./src/app/manager/tuyen-cap-ngam/tuyen-cap-ngam-routing.module.ts","./src/app/manager/tuyen-cap-ngam/tuyen-cap-ngam.component.html","./src/app/manager/tuyen-cap-ngam/tuyen-cap-ngam.component.ts","./src/app/manager/tuyen-cap-ngam/tuyen-cap-ngam.module.ts","./src/app/manager/tuyen-cap-noi/add/add.component.html","./src/app/manager/tuyen-cap-noi/add/add.component.ts","./src/app/manager/tuyen-cap-noi/list/list.component.html","./src/app/manager/tuyen-cap-noi/list/list.component.ts","./src/app/manager/tuyen-cap-noi/tuyen-cap-noi-routing.module.ts","./src/app/manager/tuyen-cap-noi/tuyen-cap-noi.component.html","./src/app/manager/tuyen-cap-noi/tuyen-cap-noi.component.ts","./src/app/manager/tuyen-cap-noi/tuyen-cap-noi.module.ts","./src/app/manager/y-kien-nguoi-dan/list/list.component.ts","./src/app/manager/y-kien-nguoi-dan/y-kien-nguoi-dan-routing.module.ts","./src/app/manager/y-kien-nguoi-dan/y-kien-nguoi-dan.component.ts","./src/app/manager/y-kien-nguoi-dan/y-kien-nguoi-dan.module.ts","./src/app/map/info-map/info-map.component.html","./src/app/map/info-map/info-map.component.ts","./src/app/map/layer-list/layer-list.component.html","./src/app/map/layer-list/layer-list.component.ts","./src/app/map/legend/legend.component.html","./src/app/map/legend/legend.component.ts","./src/app/map/map.component.html","./src/app/map/map.component.ts","./src/app/map/map.module.ts","./src/app/map/measure/measure.component.html","./src/app/map/measure/measure.component.ts","./src/app/map/measure/measure.module.ts","./src/app/map/popup/popup.component.html","./src/app/map/popup/popup.component.ts","./src/app/map/search-box/search-box.component.html","./src/app/map/search-box/search-box.component.ts","./src/app/map/shared/constants/layer.constant.ts","./src/app/map/shared/constants/map.constant.ts","./src/app/map/shared/services/layer.service.ts","./src/app/map/shared/services/map.service.ts","./src/app/map/shared/services/popup.service.ts","./src/app/map/shared/services/search.service.ts","./src/app/map/shared/services/vung-phu-bts.service.ts","./src/app/map/table-info/table-info.component.html","./src/app/map/table-info/table-info.component.ts","./src/app/map/vung-phu-bts/modal/modal.component.html","./src/app/map/vung-phu-bts/modal/modal.component.ts","./src/app/map/vung-phu-bts/vung-phu-bts.component.html","./src/app/map/vung-phu-bts/vung-phu-bts.component.ts","./src/app/shared/components/attachment/attachment.component.html","./src/app/shared/components/attachment/attachment.component.ts","./src/app/shared/components/button-link/button-link.component.html","./src/app/shared/components/button-link/button-link.component.ts","./src/app/shared/components/button/button.component.html","./src/app/shared/components/button/button.component.ts","./src/app/shared/components/icon/icon.component.html","./src/app/shared/components/icon/icon.component.ts","./src/app/shared/components/input-file/input-file.component.html","./src/app/shared/components/input-file/input-file.component.ts","./src/app/shared/components/input-file/input-file.module.ts","./src/app/shared/components/modal/modal.component.html","./src/app/shared/components/modal/modal.component.ts","./src/app/shared/components/side-nav/side-nav.component.html","./src/app/shared/components/side-nav/side-nav.component.ts","./src/app/shared/constants/data.constant.ts","./src/app/shared/constants/diem-dich-vu.constant.ts","./src/app/shared/constants/tram-bts.constant.ts","./src/app/shared/constants/tuyen-cap-ngam.constant.ts","./src/app/shared/constants/tuyen-cap-noi.constant.ts","./src/app/shared/models/data.model.ts","./src/app/shared/models/menu.model.ts","./src/app/shared/services/datepicker.service.ts","./src/app/shared/services/don-vi.service.ts","./src/app/shared/services/hanh-chinh.service.ts","./src/app/shared/services/notify.service.ts","./src/app/shared/shared.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuJ;AAC5G;;AAE3C;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,WAAW,EAMV;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAwBV;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAgBV;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,0CAA0C,wDAAU;AACpD;AACA;AACA,WAAW,EAMV;AACD;AACA;AACA;AACA;AACA,yBAAyB;AACzB,WAAW,EAsBV;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAmCV;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,EAAE;AAClB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,EAAE;AAClB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,2BAA2B,EAAE,kBAAkB,EAAE;AACjD;AACA;AACA,WAAW,EAkCV;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK,OAAO,yDAAW,EAAE;AACzB,KAAK,OAAO,8DAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,gCAAgC,EAAE;AAClC;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,yDAAyD,EAAE;AAC3D;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,EAAE;AAClB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,wCAAwC,EAAE;AAC1C;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK,OAAO,sEAAwB,EAAE;AACtC,KAAK,OAAO,8DAAgB,EAAE;AAC9B,KAAK,gCAAgC,OAAO,oDAAM,SAAS,wDAAQ,IAAI;AACvE;AACA;AACA,gBAAgB,OAAO,oDAAM,EAAE;AAC/B;AACA,WAAW,EA2CV;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAWV;;AAED;AACA;AACA;AACA,cAAc,wGAAwG;AACtH;;AAEA;AACA;AACA;;AAEwO;AACxO;;;;;;;;;;;;;ACl/BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AACpC;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA,OAAO,iBAAiB,GAAG,oDAAM;AACjC;AACA,4BAA4B,oDAAM;AAClC,WAAW,oDAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,oDAAM;AACrC;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,QAAQ;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,oDAAM,WAAW,oDAAM;AAC/C;AACA,iDAAiD,oDAAM;AACvD,kEAAkE,oDAAM;AACxE,CAAC;AACD;AACA,kBAAkB,oDAAM;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD,qCAAqC,oDAAM;AAC3C;AACA;AACA,eAAe,oDAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oDAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oDAAM;AACnC,CAAC;AACD;AACA,kBAAkB,oDAAM;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,2FAA2F,oDAAM;AACjG,CAAC;AACD;AACA,qFAAqF,oDAAM;AAC3F,CAAC;AACD;AACA,kCAAkC,oDAAM;AACxC;AACA,gCAAgC,oDAAM;AACtC,iEAAiE,oDAAM;AACvE;AACA;AACA,eAAe,oDAAM;AACrB;AACA,wBAAwB,oDAAM;AAC9B;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,4BAA4B,oDAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oDAAM;AACtC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oDAAM;AACvB;AACA,yCAAyC,EAAE;AAC3C;AACA,8BAA8B,oDAAM;AACpC;AACA;AACA;AACA,CAAC;AACD;AACA,wDAAwD,oDAAM;AAC9D,CAAC;AACD;AACA,+BAA+B,oDAAM;AACrC;AACA;AACA,eAAe,oDAAM;AACrB;AACA;AACA;AACA,wBAAwB,oDAAM;AAC9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,kBAAkB,oDAAM,kCAAkC,oDAAM;AAChE,CAAC;AACD,wBAAwB,oDAAM;AAC9B,iCAAiC,oDAAM;AACvC;AACA;AACA,uCAAuC,oDAAM,qBAAqB,oDAAM;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oDAAM,qBAAqB,oDAAM;AACtE,+DAA+D,EAAE;AACjE,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA,CAAC;AACD,qDAAqD,oDAAM,4BAA4B,oDAAM;AAC7F,qCAAqC,oDAAM;AAC3C,iCAAiC,oDAAM;AACvC,8DAA8D,oDAAM;AACpE,wDAAwD,oDAAM;AAC9D,uDAAuD,oDAAM;AAC7D;AACA,gC;;;;;;;;;;;;ACtUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACD;AACO;AACpC;AACO,sBAAsB,+CAAM;AACnC,KAAK,wDAAG;AACR,IAAI,+CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wDAAS;AACnC;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACO,0BAA0B,+CAAM;AACvC,KAAK,wDAAG;AACR,IAAI,+CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,kFAAmB,EAAC;AACnC,4C;;;;;;;;;;;;AC7EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACmB;AAC/B;AACW;AACtB,kBAAkB,+CAAM;AACxB;AACP;AACA;AACA,KAAK,wDAAG;AACR,IAAI,+CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,6DAAc;AACjD;AACA;AACA;AACA,wBAAwB,qEAAc;AACtC;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,6EAA6E;AAC7E;AACA;AACA,KAAK,wDAAG;AACR,IAAI,+CAAM;AACV;AACA;AACA;AACA,aAAa;AACb;AACA;AACe,0EAAW,EAAC;AAC3B;AACA,oC;;;;;;;;;;;;AChNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6B;AACC;AACsB;AAC7C,aAAa,+CAAM;AAC1B,KAAK,wDAAG;AACR;AACA;AACA,gBAAgB,IAAI;AACpB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wEAAkB;AACrE;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,+CAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wEAAkB;AAC/C,sBAAsB,wEAAkB;AACxC,SAAS;AACT;AACA;AACA,kCAAkC,wEAAkB;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB,wEAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB,wEAAkB;AACvC,4BAA4B,wEAAkB;AAC9C,kBAAkB,wEAAkB;AACpC,eAAe,wEAAkB;AACjC,oBAAoB,wEAAkB;AACtC,iBAAiB,wEAAkB;AACnC,gBAAgB,wEAAkB;AAClC,iBAAiB,wEAAkB;AACnC,eAAe,wEAAkB;AACjC,qBAAqB,wEAAkB;AACvC,qBAAqB,wEAAkB;AACvC,qBAAqB,wEAAkB;AACvC,KAAK;AACL;AACA;AACA,qBAAqB,wEAAkB;AACvC,kBAAkB,wEAAkB;AACpC;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,kBAAkB,wEAAkB;AACpC;AACA,SAAS;AACT,iBAAiB,wEAAkB;AACnC;AACA,SAAS;AACT,KAAK;AACL,yDAAyD,wEAAkB;AAC3E;AACA,KAAK;AACL,yDAAyD,wEAAkB;AAC3E,iEAAiE,wEAAkB;AACnF,iEAAiE,wEAAkB;AACnF;AACA;AACA;AACA,YAAY,IAAI;AAChB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,wEAAkB;AACnE;AACA,CAAC;AACc,qEAAM,EAAC;AACtB,mC;;;;;;;;;;;;AChJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACW;AACZ;AACX;AACX,cAAc,+CAAM;AAC3B,KAAK,wDAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6DAAW;AAC/B,mCAAmC,qBAAqB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACe,sEAAO,EAAC;AACvB,oC;;;;;;;;;;;;AC9GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACuB;AACT;AACf;AACe;AACrC;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,oDAAoD;AACpD,iDAAiD;AACjD;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,IAAI,wDAAG,iBAAiB,wDAAG;AAC3B,WAAW,+CAAM;AACjB,SAAS,+CAAM;AACf,iBAAiB,gEAAU,CAAC,+CAAM;AAClC,WAAW,gEAAU,CAAC,+CAAM;AAC5B,WAAW,gEAAU,CAAC,+CAAM;AAC5B,gBAAgB,gEAAU,CAAC,+CAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,wDAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,6DAAW,gBAAgB,4DAAU;AAClD;AACA;AACA;AACA;AACA,YAAY,6DAAW;AACvB;AACA;AACA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wDAAG;AACP,eAAe,gEAAU,CAAC,+CAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,wDAAgB;AAC7D;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;ACvPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,2EAAY,EAAC;AAC5B,mC;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkB;AACgD;AAClE,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA,4BAA4B,0DAAkB,YAAY,0DAAkB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AC9GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AAC9B;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wCAAwC,+CAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wCAAwC,+CAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,mC;;;;;;;;;;;;ACrDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACD;AACO;AAC7B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACO;AACA;AACA;AACP,IAAI,wDAAG;AACP,yBAAyB,+CAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,wDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA,sDAAsD;AACtD;AACA;AACA,IAAI,wDAAG;AACP,yBAAyB,+CAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;AC9GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACD;AACe;AAC5C;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,IAAI,wDAAG,kBAAkB,wDAAG;AAC5B,oBAAoB,+CAAM;AAC1B,UAAU,+CAAM;AAChB,kBAAkB,gEAAU,CAAC,+CAAM;AACnC,eAAe,gEAAU,CAAC,+CAAM;AAChC,eAAe,gEAAU,CAAC,+CAAM;AAChC,gBAAgB,gEAAU,CAAC,+CAAM;AACjC,aAAa,gEAAU,CAAC,+CAAM;AAC9B,iBAAiB,gEAAU,CAAC,+CAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,YAAY;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wDAAG;AACP,aAAa,gEAAU,CAAC,+CAAM;AAC9B,eAAe,gEAAU,CAAC,+CAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;AC9SA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+B;AACC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,QAAQ,wDAAG;AACX;AACA,QAAQ,+CAAM;AACd;AACA,iCAAiC,+CAAM;AACvC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,YAAY,+CAAM;AAClB;AACA;AACA,aAAa,wDAAG;AAChB,qBAAqB,+CAAM;AAC3B;AACA;AACA;AACA;AACA;AACA,qBAAqB,+CAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW,wDAAG;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,KAAK,wDAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACO;AACP,SAAS,wDAAG;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW,wDAAG;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,QAAQ,wDAAG;AACX;AACA,YAAY,+CAAM;AAClB;AACA;AACA,aAAa,wDAAG;AAChB;AACA,YAAY,+CAAM;AAClB;AACA;AACA,aAAa,wDAAG;AAChB;AACA,qCAAqC,+CAAM,qBAAqB,+CAAM;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;;;;;;ACzLA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgU;AACjR;AAC2B;AACL;AAClC;AACF;AACa;AACD;AACX;AACoE;AAC7C;AACqC;AACnD;AACE;AACV;AACJ;AACkB;AACL;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,+BAA+B,iEAAa;AAC5C,2BAA2B,mEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,KAAK,OAAO,4DAAc,EAAE;AAC5B,KAAK,OAAO,sEAAwB,EAAE;AACtC,KAAK,OAAO,sDAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,eAAe;AAC3C,wBAAwB,UAAU;AAClC,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,oDAAoD,IAAI;AACxD,qDAAqD,KAAK;AAC1D;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,mDAAmD,IAAI;AACvD,oDAAoD,KAAK;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA,4EAA4E,kBAAkB;AAC9F;AACA;AACA,iFAAiF,iBAAiB;AAClG;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,sDAAsD,kBAAkB,cAAc,gBAAgB,UAAU,8BAA8B,eAAe,aAAa,yCAAyC,gBAAgB,yBAAyB,iGAAiG,cAAc,eAAe,YAAY,wDAAwD,SAAS,kBAAkB,QAAQ,aAAa,sEAAsE,oCAAoC,2BAA2B,iCAAiC,qEAAqE,kCAAkC,mCAAmC,0BAA0B,uEAAuE,oCAAoC,4BAA4B,iCAAiC,wEAAwE,6BAA6B,kCAAkC,mCAAmC,yCAAyC,2BAA2B,WAAW,eAAe,eAAe,oBAAoB,kBAAkB,sEAAsE,oCAAoC,sCAAsC,iCAAiC,qEAAqE,kCAAkC,mCAAmC,qCAAqC,uEAAuE,oCAAoC,uCAAuC,iCAAiC,wEAAwE,wCAAwC,kCAAkC,mCAAmC,2CAA2C,cAAc,cAAc,gBAAgB,oBAAoB,yCAAyC,cAAc,gBAAgB,gBAAgB,kBAAkB,2CAA2C,SAAS,kBAAkB,QAAQ,aAAa,2CAA2C,gCAAgC,0CAA0C,iCAAiC,yCAAyC,iCAAiC,4CAA4C,gCAAgC,oCAAoC,UAAU,oBAAoB,wBAAwB,qCAAqC,wBAAwB,cAAc,oBAAoB,cAAc,kBAAkB,cAAc,gBAAgB,kCAAkC,kBAAkB,cAAc,qBAAqB,YAAY,iBAAiB,WAAW;AACt7F,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,YAAY,OAAO,mDAAK,EAAE;AAC1B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,eAAe,OAAO,mDAAK,EAAE;AAC7B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,aAAa,OAAO,mDAAK,EAAE;AAC3B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,eAAe,OAAO,mDAAK,EAAE;AAC7B,gBAAgB,OAAO,uDAAS,uBAAuB;AACvD,kBAAkB,OAAO,yDAAW,oBAAoB;AACxD,sBAAsB,OAAO,0DAAY,4BAA4B;AACrE;AACA,wDAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,wCAAwC;AACxC;AACA,wBAAwB;AACxB;AACA;AACA,4DAA4D;AAC5D;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,0DAAY;AAChD,uCAAuC,0DAAY;AACnD,yCAAyC,0DAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU,YAAY,iEAAK,EAAE,aAAa,GAAG,mEAAO,gBAAgB,iEAAK,EAAE,aAAa;AAChH;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,mDAAK,EAAE;AAC5B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,wBAAwB,OAAO,oDAAM,EAAE;AACvC,2BAA2B,OAAO,oDAAM,EAAE;AAC1C,6BAA6B,OAAO,oDAAM,EAAE;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0DAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,oDAAM;AAClB;AACA;AACA,eAAe,OAAO,oDAAM,EAAE;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sDAAS;AAChC,yCAAyC,mEAAY;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,oDAAM,EAAE;AACpB,KAAK,OAAO,+DAAiB;AAC7B;AACA;AACA,eAAe,OAAO,mDAAK,EAAE;AAC7B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,MAAM;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,yBAAyB,OAAO,oDAAM,EAAE;AACxC,oBAAoB,OAAO,uDAAS,sBAAsB;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,mDAAmD;AAC3F;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,YAAY,OAAO,mDAAK,EAAE;AAC1B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,aAAa,OAAO,mDAAK,EAAE;AAC3B,yBAAyB,OAAO,mDAAK,EAAE;AACvC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,eAAe,OAAO,mDAAK,EAAE;AAC7B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,yBAAyB,OAAO,oDAAM,EAAE;AACxC,sBAAsB,OAAO,uDAAS,gCAAgC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B,kBAAkB,UAAU;AAC5B;AACA,sBAAsB,OAAO,SAAS,OAAO;AAC7C;AACA;AACA,sBAAsB,EAAE,GAAG,EAAE;AAC7B;AACA,kBAAkB,UAAU;AAC5B;AACA,sBAAsB,OAAO,SAAS,QAAQ;AAC9C;AACA;AACA,sBAAsB,EAAE,GAAG,GAAG;AAC9B;AACA,kBAAkB,UAAU;AAC5B;AACA,sBAAsB,OAAO,SAAS,SAAS;AAC/C;AACA;AACA,sBAAsB,GAAG,GAAG,GAAG;AAC/B;AACA,kBAAkB,UAAU;AAC5B;AACA,sBAAsB,OAAO,SAAS,QAAQ;AAC9C;AACA;AACA,sBAAsB,GAAG,GAAG,EAAE;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB,GAAG,qBAAqB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,cAAc,OAAO,mDAAK,EAAE;AAC5B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,yBAAyB,OAAO,oDAAM,EAAE;AACxC,oBAAoB,OAAO,uDAAS,sBAAsB;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8BAA8B;AACxE;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD,aAAa;AACb;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,YAAY,OAAO,mDAAK,EAAE;AAC1B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,yBAAyB,OAAO,mDAAK,EAAE;AACvC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,eAAe,OAAO,mDAAK,EAAE;AAC7B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,yBAAyB,OAAO,oDAAM,EAAE;AACxC,sBAAsB,OAAO,uDAAS,gCAAgC;AACtE;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB,0BAA0B,4DAAY;AACtC;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;;AAEjC;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;;AAEzC;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0DAAY;AACpC,wBAAwB,0DAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,4BAA4B;AAC3D;AACA;AACA,KAAK,uBAAuB;AAC5B,KAAK,OAAO,8DAAgB,EAAE;AAC9B,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,uBAAuB,OAAO,mDAAK,EAAE;AACrC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,kCAAkC,OAAO,mDAAK,EAAE;AAChD,gCAAgC,OAAO,mDAAK,EAAE;AAC9C,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,4BAA4B,OAAO,mDAAK,EAAE;AAC1C,YAAY,OAAO,oDAAM,EAAE;AAC3B,YAAY,OAAO,oDAAM,EAAE;AAC3B,eAAe,OAAO,0DAAY,sBAAsB;AACxD,cAAc,OAAO,0DAAY,mBAAmB;AACpD,oBAAoB,OAAO,0DAAY,yBAAyB;AAChE,oBAAoB,OAAO,0DAAY,4CAA4C;AACnF,oBAAoB,OAAO,0DAAY,oBAAoB;AAC3D;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,0BAA0B,4DAAY;AACtC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,sBAAsB;AACtB,sBAAsB;AACtB,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA,wCAAwC,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4CAA4C;AAChE;AACA,oCAAoC,wBAAwB,KAAK,0BAA0B;AAC3F,kCAAkC,uBAAuB,EAAE,oCAAoC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA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AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,mBAAmB,OAAO,mDAAK,EAAE;AACjC,YAAY,OAAO,mDAAK,EAAE;AAC1B,aAAa,OAAO,mDAAK,EAAE;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,aAAa,OAAO,mDAAK,EAAE;AAC3B,YAAY,OAAO,mDAAK,EAAE;AAC1B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,UAAU,OAAO,mDAAK,EAAE;AACxB,UAAU,OAAO,mDAAK,EAAE;AACxB,aAAa,OAAO,mDAAK,EAAE;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,YAAY,OAAO,mDAAK,EAAE;AAC1B,eAAe,OAAO,mDAAK,EAAE;AAC7B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,aAAa,OAAO,mDAAK,EAAE;AAC3B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0DAAY;AAC3C,+BAA+B,0DAAY;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB;AAClI,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA,uCAAuC,8BAA8B;AACrE;AACA,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,8BAA8B,SAAS;AACvC,aAAa;AACb;AACA;AACA,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,qBAAqB,OAAO,mDAAK,EAAE;AACnC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,eAAe,OAAO,mDAAK,EAAE;AAC7B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,mBAAmB,OAAO,oDAAM,EAAE;AAClC,mBAAmB,OAAO,oDAAM,EAAE;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,sBAAsB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0DAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,eAAe;AAC/D;AACA,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,aAAa;AAC7D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,eAAe,OAAO,mDAAK,EAAE;AAC7B,cAAc,OAAO,mDAAK,EAAE;AAC5B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,aAAa,OAAO,oDAAM,EAAE;AAC5B,qBAAqB,OAAO,uDAAS,2BAA2B,gBAAgB,IAAI;AACpF;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,kCAAkC,0DAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAS;AAC7B;AACA;AACA,oBAAoB,4DAAW;AAC/B;AACA;AACA,oBAAoB,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB,0BAA0B,4DAAY;AACtC;AACA,0BAA0B,4DAAY;AACtC,aAAa;AACb;;AAEA,kCAAkC,4NAA4N;AAC9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yBAAyB,8DAAa;AACtC;AACA;AACA,yBAAyB,6DAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uDAAK;AAChC,yBAAyB,4DAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4DAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4DAAW;AACtC,gCAAgC,0DAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,IAAI,eAAe;AAC3E;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,IAAI,gBAAgB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAS;AAC7B;AACA;AACA,oBAAoB,4DAAW;AAC/B;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE,6BAA6B,OAAO,0DAAY,oCAAoC;AACpF,mBAAmB,OAAO,0DAAY,yBAAyB;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,IAAI,gBAAgB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAS;AAC7B;AACA;AACA,oBAAoB,4DAAW;AAC/B;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE,6BAA6B,OAAO,0DAAY,oCAAoC;AACpF,mBAAmB,OAAO,0DAAY,yBAAyB;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,IAAI,gBAAgB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAS;AAC7B;AACA;AACA,oBAAoB,4DAAW;AAC/B;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE,6BAA6B,OAAO,0DAAY,oCAAoC;AACpF,mBAAmB,OAAO,0DAAY,yBAAyB;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,sDAAI;AAC9B;AACA;AACA;AACA,2BAA2B,sDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA,0BAA0B,sDAAI;AAC9B;AACA;AACA;AACA,2BAA2B,sDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,cAAc,OAAO,mDAAK,EAAE;AAC5B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,eAAe,OAAO,mDAAK,EAAE;AAC7B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,SAAS,OAAO,mDAAK,EAAE;AACvB,SAAS,OAAO,mDAAK,EAAE;AACvB,mBAAmB,OAAO,mDAAK,EAAE;AACjC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,aAAa,OAAO,mDAAK,EAAE;AAC3B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,oBAAoB,OAAO,0DAAY,yBAAyB;AAChE,oBAAoB,OAAO,0DAAY,yBAAyB;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,6BAA6B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,oCAAoC;AACpF;AACA;AACA;AACA,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,oCAAoC;AACpF;AACA;AACA;AACA,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,oCAAoC;AACpF;AACA;AACA;AACA,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,kDAAkD;AAC/G;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,kDAAkD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6BAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,oCAAoC;AACpF;AACA;AACA;AACA,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,kDAAkD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6BAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB,KAAK,eAAe;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B;AAChE,oCAAoC,oFAAoF;AACxH;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,yBAAyB;AACnF;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,aAAa;AAC7D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,8BAA8B,OAAO,oDAAM,EAAE;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C,yCAAyC,0DAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB,KAAK,eAAe;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B;AAChE,oCAAoC,oFAAoF;AACxH;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAyB;AAClF;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK,EAAE,aAAa;AAC7D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,6BAA6B,OAAO,oDAAM,EAAE;AAC5C;;AAEA;AACA;AACA,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO,KAAK,OAAO;AAC/D;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,iCAAiC,qEAAuB;AACxD,yCAAyC,eAAe;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,aAAa,OAAO,mDAAK,EAAE;AAC3B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,yBAAyB,OAAO,oDAAM,EAAE;AACxC;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,0DAAS;AACzB;AACA;AACA,gBAAgB,4DAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,gBAAgB,2DAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,GAAG,eAAe;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA,oCAAoC,oBAAoB,KAAK,mBAAmB;AAChF,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iDAAiD;AAC1E;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB;AAC/hD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,WAAW,OAAO,mDAAK,EAAE;AACzB,WAAW,OAAO,mDAAK,EAAE;AACzB,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,OAAO,iEAAK;AAC/C;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,IAAI,gBAAgB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAS;AAC7B;AACA;AACA,oBAAoB,4DAAW;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,sDAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sDAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,kBAAkB,OAAO,mDAAK,EAAE;AAChC;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,6DAAmB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uDAAuD,eAAe,mBAAmB;AACzF,sCAAsC,kBAAkB,IAAI,eAAe;AAC3E,8CAA8C,QAAQ;AACtD;AACA,0CAA0C,UAAU,IAAI,WAAW;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA,+BAA+B,4BAA4B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0DAAS;AAChC;AACA,8BAA8B,4DAAW;AACzC;AACA;AACA,uBAAuB,2DAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD;AACA,oBAAoB,mEAAO;AAC3B,wBAAwB,sEAAU;AAClC,4BAA4B,iEAAK;AACjC;AACA,6BAA6B;AAC7B,4BAA4B,mEAAO,MAAM,iEAAK;AAC9C;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,eAAe,eAAe,qBAAqB,sCAAsC,8BAA8B,0BAA0B,GAAG,UAAU,GAAG,WAAW,kBAAkB,GAAG,UAAU,GAAG,WAAW,gBAAgB,sBAAsB,0BAA0B,oCAAoC,4BAA4B,kBAAkB,2BAA2B,GAAG,uBAAuB,GAAG,qBAAqB,mBAAmB,GAAG,uBAAuB,GAAG,qBAAqB,yCAAyC,UAAU,mCAAmC,UAAU,uBAAuB,6BAA6B,eAAe,2DAA2D,oBAAoB;AAC9wE,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,sBAAsB,OAAO,mDAAK,EAAE;AACpC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,yBAAyB,OAAO,mDAAK,EAAE;AACvC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,eAAe;AACvC;AACA,oCAAoC,4BAA4B,KAAK,mBAAmB;AACxF,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,2BAA2B;AAC9D,uCAAuC,2BAA2B;AAClE;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ,KAAK,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,kBAAkB,WAAW,2CAA2C,qBAAqB;AAC5nD,aAAa;AACb;AACA;AACA,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,aAAa,OAAO,mDAAK,EAAE;AAC3B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE,uBAAuB,OAAO,mDAAK,EAAE;AACrC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,4BAA4B,OAAO,mDAAK,EAAE;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,qDAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS,GAAG,SAAS,GAAG,cAAc;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,WAAW,KAAK,WAAW;AAC5E;AACA;AACA,gDAAgD,WAAW,GAAG,WAAW;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,WAAW,OAAO,mDAAK,EAAE;AACzB,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C,4BAA4B,0DAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qDAAG;AAClB;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA,oBAAoB,uDAAuD;AAC3E;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA,iCAAiC,mEAAW;AAC5C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iCAAiC,mEAAW;AAC5C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA,oBAAoB,uDAAuD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mEAAW;AAC5C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,aAAa,OAAO,mDAAK,EAAE;AAC3B,WAAW,OAAO,mDAAK,EAAE;AACzB,YAAY,OAAO,mDAAK,EAAE;AAC1B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,eAAe,OAAO,mDAAK,EAAE;AAC7B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,wCAAwC,QAAQ,IAAI,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,eAAe,eAAe,qBAAqB,sCAAsC,8BAA8B,0BAA0B,GAAG,UAAU,GAAG,WAAW,kBAAkB,GAAG,UAAU,GAAG,WAAW,gBAAgB,sBAAsB,0BAA0B,oCAAoC,4BAA4B,kBAAkB,2BAA2B,GAAG,uBAAuB,GAAG,qBAAqB,mBAAmB,GAAG,uBAAuB,GAAG,qBAAqB;AAC5hE,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,eAAe,OAAO,mDAAK,EAAE;AAC7B,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0DAAS;AAC5B,mBAAmB,0DAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,sCAAsC,eAAe,KAAK,eAAe;AACzE;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA,oCAAoC,MAAM;AAC1C,kCAAkC,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qDAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,KAAK,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yDAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,eAAe;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,oBAAoB,WAAW,yBAAyB,eAAe,gBAAgB;AACtnD,aAAa;AACb;AACA;AACA,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,aAAa,OAAO,mDAAK,EAAE;AAC3B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qDAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,YAAY,OAAO,mDAAK,EAAE;AAC1B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C,4BAA4B,0DAAY;AACxC;AACA;AACA;AACA;AACA;AACA,6BAA6B,qDAAG;AAChC;AACA;AACA;AACA,mBAAmB,qDAAG;AACtB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qDAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mBAAmB;AACvD,kCAAkC,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,cAAc,OAAO,mDAAK,EAAE;AAC5B,YAAY,OAAO,mDAAK,EAAE;AAC1B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO,KAAK,OAAO;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kCAAkC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA,kDAAkD,4CAA4C;AAC9F;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,OAAO,oDAAM;AAClB;AACA;AACA,aAAa,OAAO,mDAAK,EAAE;AAC3B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,SAAS,OAAO,mDAAK,EAAE;AACvB,SAAS,OAAO,mDAAK,EAAE;AACvB,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,aAAa,OAAO,mDAAK,EAAE;AAC3B,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,cAAc,OAAO,uDAAS,oBAAoB,gBAAgB,IAAI;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qDAAG;AACrB,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,MAAM,IAAI,MAAM;AAChD;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,aAAa,OAAO,mDAAK,EAAE;AAC3B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,gDAAgD,eAAe,gBAAgB,gBAAgB,oBAAoB,gBAAgB,8CAA8C,SAAS,gBAAgB,UAAU,uBAAuB,mBAAmB,WAAW,yCAAyC,oBAAoB,yHAAyH,eAAe;AAC7+D,aAAa;AACb;AACA;AACA,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,SAAS,OAAO,mDAAK,EAAE;AACvB,SAAS,OAAO,mDAAK,EAAE;AACvB,aAAa,OAAO,mDAAK,EAAE;AAC3B,cAAc,OAAO,mDAAK,EAAE;AAC5B,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oBAAoB,eAAe;AACnC;AACA,oCAAoC,mBAAmB;AACvD,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,mDAAK,EAAE;AAC5B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,6DAAO;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB,8DAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,KAAK,eAAe;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,iDAAiD,qBAAqB,gBAAgB,gBAAgB,2BAA2B,mBAAmB,kBAAkB,kBAAkB,sBAAsB;AAC9M,aAAa;AACb;AACA;AACA,eAAe,OAAO,mDAAK,EAAE;AAC7B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,oDAAM,EAAE;AAC7B,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE;;AAEA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ,IAAI,QAAQ;AAC1D,0CAA0C,qDAAqD,IAAI,QAAQ;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,YAAY,IAAI,YAAY;AAC/E;AACA;AACA;AACA,mDAAmD,YAAY,IAAI,YAAY;AAC/E;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,kBAAkB,eAAe,mCAAmC,qBAAqB,qBAAqB,UAAU;AACvpD,aAAa;AACb;AACA;AACA,WAAW,OAAO,mDAAK,EAAE;AACzB,WAAW,OAAO,mDAAK,EAAE;AACzB,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,uDAAS,0BAA0B;AAC7D,mBAAmB,OAAO,uDAAS,0BAA0B;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ,IAAI,QAAQ;AAC1D,kCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB,IAAI,iBAAiB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,2CAA2C;AACvE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gBAAgB;AAChD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD,sCAAsC,WAAW,iBAAiB,sDAAsD,eAAe,gMAAgM,WAAW,mCAAmC,8FAA8F,aAAa,kGAAkG,aAAa,oBAAoB,aAAa,4LAA4L,WAAW,mCAAmC,4BAA4B,aAAa,mCAAmC,cAAc,kBAAkB,WAAW,0BAA0B,eAAe,mBAAmB,eAAe,gBAAgB,4BAA4B,UAAU,2BAA2B,UAAU,YAAY,eAAe,0BAA0B,eAAe,mBAAmB,oBAAoB,eAAe,2BAA2B,cAAc,4BAA4B,UAAU,iBAAiB,kCAAkC,UAAU,YAAY,sBAAsB,oBAAoB,eAAe,6BAA6B,UAAU,iCAAiC,qBAAqB,gCAAgC,qBAAqB,wBAAwB,YAAY,wBAAwB,UAAU,eAAe,gBAAgB,8BAA8B,iBAAiB,8BAA8B,iBAAiB;AACvxD,aAAa;AACb;AACA;AACA,cAAc,OAAO,mDAAK,EAAE;AAC5B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,WAAW,OAAO,mDAAK,EAAE;AACzB,WAAW,OAAO,mDAAK,EAAE;AACzB,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,aAAa,OAAO,mDAAK,EAAE;AAC3B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,eAAe,OAAO,mDAAK,EAAE;AAC7B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,uBAAuB,OAAO,0DAAY,8BAA8B;AACxE,cAAc,OAAO,uDAAS,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mBAAmB;AACvD,kCAAkC,IAAI;AACtC;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,cAAc,OAAO,oDAAM,EAAE;AAC7B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B,IAAI,2BAA2B,WAAW,oBAAoB;AACjH;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa;AACb;AACA,8BAA8B,sDAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,mBAAmB,OAAO,mDAAK,EAAE;AACjC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,WAAW,OAAO,mDAAK,EAAE;AACzB,WAAW,OAAO,mDAAK,EAAE;AACzB,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,kBAAkB,OAAO,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BAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,mCAAmC;AAClE;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,oDAAM;AAClB;AACA;AACA,iBAAiB,OAAO,yDAAW,4BAA4B;AAC/D,eAAe,OAAO,oDAAM,EAAE;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0DAAY;AACzC,4BAA4B,0DAAY;AACxC,2BAA2B,0DAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC,4BAA4B,sDAAS;AACrC;AACA,iCAAiC,sDAAS;AAC1C,sBAAsB,gEAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,EAAE;AAC3C;AACA,wCAAwC,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,0BAA0B;AACzD;AACA;AACA,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,uBAAuB,OAAO,mDAAK,EAAE;AACrC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,aAAa,OAAO,mDAAK,EAAE;AAC3B,aAAa,OAAO,mDAAK,EAAE;AAC3B,iBAAiB,OAAO,oDAAM,EAAE;AAChC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,eAAe,OAAO,oDAAM,EAAE;AAC9B;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sDAAS;AACrC;AACA,iCAAiC,sDAAS;AAC1C,sBAAsB,gEAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,oDAAM,EAAE;AAC7B,mBAAmB,OAAO,0DAAY,oCAAoC;AAC1E;;AAEA;AACA;AACA;AACA,2BAA2B,0DAAY;AACvC,iCAAiC,0DAAY;AAC7C,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,0BAA0B;AACzD;AACA;AACA,KAAK,OAAO,6DAAe,EAAE;AAC7B,KAAK,gCAAgC,OAAO,oDAAM,SAAS,wDAAQ,IAAI;AACvE;AACA;AACA,eAAe,OAAO,oDAAM,EAAE;AAC9B,qBAAqB,OAAO,oDAAM,EAAE;AACpC,kBAAkB,OAAO,6DAAe,8BAA8B,oBAAoB,IAAI;AAC9F;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,0DAAY;AAC9C,gCAAgC,0DAAY;AAC5C,gCAAgC,0DAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,kCAAkC,sDAAS;AAC3C,sBAAsB,gEAAS;AAC/B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,2BAA2B;AAC1D;AACA;AACA,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,sBAAsB,OAAO,oDAAM,EAAE;AACrC,oBAAoB,OAAO,oDAAM,EAAE;AACnC,oBAAoB,OAAO,oDAAM,EAAE;AACnC,aAAa,OAAO,yDAAW,0BAA0B;AACzD,mBAAmB,OAAO,yDAAW,8BAA8B;AACnE,mBAAmB,OAAO,0DAAY,oCAAoC;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,oDAAM,EAAE;AACpB,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,oBAAoB,OAAO,yDAAW,8BAA8B,GAAG,OAAO,mDAAK,EAAE;AACrF,mBAAmB,OAAO,yDAAW,6BAA6B,GAAG,OAAO,mDAAK,EAAE;AACnF,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,yDAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,yCAAyC;AACxE;AACA;AACA,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,sBAAsB,OAAO,mDAAK,uBAAuB;AACzD,sBAAsB,OAAO,0DAAY,iDAAiD,OAAO,yDAAW,gBAAgB,IAAI;AAChI,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;;AAEvC;AACA;AACA;AACA;AACA,CAAC,4BAA4B;;AAE7B;AACA;AACA;AACA;AACA,CAAC,0CAA0C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,8CAA8C;AAC7E;AACA;AACA,KAAK,OAAO,yDAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,4CAA4C;AAC3E;AACA;AACA,KAAK,OAAO,yDAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,0CAA0C;AACzE;AACA;AACA,KAAK,OAAO,yDAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,mCAAmC;AAClE;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,YAAY,OAAO,mDAAK,EAAE;AAC1B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,YAAY,OAAO,mDAAK,EAAE;AAC1B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,aAAa,OAAO,mDAAK,EAAE;AAC3B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,0BAA0B,OAAO,mDAAK,2BAA2B;AACjE,0BAA0B,OAAO,0DAAY,wCAAwC,OAAO,yDAAW,gBAAgB,IAAI;AAC3H,4BAA4B,OAAO,mDAAK,6BAA6B;AACrE,4BAA4B,OAAO,0DAAY,0CAA0C,OAAO,yDAAW,gBAAgB,IAAI;AAC/H,gCAAgC,OAAO,mDAAK,iCAAiC;AAC7E,gCAAgC,OAAO,0DAAY,yCAAyC,OAAO,yDAAW,gBAAgB,IAAI;AAClI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,yDAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,uCAAuC;AACtE;AACA;AACA,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,sBAAsB,OAAO,mDAAK,uBAAuB;AACzD,sBAAsB,OAAO,0DAAY,+CAA+C,OAAO,yDAAW,gBAAgB,IAAI;AAC9H,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS,UAAU,mCAAmC;AAClE;AACA;AACA,oBAAoB,OAAO,mDAAK,EAAE;AAClC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,yBAAyB,OAAO,mDAAK,EAAE;AACvC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,sBAAsB,OAAO,mDAAK,uBAAuB;AACzD,sBAAsB,OAAO,0DAAY,4CAA4C,OAAO,yDAAW,EAAE,IAAI;AAC7G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,2CAA2C;AAClE,uBAAuB,+CAA+C;AACtE,uBAAuB,6CAA6C;AACpE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yFAAyF;AACxG;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA,2CAA2C,gBAAgB;AAC3D;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,WAAW,cAAc,YAAY;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE,MAAM,EAAE;AACzD;AACA;AACA;AACA,wDAAwD,EAAE,MAAM,EAAE;AAClE;AACA;AACA;AACA,wBAAwB,EAAE;AAC1B,yBAAyB,EAAE;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC,wBAAwB,0DAAY;AACpC,4BAA4B,0DAAY;AACxC,0BAA0B,0DAAY;AACtC,gCAAgC,0DAAY;AAC5C,kCAAkC,0DAAY;AAC9C,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,cAAc;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,gEAAgE,cAAc;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,SAAS,GAAG,EAAE;AACtD;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAA4B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,8CAA8C;AAC9C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,MAAM;AACpC;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,+DAAiB;AAC7B;AACA;AACA,kBAAkB,OAAO,mDAAK,EAAE;AAChC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,wBAAwB,OAAO,mDAAK,EAAE;AACtC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,eAAe,OAAO,mDAAK,EAAE;AAC7B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,6BAA6B,OAAO,mDAAK,EAAE;AAC3C,kBAAkB,OAAO,mDAAK,EAAE;AAChC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,YAAY,OAAO,mDAAK,EAAE;AAC1B,eAAe,OAAO,mDAAK,EAAE;AAC7B,cAAc,OAAO,mDAAK,EAAE;AAC5B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,iBAAiB,OAAO,yDAAW,0BAA0B;AAC7D,kBAAkB,OAAO,mDAAK,EAAE,GAAG,OAAO,yDAAW,2BAA2B;AAChF,cAAc,OAAO,oDAAM,EAAE;AAC7B,YAAY,OAAO,oDAAM,EAAE;AAC3B,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,cAAc,OAAO,oDAAM,EAAE;AAC7B,oBAAoB,OAAO,oDAAM,EAAE;AACnC,sBAAsB,OAAO,oDAAM,EAAE;AACrC,kBAAkB,OAAO,oDAAM,EAAE;AACjC,gBAAgB,OAAO,uDAAS,8BAA8B;AAC9D;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAY;AACpC,2BAA2B,0DAAY;AACvC,0BAA0B,0DAAY;AACtC,0BAA0B,0DAAY;AACtC,qCAAqC,0DAAY;AACjD;AACA;AACA;AACA;AACA,oBAAoB;AACpB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qBAAqB,oCAAoC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mCAAmC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,KAAK,OAAO,+DAAiB;AAC7B;AACA;AACA,yBAAyB,OAAO,mDAAK,EAAE;AACvC,0BAA0B,OAAO,mDAAK,EAAE;AACxC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,4BAA4B,OAAO,mDAAK,EAAE;AAC1C,kBAAkB,OAAO,mDAAK,EAAE;AAChC,aAAa,OAAO,mDAAK,EAAE;AAC3B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,oBAAoB,OAAO,yDAAW,2BAA2B,GAAG,OAAO,mDAAK,EAAE;AAClF,eAAe,OAAO,mDAAK,EAAE;AAC7B,eAAe,OAAO,mDAAK,EAAE;AAC7B,YAAY,OAAO,oDAAM,EAAE;AAC3B,eAAe,OAAO,oDAAM,EAAE;AAC9B,cAAc,OAAO,oDAAM,EAAE;AAC7B,cAAc,OAAO,oDAAM,EAAE;AAC7B,yBAAyB,OAAO,oDAAM,EAAE;AACxC,mBAAmB,OAAO,yDAAW,0BAA0B;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA,wBAAwB,0DAAY;AACpC;AACA;AACA;AACA,wBAAwB,0DAAY;AACpC;AACA;AACA;AACA,2BAA2B,0DAAY;AACvC;AACA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA,oCAAoC,0DAAY;AAChD;AACA;AACA;AACA,8BAA8B,0DAAY;AAC1C;AACA,4BAA4B,oDAAe;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,mBAAmB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gBAAgB;AACzC,oCAAoC,uDAAuD;AAC3F;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,oCAAoC,kDAAkD;AACtF;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qBAAqB,8BAA8B;AACnD;AACA,mCAAmC;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,cAAc;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,cAAc;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA,kBAAkB,oCAAoC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yCAAyC,mCAAmC,GAAG,mBAAmB;AAClG,UAAU,8BAA8B,GAAG;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,oBAAoB,OAAO,mDAAK,EAAE;AAClC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,mDAAK,EAAE;AAC5B,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,yBAAyB,OAAO,mDAAK,EAAE;AACvC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,oBAAoB,OAAO,mDAAK,EAAE;AAClC,sBAAsB,OAAO,mDAAK,EAAE;AACpC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,uBAAuB,OAAO,mDAAK,EAAE;AACrC,YAAY,OAAO,oDAAM,EAAE;AAC3B;;AAEA;AACA;AACA,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,0BAA0B,OAAO,mDAAK,EAAE;AACxC,2BAA2B,OAAO,mDAAK,EAAE;AACzC,yBAAyB,OAAO,mDAAK,EAAE;AACvC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,YAAY,OAAO,mDAAK,EAAE;AAC1B,aAAa,OAAO,mDAAK,EAAE;AAC3B,YAAY,OAAO,mDAAK,EAAE;AAC1B,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA,oBAAoB;AACpB,sBAAsB;AACtB;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,iCAAiC,qEAAuB;AACxD;AACA;AACA,4CAA4C,eAAe;AAC3D,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,6DAAe,EAAE;AAC7B,KAAK,sCAAsC,OAAO,sDAAQ,EAAE,GAAG;AAC/D,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,OAAO,wDAAU;AACtB;AACA;AACA,eAAe,OAAO,mDAAK,EAAE;AAC7B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,WAAW,OAAO,mDAAK,EAAE;AACzB,aAAa,OAAO,mDAAK,EAAE;AAC3B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,oBAAoB,OAAO,mDAAK,EAAE;AAClC,kBAAkB,OAAO,mDAAK,EAAE;AAChC,eAAe,OAAO,mDAAK,EAAE;AAC7B,gBAAgB,OAAO,yDAAW,oBAAoB;AACtD,iBAAiB,OAAO,yDAAW,8BAA8B,GAAG,OAAO,mDAAK,EAAE;AAClF,0BAA0B,OAAO,yDAAW,6BAA6B;AACzE,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,iBAAiB,OAAO,0DAAY,kCAAkC;AACtE,oBAAoB,OAAO,0DAAY,qCAAqC;AAC5E;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,0DAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+BAA+B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,iCAAiC,qEAAuB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,OAAO,6DAAe;AAC3B;AACA;AACA,kBAAkB,OAAO,mDAAK,EAAE;AAChC,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,eAAe,OAAO,mDAAK,EAAE;AAC7B,uBAAuB,OAAO,mDAAK,EAAE;AACrC,WAAW,OAAO,mDAAK,EAAE;AACzB,mBAAmB,OAAO,mDAAK,EAAE;AACjC,sBAAsB,OAAO,oDAAM,EAAE;AACrC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,0DAAY,sCAAsC;AAC9E;;AAEA;AACA;AACA;AACA,4BAA4B,0DAAY;AACxC,8BAA8B,0DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA,iCAAiC,qEAAuB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2BAA2B;AACjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,+DAAiB;AAC7B;AACA;AACA,oBAAoB,OAAO,mDAAK,EAAE;AAClC,aAAa,OAAO,mDAAK,EAAE;AAC3B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,cAAc,OAAO,mDAAK,EAAE;AAC5B,WAAW,OAAO,mDAAK,EAAE;AACzB,aAAa,OAAO,mDAAK,EAAE;AAC3B,kBAAkB,OAAO,mDAAK,EAAE;AAChC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,kBAAkB,OAAO,oDAAM,EAAE;AACjC,oBAAoB,OAAO,uDAAS,0BAA0B,OAAO,8DAAgB,gBAAgB,IAAI;AACzG,wBAAwB,OAAO,yDAAW,oBAAoB;AAC9D,aAAa,OAAO,yDAAW,6BAA6B;AAC5D,gBAAgB,OAAO,yDAAW,gCAAgC;AAClE,gBAAgB,OAAO,yDAAW,gCAAgC;AAClE,cAAc,OAAO,yDAAW,2BAA2B;AAC3D,eAAe,OAAO,0DAAY,oBAAoB;AACtD,cAAc,OAAO,0DAAY,mBAAmB;AACpD,eAAe,OAAO,0DAAY,gCAAgC;AAClE,kBAAkB,OAAO,0DAAY,mCAAmC;AACxE,iBAAiB,OAAO,0DAAY,kCAAkC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,0DAAY;AACxC,0BAA0B,0DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA,iCAAiC,qEAAuB;AACxD,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,qBAAqB,OAAO,mDAAK,EAAE;AACnC,qBAAqB,OAAO,mDAAK,EAAE;AACnC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,mBAAmB,OAAO,mDAAK,EAAE;AACjC,gBAAgB,OAAO,oDAAM,EAAE;AAC/B,cAAc,OAAO,oDAAM,EAAE;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,SAAS,oCAAoC;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,uDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,OAAO,mDAAK,EAAE;AAC1B,eAAe,OAAO,mDAAK,EAAE;AAC7B,iBAAiB,OAAO,mDAAK,EAAE;AAC/B,eAAe,OAAO,mDAAK,EAAE;AAC7B,kBAAkB,OAAO,mDAAK,EAAE;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oDAAoD;AAC7E;AACA;AACA;AACA;AACA,KAAK,OAAO,sDAAQ;AACpB,0BAA0B,4DAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0CAA0C,kCAAkC;AAC5E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAE07C;AAC17C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,mCAAC,cAAc,cAAc,8CAA8C,cAAc,qCAAqC,cAAc,kBAAkB,sCAAsC,SAAS,yCAAyC;AAAA,oGAAC,C;;;;;;;;;;;ACxBnR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,yGAAa,CAAC,mCAAC,gBAAgB,sCAAsC,SAAS,WAAW;AAAA,oGAAC,C;;;;;;;;;;;ACxBtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,yHAAqB,CAAC,mCAAC,gBAAgB,sCAAsC,SAAS,cAAc;AAAA,oGAAC,C;;;;;;;;;;;ACxBjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,yHAAqB,CAAC,mCAAC,gBAAgB,sCAAsC,SAAS,cAAc;AAAA,oGAAC,C;;;;;;;;;;;ACxBjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,yGAAa,CAAC,mCAAC,gBAAgB,sCAAsC,SAAS,WAAW;AAAA,oGAAC,C;;;;;;;;;;;ACxBtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,YAAY,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,QAAQ,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,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SAAS,wFAAwF,4BAA4B,0EAA0E,qDAAqD;AAAA,oGAAC,C;;;;;;;;;;;ACxB/nI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mCAAmC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,gCAAgC,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,oBAAoB;AACpB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,IAAI;AACJ,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2BAA2B;AACjC,wDAAwD,0CAA0C;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iEAAiE;AACrE,IAAI,kEAAkE;AACtE;AACA,IAAI,oEAAoE;AACxE;AACA;AACA;AACA;AACA,IAAI,qEAAqE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA,iCAAO,CAAC,kCAAS,CAAC,OAAS,CAAC,wHAAgC,CAAC,wIAAwC,CAAC,4HAAkC,CAAC,sHAA+B,CAAC,8HAAmC,CAAC,0HAAiC,CAAC,gFAAY,CAAC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6EAA6E,aAAa,sCAAsC,iCAAiC,iCAAiC,sBAAsB,KAAK,KAAK,EAAE,aAAa,KAAK,yBAAyB,iBAAiB,KAAK,EAAE,oBAAoB,4BAA4B,2BAA2B,KAAK,KAAK,EAAE,aAAa,yBAAyB,cAAc,iBAAiB,EAAE,8DAA8D,2BAA2B,wBAAwB,sDAAsD,aAAa,uEAAuE,aAAa,iMAAiM,aAAa,6KAA6K,aAAa,uBAAuB,iBAAiB,mEAAmE,yBAAyB,2DAA2D,mBAAmB,iEAAiE,2MAA2M,SAAS;AAAA,oGAAC,C;;;;;;;;;;;ACxB7iF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,EAAE,mCAAC,WAAW,aAAa,09EAA09E;AAAA,oGAAC,C;;;;;;;;;;;ACxB7/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,EAAE,mCAAC,WAAW,aAAa,myBAAmyB;AAAA,oGAAC,C;;;;;;;;;;;ACxBt0B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,EAAE,mCAAC,WAAW,YAAY,EAAE,wMAAwM,IAAI,IAAI,GAAG;AAAA,oGAAC,C;;;;;;;;;;;ACxBvP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAO,CAAC,0GAAS,CAAC,mCAAC,YAAY,YAAY,EAAE,cAAc,eAAe,4CAA4C,SAAS;AAAA,oGAAC,C;;;;;;;;;;;ACxBhI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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;AACA;AACA;AACA;AACA;AACA,oCAAoC,kDAAM;AAC1C,uBAAuB,+DAAa;AACpC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;AACA;AACA,aAAa,0DAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA,qEAAqE,4DAAQ;AAC7E;;AAEA;AACA,sEAAsE,4DAAQ;AAC9E;;AAEA;AACA,4FAA4F,4DAAQ,CAAC,+CAAK,YAAY,4DAAQ;AAC9H;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACpGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACF;AACJ;;AAEjC,wBAAwB,4DAAQ,CAAC,qDAAS;AACnC;AACA;AACA,qBAAqB,4DAAQ,CAAC,kDAAM;AAC5B,0EAAW,EAAC;;;;;;;;;;;;;ACR3B;AAAA;AAAuC;;AAExB;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV,CAAC;;AAED;AACA,mBAAmB,6DAAS;AAC5B;;;;;;;;;;;;;AC7CA;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjBA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChCA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAe;AACf;AACA,CAAC;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAqC;;AAEtB;AACf,YAAY,4DAAQ;AACpB;AACA;;;;;;;;;;;;;ACLA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACZA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC5BD;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpEA;AAAA;AAAA;AAAuC;;AAExB,oCAAoC,qDAAS;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6DAAS;AACrB,YAAY,6DAAS;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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AAmC,4DAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClBA;AAAA;AAAe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClBA;AAAA;AAAqC;;AAEtB;AACf,SAAS,4DAAQ;AACjB,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAyC;;AAE1B;AACf;AACA;AACA,iBAAiB,+DAAa;AAC9B;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjBA;AAAA;AAAe;AACf;AACA,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACdA;AAAe;AACf;AACA,CAAC;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2B;AACA;AACgB;AACC;;AAE7B;AACf,6BAA6B,0DAAO;AACpC;AACA,qCAAqC,uDAAG;AACxC,qBAAqB,uDAAG;AACxB;AACA;AACA;AACA,eAAe,uDAAG,CAAC,+DAAW;AAC9B,eAAe,uDAAG;AAClB;AACA;;AAEO,6CAA6C,kDAAM;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAuC;;AAEvC;AACA;AACe,6EAA6E,qDAAS;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3CA;AAAe;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA;AACA;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAyC;;AAE1B;AACf,gBAAgB,8DAAU;AAC1B;AACA;;;;;;;;;;;;;ACLA;AAAA;AAAe;AACf;AACA;;;;;;;;;;;;;ACFA;AAAA;AAAe,oFAAqB,EAAC;;AAE9B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACZA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAuC;AACJ;;AAEpB;AACf;AACA;AACA,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6DAAS;AAC7B;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,2BAA2B,6DAAS;AACpC;AACA,WAAW,2DAAO;AAClB;AACA;AACA;;;;;;;;;;;;;ACxBA;AAAA;AAAA;AAAqC;;AAEtB;AACf,SAAS,4DAAQ;AACjB;;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAgC;AACM;;AAEvB;AACf,uCAAuC,4DAAQ,iBAAiB,4DAAQ,2BAA2B,yDAAK;AACxG,CAAC;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAgC;AACQ;;AAEzB;AACf,wCAAwC,6DAAS,oBAAoB,yDAAK;AAC1E,CAAC;;;;;;;;;;;;;ACLD;AAAA;AAAgC;;AAEjB;AACf,4BAA4B,yDAAK;AACjC,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrDA;AAAA;AAA2B;;AAEZ;AACf;AACA,uBAAuB,uDAAG,2CAA2C,SAAS;AAC9E,0DAA0D,SAAS;AACnE;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxBA;AAAA;AAAuC;;AAExB;AACf,SAAS,6DAAS;AAClB,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;AACW;AACL;AAC2B;AAC9B;AACH;AACD;AACgB;;AAEpD,iBAAiB,aAAa;AAC9B,kBAAkB,cAAc;AAChC,mBAAmB,eAAe;AAClC,mBAAmB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,0DAAK,SAAS,kDAAK;AAC9B;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,gEAAgE,EAAE;AAC3F,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,yBAAyB,gEAAgE,EAAE;AAC3F,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,uBAAuB,wCAAwC,EAAE;AACjE,wBAAwB,WAAW;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA,UAAU,kDAAK,aAAa,kDAAK;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEe;AACf;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kBAAkB,4DAAQ;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2DAAM;AAChB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,eAAe,EAAE;;AAEvD;;AAEA;AACA,oCAAoC,mCAAmC,EAAE;AACzE,qCAAqC,wBAAwB,EAAE;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,gDAAgD,EAAE;AAC3F,uDAAuD,gCAAgC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kEAAW;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,+DAAS;AACrB;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAM;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,gHAAgH,EAAE;AACpJ,kCAAkC,gGAAgG,EAAE;AACpI,sCAAsC,uGAAuG,EAAE;AAC/I,uCAAuC,uGAAuG,EAAE;AAChJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM,gEAAW,KAAK,iDAAU;AAChC;AACA;;AAEA;AACA,wBAAwB,kDAAK;AAC7B;;AAEA;AACA,eAAe,kDAAK;AACpB,wBAAwB,kDAAK,2EAA2E,kDAAK;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,kDAAK;AAClD;AACA;AACA,kBAAkB,kDAAK,mBAAmB,kDAAK,iCAAiC,kDAAK;AACrF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,2DAAM;AACtB;;AAEA;AACA;;AAEA,QAAQ,kDAAK;AACb;AACA;AACA,KAAK;AACL,iBAAiB,2DAAM,CAAC,kDAAK;AAC7B;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAW,CAAC,kDAAK;AACvB;;AAEA,IAAI,iEAAa;AACjB,IAAI,+DAAS;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAO;AACb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,iEAAa;AACnB,UAAU,kDAAK;AACf,YAAY,kDAAK;AACjB;AACA,6CAA6C,oBAAoB,EAAE,OAAO;AAC1E,OAAO;AACP,QAAQ,0DAAU,CAAC,kDAAK;AACxB;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;;AAEA;AACA,cAAc,kDAAK;AACnB,kBAAkB;AAClB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B;AACA,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAO;AACb;;AAEA;AACA,cAAc,kDAAK;AACnB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB,kDAAK;AACrB;AACA;AACA;AACA,aAAa;AACb,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAO;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA,sEAAsE,4DAAQ;AAC9E;;AAEA;AACA,sEAAsE,4DAAQ;AAC9E;;AAEA;AACA,yEAAyE,4DAAQ;AACjF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC9kBA;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKoB;;;;;;;;;;;;;ACLpB;AAAA;AAAA;AAAmC;;AAE5B;AACP,EAAE,kDAAK;AACP;;AAEe;AACf,EAAE,kDAAK;AACP,EAAE,kDAAK;AACP,CAAC;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;;AAEpC;;AAEA;AACA;;AAEP;AACA;AACA;AACA,yBAAyB,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA,0DAAM,WAAW,yDAAM;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAAM,WAAW,yDAAM;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACyB;AACzB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,6CAAG,OAAO,4DAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gDAAO;AACzC;AACA;;AAEe;AACf;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA,0DAAM,uBAAuB,yDAAM,CAAC,+CAAK;AACzC;AACA,oBAAoB,kDAAQ,YAAY,kDAAQ;AAChD;AACA,GAAG;AACH;AACA,oBAAoB,gDAAM,YAAY,gDAAM;AAC5C;AACA,GAAG;AACH;AACA,iDAAiD,gDAAO;AACxD;AACA;AACA;AACA;AACA,eAAe,6CAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC5DD;AAAA;AAAe;AACf;AACA;AACA,CAAC;;AAEM;AACP;AACA;AACA;AACA;;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsD;AACE;AACJ;;;;;;;;;;;;;ACFpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACO;AACP;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,6CAAG,OAAO,4DAAU;AACzC;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEe;AACf;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA,0DAAM,WAAW,yDAAM,CAAC,+CAAK;AAC7B;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,gDAAO;AACxC;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,gDAAO;AACvB;AACA;;AAEA,0DAAM,WAAW,yDAAM,CAAC,+CAAK;AAC7B;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC1HD;AAAA;AAAA;AAAO;AACA;;;;;;;;;;;;;ACDP;AAAA,YAAY;;AAEZ;AACA,8CAA8C,IAAI,OAAO;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,iBAAiB;AACjB;AACA;AACA,GAAG;AACH;AACA,kFAAkF,OAAO;AACzF;AACA,+CAA+C,OAAO;AACtD,GAAG;AACH;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;;AAEA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;;AAEe,uEAAQ,EAAC;;;;;;;;;;;;;ACnFxB;AAAA;AAAA;AAAA;AAAkD;;;;;;;;;;;;;ACAlD;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAA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AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACpCD;AAAA;AAAA;AAAA;AAAO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AAAA;AAAuC;;AAEvC;AACO;AACA;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc;AACf,WAAW,0DAAY;AACvB;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAsD;;AAEvC;AACf,aAAa,4EAAkB;AAC/B,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAe;AACf;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACO;AACP,+FAA+F;AAC/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACjBD;AAAe;AACf;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAsD;;AAE/C;;AAEQ;AACf,UAAU,4EAAkB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,4EAAkB,+BAA+B;AAC7F,CAAC;;;;;;;;;;;;;ACfD;AAAA;AAAsD;;AAEvC;AACf,UAAU,4EAAkB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACVD;AAAA;AAAA;AAAA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,sDAAsD;;AAE/C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;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ACA;;AAEe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRD;AAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACXD;AAAe;AACf;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACND;AAAe;AACf;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAe;AACf;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAe;AACf;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AACF;AACY;AACF;AACZ;AACE;AACA;AACU;AACI;AACV;AACF;;AAErB;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAU;AACnB,QAAQ,gDAAS;AACjB,aAAa,qDAAc;AAC3B,cAAc,sDAAe;AAC7B,OAAO,+CAAQ;AACf,QAAQ,gDAAS;AACjB,QAAQ,gDAAS;AACjB,aAAa,qDAAc;AAC3B,eAAe,uDAAgB;AAC/B,UAAU,kDAAW;AACrB,SAAS,kDAAU;AACnB;AACA;;;;;;;;;;;;;AC9EA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACRD;AAAe;AACf;AACA;AACA,wBAAwB;AACxB,kBAAkB,kCAAkC;AACpD;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACRD;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7BA;AAAe;AACf;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;ACND;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACU;AACV;AACW;AACF;AACL;AACF;AACR;AACY;AACO;AACJ;AACE;AACQ;AACF;AACI;;;;;;;;;;;;;ACdrE;AAAA;AAA2C;;AAE5B;AACf,4BAA4B,yDAAO,CAAC,+CAAK;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrHA;AAAA;AAAA;AAAA;AAA0C;AACD;AACa;;AAEtD;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,gBAAgB,yDAAY;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,yDAAY;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,8DAAQ;AAChD;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE,4DAAQ;AAC/E;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,OAAO;AAC/B,UAAU,gEAAW;AACrB,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9EA;AAAA;AAAA;AAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,wCAAwC,KAAK,2DAAO;;AAEvE;AACA,aAAa,OAAO;;AAEpB;AACA;;AAEe;AACf;AACA;AACA,CAAC;;;;;;;;;;;;;ACrHD;AAAA;AAAA;AAA2C;AACC;;AAE7B;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yDAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA,QAAQ,gEAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACnDD;AAAA;AAAA;AAAwC;AACiB;;AAEzD;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB,yCAAyC,wDAAI;AAC7C;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,oCAAoC,KAAK,EAAE,aAAa,iEAAa;AACzG;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,8DAAQ;AAC5C;;AAEA;AACA,0CAA0C,8DAAQ;AAClD;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACxED;AAAA;AAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,gBAAgB;AAChB,aAAa;AACb;;AAEA,mCAAmC,wDAAI;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACe;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;AC5OD;AAAe;AACf;AACA;AACA;;AAEA,6BAA6B,OAAO;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC7CD;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXD;AAAA;AAAA;AAAA;AAAA;AAAmC;AACE;AACI;AACa;;AAEvC;AACf,aAAa,oDAAQ;AACrB;AACA;AACA;AACA;AACA,qBAAqB,yDAAY;AACjC,mBAAmB,yDAAY;AAC/B,qBAAqB,yDAAY;AACjC,sBAAsB,yDAAY;AAClC,oBAAoB,yDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iDAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAsC,8DAAQ;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA,4EAA4E,4DAAQ;AACpF;;AAEA;AACA;AACA;;AAEA;AACA,0EAA0E,4DAAQ;AAClF;;AAEA;AACA,4EAA4E,4DAAQ;AACpF;;AAEA;AACA,6EAA6E,4DAAQ;AACrF;;AAEA;AACA,2EAA2E,4DAAQ;AACnF;;AAEA;AACA,CAAC;;;;;;;;;;;;;AC7FD;AAAA;AAAA;AAAA;AAAoC;AACE;AACW;;AAElC;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,OAAO;AACxD,sBAAsB,wDAAW;AACjC,aAAa,yDAAY;AACzB;AACA;AACA,KAAK;AACL,gCAAgC,kEAAa;AAC7C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,EAAE,gDAAG,CAAC,EAAC;;;;;;;;;;;;;ACnCR;AAAe;AACf;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACLD;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXD;AAAA;AAAA;AAA6B;AACE;;AAEhB;AACf,sBAAsB,iDAAK,GAAG,gDAAI;AAClC,CAAC;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAoC;AACE;;AAE/B;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+B;AACJ;AACa;AACX;AACI;AACA;AACA;AACI;AACuB;;AAE7C;AACf;AACA,wCAAwC,4DAAQ;AAChD,0BAA0B,kDAAM;AAChC,+BAA+B,sDAAK,eAAe,+CAAG,IAAI,kDAAM;AAChE,qBAAqB,8CAAK,GAAG,+CAAG;AAChC,4BAA4B,gDAAI;AAChC,QAAQ,qEAAa,MAAM,uDAAW;AACtC,2BAA2B,sDAAY;AACvC,0FAA0F,kDAAM;AAChG,QAAQ,kDAAM;AACd,CAAC;;;;;;;;;;;;;ACrBD;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;;;;;;;AC/DD;AAAA;AAAA;AAAA;AAA0C;;;;;;;;;;;;;ACA1C;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEe,mEAAI,EAAC;;;;;;;;;;;;;ACjIpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACP;AACD;;AAEpB;AACf,cAAc,2DAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sDAAQ,qBAAqB,yBAAyB,EAAE;AACzE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kDAAS;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACpGA;AAAA;AAAe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgC;AACoE;AAC/D;AACJ;;AAEjC;;AAEO;AACP;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC,QAAQ,4DAAQ;AAChB;;AAEA;AACA;AACA;AACA,sBAAsB,oCAAoC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY,uDAAM;AAClB;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,oBAAoB,0DAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA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AACA;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,2BAA2B,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,QAAQ;AAC3B,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAK;AACrC,KAAK;AACL,UAAU,sDAAK;AACf;;AAEA;AACA;;AAEA;AACA;AACA,qDAAqD,wDAAM;AAC3D;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,wDAAI;AACtB,0BAA0B,kCAAkC,EAAE;AAC9D,yBAAyB,iCAAiC;AAC1D,KAAK;AACL;;AAEA;AACA;;AAEe;AACf,sBAAsB,kEAAW;;AAEjC;AACA,WAAW,2DAAI;AACf;;AAEA,EAAE,kDAAS;;AAEX;AACA;;;;;;;;;;;;;ACjJA;AAAA;AAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACjBA;AAAA;AAAe;AACf;AACA;;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAAoC;;AAE7B;;AAEQ;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE,kDAAS;;AAEX;AACA;;;;;;;;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACsB;AACxB;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP,wBAAwB,uDAAQ,EAAE,uDAAQ;AAC1C;;AAEA;AACA,sCAAsC,uDAAQ,EAAE,uDAAQ;AACxD;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,4DAAS;AAClB;;AAEe;AACf,qBAAqB,kEAAW;;AAEhC;AACA,WAAW,2DAAI;AACf;;AAEA,EAAE,kDAAS;;AAEX;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACjDA;AAAA;AAAA;AAAA;AAAwE;AACpC;;AAErB;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC,+DAAS;AACjD;AACA;;AAEA;AACA,wDAAwD,uDAAM;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,kDAAS;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kDAAS;AAClB;;;;;;;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAA;AAAgC;AACM;AACF;;AAErB;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,uDAAM;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kDAAS,OAAO,4DAAS;AAClC;;;;;;;;;;;;;ACvDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACL;AACE;AACL;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf,gBAAgB,8DAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE,kDAAM;AAC1E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,kDAAS;;AAEX,SAAS,4DAAS;AAClB;;;;;;;;;;;;;AC9DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACpB;AACE;AACL;AACL;AACK;AACN;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uDAAQ;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,0DAAW;;AAEjC,2BAA2B,+DAAgB;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf,cAAc,4DAAS,eAAe,uDAAQ;;AAE9C;AACA;AACA;;AAEA,SAAS,yDAAgB;AACzB;;AAEO;AACP,cAAc,uDAAO;;AAErB;AACA;AACA;;AAEA,SAAS,yDAAgB;AACzB;;AAEO;AACP,cAAc,4DAAS;;AAEvB;AACA;AACA;;AAEA,SAAS,yDAAgB;AACzB;;AAEO;AACP,cAAc,sDAAM;;AAEpB;AACA;AACA;;AAEA,SAAS,yDAAgB;AACzB;;AAEO;AACP;AACA;;;;;;;;;;;;;AC1GA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACZ;AACE;;AAE5B;AACf;AACA,qBAAqB,uDAAQ;;AAE7B;AACA,0DAA0D,uDAAM;AAChE;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,kDAAS;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,cAAc,YAAY,yDAAQ;AACzD;;AAEA;AACA;AACA;;AAEA,SAAS,yDAAgB;AACzB;;;;;;;;;;;;;ACrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACY;AACd;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA,SAAS,4DAAS;AAClB;;AAEe;AACf,wBAAwB,kEAAW;;AAEnC;AACA,WAAW,2DAAI;AACf;;AAEA,SAAS,kDAAS;AAClB;;;;;;;;;;;;;AClCA;AAAA;AAAA;AAAA;AAAgC;AACI;;AAErB;AACf;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,uDAAM;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kDAAS;AAClB;;;;;;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAkC;AAC+E;;AAElG;AACf,aAAa,yDAAQ;AACrB;AACA,cAAc,iEAAe;AAC7B;AACA;AACA;AACA,4DAA4D,iEAAe;AAC3E,aAAa,8DAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,gEAAc;AAC1E;AACA;AACA;AACA;AACA,4DAA4D,gEAAc;AAC1E;AACA;AACA;AACA,SAAS,wDAAM;AACf;;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8H;AACpF;AACO;AACb;AACP;;AAE7B;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP,cAAc,8DAAU;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,wDAAI;AACjC;;AAEA;AACA,WAAW,2DAAI;AACf;;AAEA;AACA;;AAEe;AACf,SAAS,kDAAS,gBAAgB,iDAAS,EAAE,wDAAgB,EAAE,gDAAQ,EAAE,iDAAS,EAAE,gDAAQ,EAAE,+CAAO,EAAE,gDAAQ,EAAE,kDAAU,EAAE,kDAAU,EAAE,yDAAU;AACnJ;;;;;;;;;;;;;ACtEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqH;AAC5E;AACN;AACC;;AAErB;AACf,SAAS,kDAAS,OAAO,yDAAQ,CAAC,gDAAQ,EAAE,uDAAe,EAAE,+CAAO,EAAE,gDAAQ,EAAE,+CAAO,EAAE,8CAAM,EAAE,+CAAO,EAAE,iDAAS,EAAE,iDAAS,EAAE,wDAAS;AACzI;;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAgC;AACF;;AAEf;AACf,SAAS,uDAAM,CAAC,wDAAO;AACvB,CAAC;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAoC;AACD;;AAEnC;AACA;AACA;AACA;AACA,mBAAmB,iDAAK,8CAA8C,iDAAK;AAC3E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEe;AACf,iBAAiB,0DAAS;AAC1B;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACxBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACE;AACJ;AACI;AACJ;AACQ;AACE;AACJ;AACJ;AACM;AACM;AACR;AACM;AACC;AACb;AACI;AACF;AACO;;;;;;;;;;;;;ACjBlD;AAAA;AAAA;;AAEe;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;AC1BA;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAwC;AACZ;;AAEb;AACf,cAAc,4DAAW;AACzB;AACA,SAAS,sDAAK;AACd,CAAC;;;;;;;;;;;;;ACPD;AAAA;AAAsC;;AAEvB;AACf;AACA;AACA,SAAS,mDAAU,2BAA2B,OAAO,mDAAU,sBAAsB;AACrF,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAO;;AAEQ;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;ACRF;AAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAA;AAAkD;;AAEnC;AACf;AACA,YAAY,0DAAS;AACrB,YAAY,0DAAS,eAAe,qDAAI;AACxC,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAkD;;AAEnC;AACf;AACA,YAAY,0DAAS;AACrB,YAAY,0DAAS,qCAAqC,qDAAI;AAC9D,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAiC;;AAElB;AACf,mDAAmD,wDAAO;AAC1D;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;ACPD;AAAA;AAAqC;;AAErC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf,iBAAiB,0DAAS;;AAE1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACxDD;AAAe;AACf;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACLD;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC1ED;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAkC;AACA;AACC;;AAEnC,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,KAAK;AACL,qBAAqB,gDAAS;AAC9B;AACA;;AAEA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qBAAqB,gDAAS;AAC9B;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,2BAA2B,eAAe,EAAE;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C,yDAAQ;;AAEnD,sGAAsG,OAAO;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gDAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACrHD;AAAe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAoC;;AAEpC;AACA,eAAe,uDAAW;AAC1B;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACjCD;AAAe;;AAEf,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACTD;AAAe;AACf;AACA,CAAC;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAA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AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEe;AACf;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;AC1GA;AAAe;;AAEf,4DAA4D,SAAS;AACrE,4EAA4E,UAAU;AACtF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3BD;AAAA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAkC;AACC;;AAEpB;AACf,6CAA6C,yDAAQ;;AAErD,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gDAAS;AACtB,CAAC;;;;;;;;;;;;;AChBD;AAAA;AAAA;AAAkC;AACO;;AAE1B;AACf,6CAA6C,4DAAW;;AAExD,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gDAAS;AACtB,CAAC;;;;;;;;;;;;;AChBD;AAAe;AACf;AACA,wBAAwB,QAAQ,EAAE;AAClC;AACA,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAkC;;AAEnB;AACf;;AAEA;AACA;AACA;;AAEA,sFAAsF,OAAO;AAC7F,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gDAAS;AACtB,CAAC;;AAED;AACA;AACA;;;;;;;;;;;;;ACvBA;AAAe;AACf;AACA,CAAC;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAoC;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEM;AACP;AACA,SAAS,uDAAW;AACpB;;;;;;;;;;;;;AClCA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACxBD;AAAA;;AAEe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRD;AAAA;AAAqC;;AAEtB;AACf,gBAAgB,mDAAK;AACrB;AACA;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAwC;AACZ;;AAEb;AACf,4DAA4D,4DAAW;;AAEvE,0DAA0D,OAAO;AACjE;AACA,aAAa,sDAAK;AAClB;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACbD;AAAA;AAAA;AAAwC;AACZ;;AAEb;AACf,iCAAiC,4DAAW;;AAE5C,0EAA0E,OAAO;AACjF,gBAAgB,sDAAK;AACrB;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACXD;AAAe;AACf;AACA;AACA,0BAA0B;AAC1B,CAAC;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAA6B;AACQ;AACgE;;AAErG;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA,cAAc,gDAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qDAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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A;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B,4FAA4F;AACtJ,eAAe,uDAAK,aAAa;AACjC;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACnDD;AAAA;AAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,oFAAoF,0EAA0E;AAC5L,8BAA8B;AAC9B,eAAe,uDAAK,aAAa;AACjC;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACtCD;AAAA;AAAiC;;AAEjC;AACA,oBAAoB,+CAAK;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA,4BAA4B,+CAAK;AACjC;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,OAAO,EAAC;;;;;;;;;;;;;ACvDT;AAAA;AAAA;AAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B,4BAA4B;AAC1D,8BAA8B;AAC9B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,IAAI,EAAC;;;;;;;;;;;;;AC5DN;AAAA;AAAA;AAAA;AAA8B;AACM;;AAE7B;AACP;AACA;AACA;;AAEA;AACA,aAAa,gDAAI;AACjB,WAAW,gDAAI;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,eAAe,0DAAK,aAAa;AACjC;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,IAAI,EAAC;;;;;;;;;;;;;AC5DN;AAAA;AAAA;AAAoC;;AAE7B;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,eAAe,0DAAK,aAAa;AACjC;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,IAAI,EAAC;;;;;;;;;;;;;AChDN;AAAA;AAAA;AAAA;AAAmC;AACI;;AAEhC;AACP;AACA;AACA;AACA;;AAEA,oBAAoB,gDAAO;AAC3B;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,gDAAO;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B;AAC9B,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA,wDAAwD,qDAAQ;AAChE;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,MAAM,EAAC;;;;;;;;;;;;;ACvFR;AAAA;AAAA;AAAA;AAAmD;AACrB;AACQ;;AAEtC;AACA;AACA;AACA;;AAEA;AACA,aAAa,gDAAI;AACjB,WAAW,gDAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,eAAe,4DAAK,aAAa;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA,8DAA8D,iEAAc;AAC5E;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,MAAM,EAAC;;;;;;;;;;;;;ACzER;AAAA;AAAA;AAA+C;AACT;;AAEtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,eAAe,4DAAK,aAAa;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe;;AAEf;AACA,4DAA4D,6DAAY;AACxE;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,MAAM,EAAC;;;;;;;;;;;;;AC7DR;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,0CAA0C;AAC1C;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;AC9BD;AAAA;AAA8B;;AAE9B;AACA;AACA;;AAEA;AACA,aAAa,gDAAI;AACjB,WAAW,gDAAI;AACf;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACxBD;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,4DAA4D;AAC5D;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B,wDAAwD;AACtF,8DAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,4BAA4B,EAAE;AACxD,yBAAyB,2BAA2B,EAAE;AACtD,0BAA0B,4BAA4B,EAAE;AACxD,iDAAiD,mDAAmD;AACpG;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;ACvGA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;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;AACvB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;AAC1D;AACJ;AACF;;;;;;;;;;;;;ACHlD;AAAA;AAAA;AAA6C;;AAEtC;;AAEP;AACA;AACA;;AAEA;AACA;AACA,MAAM,mEAAS;;AAEA,wEAAS,EAAC;;;;;;;;;;;;;ACZzB;AAAA;AAAA;AAA4C;AACA;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,kEAAQ,CAAC,0DAAY;;AAEZ,uEAAQ,EAAC;;;;;;;;;;;;;ACZxB;AAAA;AAAA;AAWiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iDAAS,cAAc,yDAAS;AACxE,iBAAiB,8CAAM;AACvB;AACA;AACA;AACA,SAAS;AACT;AACA,wCAAwC,kDAAU,cAAc,0DAAU;AAC1E,iBAAiB,+CAAO;AACxB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,+CAAO,OAAO,wDAAQ;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kDAAU,OAAO,wDAAQ;AACtC;;AAEA;AACA;AACA,mCAAmC,4DAAY,MAAM,oDAAY;AACjE;;AAEA;AACA;AACA,aAAa,oDAAY,OAAO,wDAAQ,WAAW,wDAAQ;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,kDAAU,OAAO,wDAAQ;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,4DAAY,MAAM,oDAAY;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,8CAAM,OAAO,uDAAO;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iDAAS,OAAO,uDAAO;AACpC;;AAEA;AA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;AACsB;;AAE3D;AACA,SAAS,4DAAQ;AACjB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH,kFAAkF,2DAAc,IAAI,yDAAY;AAChH,GAAG;AACH;;AAEO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5BP;AAAA;AAAA;AAAqC;;AAErC,WAAW,4DAAQ;AACnB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA,2DAA2D,4DAAQ;AACnE;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEe,mEAAI,EAAC;AACb;;;;;;;;;;;;;ACzBP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIoB;;AAIE;;AAIC;;;;;;;;;;;;;ACZvB;AAAA;AAAsC;;AAEvB;AACf,cAAc,+CAAK;AACnB;AACA,wCAAwC,qDAAG;AAC3C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACZD;AAAA;AAAiC;;AAElB;AACf,cAAc,+CAAK;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;ACVD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qIAAqI,mBAAmB;;AAEjJ;AACP;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP,QAAQ;AACR,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;AC7GA;AAAA;AAAA;AAAiD;AACE;;AAEnD;;AAEe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C,iEAAS;AACrD,mBAAmB,+DAAU;AAC7B;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACpBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AAC8B;AACd;AACM;;;;;;;;;;;;;ACHpD;AAAA;AAAiE;;AAElD;AACf;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,kDAAkD,eAAe,UAAU;AAC3E,8BAA8B,gEAAQ,qBAAqB,8DAAM;AACjE,qBAAqB,6DAAK;AAC1B;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAA;AAAuC;AACU;AACE;;AAEnD,sDAAS,uBAAuB,qDAAmB;AACnD,sDAAS,wBAAwB,sDAAoB;;;;;;;;;;;;;ACLrD;AAAA;AAAwC;;AAEzB;AACf;AACA,IAAI,6DAAS;AACb,GAAG;AACH,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAyD;AACR;AACV;AACV;;AAE7B;AACA;AACA;AACA;AACA,QAAQ,sDAAc;AACtB;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,oDAAG;AACrC;AACA;AACA;AACA;;AAEe;AACf;AACA;;AAEA,sBAAsB,+DAAU;AAChC;AACA,GAAG;AACH,SAAS,kEAAK,oCAAoC,oDAAG;AACrD;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA,QAAQ,uEAAQ;AAChB;AACA;AACA;;AAEA,aAAa,+DAAU;AACvB,CAAC;;;;;;;;;;;;;ACzCD;AAAA;AAAA;AAAA;AAAA;AAA+E;AACxC;AACD;AACK;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf,iBAAiB,8DAAS,uCAAuC,sEAAoB,GAAG,uDAAW;AACnG;AACA,sEAAsE,4DAAU;AAChF;AACA;AACA,CAAC;;;;;;;;;;;;;AC7ED;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA,iBAAiB,8DAAS;AAC1B;AACA,CAAC;;;;;;;;;;;;;AC3CD;AAAA;AAAwC;;AAExC;AACA;AACA,IAAI,yDAAI;AACR;AACA;;AAEA;AACA;AACA,IAAI,yDAAI;AACR;AACA;;AAEe;AACf;;AAEA;AACA;AACA;AACA;AACA,QAAQ,wDAAG;AACX,CAAC;;;;;;;;;;;;;ACtBD;AAAA;AAAuC;;AAEvC;AACA;AACA,IAAI,wDAAG;AACP;AACA;;AAEA;AACA;AACA,IAAI,wDAAG;AACP;AACA;;AAEe;AACf;;AAEA;AACA;AACA;AACA;AACA,QAAQ,wDAAG;AACX,CAAC;;;;;;;;;;;;;ACtBD;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA,IAAI,wDAAG;AACP;AACA;;AAEe;AACf;;AAEA;AACA;AACA,QAAQ,wDAAG;AACX,CAAC;;;;;;;;;;;;;ACfD;AAAA;AAAkC;;AAEnB;AACf;AACA;AACA,kBAAkB,cAAc;AAChC,eAAe,mBAAmB,6BAA6B;;AAE/D;AACA,qBAAqB,wDAAG;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH,CAAC;;;;;;;;;;;;;ACzBD;AAAA;AAAA;AAAqC;AACC;;AAEvB;AACf,2CAA2C,4DAAO;;AAElD,qFAAqF,OAAO;AAC5F,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;;AAEA,aAAa,oDAAU;AACvB,CAAC;;;;;;;;;;;;;ACfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACC;AACU;AACR;AACM;AACR;AACI;AACF;AACN;AACQ;AACA;AACM;AACA;AACR;AACU;AACZ;AACU;AACE;AACV;AACJ;;AAEtC;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEe;AACf,SAAS,8DAAS;AAClB;;AAEO;AACP;AACA;;AAEA,0BAA0B,sDAAS;;AAEnC;AACA;AACA,UAAU,mDAAiB;AAC3B,aAAa,sDAAoB;AACjC,UAAU,kDAAiB;AAC3B,SAAS,iDAAgB;AACzB,aAAa,sDAAoB;AACjC,cAAc,uDAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8CAAa;AACnB,QAAQ,gDAAe;AACvB,aAAa,qDAAoB;AACjC,SAAS,kDAAgB;AACzB,cAAc,uDAAqB;AACnC,QAAQ,iDAAe;AACvB,aAAa,sDAAoB;AACjC,UAAU,kDAAiB;AAC3B,SAAS,kDAAgB;AACzB,SAAS,iDAAgB;AACzB,YAAY,oDAAmB;AAC/B,QAAQ,gDAAe;AACvB,OAAO,gDAAc;AACrB;;;;;;;;;;;;;ACnEA;AAAA;AAAA;AAA+B;AACqD;;AAErE;AACf;AACA,kCAAkC,gEAAiB;AACnD,qBAAqB,8CAAK,GAAG,6DAAc;AAC3C,aAAa,sDAAK,eAAe,6DAAc;AAC/C,QAAQ,gEAAiB;AACzB,CAAC;;;;;;;;;;;;;ACTD;AAAA;AAAsC;;AAEvB;AACf;;AAEA,+JAA+J,OAAO;AACtK,wHAAwH,OAAO;AAC/H;AACA;AACA;AACA;AACA;;AAEA,QAAQ,QAAQ;AAChB;AACA;;AAEA,aAAa,oDAAU;AACvB,CAAC;;;;;;;;;;;;;AClBD;AAAA;AAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,oCAAoC,iDAAI,GAAG,gDAAG;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;AACA,QAAQ,wDAAG;AACX;AACA,CAAC;;;;;;;;;;;;;AC/BD;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC;;;;;;;;;;;;;ACVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;AACG;;AAExC,cAAc,4DAAQ;AACtB;;AAEO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEQ;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEM;AACP;AACA,0DAA0D;AAC1D;AACA;;AAEO;AACP;AACA,0DAA0D;AAC1D;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,sDAAK;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,sCAAsC,wDAAO;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA,0DAA0D;AAC1D;AACA,IAAI,wDAAO;AACX;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;;;;;;;;;;;;;ACxJA;AAAA;AAAA;AAAA;AAAsC;AACA;AACM;;AAE7B;AACf;AACA;;AAEA,6CAA6C,6DAAQ;;AAErD,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA,QAAQ,4DAAQ,qCAAqC,wDAAG;AACxD;AACA;AACA;;AAEA,aAAa,oDAAU;AACvB,CAAC;;;;;;;;;;;;;ACrBD;AAAA;AAAA;AAAA;AAAyC;AACH;AACM;;AAE7B;AACf;AACA;;AAEA,6CAA6C,gEAAW;;AAExD,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA,yFAAyF,wDAAG,uCAAuC,OAAO;AAC1I;AACA,YAAY,4DAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oDAAU;AACvB,CAAC;;;;;;;;;;;;;ACzBD;AAAA;AAAuC;;AAEvC,gBAAgB,sDAAS;;AAEV;AACf;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAC5C;AACD;AACI;AACK;;AAE3C;AACA;AACA;AACA;AACA;AACA,kBAAkB,0DAAK;AACvB,oDAAoD,0DAAK;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0DAAK;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0DAAK;AACvB;AACA;AACA,6EAA6E,0DAAK;AAClF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,wDAAG;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf,yCAAyC,sEAAoB,GAAG,uDAAW;AAC3E;AACA;AACA;AACA;AACA,+CAA+C,4DAAU;AACzD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC/ED;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACvBD;AAAA;AAAsC;;AAEtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,qBAAqB,4DAAU;AAC/B;AACA,CAAC;;;;;;;;;;;;;ACnBD;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAA6C;AACD;;AAE7B;AACf;AACA;AACA,YAAY,uDAAK;;AAEjB,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA,sBAAsB,wDAAG;AACzB,QAAQ,4DAAQ;AAChB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA,aAAa,oDAAU;AACvB,CAAC;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA,mBAAmB,wDAAG;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,wDAAG;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB,2BAA2B,OAAO;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA;AACA,gBAAgB,wDAAG;AACnB,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEM;AACP;;AAEA;AACA,mBAAmB,wDAAG;AACtB,2CAA2C;AAC3C,GAAG;;AAEH;AACA,WAAW,wDAAG;AACd;AACA;;;;;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA,iGAAO,CAAC,mEAAW,EAAE,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sFAAmB;AACpB,CAAC,sGAAgE;AACjE,CAAC,mCAAE;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK,KAAqC,CAAC,EAIxC;;AAEH,gBAAgB,oBAAoB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA,KAAK,KAAqC,CAAC,EAIxC;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK,KAAgE,CAAC,EAGnE;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,KAAgE,CAAC,EAEnE;AACL;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC/TF,iGAAO,CAAC,oEAAU,EAAE,4DAAM,CAAC,mCAAE;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,IAAI;AACjE;AACA;AACA;AACA,UAAU;AACV;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACnCF,iGAAO,CAAC,kFAAiB,EAAE,4EAAc,EAAE,8EAAe,EAAE,gEAAQ,CAAC,mCAAE;AACvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,OAAO;;AAEP;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,cAAc,kBAAkB;AAChC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA,QAAQ;;AAER,mDAAmD;AACnD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,cAAc;AACd,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,CAAC;;AAED,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACzNF,iGAAO,CAAC,0EAAU,EAAE,sEAAQ,EAAE,wEAAS,EAAE,0EAAU,CAAC,mCAAE;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC,QAAQ;AACR,YAAY,sBAAsB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,SAAS,SAAS,SAAS;AAC3C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,+BAA+B;AAC/B,SAAS;AACT;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,kCAAkC,iBAAiB;AACnD;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,SAAS;AACT;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,SAAS;AACT;AACA;AACA;AACA,IAAI;AACJ,6BAA6B;AAC7B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,SAAS;AACT;AACA,2EAA2E;AAC3E,GAAG;AACH;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,iDAAiD;AACjD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACpOF,iGAAO;AACP,CAAC,0EAAU;AACX,CAAC,yEAAa;AACd,CAAC,uFAAoB;AACrB,CAAC,6FAAuB;AACxB,CAAC,+DAAQ;AACT,CAAC,sEAAQ;AACT,CAAC,iEAAS;AACV,CAAC,mCAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oBAAoB,cAAc,EAAE,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,GAAG;AACH;AACA,EAAE;;AAEF;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC9XF,iGAAO,CAAC,0EAAU,EAAE,+DAAQ,EAAE,sEAAQ,CAAC,mCAAE;AACzC;AACA;;AAEA;AACA,eAAe;;AAEf;AACA,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,UAAU;AAClB;AACA,cAAc;AACd;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,eAAe,EAAE;AACnE;AACA;AACA,kDAAkD,eAAe,EAAE;AACnE,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,eAAe,EAAE;AACjE;AACA;AACA,gDAAgD,eAAe,EAAE;AACjE,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,IAAI;AACJ,SAAS,OAAO;AAChB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;;AAE/D;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,IAAI;AACJ,SAAS,OAAO;AAChB;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,eAAe,EAAE;;AAEnE;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;;;AAGA,CAAC,KAAkB;;AAEnB;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC7VF,iGAAO,CAAC,qEAAW,EAAE,+DAAQ,EAAE,kCAAS,CAAC,mCAAE;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,qBAAqB;AACnD,6DAA6D;AAC7D;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,wCAAwC;AACxC,sDAAsD;AACtD;AACA,kDAAkD,EAAE;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,IAAsB;AAC1B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,EAAE,IAAI,kBAaJ;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;;ACtLF,iGAAO,CAAC,0EAAU,EAAE,6DAAO,EAAE,mEAAU,EAAE,qEAAW,EAAE,wEAAS,EAAE,mEAAU,EAAE,wEAAS,EAAE,sEAAQ,EAAE,iEAAS,CAAC,mCAAE;AAC9G;AACA;;AAEA,4CAA4C;AAC5C,qBAAqB;AACrB;AACA;AACA;AACA,EAAE;AACF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD,mCAAmC,uBAAuB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,MAAM;AACN,cAAc;AACd,MAAM;AACN,cAAc;AACd,MAAM;AACN,4BAA4B;AAC5B;AACA;AACA;AACA,sCAAsC,0CAA0C;AAChF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gCAAgC,wBAAwB;AACxD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,cAAc;AACpE,IAAI;AACJ;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAK,MAAM,iBAAiB;AACjD;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,iCAAiC,EAAE;AACpG;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,iCAAiC;AAClG;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mCAAmC;AACzD,4EAA4E;AAC5E,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;AACA;AACA;;AAEA,KAAkB;AAClB;;AAEA,CAAC;AAAA,oGAAC;;;;;;;;;;;;;;ACnXF,iGAAO,CAAC,0EAAU,EAAE,+DAAQ,EAAE,sEAAQ,CAAC,mCAAE;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA,wBAAwB,kEAAkE;;AAE1F;AACA;AACA,6BAA6B,iBAAiB,eAAe;AAC7D;;AAEA;AACA,OAAO,OAAO;AACd;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,0BAA0B,QAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2BAA2B;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2BAA2B;AACjC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,KAAgC,CAAC,sBAOnC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,KAA0C,CAAC,sBAY7C;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,cAAc,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,0BAA0B,gCAAgC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,GAAG,MAAM;AAC9B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,4BAA4B;AAC5B;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,aAAa;AACb,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,IAAI;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,aAAa;AACb,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC;AACA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC;AACA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC;AACA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,aAAa;AACb,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA,yBAAyB;AACzB,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC3pCF,iGAAO,CAAC,0EAAU,EAAE,6DAAO,EAAE,+DAAQ,EAAE,iFAAiB,CAAC,mCAAE;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,I;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAA0D;AAChE;AACA;AACA,IAAI,IAAI,EAIJ;AACJ;AACA;;AAEA,IAAI,IAAkB;AACtB;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC1DF,iGAAO,CAAC,0EAAU,EAAE,iEAAS,CAAC,mCAAE;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,gBAAgB,IAAI;;AAEjD,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sCAAsC;AACxE,gBAAgB,qCAAqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,uCAAuC;AACzC;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC1FF,iGAAO,CAAC,qEAAW,EAAE,+DAAQ,EAAE,0EAAU,EAAE,kCAAS,EAAE,gCAAQ,CAAC,mCAAE;AACjE;AACA;;AAEA,qEAAqE;;AAErE;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA,wEAAwE;;AAExE;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,6CAA6C;AAC7C;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qDAAqD;;AAErD;AACA;AACA,gBAAgB,MAAmB;AACnC;;AAEA,8CAA8C,GAAG;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qFAAqF;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,yEAAyE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAA6B;AACjC;AACA;AACA;AACA,GAAG;;AAEH,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,KAAK;AACL,IAAI,QAAQ,IAAwB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA0B,CAAC,EA+C7B;;AAEF;AACA;AACA;AACA;AACA,IAAI,KAAuB,CAAC,cAW1B;;AAEF;AACA;AACA;AACA;AACA,IAAI,KAAqB,CAAC,EA0CxB;;AAEF,wBAAwB;;AAExB;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACtTF,iGAAO,CAAC,0EAAU,EAAE,+DAAQ,EAAE,mEAAU,CAAC,mCAAE;AAC3C;AACA;;AAEA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,GAAG,MAAgC;AACnC,IAAI,SAA0G;;AAE9G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA,OAAO;AACP,cAAc;AACd;AACA;AACA;AACA;AACA,mBAAmB;AACnB,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,GAAG;;AAEH,gBAAgB,KAAK,KAAK;;AAE1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAgC,CAAC,EAUnC;;AAEJ,eAAe;AACf,GAAG;;AAEH;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,SAAS;AACT;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB,uCAAuC,OAAO;AAC9C;AACA;AACA,eAAe;AACf,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,iCAAiC,uBAAuB;AACxD;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC;AACA;AACA,gCAAgC;AAChC,oCAAoC;AACpC,yDAAyD;AACzD,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2CAA2C,uBAAuB,mBAAmB;AACrF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC;AACA;AACA,eAAe;AACf,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB,sBAAsB,EAAE;AACnE;AACA,cAAc;AACd;AACA,mBAAmB;AACnB,mCAAmC,eAAe,EAAE;AACpD;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qFAAqF;AAC5G,sBAAsB,oDAAoD,GAAG;AAC7E;AACA,uCAAuC,6CAA6C,GAAG;AACvF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,0CAA0C,eAAe;AACzD,6BAA6B;AAC7B,8BAA8B;AAC9B,gCAAgC;AAChC;AACA,+BAA+B;AAC/B,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,mCAAmC;AAC3D,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,iBAAiB,mBAAmB,EAAE;AACtC,iBAAiB,wDAAwD,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,KAAK,KAAK;AACvE,2CAA2C,IAAI;AAC/C,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,8BAA8B,WAAW,EAAE,UAAU,MAAM,KAAK;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,8BAA8B,EAAE,EAAE,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ,EAAE;AAC/C;AACA;AACA;AACA,WAAW,MAAM,qBAAqB,IAAI;AAC1C;AACA,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,GAAG,EAAE;AACtC,2CAA2C,KAAK,KAAK;AACrD;;AAEA;AACA,yBAAyB,sCAAsC,EAAE;AACjE;AACA;;AAEA,CAAC,KAAkB;;AAEnB;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACrmBF,iGAAO,CAAC,0EAAU,EAAE,sEAAQ,EAAE,mEAAU,CAAC,mCAAE;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAoB,CAAC,EAEvB;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC5FF,iGAAO,CAAC,0EAAU,EAAE,sEAAQ,EAAE,mEAAU,CAAC,mCAAE;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sFAAsF;;AAEtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAkB;;AAElB;;AAEA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACrIF,iGAAO;AACP,CAAC,0EAAU;AACX,CAAC,wEAAS;AACV,CAAC,kCAAS;AACV,CAAC,yEAAa;AACd;AACA,CAAC,+DAAQ;AACT,CAAC,yEAAa;AACd,CAAC,8EAAY;AACb,CAAC,0EAAU;AACX,CAAC,sEAAQ;AACT,CAAC,sEAAQ;AACT,CAAC,wEAAS;AACV,CAAC,6DAAO;AACR,CAAC,qEAAW;AACZ,CAAC,mFAAkB;AACnB,CAAC,+EAAgB;AACjB,CAAC,iFAAiB;AAClB,CAAC,mCAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK,KAAmB,CAAC,EAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,QAAQ;;AAER;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,qCAAqC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,cAAc;AAC9B;AACA,MAAM;AACN;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,IAAI,IAAkB;AACtB;AACA;AACA,uCAAuC,8CAA8C;AACrF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,KAAK,IAAkB;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,aAAa;AACb;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AChvBF,iGAAO,EAAE,mCAAE;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACnOF,iGAAO,CAAC,OAAS,EAAE,kEAAS,EAAE,4EAAc,EAAE,8DAAO,EAAE,0EAAa,EAAE,wEAAY,CAAC,mCACjF;AACF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mGAAmG;AACnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,E;AACR;;AAEA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uEAAuE;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uEAAuE;AACvE;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC3MF,iGAAO,CAAC,OAAS,EAAE,gFAAgB,EAAE,kEAAS,EAAE,gFAAgB,EAAE,8DAAO,EAAE,wEAAY,CAAC,mCACtF;AACF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC,sBAAsB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,4CAA4C,wBAAwB;AACpE,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kBAAkB;AACtD,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA,kCAAkC,qCAAqC;AACvE,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,YAAY,sBAAsB;AAClC,cAAc,kCAAkC;AAChD,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB,EAAE;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,YAAY,QAAQ;AACpB;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACvXF,iGAAO,CAAC,4EAAc,EAAE,8DAAO,EAAE,wEAAY,EAAE,gEAAQ,CAAC,mCAAE;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,kCAAkC,MAAM;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,qDAAqD;AACrD,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6EAA6E;AAC7E;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACpJF,iGAAO,CAAC,kEAAS,EAAE,gFAAgB,CAAC,8DAAO,EAAE,0EAAa,CAAC,mCACzD;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wGAAwG;AACxG;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qGAAqG;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wFAAwF;AACxF;;AAEA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,kCAAkC,0CAA0C;AAC5E,WAAW,MAAa,GAAG,SAAa;AACxC,KAAK;AACL;;AAEA;AACA;AACA,0EAA0E,SAAS;AACnF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gCAAgC;AAChC;AACA,wFAAwF;AACxF;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+BAA+B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,aAAa,MAAa,GAAG,SAA6B;AAC1D,aAAa,MAAa,GAAG,SAA2B;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAa,GAAG,SAAQ;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACtiBF,iGAAO,CAAC,OAAS,EAAE,gFAAgB,EAAE,kEAAS,EAAE,4EAAc,EAAE,8DAAO,EAAE,0EAAa,EAAE,kFAAiB,EAAE,kFAAiB,CAAC,mCAC3H;AACF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,6DAA6D,iCAAiC,EAAE;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;;AAER;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,sDAAsD;AACtD;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,kDAAkD;AAClD,8DAA8D;AAC9D;AACA;AACA,IAAI;AACJ;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,eAAe;AACf;AACA;AACA,cAAc;AACd;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC3LF,iGAAO,CAAC,kEAAS,EAAE,8DAAO,EAAE,gFAAgB,CAAC,mCAAE;AAC/C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,eAAe,UAAU;AACzB;AACA,0BAA0B,UAAU;AACpC;AACA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC,IAAI;AACJ,aAAa;AACb;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,aAAa;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,iCAAiC,IAAI;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;;AAEtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;;AAER;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC7UF,iGAAO,CAAC,kEAAS,EAAE,gFAAgB,EAAE,gFAAgB,CAAC,mCACpD;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,IAAI,SAAS;AACb,gBAAgB;AAChB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,eAAe,cAAc;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACnNF,iGAAO,CAAC,2EAAU,CAAC,mCAAE;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,iCAAiC;AAC5E,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACZF,iGAAO,CAAC,2EAAU,CAAC,mCAAE;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACdF,iGAAO,CAAC,2EAAU,EAAE,uFAAgB,CAAC,mCAAE;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACdF,iGAAO,CAAC,6EAAe,CAAC,mCAAE;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACxCF,qEAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AChBF,iGAAO,CAAC,oEAAU,EAAE,kCAAS,EAAE,gCAAQ,CAAC,mCAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;;AAEnE,uDAAuD;AACvD;AACA;AACA;AACA,IAAI,KAAoB,CAAC,uCA8EvB;;AAEF,IAAI,IAAmB;AACvB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,sGAAsG;AACtG;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACjMF,iGAAO,CAAC,gFAAgB,EAAE,kCAAS,EAAE,8DAAO,EAAE,8EAAe,EAAE,gFAAgB,EAAE,4EAAc,EAAE,0EAAgC,EAAE,gEAAQ,EAAE,gCAAQ,CAAC,mCACrJ;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oGAAoG,sBAAsB;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,YAAY,MAAmD;AAC/D,KAAK,SAAkD;AACvD;AACA,IAAI;;AAEJ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,SAAS;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA,IAAI,IAAwB;AAC5B;AACA,mBAAmB;AACnB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,kBAAkB,qCAAqC;AACpG,oCAAoC,oBAAoB;;AAExD,eAAe;AACf,8BAA8B;AAC9B,2BAA2B;AAC3B;AACA,mCAAmC;AACnC,+BAA+B;;AAE/B;AACA;AACA,4CAA4C;;AAE5C,YAAY,UAAU;AACtB;AACA;;AAEA,eAAe;AACf,0CAA0C;AAC1C,YAAY,SAAS;AACrB,qBAAqB;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,iFAAiF;AACjF;AACA;AACA,OAAO;AACP;AACA,sDAAsD;AACtD;AACA;AACA;AACA,+EAA+E,oBAAoB;AACnG;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,8EAA8E;AAC9E,oFAAoF,4BAA4B;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,sCAAsC,EAAE;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACvnBF,iGAAO,CAAC,4EAAc,CAAC,mCAAE;;AAEzB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oEAAoE;AACpE,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,CAAC;AAAA,oGAAC,C;;;;;;;;;;;AC/FF,iGAAO,CAAC,8DAAO,CAAC,mCAAE;AAClB;AACA;AACA,gCAAgC;AAChC;AACA,sDAAsD,IAAI,gBAAgB,aAAa,OAAO,MAAM;;AAEpG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,qBAAqB,gBAAgB,IAAI;AACnD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,sCAAsC;AAC9E,kBAAkB,qCAAqC;AACvD;AACA;AACA;;AAEA,IAAI,IAAqB;AACzB;AACA,EAAE,IAAI,qBAyGJ;AACF,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACjKF,iGAAO,CAAC,gFAAgB,EAAE,kEAAS,CAAC,mCAAE;;AAEtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC5EF,iGAAO,CAAC,gFAAgB,EAAE,4DAAM,EAAE,8DAAO,EAAE,8DAAO,EAAE,gFAAgB,CAAC,mCAAE;;AAEvE;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,KAAgE,CAAC,EAWnE;AACF;AACA;AACA;AACA;AACA;AACA,iCAAiC,2BAA2B,EAAE;AAC9D,yBAAyB,sBAAsB,EAAE;AACjD,yBAAyB,sBAAsB,EAAE;AACjD,yBAAyB,sBAAsB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAwB;AAC5B;AACA,EAAE,IAAI,EAOJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;;AAEV;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC1KF,iGAAO,CAAC,+EAAsC,EAAE,gFAAgB,EAAE,kEAAS,CAAC,mCAAE;;AAE9E;AACA,IAAI,IAAU,EAAE;AAChB;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kBAAkB;AAClB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAgE,CAAC,EAMnE;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,kBAAkB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4CAA4C;AAC5C;AACA,gBAAgB,KAAoB,KAAK,GAAG,SAAoC;AAChF,IAAI,KAAsC,CAAC,mDAazC;AACF,IAAI,IAA2B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA,EAAE,IAAI,kGA0IJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,MAAM;AACN;AACA;AACA;AACA,SAAS,KAAsC,CAAC,EAIzC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACrlBF,iGAAO;AACP,CAAC,6EAAe;AAChB,CAAC,mCAAE;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC/IF,iGAAO;AACP,CAAC,+EAAgB;AACjB,CAAC,6EAAe;AAChB,CAAC,yEAAa;AACd,CAAC,iEAAS;AACV,CAAC,mCAAE;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH,0BAA0B;AAC1B;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC5EF,iGAAO;AACP,CAAC,4EAAU;AACX,CAAC,+DAAQ;AACT,CAAC,6EAAe;AAChB,CAAC,+EAAgB;AACjB,CAAC,mCAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACtHF,iGAAO;AACP,CAAC,6EAAe;AAChB,CAAC,8EAAW;AACZ,CAAC,uEAAY;AACb,CAAC,mCAAE;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,6CAA6C,EAAE;AAClE,mBAAmB,6CAA6C,EAAE;AAClE,oBAAoB,8CAA8C;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACpFF,iGAAO;AACP,CAAC,iEAAS;AACV,CAAC,iFAAiB;AAClB,CAAC,+EAAgB;AACjB,CAAC,+DAAQ;AACT,CAAC,mIAAgC;AACjC,CAAC,mCAAE;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA,IAAI,KAAc,CAAC,uBAgDjB;;AAEF;AACA,KAAK,KAA+F,CAAC,EAElG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACjGF,iGAAO;AACP,CAAC,OAAS;AACV,CAAC,+FAAwB;AACzB,CAAC,6FAAuB;AACxB,CAAC,yEAAa;AACd,CAAC,yEAAa;AACd,CAAC,+EAAgB;AACjB,CAAC,6EAAe;AAChB,CAAC,uFAAoB;AACrB,CAAC,+DAAQ;AACT,CAAC,mCAAE;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,MAAqB;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,aAAa;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AClKF,iGAAO;AACP,CAAC,wEAAQ;AACT,CAAC,6GAA+B;AAChC,CAAC,6FAAuB;AACxB,CAAC,+EAAgB;AACjB,CAAC,iFAAsC;AACvC,CAAC,2EAAkD;AACnD,CAAC,mCAAE;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,8CAA8C;AACnE;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC5GF,iGAAO;AACP,CAAC,+FAAwB;AACzB,CAAC,0EAAS;AACV,CAAC,gFAAY;AACb,CAAC,wEAAQ;AACT,CAAC,+DAAQ;AACT;AACA;AACA,CAAC,mCAAE;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,2BAA2B,KAAoC;AAC/D,EAAE;;AAEF;AACA,KAAK,MAAkB,mCAAmC,QAAQ;AAClE;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA,SAAS,KAAiB;AAC1B,EAAE;;AAEF;AACA,KAAK,KAA4B,CAAC,EAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,UAAU,KAAuB,YAAY,SAAa;AAC1D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,IAAkB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,EAgBJ;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,KAA2B;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAiB;AACrB;AACA;AACA;AACA,EAAE,QAAQ,KAAc,CAAC,EAcvB;;AAEF;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACpYF,iGAAO,CAAC,8DAAO,CAAC,mCAAE;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,KAAU;AAC9B;AACA;AACA;AACA,qBAAqB,KAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,KAAU;AACf;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC3FF,iGAAO,CAAC,sEAAW,CAAC,mCAAE;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,uBAAuB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACrCF,iGAAO;AACP,CAAC,wEAAY;AACb,CAAC,sFAAmB;AACpB,CAAC,mCAAE;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACtDF,iGAAO,CAAC,mFAAmB,EAAE,+EAAiB,EAAE,iFAAkB,EAAE,iFAAkB,EAAE,mFAAmB;AAC3G,KAAK,iFAAkB,CAAC,iEAAU,EAAE,qFAAoB,CAAC,mFAAmB,CAAC,mCAC7E;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA,+DAA+D,MAAgB,GAAG,SAAe;AACjG;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,2BAA2B,EAAE,0BAA0B;AAC9E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,2BAA2B,EAAE,0BAA0B;AAC9E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,QAAQ;AAC3C;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,2BAA2B,EAAE,0BAA0B;AAC/E;AACA,KAAK,4BAA4B,GAAG;AACpC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,2BAA2B,EAAE,0BAA0B;AAC/E;AACA,KAAK,4BAA4B,GAAG;AACpC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,qCAAqC;AACrC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,eAAe;AACf,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D;AAC5D,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC//BF,iGAAO,CAAC,uEAAS,EAAE,+EAAiB,EAAE,yEAAU,CAAC,mCAC/C;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,UAAU;AACV,QAAQ,kBAAkB;AAC1B,QAAQ,kBAAkB;AAC1B;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC,aAAa,gBAAgB;AAC7B;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC9IF,iGAAO;AACP,CAAC,uEAAS;AACV,CAAC,mCAAE;;AAEH,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC,C;;;;;;;;;;;AC1KF,iGAAO,CAAC,uEAAS,EAAE,+EAAiB,EAAE,iFAAkB,EAAE,qFAAoB,EAAE,mFAAmB,EAAE,mFAAmB;AACxH,EAAE,iEAAU,EAAE,uEAAS,EAAE,qEAAQ,EAAE,mEAAO,EAAE,yEAAU,EAAE,+EAAa,EAAE,mFAAe,CAAC,mCACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B,MAAM;AACN;AACA;AACA,KAAK;AACL,eAAe,cAAc;AAC7B;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH,6CAA6C;;AAE7C;AACA,6BAA6B,aAAa,EAAE;AAC5C,qBAAqB;AACrB,wBAAwB;AACxB,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD,2BAA2B;AAC3B;AACA;AACA;AACA,oCAAoC,IAAI;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,IAAI;AACJ;AACA,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA,gBAAgB,eAAe;AAC/B;AACA,qBAAqB,WAAW;AAChC;AACA,gBAAgB,eAAe;AAC/B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;AAIF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,IAAI,GAAG,IAAI;AACnE;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,KAAK,KAAK;AACV;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,GAAG;AACH,mDAAmD;AACnD;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,mBAAmB,mCAAmC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uCAAuC;AACvC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA,0BAA0B,wDAAwD,QAAQ;AAC1F,GAAG;AACH;AACA;AACA;AACA,2DAA2D,QAAQ;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,6BAA6B,aAAa,EAAE;AAC5C,wBAAwB;AACxB,2BAA2B;AAC3B;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC;AACvC,wCAAwC;;AAExC;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;ACxxCF,iGAAO,CAAC,uEAAS,EAAE,+EAAiB,EAAE,yEAAU,CAAC,mCAC/C;AACF;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH,aAAa;AACb;AACA,oBAAoB;AACpB,yCAAyC;AACzC;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iCAAiC,EAAE;AAC3D;;AAEA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC,2BAA2B,SAAS;AACpC,2BAA2B,SAAS;AACpC,2BAA2B,SAAS;AACpC,UAAU;AACV;AACA;AACA,aAAa,eAAe;AAC5B,aAAa;AACb;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,wBAAwB,mEAAmE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mBAAmB,EAAE;AAClD;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC1IF,iGAAO,CAAC,uEAAS,CAAC,+EAAiB,CAAC,mCAClC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,yCAAyC;;AAEnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,OAAO;;AAEnC;AACA;AACA,4BAA4B,OAAO;;AAEnC;AACA;AACA,4BAA4B,eAAe;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,aAAa,EAAE;AAC1C;AACA;AACA,0BAA0B,iBAAiB,EAAE;AAC7C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,aAAa,EAAE;AAC1C;AACA;AACA,2BAA2B,aAAa,EAAE;AAC1C;AACA,0BAA0B,iBAAiB,EAAE;AAC7C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B,EAAE;AACxD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB,EAAE;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB,EAAE;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yDAAyD,EAAE;AACrF,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yCAAyC,EAAE;AACrE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH;AACnH,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY;AACZ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4FAA4F;AACvG,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,wCAAwC;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6B;AACnB;AACA,YAAY,8DAA8D;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA,2CAA2C;AAC3C;AACA,iDAAiD;AACjD;AACA,4CAA4C;AAC5C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,iDAAiD;AACjD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,mDAAmD;AACnD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,gDAAgD;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,kDAAkD;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,gDAAgD;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,kDAAkD;AAClD;;AAEA;;AAEA,EAAE;AACF;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;;;AClfF,iGAAO,CAAC,uEAAS,EAAE,+EAAiB,CAAC,qFAAoB,EAAE,yEAAU,EAAE,uEAAS,CAAC,mCAChF;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA,wBAAwB;AACxB,GAAG;;AAEH;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA,+CAA+C,oGAAoG,QAAQ;AAC3J,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK,eAAe;AACpB,KAAK,eAAe;AACpB,KAAK,eAAe;AACpB,KAAK;AACL;AACA,qBAAqB;AACrB,GAAG;;AAEH;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,iBAAiB;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ,+BAA+B,OAAO;AACtC;AACA;AACA;AACA,GAAG;;AAEH;AACA,mBAAmB,2DAA2D;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;AACL,gBAAgB;AAChB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;;AAEH;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AC7dF,iGAAO,CAAC,uEAAS,EAAE,+EAAiB,EAAE,qFAAoB,EAAE,mFAAmB,EAAE,iFAAkB;AACnG,CAAC,+DAAS,EAAE,iFAAkB,EAAE,qFAAoB,EAAE,iFAAkB,EAAE,yEAAU,EAAE,mCACrF;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,GAAG;AACH;AACA;AACA;AACA,sBAAsB;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gDAAgD;AAC1D,UAAU,2CAA2C;AACrD,UAAU,aAAa;AACvB,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8BAA8B,WAAW,6BAA6B;AACnG,6BAA6B,yCAAyC,WAAW,0BAA0B;AAC3G,6BAA6B,wCAAwC,WAAW,0BAA0B;AAC1G,6BAA6B,wCAAwC,WAAW,sCAAsC;AACtH,6BAA6B,0CAA0C,WAAW,8CAA8C;;AAEhI;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,eAAe;AACf,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sGAAsG;AAC5H,sB;AACA,+FAA+F,GAAG;AAClG;AACA;AACA,iB;AACA,kFAAkF,E;AAClF,iB;AACA,wFAAwF,GAAG;AAC3F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO,YAAY,EAAE,EAAE;AAChE;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,qCAAqC,WAAW;AAChD,EAAE;;AAEF;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qCAAqC,oCAAoC;AACzE,EAAE;AACF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qBAAqB;AACrB;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,oBAAoB;AACpB;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,oBAAoB;AACpB;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,kBAAkB,OAAO;AACzB,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qBAAqB;AACrB,GAAG;AACH;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA,eAAe;AACf;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qCAAqC;AACrC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;AClkCF,iGAAO,CAAC,+EAAiB,EAAE,qFAAoB,EAAE,2EAAe,CAAC,mCAC/D;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,qDAAqD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,yCAAyC;AAC1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wBAAwB,eAAe,EAAE;AACnE,0BAA0B,wBAAwB,eAAe,EAAE;AACnE,2BAA2B,gBAAgB,EAAE;AAC7C,2BAA2B,gBAAgB,EAAE;AAC7C,2BAA2B,2CAA2C,EAAE;AACxE,2BAA2B,uBAAuB,sBAAsB,eAAe,EAAE;AACzF,2BAA2B,gBAAgB,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,0BAA0B,uBAAuB,qBAAqB,gBAAgB,EAAE;AACxF,0BAA0B,qBAAqB,gBAAgB,EAAE;AACjE,4BAA4B,wBAAwB,gBAAgB,EAAE;AACtE,4BAA4B,wBAAwB,gBAAgB,EAAE;AACtE,4BAA4B,wBAAwB,gBAAgB,EAAE;AACtE,4BAA4B,wBAAwB,gBAAgB,EAAE;AACtE,4BAA4B,wBAAwB,gBAAgB,EAAE;AACtE,2BAA2B,gBAAgB;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,kBAAkB;AAClB,kBAAkB;AAClB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;;;;;;;;;;;;;ACt/CF;AAAA;AAAA;AAAO;AACP;AACA;AACA,mCAAmC,UAAU,iBAAiB,SAAS,YAAY;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,mCAAmC,UAAU,iBAAiB,SAAS,YAAY;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AC5DA;AACA,IAAI,KAA4D;AAChE,IAAI,SACsE;AAC1E,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,wCAAwC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qCAAqC,wCAAwC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA,kDAAkD,cAAc;;AAEhE,CAAC;;;;;;;;;;;;AC3ED;AACA,CAAC,KAA4D;AAC7D,CAAC,SAC+C;AAChD,CAAC,4BAA4B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,cAAc;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;;;;;;ACnED;AAAA;AAAA;AAAA;AAAA;AAA4F;AAC7C;;AAE/C;AACA;AACA;AACA,cAAc,uHAAuH;AACrI;AACA;AACA;AACA,iCAAiC,0DAAY;AAC7C,gCAAgC,0DAAY;AAC5C,kCAAkC,0DAAY;AAC9C,gCAAgC,0DAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iMAAiM;AACjM;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,8BAA8B,wBAAwB,uBAAuB,yCAAyC,iCAAiC,6CAA6C,2BAA2B,4BAA4B,iDAAiD,aAAa,6BAA6B,kBAAkB,wCAAwC,eAAe,oBAAoB,0CAA0C,eAAe,aAAa;AAChlB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,0BAA0B;AACxE;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,oBAAoB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,yBAAyB;AACzB,gCAAgC;AAChC,kCAAkC;AAClC,8BAA8B;AAC9B,0BAA0B;AAC1B,0BAA0B;AAC1B,+BAA+B;AAC/B,8BAA8B;AAC9B,uBAAuB;AACvB,4BAA4B;AAC5B,4BAA4B;AAC5B,sBAAsB;AACtB,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAC3B,wBAAwB;AACxB,4BAA4B;AAC5B,wBAAwB;AACxB,sBAAsB;AACtB,sBAAsB;AACtB,2BAA2B;AAC3B,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA,SAAS,OAAO,uDAAS;AACzB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,kBAAkB,OAAO,uDAAS,oBAA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","file":"manager-manager-module-ngfactory-es2015.js","sourcesContent":["import { ElementRef, Directive, TemplateRef, ViewContainerRef, EventEmitter, ComponentFactoryResolver, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/portal-errors.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * \\@docs-private\n * @return {?}\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * \\@docs-private\n * @return {?}\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * \\@docs-private\n * @return {?}\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/portal.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Interface that can be used to generically type a class.\n * @record\n * @template T\n */\nfunction ComponentType() { }\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n * @abstract\n * @template T\n */\nclass Portal {\n /**\n * Attach this portal to a host.\n * @param {?} host\n * @return {?}\n */\n attach(host) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n this._attachedHost = host;\n return (/** @type {?} */ (host.attach(this)));\n }\n /**\n * Detach this portal from its host\n * @return {?}\n */\n detach() {\n /** @type {?} */\n let host = this._attachedHost;\n if (host == null) {\n throwNoPortalAttachedError();\n }\n else {\n this._attachedHost = null;\n host.detach();\n }\n }\n /**\n * Whether this portal is attached to a host.\n * @return {?}\n */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n * @param {?} host\n * @return {?}\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\nif (false) {\n /**\n * @type {?}\n * @private\n */\n Portal.prototype._attachedHost;\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n * @template T\n */\nclass ComponentPortal extends Portal {\n /**\n * @param {?} component\n * @param {?=} viewContainerRef\n * @param {?=} injector\n * @param {?=} componentFactoryResolver\n */\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\nif (false) {\n /**\n * The type of the component that will be instantiated for attachment.\n * @type {?}\n */\n ComponentPortal.prototype.component;\n /**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n * @type {?}\n */\n ComponentPortal.prototype.viewContainerRef;\n /**\n * [Optional] Injector used for the instantiation of the component.\n * @type {?}\n */\n ComponentPortal.prototype.injector;\n /**\n * Alternate `ComponentFactoryResolver` to use when resolving the associated component.\n * Defaults to using the resolver from the outlet that the portal is attached to.\n * @type {?}\n */\n ComponentPortal.prototype.componentFactoryResolver;\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n * @template C\n */\nclass TemplatePortal extends Portal {\n /**\n * @param {?} template\n * @param {?} viewContainerRef\n * @param {?=} context\n */\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n /**\n * @return {?}\n */\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n * @param {?} host\n * @param {?=} context\n * @return {?}\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n /**\n * @return {?}\n */\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\nif (false) {\n /**\n * The embedded template that will be used to instantiate an embedded View in the host.\n * @type {?}\n */\n TemplatePortal.prototype.templateRef;\n /**\n * Reference to the ViewContainer into which the template will be stamped out.\n * @type {?}\n */\n TemplatePortal.prototype.viewContainerRef;\n /**\n * Contextual data to be passed in to the embedded view.\n * @type {?}\n */\n TemplatePortal.prototype.context;\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n * @template T\n */\nclass DomPortal extends Portal {\n /**\n * @param {?} element\n */\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\nif (false) {\n /**\n * DOM node hosting the portal's content.\n * @type {?}\n */\n DomPortal.prototype.element;\n}\n/**\n * A `PortalOutlet` is an space that can contain a single `Portal`.\n * @record\n */\nfunction PortalOutlet() { }\nif (false) {\n /**\n * Attaches a portal to this outlet.\n * @param {?} portal\n * @return {?}\n */\n PortalOutlet.prototype.attach = function (portal) { };\n /**\n * Detaches the currently attached portal from this outlet.\n * @return {?}\n */\n PortalOutlet.prototype.detach = function () { };\n /**\n * Performs cleanup before the outlet is destroyed.\n * @return {?}\n */\n PortalOutlet.prototype.dispose = function () { };\n /**\n * Whether there is currently a portal attached to this outlet.\n * @return {?}\n */\n PortalOutlet.prototype.hasAttached = function () { };\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n * @abstract\n */\nclass BasePortalOutlet {\n constructor() {\n /**\n * Whether this host has already been permanently disposed.\n */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /**\n * Whether this host has an attached portal.\n * @return {?}\n */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /**\n * Attaches a portal.\n * @param {?} portal\n * @return {?}\n */\n attach(portal) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n throwUnknownPortalTypeError();\n }\n /**\n * Detaches a previously attached portal.\n * @return {?}\n */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /**\n * Permanently dispose of this portal host.\n * @return {?}\n */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /**\n * \\@docs-private\n * @param {?} fn\n * @return {?}\n */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n /**\n * @private\n * @return {?}\n */\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\nif (false) {\n /**\n * The portal currently attached to the host.\n * @type {?}\n * @protected\n */\n BasePortalOutlet.prototype._attachedPortal;\n /**\n * A function that will permanently dispose this host.\n * @type {?}\n * @private\n */\n BasePortalOutlet.prototype._disposeFn;\n /**\n * Whether this host has already been permanently disposed.\n * @type {?}\n * @private\n */\n BasePortalOutlet.prototype._isDisposed;\n /** @type {?} */\n BasePortalOutlet.prototype.attachDomPortal;\n /**\n * @abstract\n * @template T\n * @param {?} portal\n * @return {?}\n */\n BasePortalOutlet.prototype.attachComponentPortal = function (portal) { };\n /**\n * @abstract\n * @template C\n * @param {?} portal\n * @return {?}\n */\n BasePortalOutlet.prototype.attachTemplatePortal = function (portal) { };\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * \\@breaking-change 9.0.0\n * @abstract\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/dom-portal-outlet.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param {?} outletElement\n * @param {?} _componentFactoryResolver\n * @param {?} _appRef\n * @param {?} _defaultInjector\n * @param {?=} _document\n */\n constructor(outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * \\@breaking-change 10.0.0\n */\n this.attachDomPortal = (/**\n * @param {?} portal\n * @return {?}\n */\n (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n /** @type {?} */\n const element = portal.element;\n if (!element.parentNode) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n /** @type {?} */\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n super.setDisposeFn((/**\n * @return {?}\n */\n () => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n }));\n });\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @template T\n * @param {?} portal Portal to be attached\n * @return {?} Reference to the created component.\n */\n attachComponentPortal(portal) {\n /** @type {?} */\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n /** @type {?} */\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n /** @type {?} */\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn((/**\n * @return {?}\n */\n () => componentRef.destroy()));\n }\n else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn((/**\n * @return {?}\n */\n () => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n }));\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?} Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n /** @type {?} */\n let viewContainer = portal.viewContainerRef;\n /** @type {?} */\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n viewRef.detectChanges();\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach((/**\n * @param {?} rootNode\n * @return {?}\n */\n rootNode => this.outletElement.appendChild(rootNode)));\n this.setDisposeFn(((/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n })));\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n * @return {?}\n */\n dispose() {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n /**\n * Gets the root HTMLElement for an instantiated component.\n * @private\n * @param {?} componentRef\n * @return {?}\n */\n _getComponentRootNode(componentRef) {\n return (/** @type {?} */ (((/** @type {?} */ (componentRef.hostView))).rootNodes[0]));\n }\n}\nif (false) {\n /**\n * @type {?}\n * @private\n */\n DomPortalOutlet.prototype._document;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * \\@param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * \\@breaking-change 10.0.0\n * @type {?}\n */\n DomPortalOutlet.prototype.attachDomPortal;\n /**\n * Element into which the content is projected.\n * @type {?}\n */\n DomPortalOutlet.prototype.outletElement;\n /**\n * @type {?}\n * @private\n */\n DomPortalOutlet.prototype._componentFactoryResolver;\n /**\n * @type {?}\n * @private\n */\n DomPortalOutlet.prototype._appRef;\n /**\n * @type {?}\n * @private\n */\n DomPortalOutlet.prototype._defaultInjector;\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * \\@breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/portal-directives.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n /**\n * @param {?} templateRef\n * @param {?} viewContainerRef\n */\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.decorators = [\n { type: Directive, args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n },] }\n];\n/** @nocollapse */\nCdkPortal.ctorParameters = () => [\n { type: TemplateRef },\n { type: ViewContainerRef }\n];\n/**\n * @deprecated Use `CdkPortal` instead.\n * \\@breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.decorators = [\n { type: Directive, args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n },] }\n];\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n /**\n * @param {?} _componentFactoryResolver\n * @param {?} _viewContainerRef\n * @param {?=} _document\n */\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /**\n * Whether the portal component is initialized.\n */\n this._isInitialized = false;\n /**\n * Emits when a portal is attached to the outlet.\n */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * \\@breaking-change 10.0.0\n */\n this.attachDomPortal = (/**\n * @param {?} portal\n * @return {?}\n */\n (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n /** @type {?} */\n const element = portal.element;\n if (!element.parentNode) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n /** @type {?} */\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n super.setDisposeFn((/**\n * @return {?}\n */\n () => {\n if (anchorNode.parentNode) {\n (/** @type {?} */ (anchorNode.parentNode)).replaceChild(element, anchorNode);\n }\n }));\n });\n this._document = _document;\n }\n /**\n * Portal associated with the Portal outlet.\n * @return {?}\n */\n get portal() {\n return this._attachedPortal;\n }\n /**\n * @param {?} portal\n * @return {?}\n */\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal;\n }\n /**\n * Component or view reference that is attached to the portal.\n * @return {?}\n */\n get attachedRef() {\n return this._attachedRef;\n }\n /**\n * @return {?}\n */\n ngOnInit() {\n this._isInitialized = true;\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @template T\n * @param {?} portal Portal to be attached to the portal outlet.\n * @return {?} Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n /** @type {?} */\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n /** @type {?} */\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n /** @type {?} */\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n /** @type {?} */\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(((/** @type {?} */ (ref.hostView))).rootNodes[0]);\n }\n super.setDisposeFn((/**\n * @return {?}\n */\n () => ref.destroy()));\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?} Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n /** @type {?} */\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn((/**\n * @return {?}\n */\n () => this._viewContainerRef.clear()));\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /**\n * Gets the root node of the portal outlet.\n * @private\n * @return {?}\n */\n _getRootNode() {\n /** @type {?} */\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (/** @type {?} */ ((nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : (/** @type {?} */ (nativeElement.parentNode)))));\n }\n}\nCdkPortalOutlet.decorators = [\n { type: Directive, args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n },] }\n];\n/** @nocollapse */\nCdkPortalOutlet.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkPortalOutlet.propDecorators = {\n attached: [{ type: Output }]\n};\nif (false) {\n /** @type {?} */\n CdkPortalOutlet.ngAcceptInputType_portal;\n /**\n * @type {?}\n * @private\n */\n CdkPortalOutlet.prototype._document;\n /**\n * Whether the portal component is initialized.\n * @type {?}\n * @private\n */\n CdkPortalOutlet.prototype._isInitialized;\n /**\n * Reference to the currently-attached component/view ref.\n * @type {?}\n * @private\n */\n CdkPortalOutlet.prototype._attachedRef;\n /**\n * Emits when a portal is attached to the outlet.\n * @type {?}\n */\n CdkPortalOutlet.prototype.attached;\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * \\@param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * \\@breaking-change 10.0.0\n * @type {?}\n */\n CdkPortalOutlet.prototype.attachDomPortal;\n /**\n * @type {?}\n * @private\n */\n CdkPortalOutlet.prototype._componentFactoryResolver;\n /**\n * @type {?}\n * @private\n */\n CdkPortalOutlet.prototype._viewContainerRef;\n}\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * \\@breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.decorators = [\n { type: Directive, args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n },] }\n];\nclass PortalModule {\n}\nPortalModule.decorators = [\n { type: NgModule, args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n },] }\n];\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/portal-injector.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * \\@docs-private\n */\nclass PortalInjector {\n /**\n * @param {?} _parentInjector\n * @param {?} _customTokens\n */\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n get(token, notFoundValue) {\n /** @type {?} */\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\nif (false) {\n /**\n * @type {?}\n * @private\n */\n PortalInjector.prototype._parentInjector;\n /**\n * @type {?}\n * @private\n */\n PortalInjector.prototype._customTokens;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: src/cdk/portal/public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n//# sourceMappingURL=portal.js.map\n","import global from '../shim/global';\n/**\n * A cache of results of feature tests\n */\nexport const testCache = {};\n/**\n * A cache of the un-resolved feature tests\n */\nexport const testFunctions = {};\n/* Grab the staticFeatures if there are available */\nconst { staticFeatures } = global.DojoHasEnvironment || {};\n/* Cleaning up the DojoHasEnviornment */\nif ('DojoHasEnvironment' in global) {\n delete global.DojoHasEnvironment;\n}\n/**\n * Custom type guard to narrow the `staticFeatures` to either a map or a function that\n * returns a map.\n *\n * @param value The value to guard for\n */\nfunction isStaticFeatureFunction(value) {\n return typeof value === 'function';\n}\n/**\n * The cache of asserted features that were available in the global scope when the\n * module loaded\n */\nconst staticCache = staticFeatures\n ? isStaticFeatureFunction(staticFeatures)\n ? staticFeatures.apply(global)\n : staticFeatures\n : {}; /* Providing an empty cache, if none was in the environment\n\n/**\n* AMD plugin function.\n*\n* Conditional loads modules based on a has feature test value.\n*\n* @param resourceId Gives the resolved module id to load.\n* @param require The loader require function with respect to the module that contained the plugin resource in its\n* dependency list.\n* @param load Callback to loader that consumes result of plugin demand.\n*/\nexport function load(resourceId, require, load, config) {\n resourceId ? require([resourceId], load) : load();\n}\n/**\n * AMD plugin function.\n *\n * Resolves resourceId into a module id based on possibly-nested tenary expression that branches on has feature test\n * value(s).\n *\n * @param resourceId The id of the module\n * @param normalize Resolves a relative module id into an absolute module id\n */\nexport function normalize(resourceId, normalize) {\n const tokens = resourceId.match(/[\\?:]|[^:\\?]*/g) || [];\n let i = 0;\n function get(skip) {\n const term = tokens[i++];\n if (term === ':') {\n // empty string module name, resolves to null\n return null;\n }\n else {\n // postfixed with a ? means it is a feature to branch on, the term is the name of the feature\n if (tokens[i++] === '?') {\n if (!skip && has(term)) {\n // matched the feature, get the first value from the options\n return get();\n }\n else {\n // did not match, get the second value, passing over the first\n get(true);\n return get(skip);\n }\n }\n // a module\n return term;\n }\n }\n const id = get();\n return id && normalize(id);\n}\n/**\n * Check if a feature has already been registered\n *\n * @param feature the name of the feature\n */\nexport function exists(feature) {\n const normalizedFeature = feature.toLowerCase();\n return Boolean(normalizedFeature in staticCache || normalizedFeature in testCache || testFunctions[normalizedFeature]);\n}\n/**\n * Register a new test for a named feature.\n *\n * @example\n * has.add('dom-addeventlistener', !!document.addEventListener);\n *\n * @example\n * has.add('touch-events', function () {\n * return 'ontouchstart' in document\n * });\n *\n * @param feature the name of the feature\n * @param value the value reported of the feature, or a function that will be executed once on first test\n * @param overwrite if an existing value should be overwritten. Defaults to false.\n */\nexport function add(feature, value, overwrite = false) {\n const normalizedFeature = feature.toLowerCase();\n if (exists(normalizedFeature) && !overwrite && !(normalizedFeature in staticCache)) {\n throw new TypeError(`Feature \"${feature}\" exists and overwrite not true.`);\n }\n if (typeof value === 'function') {\n testFunctions[normalizedFeature] = value;\n }\n else {\n testCache[normalizedFeature] = value;\n delete testFunctions[normalizedFeature];\n }\n}\n/**\n * Return the current value of a named feature.\n *\n * @param feature The name of the feature to test.\n */\nexport default function has(feature) {\n let result;\n const normalizedFeature = feature.toLowerCase();\n if (normalizedFeature in staticCache) {\n result = staticCache[normalizedFeature];\n }\n else if (testFunctions[normalizedFeature]) {\n result = testCache[normalizedFeature] = testFunctions[normalizedFeature].call(null);\n delete testFunctions[normalizedFeature];\n }\n else if (normalizedFeature in testCache) {\n result = testCache[normalizedFeature];\n }\n else {\n throw new TypeError(`Attempt to detect unregistered has feature \"${feature}\"`);\n }\n return result;\n}\n/*\n * Out of the box feature tests\n */\nadd('public-path', undefined);\n/* flag for dojo debug, default to false */\nadd('dojo-debug', false);\n/* Detects if the environment is \"browser like\" */\nadd('host-browser', typeof document !== 'undefined' && typeof location !== 'undefined');\n/* Detects if the environment appears to be NodeJS */\nadd('host-node', function () {\n if (typeof process === 'object' && process.versions && process.versions.node) {\n return process.versions.node;\n }\n});\nadd('fetch', 'fetch' in global && typeof global.fetch === 'function', true);\nadd('es6-array', () => {\n return (['from', 'of'].every((key) => key in global.Array) &&\n ['findIndex', 'find', 'copyWithin'].every((key) => key in global.Array.prototype));\n}, true);\nadd('es6-array-fill', () => {\n if ('fill' in global.Array.prototype) {\n /* Some versions of Safari do not properly implement this */\n return [1].fill(9, Number.POSITIVE_INFINITY)[0] === 1;\n }\n return false;\n}, true);\nadd('es7-array', () => 'includes' in global.Array.prototype, true);\n/* Map */\nadd('es6-map', () => {\n if (typeof global.Map === 'function') {\n /*\n IE11 and older versions of Safari are missing critical ES6 Map functionality\n We wrap this in a try/catch because sometimes the Map constructor exists, but does not\n take arguments (iOS 8.4)\n */\n try {\n const map = new global.Map([[0, 1]]);\n return (map.has(0) &&\n typeof map.keys === 'function' &&\n has('es6-symbol') &&\n typeof map.values === 'function' &&\n typeof map.entries === 'function');\n }\n catch (e) {\n /* istanbul ignore next: not testing on iOS at the moment */\n return false;\n }\n }\n return false;\n}, true);\n/* Math */\nadd('es6-math', () => {\n return [\n 'clz32',\n 'sign',\n 'log10',\n 'log2',\n 'log1p',\n 'expm1',\n 'cosh',\n 'sinh',\n 'tanh',\n 'acosh',\n 'asinh',\n 'atanh',\n 'trunc',\n 'fround',\n 'cbrt',\n 'hypot'\n ].every((name) => typeof global.Math[name] === 'function');\n}, true);\nadd('es6-math-imul', () => {\n if ('imul' in global.Math) {\n /* Some versions of Safari on ios do not properly implement this */\n return Math.imul(0xffffffff, 5) === -5;\n }\n return false;\n}, true);\n/* Object */\nadd('es6-object', () => {\n return (has('es6-symbol') &&\n ['assign', 'is', 'getOwnPropertySymbols', 'setPrototypeOf'].every((name) => typeof global.Object[name] === 'function'));\n}, true);\nadd('es2017-object', () => {\n return ['values', 'entries', 'getOwnPropertyDescriptors'].every((name) => typeof global.Object[name] === 'function');\n}, true);\n/* Observable */\nadd('es-observable', () => typeof global.Observable !== 'undefined', true);\n/* Promise */\nadd('es6-promise', () => typeof global.Promise !== 'undefined' && has('es6-symbol'), true);\nadd('es2018-promise-finally', () => has('es6-promise') && typeof global.Promise.prototype.finally !== 'undefined', true);\n/* Set */\nadd('es6-set', () => {\n if (typeof global.Set === 'function') {\n /* IE11 and older versions of Safari are missing critical ES6 Set functionality */\n const set = new global.Set([1]);\n return set.has(1) && 'keys' in set && typeof set.keys === 'function' && has('es6-symbol');\n }\n return false;\n}, true);\n/* String */\nadd('es6-string', () => {\n return ([\n /* static methods */\n 'fromCodePoint'\n ].every((key) => typeof global.String[key] === 'function') &&\n [\n /* instance methods */\n 'codePointAt',\n 'normalize',\n 'repeat',\n 'startsWith',\n 'endsWith',\n 'includes'\n ].every((key) => typeof global.String.prototype[key] === 'function'));\n}, true);\nadd('es6-string-raw', () => {\n function getCallSite(callSite, ...substitutions) {\n const result = [...callSite];\n result.raw = callSite.raw;\n return result;\n }\n if ('raw' in global.String) {\n let b = 1;\n let callSite = getCallSite `a\\n${b}`;\n callSite.raw = ['a\\\\n'];\n const supportsTrunc = global.String.raw(callSite, 42) === 'a\\\\n';\n return supportsTrunc;\n }\n return false;\n}, true);\nadd('es2017-string', () => {\n return ['padStart', 'padEnd'].every((key) => typeof global.String.prototype[key] === 'function');\n}, true);\n/* Symbol */\nadd('es6-symbol', () => typeof global.Symbol !== 'undefined' && typeof Symbol() === 'symbol', true);\n/* WeakMap */\nadd('es6-weakmap', () => {\n if (typeof global.WeakMap !== 'undefined') {\n /* IE11 and older versions of Safari are missing critical ES6 Map functionality */\n const key1 = {};\n const key2 = {};\n const map = new global.WeakMap([[key1, 1]]);\n Object.freeze(key1);\n return map.get(key1) === 1 && map.set(key2, 2) === map && has('es6-symbol');\n }\n return false;\n}, true);\n/* Miscellaneous features */\nadd('microtasks', () => has('es6-promise') || has('host-node') || has('dom-mutationobserver'), true);\nadd('postmessage', () => {\n // If window is undefined, and we have postMessage, it probably means we're in a web worker. Web workers have\n // post message but it doesn't work how we expect it to, so it's best just to pretend it doesn't exist.\n return typeof global.window !== 'undefined' && typeof global.postMessage === 'function';\n}, true);\nadd('raf', () => typeof global.requestAnimationFrame === 'function', true);\nadd('setimmediate', () => typeof global.setImmediate !== 'undefined', true);\n/* DOM Features */\nadd('dom-mutationobserver', () => {\n if (has('host-browser') && Boolean(global.MutationObserver || global.WebKitMutationObserver)) {\n // IE11 has an unreliable MutationObserver implementation where setProperty() does not\n // generate a mutation event, observers can crash, and the queue does not drain\n // reliably. The following feature test was adapted from\n // https://gist.github.com/t10ko/4aceb8c71681fdb275e33efe5e576b14\n const example = document.createElement('div');\n /* tslint:disable-next-line:variable-name */\n const HostMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n const observer = new HostMutationObserver(function () { });\n observer.observe(example, { attributes: true });\n example.style.setProperty('display', 'block');\n return Boolean(observer.takeRecords().length);\n }\n return false;\n}, true);\nadd('dom-webanimation', () => has('host-browser') && global.Animation !== undefined && global.KeyframeEffect !== undefined, true);\nadd('abort-controller', () => typeof global.AbortController !== 'undefined');\nadd('abort-signal', () => typeof global.AbortSignal !== 'undefined');\nadd('dom-intersection-observer', () => has('host-browser') && global.IntersectionObserver !== undefined, true);\nadd('dom-resize-observer', () => has('host-browser') && global.ResizeObserver !== undefined, true);\nadd('dom-pointer-events', () => has('host-browser') && global.onpointerdown !== undefined, true);\nadd('build-elide', false);\n//# sourceMappingURL=has.mjs.map","import global from './global';\nimport has from '../has/has';\nimport { findIndex } from './array';\n// tslint:disable-next-line variable-name\nexport let ShimAbortSignal = global.AbortSignal;\nif (!has('abort-signal')) {\n global.AbortSignal = ShimAbortSignal = class {\n constructor() {\n this._aborted = false;\n this.listeners = {};\n }\n get aborted() {\n return this._aborted;\n }\n addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n }\n removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n const index = findIndex(this.listeners[type], (cb) => cb === callback);\n if (index >= 0) {\n this.listeners[type].splice(index, 1);\n }\n }\n dispatchEvent(event) {\n const { type } = event;\n if (type === 'abort') {\n this._aborted = true;\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n if (!(type in this.listeners)) {\n return false;\n }\n this.listeners[type].forEach((callback) => {\n setTimeout(() => callback.call(this, event), 0);\n });\n return !event.preventDefault;\n }\n };\n}\n// tslint:disable-next-line variable-name\nexport let ShimAbortController = global.AbortController;\nif (!has('abort-controller')) {\n global.AbortController = ShimAbortController = class {\n constructor() {\n this.signal = new ShimAbortSignal();\n }\n abort() {\n let event;\n try {\n event = new Event('abort');\n }\n catch (e) {\n if (typeof document !== 'undefined') {\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n else {\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n this.signal.dispatchEvent(event);\n }\n };\n}\nexport default ShimAbortController;\n//# sourceMappingURL=AbortController.mjs.map","import global from './global';\nimport { queueMicroTask } from './support/queue';\nimport './Symbol';\nimport has from '../has/has';\nexport let ShimPromise = global.Promise;\nexport const isThenable = function isThenable(value) {\n return value && typeof value.then === 'function';\n};\nif (!has('es6-promise')) {\n global.Promise = ShimPromise = (_a = class Promise {\n /**\n * Creates a new Promise.\n *\n * @constructor\n *\n * @param executor\n * The executor function is called immediately when the Promise is instantiated. It is responsible for\n * starting the asynchronous operation when it is invoked.\n *\n * The executor must call either the passed `resolve` function when the asynchronous operation has completed\n * successfully, or the `reject` function when the operation fails.\n */\n constructor(executor) {\n /**\n * The current state of this promise.\n */\n this.state = 1 /* Pending */;\n this[Symbol.toStringTag] = 'Promise';\n /**\n * If true, the resolution of this promise is chained (\"locked in\") to another promise.\n */\n let isChained = false;\n /**\n * Whether or not this promise is in a resolved state.\n */\n const isResolved = () => {\n return this.state !== 1 /* Pending */ || isChained;\n };\n /**\n * Callbacks that should be invoked once the asynchronous operation has completed.\n */\n let callbacks = [];\n /**\n * Initially pushes callbacks onto a queue for execution once this promise settles. After the promise settles,\n * enqueues callbacks for execution on the next event loop turn.\n */\n let whenFinished = function (callback) {\n if (callbacks) {\n callbacks.push(callback);\n }\n };\n /**\n * Settles this promise.\n *\n * @param newState The resolved state for this promise.\n * @param {T|any} value The resolved value for this promise.\n */\n const settle = (newState, value) => {\n // A promise can only be settled once.\n if (this.state !== 1 /* Pending */) {\n return;\n }\n this.state = newState;\n this.resolvedValue = value;\n whenFinished = queueMicroTask;\n // Only enqueue a callback runner if there are callbacks so that initially fulfilled Promises don't have to\n // wait an extra turn.\n if (callbacks && callbacks.length > 0) {\n queueMicroTask(function () {\n if (callbacks) {\n let count = callbacks.length;\n for (let i = 0; i < count; ++i) {\n callbacks[i].call(null);\n }\n callbacks = null;\n }\n });\n }\n };\n /**\n * Resolves this promise.\n *\n * @param newState The resolved state for this promise.\n * @param {T|any} value The resolved value for this promise.\n */\n const resolve = (newState, value) => {\n if (isResolved()) {\n return;\n }\n if (isThenable(value)) {\n value.then(settle.bind(null, 0 /* Fulfilled */), settle.bind(null, 2 /* Rejected */));\n isChained = true;\n }\n else {\n settle(newState, value);\n }\n };\n this.then = (onFulfilled, onRejected) => {\n return new Promise((resolve, reject) => {\n // whenFinished initially queues up callbacks for execution after the promise has settled. Once the\n // promise has settled, whenFinished will schedule callbacks for execution on the next turn through the\n // event loop.\n whenFinished(() => {\n const callback = this.state === 2 /* Rejected */ ? onRejected : onFulfilled;\n if (typeof callback === 'function') {\n try {\n resolve(callback(this.resolvedValue));\n }\n catch (error) {\n reject(error);\n }\n }\n else if (this.state === 2 /* Rejected */) {\n reject(this.resolvedValue);\n }\n else {\n resolve(this.resolvedValue);\n }\n });\n });\n };\n try {\n executor(resolve.bind(null, 0 /* Fulfilled */), resolve.bind(null, 2 /* Rejected */));\n }\n catch (error) {\n settle(2 /* Rejected */, error);\n }\n }\n static all(iterable) {\n return new this(function (resolve, reject) {\n const values = [];\n let complete = 0;\n let total = 0;\n let populating = true;\n function fulfill(index, value) {\n values[index] = value;\n ++complete;\n finish();\n }\n function finish() {\n if (populating || complete < total) {\n return;\n }\n resolve(values);\n }\n function processItem(index, item) {\n ++total;\n if (isThenable(item)) {\n // If an item Promise rejects, this Promise is immediately rejected with the item\n // Promise's rejection error.\n item.then(fulfill.bind(null, index), reject);\n }\n else {\n Promise.resolve(item).then(fulfill.bind(null, index));\n }\n }\n let i = 0;\n for (const value of iterable) {\n processItem(i, value);\n i++;\n }\n populating = false;\n finish();\n });\n }\n static race(iterable) {\n return new this(function (resolve, reject) {\n for (const item of iterable) {\n if (item instanceof Promise) {\n // If a Promise item rejects, this Promise is immediately rejected with the item\n // Promise's rejection error.\n item.then(resolve, reject);\n }\n else {\n Promise.resolve(item).then(resolve);\n }\n }\n });\n }\n static reject(reason) {\n return new this(function (resolve, reject) {\n reject(reason);\n });\n }\n static resolve(value) {\n return new this(function (resolve) {\n resolve(value);\n });\n }\n catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n },\n _a[Symbol.species] = ShimPromise,\n _a);\n // this cast is needed in order to omit finally in the class declaration; this was done so the finally code\n // is not duplicated and always added in the conditional below\n}\nif (!has('es2018-promise-finally')) {\n global.Promise.prototype.finally = function (onFinally) {\n return this.then(onFinally && ((value) => Promise.resolve(onFinally()).then(() => value)), onFinally &&\n ((reason) => Promise.resolve(onFinally()).then(() => {\n throw reason;\n })));\n };\n}\nexport default ShimPromise;\nvar _a;\n//# sourceMappingURL=Promise.mjs.map","import has from '../has/has';\nimport global from './global';\nimport { getValueDescriptor } from './support/util';\nexport let Symbol = global.Symbol;\nif (!has('es6-symbol')) {\n /**\n * Throws if the value is not a symbol, used internally within the Shim\n * @param {any} value The value to check\n * @return {symbol} Returns the symbol or throws\n */\n const validateSymbol = function validateSymbol(value) {\n if (!isSymbol(value)) {\n throw new TypeError(value + ' is not a symbol');\n }\n return value;\n };\n const defineProperties = Object.defineProperties;\n const defineProperty = Object.defineProperty;\n const create = Object.create;\n const objPrototype = Object.prototype;\n const globalSymbols = {};\n const getSymbolName = (function () {\n const created = create(null);\n return function (desc) {\n let postfix = 0;\n let name;\n while (created[String(desc) + (postfix || '')]) {\n ++postfix;\n }\n desc += String(postfix || '');\n created[desc] = true;\n name = '@@' + desc;\n // FIXME: Temporary guard until the duplicate execution when testing can be\n // pinned down.\n if (!Object.getOwnPropertyDescriptor(objPrototype, name)) {\n defineProperty(objPrototype, name, {\n set: function (value) {\n defineProperty(this, name, getValueDescriptor(value));\n }\n });\n }\n return name;\n };\n })();\n const InternalSymbol = function Symbol(description) {\n if (this instanceof InternalSymbol) {\n throw new TypeError('TypeError: Symbol is not a constructor');\n }\n return Symbol(description);\n };\n Symbol = global.Symbol = function Symbol(description) {\n if (this instanceof Symbol) {\n throw new TypeError('TypeError: Symbol is not a constructor');\n }\n const sym = Object.create(InternalSymbol.prototype);\n description = description === undefined ? '' : String(description);\n return defineProperties(sym, {\n __description__: getValueDescriptor(description),\n __name__: getValueDescriptor(getSymbolName(description))\n });\n };\n /* Decorate the Symbol function with the appropriate properties */\n defineProperty(Symbol, 'for', getValueDescriptor(function (key) {\n if (globalSymbols[key]) {\n return globalSymbols[key];\n }\n return (globalSymbols[key] = Symbol(String(key)));\n }));\n defineProperties(Symbol, {\n keyFor: getValueDescriptor(function (sym) {\n let key;\n validateSymbol(sym);\n for (key in globalSymbols) {\n if (globalSymbols[key] === sym) {\n return key;\n }\n }\n }),\n hasInstance: getValueDescriptor(Symbol.for('hasInstance'), false, false),\n isConcatSpreadable: getValueDescriptor(Symbol.for('isConcatSpreadable'), false, false),\n iterator: getValueDescriptor(Symbol.for('iterator'), false, false),\n match: getValueDescriptor(Symbol.for('match'), false, false),\n observable: getValueDescriptor(Symbol.for('observable'), false, false),\n replace: getValueDescriptor(Symbol.for('replace'), false, false),\n search: getValueDescriptor(Symbol.for('search'), false, false),\n species: getValueDescriptor(Symbol.for('species'), false, false),\n split: getValueDescriptor(Symbol.for('split'), false, false),\n toPrimitive: getValueDescriptor(Symbol.for('toPrimitive'), false, false),\n toStringTag: getValueDescriptor(Symbol.for('toStringTag'), false, false),\n unscopables: getValueDescriptor(Symbol.for('unscopables'), false, false)\n });\n /* Decorate the InternalSymbol object */\n defineProperties(InternalSymbol.prototype, {\n constructor: getValueDescriptor(Symbol),\n toString: getValueDescriptor(function () {\n return this.__name__;\n }, false, false)\n });\n /* Decorate the Symbol.prototype */\n defineProperties(Symbol.prototype, {\n toString: getValueDescriptor(function () {\n return 'Symbol (' + validateSymbol(this).__description__ + ')';\n }),\n valueOf: getValueDescriptor(function () {\n return validateSymbol(this);\n })\n });\n defineProperty(Symbol.prototype, Symbol.toPrimitive, getValueDescriptor(function () {\n return validateSymbol(this);\n }));\n defineProperty(Symbol.prototype, Symbol.toStringTag, getValueDescriptor('Symbol', false, false, true));\n defineProperty(InternalSymbol.prototype, Symbol.toPrimitive, getValueDescriptor(Symbol.prototype[Symbol.toPrimitive], false, false, true));\n defineProperty(InternalSymbol.prototype, Symbol.toStringTag, getValueDescriptor(Symbol.prototype[Symbol.toStringTag], false, false, true));\n}\n/**\n * A custom guard function that determines if an object is a symbol or not\n * @param {any} value The value to check to see if it is a symbol or not\n * @return {is symbol} Returns true if a symbol or not (and narrows the type guard)\n */\nexport function isSymbol(value) {\n return (value && (typeof value === 'symbol' || value['@@toStringTag'] === 'Symbol')) || false;\n}\n/**\n * Fill any missing well known symbols if the native Symbol is missing them\n */\n[\n 'hasInstance',\n 'isConcatSpreadable',\n 'iterator',\n 'species',\n 'replace',\n 'search',\n 'split',\n 'match',\n 'toPrimitive',\n 'toStringTag',\n 'unscopables',\n 'observable'\n].forEach((wellKnown) => {\n if (!Symbol[wellKnown]) {\n Object.defineProperty(Symbol, wellKnown, getValueDescriptor(Symbol.for(wellKnown), false, false));\n }\n});\nexport default Symbol;\n//# sourceMappingURL=Symbol.mjs.map","import global from './global';\nimport { isArrayLike } from './iterator';\nimport has from '../has/has';\nimport './Symbol';\nexport let WeakMap = global.WeakMap;\nif (!has('es6-weakmap')) {\n const DELETED = {};\n const getUID = function getUID() {\n return Math.floor(Math.random() * 100000000);\n };\n const generateName = (function () {\n let startId = Math.floor(Date.now() % 100000000);\n return function generateName() {\n return '__wm' + getUID() + (startId++ + '__');\n };\n })();\n WeakMap = class WeakMap {\n constructor(iterable) {\n this[Symbol.toStringTag] = 'WeakMap';\n this._name = generateName();\n this._frozenEntries = [];\n if (iterable) {\n if (isArrayLike(iterable)) {\n for (let i = 0; i < iterable.length; i++) {\n const item = iterable[i];\n this.set(item[0], item[1]);\n }\n }\n else {\n for (const [key, value] of iterable) {\n this.set(key, value);\n }\n }\n }\n }\n _getFrozenEntryIndex(key) {\n for (let i = 0; i < this._frozenEntries.length; i++) {\n if (this._frozenEntries[i].key === key) {\n return i;\n }\n }\n return -1;\n }\n delete(key) {\n if (key === undefined || key === null) {\n return false;\n }\n const entry = key[this._name];\n if (entry && entry.key === key && entry.value !== DELETED) {\n entry.value = DELETED;\n return true;\n }\n const frozenIndex = this._getFrozenEntryIndex(key);\n if (frozenIndex >= 0) {\n this._frozenEntries.splice(frozenIndex, 1);\n return true;\n }\n return false;\n }\n get(key) {\n if (key === undefined || key === null) {\n return undefined;\n }\n const entry = key[this._name];\n if (entry && entry.key === key && entry.value !== DELETED) {\n return entry.value;\n }\n const frozenIndex = this._getFrozenEntryIndex(key);\n if (frozenIndex >= 0) {\n return this._frozenEntries[frozenIndex].value;\n }\n }\n has(key) {\n if (key === undefined || key === null) {\n return false;\n }\n const entry = key[this._name];\n if (Boolean(entry && entry.key === key && entry.value !== DELETED)) {\n return true;\n }\n const frozenIndex = this._getFrozenEntryIndex(key);\n if (frozenIndex >= 0) {\n return true;\n }\n return false;\n }\n set(key, value) {\n if (!key || (typeof key !== 'object' && typeof key !== 'function')) {\n throw new TypeError('Invalid value used as weak map key');\n }\n let entry = key[this._name];\n if (!entry || entry.key !== key) {\n entry = Object.create(null, {\n key: { value: key }\n });\n if (Object.isFrozen(key)) {\n this._frozenEntries.push(entry);\n }\n else {\n Object.defineProperty(key, this._name, {\n value: entry\n });\n }\n }\n entry.value = value;\n return this;\n }\n };\n}\nexport default WeakMap;\n//# sourceMappingURL=WeakMap.mjs.map","import global from './global';\nimport { isArrayLike, isIterable } from './iterator';\nimport { MAX_SAFE_INTEGER } from './number';\nimport has from '../has/has';\nimport { wrapNative } from './support/util';\nexport let from;\n/**\n * Creates a new array from the function parameters.\n *\n * @param arguments Any number of arguments for the array\n * @return An array from the given arguments\n */\nexport let of;\n/* ES6 Array instance methods */\n/**\n * Copies data internally within an array or array-like object.\n *\n * @param target The target array-like object\n * @param offset The index to start copying values to; if negative, it counts backwards from length\n * @param start The first (inclusive) index to copy; if negative, it counts backwards from length\n * @param end The last (exclusive) index to copy; if negative, it counts backwards from length\n * @return The target\n */\nexport let copyWithin;\n/**\n * Fills elements of an array-like object with the specified value.\n *\n * @param target The target to fill\n * @param value The value to fill each element of the target with\n * @param start The first index to fill\n * @param end The (exclusive) index at which to stop filling\n * @return The filled target\n */\nexport let fill;\n/**\n * Finds and returns the first instance matching the callback or undefined if one is not found.\n *\n * @param target An array-like object\n * @param callback A function returning if the current value matches a criteria\n * @param thisArg The execution context for the find function\n * @return The first element matching the callback, or undefined if one does not exist\n */\nexport let find;\n/**\n * Performs a linear search and returns the first index whose value satisfies the passed callback,\n * or -1 if no values satisfy it.\n *\n * @param target An array-like object\n * @param callback A function returning true if the current value satisfies its criteria\n * @param thisArg The execution context for the find function\n * @return The first index whose value satisfies the passed callback, or -1 if no values satisfy it\n */\nexport let findIndex;\n/* ES7 Array instance methods */\n/**\n * Determines whether an array includes a given value\n *\n * @param target the target array-like object\n * @param searchElement the item to search for\n * @param fromIndex the starting index to search from\n * @return `true` if the array includes the element, otherwise `false`\n */\nexport let includes;\nif (has('es6-array') && has('es6-array-fill')) {\n from = global.Array.from;\n of = global.Array.of;\n copyWithin = wrapNative(global.Array.prototype.copyWithin);\n fill = wrapNative(global.Array.prototype.fill);\n find = wrapNative(global.Array.prototype.find);\n findIndex = wrapNative(global.Array.prototype.findIndex);\n}\nelse {\n // It is only older versions of Safari/iOS that have a bad fill implementation and so aren't in the wild\n // To make things easier, if there is a bad fill implementation, the whole set of functions will be filled\n /**\n * Ensures a non-negative, non-infinite, safe integer.\n *\n * @param length The number to validate\n * @return A proper length\n */\n const toLength = function toLength(length) {\n if (isNaN(length)) {\n return 0;\n }\n length = Number(length);\n if (isFinite(length)) {\n length = Math.floor(length);\n }\n // Ensure a non-negative, real, safe integer\n return Math.min(Math.max(length, 0), MAX_SAFE_INTEGER);\n };\n /**\n * From ES6 7.1.4 ToInteger()\n *\n * @param value A value to convert\n * @return An integer\n */\n const toInteger = function toInteger(value) {\n value = Number(value);\n if (isNaN(value)) {\n return 0;\n }\n if (value === 0 || !isFinite(value)) {\n return value;\n }\n return (value > 0 ? 1 : -1) * Math.floor(Math.abs(value));\n };\n /**\n * Normalizes an offset against a given length, wrapping it if negative.\n *\n * @param value The original offset\n * @param length The total length to normalize against\n * @return If negative, provide a distance from the end (length); otherwise provide a distance from 0\n */\n const normalizeOffset = function normalizeOffset(value, length) {\n return value < 0 ? Math.max(length + value, 0) : Math.min(value, length);\n };\n from = function from(arrayLike, mapFunction, thisArg) {\n if (arrayLike == null) {\n throw new TypeError('from: requires an array-like object');\n }\n if (mapFunction && thisArg) {\n mapFunction = mapFunction.bind(thisArg);\n }\n /* tslint:disable-next-line:variable-name */\n const Constructor = this;\n const length = toLength(arrayLike.length);\n // Support extension\n const array = typeof Constructor === 'function' ? Object(new Constructor(length)) : new Array(length);\n if (!isArrayLike(arrayLike) && !isIterable(arrayLike)) {\n return array;\n }\n // if this is an array and the normalized length is 0, just return an empty array. this prevents a problem\n // with the iteration on IE when using a NaN array length.\n if (isArrayLike(arrayLike)) {\n if (length === 0) {\n return [];\n }\n for (let i = 0; i < arrayLike.length; i++) {\n array[i] = mapFunction ? mapFunction(arrayLike[i], i) : arrayLike[i];\n }\n }\n else {\n let i = 0;\n for (const value of arrayLike) {\n array[i] = mapFunction ? mapFunction(value, i) : value;\n i++;\n }\n }\n if (arrayLike.length !== undefined) {\n array.length = length;\n }\n return array;\n };\n of = function of(...items) {\n return Array.prototype.slice.call(items);\n };\n copyWithin = function copyWithin(target, offset, start, end) {\n if (target == null) {\n throw new TypeError('copyWithin: target must be an array-like object');\n }\n const length = toLength(target.length);\n offset = normalizeOffset(toInteger(offset), length);\n start = normalizeOffset(toInteger(start), length);\n end = normalizeOffset(end === undefined ? length : toInteger(end), length);\n let count = Math.min(end - start, length - offset);\n let direction = 1;\n if (offset > start && offset < start + count) {\n direction = -1;\n start += count - 1;\n offset += count - 1;\n }\n while (count > 0) {\n if (start in target) {\n target[offset] = target[start];\n }\n else {\n delete target[offset];\n }\n offset += direction;\n start += direction;\n count--;\n }\n return target;\n };\n fill = function fill(target, value, start, end) {\n const length = toLength(target.length);\n let i = normalizeOffset(toInteger(start), length);\n end = normalizeOffset(end === undefined ? length : toInteger(end), length);\n while (i < end) {\n target[i++] = value;\n }\n return target;\n };\n find = function find(target, callback, thisArg) {\n const index = findIndex(target, callback, thisArg);\n return index !== -1 ? target[index] : undefined;\n };\n findIndex = function findIndex(target, callback, thisArg) {\n const length = toLength(target.length);\n if (!callback) {\n throw new TypeError('find: second argument must be a function');\n }\n if (thisArg) {\n callback = callback.bind(thisArg);\n }\n for (let i = 0; i < length; i++) {\n if (callback(target[i], i, target)) {\n return i;\n }\n }\n return -1;\n };\n}\nif (has('es7-array')) {\n includes = wrapNative(global.Array.prototype.includes);\n}\nelse {\n /**\n * Ensures a non-negative, non-infinite, safe integer.\n *\n * @param length The number to validate\n * @return A proper length\n */\n const toLength = function toLength(length) {\n length = Number(length);\n if (isNaN(length)) {\n return 0;\n }\n if (isFinite(length)) {\n length = Math.floor(length);\n }\n // Ensure a non-negative, real, safe integer\n return Math.min(Math.max(length, 0), MAX_SAFE_INTEGER);\n };\n includes = function includes(target, searchElement, fromIndex = 0) {\n let len = toLength(target.length);\n for (let i = fromIndex; i < len; ++i) {\n const currentElement = target[i];\n if (searchElement === currentElement ||\n (searchElement !== searchElement && currentElement !== currentElement)) {\n return true;\n }\n }\n return false;\n };\n}\n//# sourceMappingURL=array.mjs.map","const globalObject = (function () {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n})();\nexport default globalObject;\n//# sourceMappingURL=global.mjs.map","import './Symbol';\nimport { HIGH_SURROGATE_MAX, HIGH_SURROGATE_MIN } from './string';\nconst staticDone = { done: true, value: undefined };\n/**\n * A class that _shims_ an iterator interface on array like objects.\n */\nexport class ShimIterator {\n constructor(list) {\n this._nextIndex = -1;\n if (isIterable(list)) {\n this._nativeIterator = list[Symbol.iterator]();\n }\n else {\n this._list = list;\n }\n }\n /**\n * Return the next iteration result for the Iterator\n */\n next() {\n if (this._nativeIterator) {\n return this._nativeIterator.next();\n }\n if (!this._list) {\n return staticDone;\n }\n if (++this._nextIndex < this._list.length) {\n return {\n done: false,\n value: this._list[this._nextIndex]\n };\n }\n return staticDone;\n }\n [Symbol.iterator]() {\n return this;\n }\n}\n/**\n * A type guard for checking if something has an Iterable interface\n *\n * @param value The value to type guard against\n */\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === 'function';\n}\n/**\n * A type guard for checking if something is ArrayLike\n *\n * @param value The value to type guard against\n */\nexport function isArrayLike(value) {\n return value && typeof value.length === 'number';\n}\n/**\n * Returns the iterator for an object\n *\n * @param iterable The iterable object to return the iterator for\n */\nexport function get(iterable) {\n if (isIterable(iterable)) {\n return iterable[Symbol.iterator]();\n }\n else if (isArrayLike(iterable)) {\n return new ShimIterator(iterable);\n }\n}\n/**\n * Shims the functionality of `for ... of` blocks\n *\n * @param iterable The object the provides an interator interface\n * @param callback The callback which will be called for each item of the iterable\n * @param thisArg Optional scope to pass the callback\n */\nexport function forOf(iterable, callback, thisArg) {\n let broken = false;\n function doBreak() {\n broken = true;\n }\n /* We need to handle iteration of double byte strings properly */\n if (isArrayLike(iterable) && typeof iterable === 'string') {\n const l = iterable.length;\n for (let i = 0; i < l; ++i) {\n let char = iterable[i];\n if (i + 1 < l) {\n const code = char.charCodeAt(0);\n if (code >= HIGH_SURROGATE_MIN && code <= HIGH_SURROGATE_MAX) {\n char += iterable[++i];\n }\n }\n callback.call(thisArg, char, iterable, doBreak);\n if (broken) {\n return;\n }\n }\n }\n else {\n const iterator = get(iterable);\n if (iterator) {\n let result = iterator.next();\n while (!result.done) {\n callback.call(thisArg, result.value, iterable, doBreak);\n if (broken) {\n return;\n }\n result = iterator.next();\n }\n }\n }\n}\n//# sourceMappingURL=iterator.mjs.map","import global from './global';\n/**\n * The smallest interval between two representable numbers.\n */\nexport const EPSILON = 1;\n/**\n * The maximum safe integer in JavaScript\n */\nexport const MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;\n/**\n * The minimum safe integer in JavaScript\n */\nexport const MIN_SAFE_INTEGER = -MAX_SAFE_INTEGER;\n/**\n * Determines whether the passed value is NaN without coersion.\n *\n * @param value The value to test\n * @return true if the value is NaN, false if it is not\n */\nexport function isNaN(value) {\n return typeof value === 'number' && global.isNaN(value);\n}\n/**\n * Determines whether the passed value is a finite number without coersion.\n *\n * @param value The value to test\n * @return true if the value is finite, false if it is not\n */\nexport function isFinite(value) {\n return typeof value === 'number' && global.isFinite(value);\n}\n/**\n * Determines whether the passed value is an integer.\n *\n * @param value The value to test\n * @return true if the value is an integer, false if it is not\n */\nexport function isInteger(value) {\n return isFinite(value) && Math.floor(value) === value;\n}\n/**\n * Determines whether the passed value is an integer that is 'safe,' meaning:\n * 1. it can be expressed as an IEEE-754 double precision number\n * 2. it has a one-to-one mapping to a mathematical integer, meaning its\n * IEEE-754 representation cannot be the result of rounding any other\n * integer to fit the IEEE-754 representation\n *\n * @param value The value to test\n * @return true if the value is an integer, false if it is not\n */\nexport function isSafeInteger(value) {\n return isInteger(value) && Math.abs(value) <= MAX_SAFE_INTEGER;\n}\n//# sourceMappingURL=number.mjs.map","import global from './global';\nimport has from '../has/has';\nimport { isSymbol } from './Symbol';\nexport let assign;\n/**\n * Gets the own property descriptor of the specified object.\n * An own property descriptor is one that is defined directly on the object and is not\n * inherited from the object's prototype.\n * @param o Object that contains the property.\n * @param p Name of the property.\n */\nexport let getOwnPropertyDescriptor;\n/**\n * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly\n * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions.\n * @param o Object that contains the own properties.\n */\nexport let getOwnPropertyNames;\n/**\n * Returns an array of all symbol properties found directly on object o.\n * @param o Object to retrieve the symbols from.\n */\nexport let getOwnPropertySymbols;\n/**\n * Returns true if the values are the same value, false otherwise.\n * @param value1 The first value.\n * @param value2 The second value.\n */\nexport let is;\n/**\n * Returns the names of the enumerable properties and methods of an object.\n * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n */\nexport let keys;\n/* ES7 Object static methods */\nexport let getOwnPropertyDescriptors;\nexport let entries;\nexport let values;\nif (has('es6-object')) {\n const globalObject = global.Object;\n assign = globalObject.assign;\n getOwnPropertyDescriptor = globalObject.getOwnPropertyDescriptor;\n getOwnPropertyNames = globalObject.getOwnPropertyNames;\n getOwnPropertySymbols = globalObject.getOwnPropertySymbols;\n is = globalObject.is;\n keys = globalObject.keys;\n}\nelse {\n keys = function symbolAwareKeys(o) {\n return Object.keys(o).filter((key) => !Boolean(key.match(/^@@.+/)));\n };\n assign = function assign(target, ...sources) {\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n const to = Object(target);\n sources.forEach((nextSource) => {\n if (nextSource) {\n // Skip over if undefined or null\n keys(nextSource).forEach((nextKey) => {\n to[nextKey] = nextSource[nextKey];\n });\n }\n });\n return to;\n };\n getOwnPropertyDescriptor = function (o, prop) {\n if (isSymbol(prop)) {\n return Object.getOwnPropertyDescriptor(o, prop);\n }\n else {\n return Object.getOwnPropertyDescriptor(o, prop);\n }\n };\n getOwnPropertyNames = function getOwnPropertyNames(o) {\n return Object.getOwnPropertyNames(o).filter((key) => !Boolean(key.match(/^@@.+/)));\n };\n getOwnPropertySymbols = function getOwnPropertySymbols(o) {\n return Object.getOwnPropertyNames(o)\n .filter((key) => Boolean(key.match(/^@@.+/)))\n .map((key) => Symbol.for(key.substring(2)));\n };\n is = function is(value1, value2) {\n if (value1 === value2) {\n return value1 !== 0 || 1 / value1 === 1 / value2; // -0\n }\n return value1 !== value1 && value2 !== value2; // NaN\n };\n}\nif (has('es2017-object')) {\n const globalObject = global.Object;\n getOwnPropertyDescriptors = globalObject.getOwnPropertyDescriptors;\n entries = globalObject.entries;\n values = globalObject.values;\n}\nelse {\n getOwnPropertyDescriptors = function getOwnPropertyDescriptors(o) {\n return getOwnPropertyNames(o).reduce((previous, key) => {\n previous[key] = getOwnPropertyDescriptor(o, key);\n return previous;\n }, {});\n };\n entries = function entries(o) {\n return keys(o).map((key) => [key, o[key]]);\n };\n values = function values(o) {\n return keys(o).map((key) => o[key]);\n };\n}\n//# sourceMappingURL=object.mjs.map","import global from './global';\nimport has from '../has/has';\nimport { wrapNative } from './support/util';\n/**\n * The minimum location of high surrogates\n */\nexport const HIGH_SURROGATE_MIN = 0xd800;\n/**\n * The maximum location of high surrogates\n */\nexport const HIGH_SURROGATE_MAX = 0xdbff;\n/**\n * The minimum location of low surrogates\n */\nexport const LOW_SURROGATE_MIN = 0xdc00;\n/**\n * The maximum location of low surrogates\n */\nexport const LOW_SURROGATE_MAX = 0xdfff;\n/* ES6 static methods */\n/**\n * Return the String value whose elements are, in order, the elements in the List elements.\n * If length is 0, the empty string is returned.\n * @param codePoints The code points to generate the string\n */\nexport let fromCodePoint;\n/**\n * `raw` is intended for use as a tag function of a Tagged Template String. When called\n * as such the first argument will be a well formed template call site object and the rest\n * parameter will contain the substitution values.\n * @param template A well-formed template string call site representation.\n * @param substitutions A set of substitution values.\n */\nexport let raw;\n/* ES6 instance methods */\n/**\n * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\n * value of the UTF-16 encoded code point starting at the string element at position pos in\n * the String resulting from converting this object to a String.\n * If there is no element at that position, the result is undefined.\n * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.\n */\nexport let codePointAt;\n/**\n * Returns true if the sequence of elements of searchString converted to a String is the\n * same as the corresponding elements of this object (converted to a String) starting at\n * endPosition – length(this). Otherwise returns false.\n */\nexport let endsWith;\n/**\n * Returns true if searchString appears as a substring of the result of converting this\n * object to a String, at one or more positions that are\n * greater than or equal to position; otherwise, returns false.\n * @param target The target string\n * @param searchString search string\n * @param position If position is undefined, 0 is assumed, so as to search all of the String.\n */\nexport let includes;\n/**\n * Returns the String value result of normalizing the string into the normalization form\n * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n * @param target The target string\n * @param form Applicable values: \"NFC\", \"NFD\", \"NFKC\", or \"NFKD\", If not specified default\n * is \"NFC\"\n */\nexport let normalize;\n/**\n * Returns a String value that is made from count copies appended together. If count is 0,\n * T is the empty String is returned.\n * @param count number of copies to append\n */\nexport let repeat;\n/**\n * Returns true if the sequence of elements of searchString converted to a String is the\n * same as the corresponding elements of this object (converted to a String) starting at\n * position. Otherwise returns false.\n */\nexport let startsWith;\n/* ES7 instance methods */\n/**\n * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\n * The padding is applied from the end (right) of the current string.\n *\n * @param target The target string\n * @param maxLength The length of the resulting string once the current string has been padded.\n * If this parameter is smaller than the current string's length, the current string will be returned as it is.\n *\n * @param fillString The string to pad the current string with.\n * If this string is too long, it will be truncated and the left-most part will be applied.\n * The default value for this parameter is \" \" (U+0020).\n */\nexport let padEnd;\n/**\n * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\n * The padding is applied from the start (left) of the current string.\n *\n * @param target The target string\n * @param maxLength The length of the resulting string once the current string has been padded.\n * If this parameter is smaller than the current string's length, the current string will be returned as it is.\n *\n * @param fillString The string to pad the current string with.\n * If this string is too long, it will be truncated and the left-most part will be applied.\n * The default value for this parameter is \" \" (U+0020).\n */\nexport let padStart;\nif (has('es6-string') && has('es6-string-raw')) {\n fromCodePoint = global.String.fromCodePoint;\n raw = global.String.raw;\n codePointAt = wrapNative(global.String.prototype.codePointAt);\n endsWith = wrapNative(global.String.prototype.endsWith);\n includes = wrapNative(global.String.prototype.includes);\n normalize = wrapNative(global.String.prototype.normalize);\n repeat = wrapNative(global.String.prototype.repeat);\n startsWith = wrapNative(global.String.prototype.startsWith);\n}\nelse {\n /**\n * Validates that text is defined, and normalizes position (based on the given default if the input is NaN).\n * Used by startsWith, includes, and endsWith.\n *\n * @return Normalized position.\n */\n const normalizeSubstringArgs = function (name, text, search, position, isEnd = false) {\n if (text == null) {\n throw new TypeError('string.' + name + ' requires a valid string to search against.');\n }\n const length = text.length;\n position = position !== position ? (isEnd ? length : 0) : position;\n return [text, String(search), Math.min(Math.max(position, 0), length)];\n };\n fromCodePoint = function fromCodePoint(...codePoints) {\n // Adapted from https://github.com/mathiasbynens/String.fromCodePoint\n const length = arguments.length;\n if (!length) {\n return '';\n }\n const fromCharCode = String.fromCharCode;\n const MAX_SIZE = 0x4000;\n let codeUnits = [];\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = Number(arguments[index]);\n // Code points must be finite integers within the valid range\n let isValid = isFinite(codePoint) && Math.floor(codePoint) === codePoint && codePoint >= 0 && codePoint <= 0x10ffff;\n if (!isValid) {\n throw RangeError('string.fromCodePoint: Invalid code point ' + codePoint);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n }\n else {\n // Astral code point; split in surrogate halves\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n let highSurrogate = (codePoint >> 10) + HIGH_SURROGATE_MIN;\n let lowSurrogate = (codePoint % 0x400) + LOW_SURROGATE_MIN;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += fromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n raw = function raw(callSite, ...substitutions) {\n let rawStrings = callSite.raw;\n let result = '';\n let numSubstitutions = substitutions.length;\n if (callSite == null || callSite.raw == null) {\n throw new TypeError('string.raw requires a valid callSite object with a raw value');\n }\n for (let i = 0, length = rawStrings.length; i < length; i++) {\n result += rawStrings[i] + (i < numSubstitutions && i < length - 1 ? substitutions[i] : '');\n }\n return result;\n };\n codePointAt = function codePointAt(text, position = 0) {\n // Adapted from https://github.com/mathiasbynens/String.prototype.codePointAt\n if (text == null) {\n throw new TypeError('string.codePointAt requries a valid string.');\n }\n const length = text.length;\n if (position !== position) {\n position = 0;\n }\n if (position < 0 || position >= length) {\n return undefined;\n }\n // Get the first code unit\n const first = text.charCodeAt(position);\n if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > position + 1) {\n // Start of a surrogate pair (high surrogate and there is a next code unit); check for low surrogate\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n const second = text.charCodeAt(position + 1);\n if (second >= LOW_SURROGATE_MIN && second <= LOW_SURROGATE_MAX) {\n return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;\n }\n }\n return first;\n };\n endsWith = function endsWith(text, search, endPosition) {\n if (search === '') {\n return true;\n }\n if (typeof endPosition === 'undefined') {\n endPosition = text.length;\n }\n else if (endPosition === null || isNaN(endPosition)) {\n return false;\n }\n [text, search, endPosition] = normalizeSubstringArgs('endsWith', text, search, endPosition, true);\n const start = endPosition - search.length;\n if (start < 0) {\n return false;\n }\n return text.slice(start, endPosition) === search;\n };\n includes = function includes(text, search, position = 0) {\n [text, search, position] = normalizeSubstringArgs('includes', text, search, position);\n return text.indexOf(search, position) !== -1;\n };\n repeat = function repeat(text, count = 0) {\n // Adapted from https://github.com/mathiasbynens/String.prototype.repeat\n if (text == null) {\n throw new TypeError('string.repeat requires a valid string.');\n }\n if (count !== count) {\n count = 0;\n }\n if (count < 0 || count === Infinity) {\n throw new RangeError('string.repeat requires a non-negative finite count.');\n }\n let result = '';\n while (count) {\n if (count % 2) {\n result += text;\n }\n if (count > 1) {\n text += text;\n }\n count >>= 1;\n }\n return result;\n };\n startsWith = function startsWith(text, search, position = 0) {\n search = String(search);\n [text, search, position] = normalizeSubstringArgs('startsWith', text, search, position);\n const end = position + search.length;\n if (end > text.length) {\n return false;\n }\n return text.slice(position, end) === search;\n };\n}\nif (has('es2017-string')) {\n padEnd = wrapNative(global.String.prototype.padEnd);\n padStart = wrapNative(global.String.prototype.padStart);\n}\nelse {\n padEnd = function padEnd(text, maxLength, fillString = ' ') {\n if (text === null || text === undefined) {\n throw new TypeError('string.repeat requires a valid string.');\n }\n if (maxLength === Infinity) {\n throw new RangeError('string.padEnd requires a non-negative finite count.');\n }\n if (maxLength === null || maxLength === undefined || maxLength < 0) {\n maxLength = 0;\n }\n let strText = String(text);\n const padding = maxLength - strText.length;\n if (padding > 0) {\n strText +=\n repeat(fillString, Math.floor(padding / fillString.length)) +\n fillString.slice(0, padding % fillString.length);\n }\n return strText;\n };\n padStart = function padStart(text, maxLength, fillString = ' ') {\n if (text === null || text === undefined) {\n throw new TypeError('string.repeat requires a valid string.');\n }\n if (maxLength === Infinity) {\n throw new RangeError('string.padStart requires a non-negative finite count.');\n }\n if (maxLength === null || maxLength === undefined || maxLength < 0) {\n maxLength = 0;\n }\n let strText = String(text);\n const padding = maxLength - strText.length;\n if (padding > 0) {\n strText =\n repeat(fillString, Math.floor(padding / fillString.length)) +\n fillString.slice(0, padding % fillString.length) +\n strText;\n }\n return strText;\n };\n}\n//# sourceMappingURL=string.mjs.map","import global from '../global';\nimport has from '../../has/has';\nfunction executeTask(item) {\n if (item && item.isActive && item.callback) {\n item.callback();\n }\n}\nfunction getQueueHandle(item, destructor) {\n return {\n destroy: function () {\n this.destroy = function () { };\n item.isActive = false;\n item.callback = null;\n if (destructor) {\n destructor();\n }\n }\n };\n}\nlet checkMicroTaskQueue;\nlet microTasks;\n/**\n * Schedules a callback to the macrotask queue.\n *\n * @param callback the function to be queued and later executed.\n * @returns An object with a `destroy` method that, when called, prevents the registered callback from executing.\n */\nexport const queueTask = (function () {\n let destructor;\n let enqueue;\n // Since the IE implementation of `setImmediate` is not flawless, we will test for `postMessage` first.\n if (has('postmessage')) {\n const queue = [];\n global.addEventListener('message', function (event) {\n // Confirm that the event was triggered by the current window and by this particular implementation.\n if (event.source === global && event.data === 'dojo-queue-message') {\n event.stopPropagation();\n if (queue.length) {\n executeTask(queue.shift());\n }\n }\n });\n enqueue = function (item) {\n queue.push(item);\n global.postMessage('dojo-queue-message', '*');\n };\n }\n else if (has('setimmediate')) {\n destructor = global.clearImmediate;\n enqueue = function (item) {\n return setImmediate(executeTask.bind(null, item));\n };\n }\n else {\n destructor = global.clearTimeout;\n enqueue = function (item) {\n return setTimeout(executeTask.bind(null, item), 0);\n };\n }\n function queueTask(callback) {\n const item = {\n isActive: true,\n callback: callback\n };\n const id = enqueue(item);\n return getQueueHandle(item, destructor &&\n function () {\n destructor(id);\n });\n }\n // TODO: Use aspect.before when it is available.\n return has('microtasks')\n ? queueTask\n : function (callback) {\n checkMicroTaskQueue();\n return queueTask(callback);\n };\n})();\n// When no mechanism for registering microtasks is exposed by the environment, microtasks will\n// be queued and then executed in a single macrotask before the other macrotasks are executed.\nif (!has('microtasks')) {\n let isMicroTaskQueued = false;\n microTasks = [];\n checkMicroTaskQueue = function () {\n if (!isMicroTaskQueued) {\n isMicroTaskQueued = true;\n queueTask(function () {\n isMicroTaskQueued = false;\n if (microTasks.length) {\n let item;\n while ((item = microTasks.shift())) {\n executeTask(item);\n }\n }\n });\n }\n };\n}\n/**\n * Schedules an animation task with `window.requestAnimationFrame` if it exists, or with `queueTask` otherwise.\n *\n * Since requestAnimationFrame's behavior does not match that expected from `queueTask`, it is not used there.\n * However, at times it makes more sense to delegate to requestAnimationFrame; hence the following method.\n *\n * @param callback the function to be queued and later executed.\n * @returns An object with a `destroy` method that, when called, prevents the registered callback from executing.\n */\nexport const queueAnimationTask = (function () {\n if (!has('raf')) {\n return queueTask;\n }\n function queueAnimationTask(callback) {\n const item = {\n isActive: true,\n callback: callback\n };\n const rafId = requestAnimationFrame(executeTask.bind(null, item));\n return getQueueHandle(item, function () {\n cancelAnimationFrame(rafId);\n });\n }\n // TODO: Use aspect.before when it is available.\n return has('microtasks')\n ? queueAnimationTask\n : function (callback) {\n checkMicroTaskQueue();\n return queueAnimationTask(callback);\n };\n})();\n/**\n * Schedules a callback to the microtask queue.\n *\n * Any callbacks registered with `queueMicroTask` will be executed before the next macrotask. If no native\n * mechanism for scheduling macrotasks is exposed, then any callbacks will be fired before any macrotask\n * registered with `queueTask` or `queueAnimationTask`.\n *\n * @param callback the function to be queued and later executed.\n * @returns An object with a `destroy` method that, when called, prevents the registered callback from executing.\n */\nexport let queueMicroTask = (function () {\n let enqueue;\n if (has('host-node')) {\n enqueue = function (item) {\n global.process.nextTick(executeTask.bind(null, item));\n };\n }\n else if (has('es6-promise')) {\n enqueue = function (item) {\n global.Promise.resolve(item).then(executeTask);\n };\n }\n else if (has('dom-mutationobserver')) {\n /* tslint:disable-next-line:variable-name */\n const HostMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n const node = document.createElement('div');\n const queue = [];\n const observer = new HostMutationObserver(function () {\n while (queue.length > 0) {\n const item = queue.shift();\n if (item && item.isActive && item.callback) {\n item.callback();\n }\n }\n });\n observer.observe(node, { attributes: true });\n enqueue = function (item) {\n queue.push(item);\n node.setAttribute('queueStatus', '1');\n };\n }\n else {\n enqueue = function (item) {\n checkMicroTaskQueue();\n microTasks.push(item);\n };\n }\n return function (callback) {\n const item = {\n isActive: true,\n callback: callback\n };\n enqueue(item);\n return getQueueHandle(item);\n };\n})();\n//# sourceMappingURL=queue.mjs.map","/**\n * Helper function to generate a value property descriptor\n *\n * @param value The value the property descriptor should be set to\n * @param enumerable If the property should be enumberable, defaults to false\n * @param writable If the property should be writable, defaults to true\n * @param configurable If the property should be configurable, defaults to true\n * @return The property descriptor object\n */\nexport function getValueDescriptor(value, enumerable = false, writable = true, configurable = true) {\n return {\n value: value,\n enumerable: enumerable,\n writable: writable,\n configurable: configurable\n };\n}\nexport function wrapNative(nativeFunction) {\n return function (target, ...args) {\n return nativeFunction.apply(target, args);\n };\n}\n//# sourceMappingURL=util.mjs.map","import { Injectable, ApplicationRef, ComponentFactoryResolver, Injector, Component, ViewEncapsulation, ElementRef, Renderer2, Input, ViewChild, HostBinding, HostListener, EventEmitter, ChangeDetectionStrategy, Output, Directive, NgZone, ChangeDetectorRef, NgModule, ViewContainerRef, ContentChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { DomPortalHost, ComponentPortal } from '@angular/cdk/portal';\nimport { __decorate } from 'tslib';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { select, event } from 'd3-selection';\nimport { brushX } from 'd3-brush';\nimport { scaleTime, scaleLinear, scalePoint, scaleQuantile, scaleOrdinal, scaleBand } from 'd3-scale';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { curveLinear, area, line, curveCardinalClosed, lineRadial, arc, pie } from 'd3-shape';\nimport { range, min, max } from 'd3-array';\nimport { interpolate } from 'd3-interpolate';\nimport { format } from 'd3-format';\nimport { rgb } from 'd3-color';\nimport { treemap, stratify } from 'd3-hierarchy';\nimport { timeFormat } from 'd3-time-format';\n\nfunction isViewContainerRef(x) {\n return x.element;\n}\n/**\n * Injection service is a helper to append components\n * dynamically to a known location in the DOM, most\n * noteably for dialogs/tooltips appending to body.\n *\n * @export\n */\nclass InjectionService {\n constructor(applicationRef, componentFactoryResolver, injector) {\n this.applicationRef = applicationRef;\n this.componentFactoryResolver = componentFactoryResolver;\n this.injector = injector;\n }\n /**\n * Sets a default global root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n */\n static setGlobalRootViewContainer(container) {\n InjectionService.globalRootViewContainer = container;\n }\n /**\n * Gets the root view container to inject the component to.\n *\n * @memberOf InjectionService\n */\n getRootViewContainer() {\n if (this._container)\n return this._container;\n if (InjectionService.globalRootViewContainer)\n return InjectionService.globalRootViewContainer;\n if (this.applicationRef.components.length)\n return this.applicationRef.components[0];\n throw new Error('View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.');\n }\n /**\n * Overrides the default root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n *\n * @memberOf InjectionService\n */\n setRootViewContainer(container) {\n this._container = container;\n }\n /**\n * Gets the html element for a component ref.\n *\n * @param componentRef\n *\n * @memberOf InjectionService\n */\n getComponentRootNode(component) {\n if (isViewContainerRef(component)) {\n return component.element.nativeElement;\n }\n if (component.hostView && component.hostView.rootNodes.length > 0) {\n return component.hostView.rootNodes[0];\n }\n // the top most component root node has no `hostView`\n return component.location.nativeElement;\n }\n /**\n * Gets the root component container html element.\n *\n * @memberOf InjectionService\n */\n getRootViewContainerNode(component) {\n return this.getComponentRootNode(component);\n }\n /**\n * Projects the bindings onto the component\n *\n * @param component\n * @param options\n *\n * @memberOf InjectionService\n */\n projectComponentBindings(component, bindings) {\n if (bindings) {\n if (bindings.inputs !== undefined) {\n const bindingKeys = Object.getOwnPropertyNames(bindings.inputs);\n for (const bindingName of bindingKeys) {\n component.instance[bindingName] = bindings.inputs[bindingName];\n }\n }\n if (bindings.outputs !== undefined) {\n const eventKeys = Object.getOwnPropertyNames(bindings.outputs);\n for (const eventName of eventKeys) {\n component.instance[eventName] = bindings.outputs[eventName];\n }\n }\n }\n return component;\n }\n /**\n * Appends a component to a adjacent location\n *\n * @param componentClass\n * @param [options={}]\n * @param [location]\n *\n * @memberOf InjectionService\n */\n appendComponent(componentClass, bindings = {}, location) {\n if (!location)\n location = this.getRootViewContainer();\n const appendLocation = this.getComponentRootNode(location);\n const portalHost = new DomPortalHost(appendLocation, this.componentFactoryResolver, this.applicationRef, this.injector);\n const portal = new ComponentPortal(componentClass);\n const componentRef = portalHost.attach(portal);\n this.projectComponentBindings(componentRef, bindings);\n return componentRef;\n }\n}\nInjectionService.globalRootViewContainer = null;\nInjectionService.decorators = [\n { type: Injectable }\n];\nInjectionService.ctorParameters = () => [\n { type: ApplicationRef },\n { type: ComponentFactoryResolver },\n { type: Injector }\n];\n\n/**\n * Throttle a function\n *\n */\nfunction throttle(func, wait, options) {\n options = options || {};\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n function later() {\n previous = options.leading === false ? 0 : +new Date();\n timeout = null;\n result = func.apply(context, args);\n }\n return function () {\n const now = +new Date();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n/**\n * Throttle decorator\n *\n * class MyClass {\n * throttleable(10)\n * myFn() { ... }\n * }\n */\nfunction throttleable(duration, options) {\n return function innerDecorator(target, key, descriptor) {\n return {\n configurable: true,\n enumerable: descriptor.enumerable,\n get: function getter() {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: descriptor.enumerable,\n value: throttle(descriptor.value, duration, options)\n });\n return this[key];\n }\n };\n };\n}\n\nvar PlacementTypes;\n(function (PlacementTypes) {\n PlacementTypes[PlacementTypes[\"top\"] = 'top'] = \"top\";\n PlacementTypes[PlacementTypes[\"bottom\"] = 'bottom'] = \"bottom\";\n PlacementTypes[PlacementTypes[\"left\"] = 'left'] = \"left\";\n PlacementTypes[PlacementTypes[\"right\"] = 'right'] = \"right\";\n})(PlacementTypes || (PlacementTypes = {}));\n\nconst caretOffset = 7;\nfunction verticalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === 'top') {\n return elDimensions.top - caretOffset;\n }\n if (alignment === 'bottom') {\n return elDimensions.top + elDimensions.height - popoverDimensions.height + caretOffset;\n }\n if (alignment === 'center') {\n return elDimensions.top + elDimensions.height / 2 - popoverDimensions.height / 2;\n }\n return undefined;\n}\nfunction horizontalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === 'left') {\n return elDimensions.left - caretOffset;\n }\n if (alignment === 'right') {\n return elDimensions.left + elDimensions.width - popoverDimensions.width + caretOffset;\n }\n if (alignment === 'center') {\n return elDimensions.left + elDimensions.width / 2 - popoverDimensions.width / 2;\n }\n return undefined;\n}\n/**\n * Position helper for the popover directive.\n *\n * @export\n */\nclass PositionHelper {\n /**\n * Calculate vertical alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.height > window.innerHeight) {\n result = window.innerHeight - popoverDimensions.height;\n }\n return result;\n }\n /**\n * Calculate vertical caret position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === 'top') {\n result = elDimensions.height / 2 - caretDimensions.height / 2 + caretOffset;\n }\n if (alignment === 'bottom') {\n result = popoverDimensions.height - elDimensions.height / 2 - caretDimensions.height / 2 - caretOffset;\n }\n if (alignment === 'center') {\n result = popoverDimensions.height / 2 - caretDimensions.height / 2;\n }\n const popoverPosition = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.height > window.innerHeight) {\n result += popoverPosition + popoverDimensions.height - window.innerHeight;\n }\n return result;\n }\n /**\n * Calculate horz alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.width > window.innerWidth) {\n result = window.innerWidth - popoverDimensions.width;\n }\n return result;\n }\n /**\n * Calculate horz caret position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === 'left') {\n result = elDimensions.width / 2 - caretDimensions.width / 2 + caretOffset;\n }\n if (alignment === 'right') {\n result = popoverDimensions.width - elDimensions.width / 2 - caretDimensions.width / 2 - caretOffset;\n }\n if (alignment === 'center') {\n result = popoverDimensions.width / 2 - caretDimensions.width / 2;\n }\n const popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.width > window.innerWidth) {\n result += popoverPosition + popoverDimensions.width - window.innerWidth;\n }\n return result;\n }\n /**\n * Checks if the element's position should be flipped\n *\n * @memberOf PositionHelper\n */\n static shouldFlip(elDimensions, popoverDimensions, placement, spacing) {\n let flip = false;\n if (placement === 'right') {\n if (elDimensions.left + elDimensions.width + popoverDimensions.width + spacing > window.innerWidth) {\n flip = true;\n }\n }\n if (placement === 'left') {\n if (elDimensions.left - popoverDimensions.width - spacing < 0) {\n flip = true;\n }\n }\n if (placement === 'top') {\n if (elDimensions.top - popoverDimensions.height - spacing < 0) {\n flip = true;\n }\n }\n if (placement === 'bottom') {\n if (elDimensions.top + elDimensions.height + popoverDimensions.height + spacing > window.innerHeight) {\n flip = true;\n }\n }\n return flip;\n }\n /**\n * Position caret\n *\n * @memberOf PositionHelper\n */\n static positionCaret(placement, elmDim, hostDim, caretDimensions, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.right) {\n left = -7;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.left) {\n left = elmDim.width;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.top) {\n top = elmDim.height;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.bottom) {\n top = -7;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n return { top, left };\n }\n /**\n * Position content\n *\n * @memberOf PositionHelper\n */\n static positionContent(placement, elmDim, hostDim, spacing, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.right) {\n left = hostDim.left + hostDim.width + spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.left) {\n left = hostDim.left - elmDim.width - spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.top) {\n top = hostDim.top - elmDim.height - spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.bottom) {\n top = hostDim.top + hostDim.height + spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n }\n return { top, left };\n }\n /**\n * Determine placement based on flip\n *\n * @memberOf PositionHelper\n */\n static determinePlacement(placement, elmDim, hostDim, spacing) {\n const shouldFlip = PositionHelper.shouldFlip(hostDim, elmDim, placement, spacing);\n if (shouldFlip) {\n if (placement === PlacementTypes.right) {\n return PlacementTypes.left;\n }\n else if (placement === PlacementTypes.left) {\n return PlacementTypes.right;\n }\n else if (placement === PlacementTypes.top) {\n return PlacementTypes.bottom;\n }\n else if (placement === PlacementTypes.bottom) {\n return PlacementTypes.top;\n }\n }\n return placement;\n }\n}\n\nclass TooltipContentComponent {\n constructor(element, renderer) {\n this.element = element;\n this.renderer = renderer;\n }\n get cssClasses() {\n let clz = 'ngx-charts-tooltip-content';\n clz += ` position-${this.placement}`;\n clz += ` type-${this.type}`;\n clz += ` ${this.cssClass}`;\n return clz;\n }\n ngAfterViewInit() {\n setTimeout(this.position.bind(this));\n }\n position() {\n const nativeElm = this.element.nativeElement;\n const hostDim = this.host.nativeElement.getBoundingClientRect();\n // if no dims were found, never show\n if (!hostDim.height && !hostDim.width)\n return;\n const elmDim = nativeElm.getBoundingClientRect();\n this.checkFlip(hostDim, elmDim);\n this.positionContent(nativeElm, hostDim, elmDim);\n if (this.showCaret) {\n this.positionCaret(hostDim, elmDim);\n }\n // animate its entry\n setTimeout(() => this.renderer.addClass(nativeElm, 'animate'), 1);\n }\n positionContent(nativeElm, hostDim, elmDim) {\n const { top, left } = PositionHelper.positionContent(this.placement, elmDim, hostDim, this.spacing, this.alignment);\n this.renderer.setStyle(nativeElm, 'top', `${top}px`);\n this.renderer.setStyle(nativeElm, 'left', `${left}px`);\n }\n positionCaret(hostDim, elmDim) {\n const caretElm = this.caretElm.nativeElement;\n const caretDimensions = caretElm.getBoundingClientRect();\n const { top, left } = PositionHelper.positionCaret(this.placement, elmDim, hostDim, caretDimensions, this.alignment);\n this.renderer.setStyle(caretElm, 'top', `${top}px`);\n this.renderer.setStyle(caretElm, 'left', `${left}px`);\n }\n checkFlip(hostDim, elmDim) {\n this.placement = PositionHelper.determinePlacement(this.placement, elmDim, hostDim, this.spacing);\n }\n onWindowResize() {\n this.position();\n }\n}\nTooltipContentComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-tooltip-content',\n template: `\n <div>\n <span #caretElm [hidden]=\"!showCaret\" class=\"tooltip-caret position-{{ this.placement }}\"> </span>\n <div class=\"tooltip-content\">\n <span *ngIf=\"!title\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ model: context }\"> </ng-template>\n </span>\n <span *ngIf=\"title\" [innerHTML]=\"title\"> </span>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts-tooltip-content{border-radius:3px;display:block;font-weight:400;opacity:0;pointer-events:none!important;position:fixed;z-index:5000}.ngx-charts-tooltip-content.type-popover{background:#fff;border:1px solid #72809b;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);color:#060709;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-bottom:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip{background:rgba(0,0,0,.75);color:#fff;font-size:12px;padding:0 10px;pointer-events:auto;text-align:center}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-bottom:7px solid rgba(0,0,0,.75);border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content .tooltip-label{display:block;font-size:1em;line-height:1em;padding:8px 5px 5px}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.position-right{transform:translate3d(10px,0,0)}.ngx-charts-tooltip-content.position-left{transform:translate3d(-10px,0,0)}.ngx-charts-tooltip-content.position-top{transform:translate3d(0,-10px,0)}.ngx-charts-tooltip-content.position-bottom{transform:translate3d(0,10px,0)}.ngx-charts-tooltip-content.animate{opacity:1;pointer-events:auto;transform:translateZ(0);transition:opacity .3s,transform .3s}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{line-height:1.2em;padding:5px 0;text-align:left}.tooltip-item .tooltip-item-color{border-radius:3px;color:#5b646b;display:inline-block;height:12px;margin-right:5px;width:12px}\"]\n },] }\n];\nTooltipContentComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 }\n];\nTooltipContentComponent.propDecorators = {\n host: [{ type: Input }],\n showCaret: [{ type: Input }],\n type: [{ type: Input }],\n placement: [{ type: Input }],\n alignment: [{ type: Input }],\n spacing: [{ type: Input }],\n cssClass: [{ type: Input }],\n title: [{ type: Input }],\n template: [{ type: Input }],\n context: [{ type: Input }],\n caretElm: [{ type: ViewChild, args: ['caretElm',] }],\n cssClasses: [{ type: HostBinding, args: ['class',] }],\n onWindowResize: [{ type: HostListener, args: ['window:resize',] }]\n};\n__decorate([\n throttleable(100)\n], TooltipContentComponent.prototype, \"onWindowResize\", null);\n\nclass InjectionRegisteryService {\n constructor(injectionService) {\n this.injectionService = injectionService;\n this.defaults = {};\n this.components = new Map();\n }\n getByType(type = this.type) {\n return this.components.get(type);\n }\n create(bindings) {\n return this.createByType(this.type, bindings);\n }\n createByType(type, bindings) {\n bindings = this.assignDefaults(bindings);\n const component = this.injectComponent(type, bindings);\n this.register(type, component);\n return component;\n }\n destroy(instance) {\n const compsByType = this.components.get(instance.componentType);\n if (compsByType && compsByType.length) {\n const idx = compsByType.indexOf(instance);\n if (idx > -1) {\n const component = compsByType[idx];\n component.destroy();\n compsByType.splice(idx, 1);\n }\n }\n }\n destroyAll() {\n this.destroyByType(this.type);\n }\n destroyByType(type) {\n const comps = this.components.get(type);\n if (comps && comps.length) {\n let i = comps.length - 1;\n while (i >= 0) {\n this.destroy(comps[i--]);\n }\n }\n }\n injectComponent(type, bindings) {\n return this.injectionService.appendComponent(type, bindings);\n }\n assignDefaults(bindings) {\n const inputs = Object.assign({}, this.defaults.inputs);\n const outputs = Object.assign({}, this.defaults.outputs);\n if (!bindings.inputs && !bindings.outputs) {\n bindings = { inputs: bindings };\n }\n if (inputs) {\n bindings.inputs = Object.assign(Object.assign({}, inputs), bindings.inputs);\n }\n if (outputs) {\n bindings.outputs = Object.assign(Object.assign({}, outputs), bindings.outputs);\n }\n return bindings;\n }\n register(type, component) {\n if (!this.components.has(type)) {\n this.components.set(type, []);\n }\n const types = this.components.get(type);\n types.push(component);\n }\n}\n\nclass TooltipService extends InjectionRegisteryService {\n constructor(injectionService) {\n super(injectionService);\n this.type = TooltipContentComponent;\n }\n}\nTooltipService.decorators = [\n { type: Injectable }\n];\nTooltipService.ctorParameters = () => [\n { type: InjectionService }\n];\n\nclass ChartComponent {\n constructor() {\n this.showLegend = false;\n this.animations = true;\n this.legendLabelClick = new EventEmitter();\n this.legendLabelActivate = new EventEmitter();\n this.legendLabelDeactivate = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n let legendColumns = 0;\n if (this.showLegend) {\n this.legendType = this.getLegendType();\n if (!this.legendOptions || this.legendOptions.position === 'right') {\n if (this.legendType === 'scaleLegend') {\n legendColumns = 1;\n }\n else {\n legendColumns = 2;\n }\n }\n }\n const chartColumns = 12 - legendColumns;\n this.chartWidth = Math.floor((this.view[0] * chartColumns) / 12.0);\n this.legendWidth =\n !this.legendOptions || this.legendOptions.position === 'right'\n ? Math.floor((this.view[0] * legendColumns) / 12.0)\n : this.chartWidth;\n }\n getLegendType() {\n if (this.legendOptions.scaleType === 'linear') {\n return 'scaleLegend';\n }\n else {\n return 'legend';\n }\n }\n}\nChartComponent.decorators = [\n { type: Component, args: [{\n providers: [TooltipService],\n selector: 'ngx-charts-chart',\n template: `\n <div class=\"ngx-charts-outer\" [style.width.px]=\"view[0]\" [@animationState]=\"'active'\" [@.disabled]=\"!animations\">\n <svg class=\"ngx-charts\" [attr.width]=\"chartWidth\" [attr.height]=\"view[1]\">\n <ng-content></ng-content>\n </svg>\n <ngx-charts-scale-legend\n *ngIf=\"showLegend && legendType === 'scaleLegend'\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === 'below'\"\n [valueRange]=\"legendOptions.domain\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n >\n </ngx-charts-scale-legend>\n <ngx-charts-legend\n *ngIf=\"showLegend && legendType === 'legend'\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === 'below'\"\n [data]=\"legendOptions.domain\"\n [title]=\"legendOptions.title\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n [activeEntries]=\"activeEntries\"\n (labelClick)=\"legendLabelClick.emit($event)\"\n (labelActivate)=\"legendLabelActivate.emit($event)\"\n (labelDeactivate)=\"legendLabelDeactivate.emit($event)\"\n >\n </ngx-charts-legend>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [style({ opacity: 0 }), animate('500ms 100ms', style({ opacity: 1 }))])\n ])\n ]\n },] }\n];\nChartComponent.propDecorators = {\n view: [{ type: Input }],\n showLegend: [{ type: Input }],\n legendOptions: [{ type: Input }],\n data: [{ type: Input }],\n legendData: [{ type: Input }],\n legendType: [{ type: Input }],\n colors: [{ type: Input }],\n activeEntries: [{ type: Input }],\n animations: [{ type: Input }],\n legendLabelClick: [{ type: Output }],\n legendLabelActivate: [{ type: Output }],\n legendLabelDeactivate: [{ type: Output }]\n};\n\n/**\n * Visibility Observer\n */\nclass VisibilityObserver {\n constructor(element, zone) {\n this.element = element;\n this.zone = zone;\n this.visible = new EventEmitter();\n this.isVisible = false;\n this.runCheck();\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n onVisibilityChange() {\n // trigger zone recalc for columns\n this.zone.run(() => {\n this.isVisible = true;\n this.visible.emit(true);\n });\n }\n runCheck() {\n const check = () => {\n if (!this.element) {\n return;\n }\n // https://davidwalsh.name/offsetheight-visibility\n const { offsetHeight, offsetWidth } = this.element.nativeElement;\n if (offsetHeight && offsetWidth) {\n clearTimeout(this.timeout);\n this.onVisibilityChange();\n }\n else {\n clearTimeout(this.timeout);\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check(), 100);\n });\n }\n };\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check());\n });\n }\n}\nVisibilityObserver.decorators = [\n { type: Directive, args: [{\n selector: 'visibility-observer'\n },] }\n];\nVisibilityObserver.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone }\n];\nVisibilityObserver.propDecorators = {\n visible: [{ type: Output }]\n};\n\nclass BaseChartComponent {\n constructor(chartElement, zone, cd) {\n this.chartElement = chartElement;\n this.zone = zone;\n this.cd = cd;\n this.scheme = 'cool';\n this.schemeType = 'ordinal';\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngAfterViewInit() {\n this.bindWindowResizeEvent();\n // listen for visibility of the element for hidden by default scenario\n this.visibilityObserver = new VisibilityObserver(this.chartElement, this.zone);\n this.visibilityObserver.visible.subscribe(this.update.bind(this));\n }\n ngOnDestroy() {\n this.unbindEvents();\n if (this.visibilityObserver) {\n this.visibilityObserver.visible.unsubscribe();\n this.visibilityObserver.destroy();\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.results) {\n this.results = this.cloneData(this.results);\n }\n else {\n this.results = [];\n }\n if (this.view) {\n this.width = this.view[0];\n this.height = this.view[1];\n }\n else {\n const dims = this.getContainerDims();\n if (dims) {\n this.width = dims.width;\n this.height = dims.height;\n }\n }\n // default values if width or height are 0 or undefined\n if (!this.width) {\n this.width = 600;\n }\n if (!this.height) {\n this.height = 400;\n }\n this.width = Math.floor(this.width);\n this.height = Math.floor(this.height);\n if (this.cd) {\n this.cd.markForCheck();\n }\n }\n getContainerDims() {\n let width;\n let height;\n const hostElem = this.chartElement.nativeElement;\n if (hostElem.parentNode !== null) {\n // Get the container dimensions\n const dims = hostElem.parentNode.getBoundingClientRect();\n width = dims.width;\n height = dims.height;\n }\n if (width && height) {\n return { width, height };\n }\n return null;\n }\n /**\n * Converts all date objects that appear as name\n * into formatted date strings\n */\n formatDates() {\n for (let i = 0; i < this.results.length; i++) {\n const g = this.results[i];\n g.label = g.name;\n if (g.label instanceof Date) {\n g.label = g.label.toLocaleDateString();\n }\n if (g.series) {\n for (let j = 0; j < g.series.length; j++) {\n const d = g.series[j];\n d.label = d.name;\n if (d.label instanceof Date) {\n d.label = d.label.toLocaleDateString();\n }\n }\n }\n }\n }\n unbindEvents() {\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n bindWindowResizeEvent() {\n const source = fromEvent(window, 'resize');\n const subscription = source.pipe(debounceTime(200)).subscribe(e => {\n this.update();\n if (this.cd) {\n this.cd.markForCheck();\n }\n });\n this.resizeSubscription = subscription;\n }\n /**\n * Clones the data into a new object\n *\n * @memberOf BaseChart\n */\n cloneData(data) {\n const results = [];\n for (const item of data) {\n const copy = {\n name: item['name']\n };\n if (item['value'] !== undefined) {\n copy['value'] = item['value'];\n }\n if (item['series'] !== undefined) {\n copy['series'] = [];\n for (const seriesItem of item['series']) {\n const seriesItemCopy = Object.assign({}, seriesItem);\n copy['series'].push(seriesItemCopy);\n }\n }\n if (item['extra'] !== undefined) {\n copy['extra'] = JSON.parse(JSON.stringify(item['extra']));\n }\n results.push(copy);\n }\n return results;\n }\n}\nBaseChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'base-chart',\n template: ` <div></div> `\n },] }\n];\nBaseChartComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: ChangeDetectorRef }\n];\nBaseChartComponent.propDecorators = {\n results: [{ type: Input }],\n view: [{ type: Input }],\n scheme: [{ type: Input }],\n schemeType: [{ type: Input }],\n customColors: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass AxisLabelComponent {\n constructor(element) {\n this.textHeight = 25;\n this.margin = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.strokeWidth = '0.01';\n this.textAnchor = 'middle';\n this.transform = '';\n switch (this.orient) {\n case 'top':\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case 'bottom':\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case 'left':\n this.y = -(this.offset + this.textHeight + this.margin);\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n case 'right':\n this.y = this.offset + this.margin;\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n default:\n }\n }\n}\nAxisLabelComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-axis-label]',\n template: `\n <svg:text\n [attr.stroke-width]=\"strokeWidth\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n >\n {{ label }}\n </svg:text>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nAxisLabelComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nAxisLabelComponent.propDecorators = {\n orient: [{ type: Input }],\n label: [{ type: Input }],\n offset: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }]\n};\n\nfunction trimLabel(s, max = 16) {\n if (typeof s !== 'string') {\n if (typeof s === 'number') {\n return s + '';\n }\n else {\n return '';\n }\n }\n s = s.trim();\n if (s.length <= max) {\n return s;\n }\n else {\n return `${s.slice(0, max)}...`;\n }\n}\n\nfunction reduceTicks(ticks, maxTicks) {\n if (ticks.length > maxTicks) {\n const reduced = [];\n const modulus = Math.floor(ticks.length / maxTicks);\n for (let i = 0; i < ticks.length; i++) {\n if (i % modulus === 0) {\n reduced.push(ticks[i]);\n }\n }\n ticks = reduced;\n }\n return ticks;\n}\n\nclass XAxisTicksComponent {\n constructor() {\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.rotateTicks = true;\n this.dimensionsChanged = new EventEmitter();\n this.verticalSpacing = 20;\n this.rotateLabels = false;\n this.innerTickSize = 6;\n this.outerTickSize = 6;\n this.tickPadding = 3;\n this.textAnchor = 'middle';\n this.maxTicksLength = 0;\n this.maxAllowedLength = 16;\n this.height = 0;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n const height = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height, 10);\n if (height !== this.height) {\n this.height = height;\n this.dimensionsChanged.emit({ height });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n const scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n }\n else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n }\n else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const angle = this.rotateTicks ? this.getRotationAngle(this.ticks) : null;\n this.adjustedScale = this.scale.bandwidth\n ? function (d) {\n return this.scale(d) + this.scale.bandwidth() * 0.5;\n }\n : this.scale;\n this.textTransform = '';\n if (angle && angle !== 0) {\n this.textTransform = `rotate(${angle})`;\n this.textAnchor = 'end';\n this.verticalSpacing = 10;\n }\n else {\n this.textAnchor = 'middle';\n }\n setTimeout(() => this.updateDims());\n }\n getRotationAngle(ticks) {\n let angle = 0;\n this.maxTicksLength = 0;\n for (let i = 0; i < ticks.length; i++) {\n const tick = this.tickFormat(ticks[i]).toString();\n let tickLength = tick.length;\n if (this.trimTicks) {\n tickLength = this.tickTrim(tick).length;\n }\n if (tickLength > this.maxTicksLength) {\n this.maxTicksLength = tickLength;\n }\n }\n const len = Math.min(this.maxTicksLength, this.maxAllowedLength);\n const charWidth = 8; // need to measure this\n const wordWidth = len * charWidth;\n let baseWidth = wordWidth;\n const maxBaseWidth = Math.floor(this.width / ticks.length);\n // calculate optimal angle\n while (baseWidth > maxBaseWidth && angle > -90) {\n angle -= 30;\n baseWidth = Math.cos(angle * (Math.PI / 180)) * wordWidth;\n }\n return angle;\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(100);\n if (this.tickValues) {\n ticks = this.tickValues;\n }\n else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n }\n else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickWidth) {\n return Math.floor(this.width / tickWidth);\n }\n tickTransform(tick) {\n return 'translate(' + this.adjustedScale(tick) + ',' + this.verticalSpacing + ')';\n }\n gridLineTransform() {\n return `translate(0,${-this.verticalSpacing - 5})`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n}\nXAxisTicksComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-x-axis-ticks]',\n template: `\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"tickTransform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"textTransform\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"tickTransform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line class=\"gridline-path gridline-path-vertical\" [attr.y1]=\"-gridLineHeight\" y2=\"0\" />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nXAxisTicksComponent.propDecorators = {\n scale: [{ type: Input }],\n orient: [{ type: Input }],\n tickArguments: [{ type: Input }],\n tickValues: [{ type: Input }],\n tickStroke: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n gridLineHeight: [{ type: Input }],\n width: [{ type: Input }],\n rotateTicks: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksElement: [{ type: ViewChild, args: ['ticksel',] }]\n};\n\nclass XAxisComponent {\n constructor() {\n this.rotateTicks = true;\n this.showGridLines = false;\n this.xOrient = 'bottom';\n this.xAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.xAxisClassName = 'x axis';\n this.labelOffset = 0;\n this.fill = 'none';\n this.stroke = 'stroke';\n this.tickStroke = '#ccc';\n this.strokeWidth = 'none';\n this.padding = 5;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.transform = `translate(0,${this.xAxisOffset + this.padding + this.dims.height})`;\n if (typeof this.xAxisTickCount !== 'undefined') {\n this.tickArguments = [this.xAxisTickCount];\n }\n }\n emitTicksHeight({ height }) {\n const newLabelOffset = height + 25 + 5;\n if (newLabelOffset !== this.labelOffset) {\n this.labelOffset = newLabelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({ height });\n }, 0);\n }\n }\n}\nXAxisComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-x-axis]',\n template: `\n <svg:g [attr.class]=\"xAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-x-axis-ticks\n *ngIf=\"xScale\"\n [trimTicks]=\"trimTicks\"\n [rotateTicks]=\"rotateTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"xScale\"\n [orient]=\"xOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineHeight]=\"dims.height\"\n [width]=\"dims.width\"\n [tickValues]=\"ticks\"\n (dimensionsChanged)=\"emitTicksHeight($event)\"\n />\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"'bottom'\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nXAxisComponent.propDecorators = {\n xScale: [{ type: Input }],\n dims: [{ type: Input }],\n trimTicks: [{ type: Input }],\n rotateTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n showLabel: [{ type: Input }],\n labelText: [{ type: Input }],\n ticks: [{ type: Input }],\n xAxisTickInterval: [{ type: Input }],\n xAxisTickCount: [{ type: Input }],\n xOrient: [{ type: Input }],\n xAxisOffset: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksComponent: [{ type: ViewChild, args: [XAxisTicksComponent,] }]\n};\n\n/**\n * Generates a rounded rectanglar path\n *\n * @export\n * @param x, y, w, h, r, tl, tr, bl, br\n */\nfunction roundedRect(x, y, w, h, r, [tl, tr, bl, br]) {\n let retval = '';\n w = Math.floor(w);\n h = Math.floor(h);\n w = w === 0 ? 1 : w;\n h = h === 0 ? 1 : h;\n retval = `M${[x + r, y]}`;\n retval += `h${w - 2 * r}`;\n if (tr) {\n retval += `a${[r, r]} 0 0 1 ${[r, r]}`;\n }\n else {\n retval += `h${r}v${r}`;\n }\n retval += `v${h - 2 * r}`;\n if (br) {\n retval += `a${[r, r]} 0 0 1 ${[-r, r]}`;\n }\n else {\n retval += `v${r}h${-r}`;\n }\n retval += `h${2 * r - w}`;\n if (bl) {\n retval += `a${[r, r]} 0 0 1 ${[-r, -r]}`;\n }\n else {\n retval += `h${-r}v${-r}`;\n }\n retval += `v${2 * r - h}`;\n if (tl) {\n retval += `a${[r, r]} 0 0 1 ${[r, -r]}`;\n }\n else {\n retval += `v${-r}h${r}`;\n }\n retval += `z`;\n return retval;\n}\n\nclass YAxisTicksComponent {\n constructor() {\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.showRefLabels = false;\n this.showRefLines = false;\n this.dimensionsChanged = new EventEmitter();\n this.innerTickSize = 6;\n this.tickPadding = 3;\n this.verticalSpacing = 20;\n this.textAnchor = 'middle';\n this.width = 0;\n this.outerTickSize = 6;\n this.rotateLabels = false;\n this.referenceLineLength = 0;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n const width = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width, 10);\n if (width !== this.width) {\n this.width = width;\n this.dimensionsChanged.emit({ width });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n let scale;\n const sign = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this.tickSpacing = Math.max(this.innerTickSize, 0) + this.tickPadding;\n scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n }\n else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n }\n else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n this.adjustedScale = scale.bandwidth\n ? function (d) {\n return scale(d) + scale.bandwidth() * 0.5;\n }\n : scale;\n if (this.showRefLines && this.referenceLines) {\n this.setReferencelines();\n }\n switch (this.orient) {\n case 'top':\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = 'middle';\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case 'bottom':\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = 'middle';\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case 'left':\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = 'end';\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n case 'right':\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = 'start';\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n default:\n }\n setTimeout(() => this.updateDims());\n }\n setReferencelines() {\n this.refMin = this.adjustedScale(Math.min.apply(null, this.referenceLines.map(item => item.value)));\n this.refMax = this.adjustedScale(Math.max.apply(null, this.referenceLines.map(item => item.value)));\n this.referenceLineLength = this.referenceLines.length;\n this.referenceAreaPath = roundedRect(0, this.refMax, this.gridLineWidth, this.refMin - this.refMax, 0, [\n false,\n false,\n false,\n false\n ]);\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(50);\n if (this.tickValues) {\n ticks = this.tickValues;\n }\n else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n }\n else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickHeight) {\n return Math.floor(this.height / tickHeight);\n }\n tickTransform(tick) {\n return `translate(${this.adjustedScale(tick)},${this.verticalSpacing})`;\n }\n gridLineTransform() {\n return `translate(5,0)`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n}\nYAxisTicksComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-y-axis-ticks]',\n template: `\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"transform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.dy]=\"dy\"\n [attr.x]=\"x1\"\n [attr.y]=\"y1\"\n [attr.text-anchor]=\"textAnchor\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:path\n *ngIf=\"referenceLineLength > 1 && refMax && refMin && showRefLines\"\n class=\"reference-area\"\n [attr.d]=\"referenceAreaPath\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"transform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line\n *ngIf=\"orient === 'left'\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n />\n <svg:line\n *ngIf=\"orient === 'right'\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"-gridLineWidth\"\n />\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let refLine of referenceLines\">\n <svg:g *ngIf=\"showRefLines\" [attr.transform]=\"transform(refLine.value)\">\n <svg:line\n class=\"refline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngIf=\"showRefLabels\">\n <title>{{ tickTrim(tickFormat(refLine.value)) }}</title>\n <svg:text\n class=\"refline-label\"\n [attr.dy]=\"dy\"\n [attr.y]=\"-6\"\n [attr.x]=\"gridLineWidth\"\n [attr.text-anchor]=\"textAnchor\"\n >\n {{ refLine.name }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nYAxisTicksComponent.propDecorators = {\n scale: [{ type: Input }],\n orient: [{ type: Input }],\n tickArguments: [{ type: Input }],\n tickValues: [{ type: Input }],\n tickStroke: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n gridLineWidth: [{ type: Input }],\n height: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n showRefLines: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksElement: [{ type: ViewChild, args: ['ticksel',] }]\n};\n\nclass YAxisComponent {\n constructor() {\n this.showGridLines = false;\n this.yOrient = 'left';\n this.yAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.yAxisClassName = 'y axis';\n this.labelOffset = 15;\n this.fill = 'none';\n this.stroke = '#CCC';\n this.tickStroke = '#CCC';\n this.strokeWidth = 1;\n this.padding = 5;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.offset = -(this.yAxisOffset + this.padding);\n if (this.yOrient === 'right') {\n this.labelOffset = 65;\n this.transform = `translate(${this.offset + this.dims.width} , 0)`;\n }\n else {\n this.offset = this.offset;\n this.transform = `translate(${this.offset} , 0)`;\n }\n if (this.yAxisTickCount !== undefined) {\n this.tickArguments = [this.yAxisTickCount];\n }\n }\n emitTicksWidth({ width }) {\n if (width !== this.labelOffset && this.yOrient === 'right') {\n this.labelOffset = width + this.labelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({ width });\n }, 0);\n }\n else if (width !== this.labelOffset) {\n this.labelOffset = width;\n setTimeout(() => {\n this.dimensionsChanged.emit({ width });\n }, 0);\n }\n }\n}\nYAxisComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-y-axis]',\n template: `\n <svg:g [attr.class]=\"yAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-y-axis-ticks\n *ngIf=\"yScale\"\n [trimTicks]=\"trimTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickValues]=\"ticks\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"yScale\"\n [orient]=\"yOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineWidth]=\"dims.width\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n [height]=\"dims.height\"\n (dimensionsChanged)=\"emitTicksWidth($event)\"\n />\n\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"yOrient\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nYAxisComponent.propDecorators = {\n yScale: [{ type: Input }],\n dims: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n ticks: [{ type: Input }],\n showGridLines: [{ type: Input }],\n showLabel: [{ type: Input }],\n labelText: [{ type: Input }],\n yAxisTickInterval: [{ type: Input }],\n yAxisTickCount: [{ type: Input }],\n yOrient: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n yAxisOffset: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksComponent: [{ type: ViewChild, args: [YAxisTicksComponent,] }]\n};\n\nclass AxesModule {\n}\nAxesModule.decorators = [\n { type: NgModule, args: [{\n imports: [CommonModule],\n declarations: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent],\n exports: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent]\n },] }\n];\n\nvar StyleTypes;\n(function (StyleTypes) {\n StyleTypes[StyleTypes[\"popover\"] = 'popover'] = \"popover\";\n StyleTypes[StyleTypes[\"tooltip\"] = 'tooltip'] = \"tooltip\";\n})(StyleTypes || (StyleTypes = {}));\n\nvar AlignmentTypes;\n(function (AlignmentTypes) {\n AlignmentTypes[AlignmentTypes[\"left\"] = 'left'] = \"left\";\n AlignmentTypes[AlignmentTypes[\"center\"] = 'center'] = \"center\";\n AlignmentTypes[AlignmentTypes[\"right\"] = 'right'] = \"right\";\n})(AlignmentTypes || (AlignmentTypes = {}));\n\nvar ShowTypes;\n(function (ShowTypes) {\n ShowTypes[ShowTypes[\"all\"] = 'all'] = \"all\";\n ShowTypes[ShowTypes[\"focus\"] = 'focus'] = \"focus\";\n ShowTypes[ShowTypes[\"mouseover\"] = 'mouseover'] = \"mouseover\";\n})(ShowTypes || (ShowTypes = {}));\n\nclass TooltipDirective {\n constructor(tooltipService, viewContainerRef, renderer) {\n this.tooltipService = tooltipService;\n this.viewContainerRef = viewContainerRef;\n this.renderer = renderer;\n this.tooltipCssClass = '';\n this.tooltipTitle = '';\n this.tooltipAppendToBody = true;\n this.tooltipSpacing = 10;\n this.tooltipDisabled = false;\n this.tooltipShowCaret = true;\n this.tooltipPlacement = PlacementTypes.top;\n this.tooltipAlignment = AlignmentTypes.center;\n this.tooltipType = StyleTypes.popover;\n this.tooltipCloseOnClickOutside = true;\n this.tooltipCloseOnMouseLeave = true;\n this.tooltipHideTimeout = 300;\n this.tooltipShowTimeout = 100;\n this.tooltipShowEvent = ShowTypes.all;\n this.tooltipImmediateExit = false;\n this.show = new EventEmitter();\n this.hide = new EventEmitter();\n }\n get listensForFocus() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.focus;\n }\n get listensForHover() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.mouseover;\n }\n ngOnDestroy() {\n this.hideTooltip(true);\n }\n onFocus() {\n if (this.listensForFocus) {\n this.showTooltip();\n }\n }\n onBlur() {\n if (this.listensForFocus) {\n this.hideTooltip(true);\n }\n }\n onMouseEnter() {\n if (this.listensForHover) {\n this.showTooltip();\n }\n }\n onMouseLeave(target) {\n if (this.listensForHover && this.tooltipCloseOnMouseLeave) {\n clearTimeout(this.timeout);\n if (this.component) {\n const contentDom = this.component.instance.element.nativeElement;\n const contains = contentDom.contains(target);\n if (contains)\n return;\n }\n this.hideTooltip(this.tooltipImmediateExit);\n }\n }\n onMouseClick() {\n if (this.listensForHover) {\n this.hideTooltip(true);\n }\n }\n showTooltip(immediate) {\n if (this.component || this.tooltipDisabled)\n return;\n const time = immediate ? 0 : this.tooltipShowTimeout;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.tooltipService.destroyAll();\n const options = this.createBoundOptions();\n this.component = this.tooltipService.create(options);\n // add a tiny timeout to avoid event re-triggers\n setTimeout(() => {\n if (this.component) {\n this.addHideListeners(this.component.instance.element.nativeElement);\n }\n }, 10);\n this.show.emit(true);\n }, time);\n }\n addHideListeners(tooltip) {\n // on mouse enter, cancel the hide triggered by the leave\n this.mouseEnterContentEvent = this.renderer.listen(tooltip, 'mouseenter', () => {\n clearTimeout(this.timeout);\n });\n // content mouse leave listener\n if (this.tooltipCloseOnMouseLeave) {\n this.mouseLeaveContentEvent = this.renderer.listen(tooltip, 'mouseleave', () => {\n this.hideTooltip(this.tooltipImmediateExit);\n });\n }\n // content close on click outside\n if (this.tooltipCloseOnClickOutside) {\n this.documentClickEvent = this.renderer.listen(document, 'click', event => {\n const contains = tooltip.contains(event.target);\n if (!contains)\n this.hideTooltip();\n });\n }\n }\n hideTooltip(immediate = false) {\n if (!this.component)\n return;\n const destroyFn = () => {\n // remove events\n if (this.mouseLeaveContentEvent)\n this.mouseLeaveContentEvent();\n if (this.mouseEnterContentEvent)\n this.mouseEnterContentEvent();\n if (this.documentClickEvent)\n this.documentClickEvent();\n // emit events\n this.hide.emit(true);\n // destroy component\n this.tooltipService.destroy(this.component);\n this.component = undefined;\n };\n clearTimeout(this.timeout);\n if (!immediate) {\n this.timeout = setTimeout(destroyFn, this.tooltipHideTimeout);\n }\n else {\n destroyFn();\n }\n }\n createBoundOptions() {\n return {\n title: this.tooltipTitle,\n template: this.tooltipTemplate,\n host: this.viewContainerRef.element,\n placement: this.tooltipPlacement,\n alignment: this.tooltipAlignment,\n type: this.tooltipType,\n showCaret: this.tooltipShowCaret,\n cssClass: this.tooltipCssClass,\n spacing: this.tooltipSpacing,\n context: this.tooltipContext\n };\n }\n}\nTooltipDirective.decorators = [\n { type: Directive, args: [{ selector: '[ngx-tooltip]' },] }\n];\nTooltipDirective.ctorParameters = () => [\n { type: TooltipService },\n { type: ViewContainerRef },\n { type: Renderer2 }\n];\nTooltipDirective.propDecorators = {\n tooltipCssClass: [{ type: Input }],\n tooltipTitle: [{ type: Input }],\n tooltipAppendToBody: [{ type: Input }],\n tooltipSpacing: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipShowCaret: [{ type: Input }],\n tooltipPlacement: [{ type: Input }],\n tooltipAlignment: [{ type: Input }],\n tooltipType: [{ type: Input }],\n tooltipCloseOnClickOutside: [{ type: Input }],\n tooltipCloseOnMouseLeave: [{ type: Input }],\n tooltipHideTimeout: [{ type: Input }],\n tooltipShowTimeout: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n tooltipShowEvent: [{ type: Input }],\n tooltipContext: [{ type: Input }],\n tooltipImmediateExit: [{ type: Input }],\n show: [{ type: Output }],\n hide: [{ type: Output }],\n onFocus: [{ type: HostListener, args: ['focusin',] }],\n onBlur: [{ type: HostListener, args: ['blur',] }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave', ['$event.target'],] }],\n onMouseClick: [{ type: HostListener, args: ['click',] }]\n};\n\nclass TooltipModule {\n}\nTooltipModule.decorators = [\n { type: NgModule, args: [{\n declarations: [TooltipContentComponent, TooltipDirective],\n providers: [InjectionService, TooltipService],\n exports: [TooltipContentComponent, TooltipDirective],\n imports: [CommonModule],\n entryComponents: [TooltipContentComponent]\n },] }\n];\n\n/**\n * Formats a label given a date, number or string.\n *\n * @export\n */\nfunction formatLabel(label) {\n if (label instanceof Date) {\n label = label.toLocaleDateString();\n }\n else {\n label = label.toLocaleString();\n }\n return label;\n}\n/**\n * Escapes a label.\n *\n * @export\n */\nfunction escapeLabel(label) {\n return label.toLocaleString().replace(/[&'`\"<>]/g, match => {\n return {\n '&': '&',\n // tslint:disable-next-line: quotemark\n \"'\": ''',\n '`': '`',\n '\"': '"',\n '<': '<',\n '>': '>'\n }[match];\n });\n}\n\nconst cache = {};\n/**\n * Generates a short id.\n *\n * Description:\n * A 4-character alphanumeric sequence (364 = 1.6 million)\n * This should only be used for JavaScript specific models.\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n *\n * Example: `ebgf`\n */\nfunction id() {\n let newId = ('0000' + ((Math.random() * Math.pow(36, 4)) << 0).toString(36)).slice(-4);\n // append a 'a' because neo gets mad\n newId = `a${newId}`;\n // ensure not already used\n if (!cache[newId]) {\n cache[newId] = true;\n return newId;\n }\n return id();\n}\n\nclass CircleSeriesComponent {\n constructor() {\n this.type = 'standard';\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.barVisible = false;\n }\n ngOnInit() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.circle = this.getActiveCircle();\n }\n getActiveCircle() {\n const indexActiveDataPoint = this.data.series.findIndex(d => {\n const label = d.name;\n return label && this.visibleValue && label.toString() === this.visibleValue.toString() && d.value !== undefined;\n });\n if (indexActiveDataPoint === -1) {\n // No valid point is 'active/hovered over' at this moment.\n return undefined;\n }\n return this.mapDataPointToCircle(this.data.series[indexActiveDataPoint], indexActiveDataPoint);\n }\n mapDataPointToCircle(d, i) {\n const seriesName = this.data.name;\n const value = d.value;\n const label = d.name;\n const tooltipLabel = formatLabel(label);\n let cx;\n if (this.scaleType === 'time') {\n cx = this.xScale(label);\n }\n else if (this.scaleType === 'linear') {\n cx = this.xScale(Number(label));\n }\n else {\n cx = this.xScale(label);\n }\n const cy = this.yScale(this.type === 'standard' ? value : d.d1);\n const radius = 5;\n const height = this.yScale.range()[0] - cy;\n const opacity = 1;\n let color;\n if (this.colors.scaleType === 'linear') {\n if (this.type === 'standard') {\n color = this.colors.getColor(value);\n }\n else {\n color = this.colors.getColor(d.d1);\n }\n }\n else {\n color = this.colors.getColor(seriesName);\n }\n const data = Object.assign({}, d, {\n series: seriesName,\n value,\n name: label\n });\n return {\n classNames: [`circle-data-${i}`],\n value,\n label,\n data,\n cx,\n cy,\n radius,\n height,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n gradientStops: this.getGradientStops(color),\n min: d.min,\n max: d.max\n };\n }\n getTooltipText({ tooltipLabel, value, seriesName, min, max }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(seriesName)} • ${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}${this.getTooltipMinMaxText(min, max)}</span>\n `;\n }\n getTooltipMinMaxText(min, max) {\n if (min !== undefined || max !== undefined) {\n let result = ' (';\n if (min !== undefined) {\n if (max === undefined) {\n result += '≥';\n }\n result += min.toLocaleString();\n if (max !== undefined) {\n result += ' - ';\n }\n }\n else if (max !== undefined) {\n result += '≤';\n }\n if (max !== undefined) {\n result += max.toLocaleString();\n }\n result += ')';\n return result;\n }\n else {\n return '';\n }\n }\n getGradientStops(color) {\n return [\n {\n offset: 0,\n color,\n opacity: 0.2\n },\n {\n offset: 100,\n color,\n opacity: 1\n }\n ];\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n activateCircle() {\n this.barVisible = true;\n this.activate.emit({ name: this.data.name });\n }\n deactivateCircle() {\n this.barVisible = false;\n this.circle.opacity = 0;\n this.deactivate.emit({ name: this.data.name });\n }\n}\nCircleSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-circle-series]',\n template: `\n <svg:g *ngIf=\"circle\">\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n orientation=\"vertical\"\n [name]=\"gradientId\"\n [stops]=\"circle.gradientStops\"\n />\n </defs>\n <svg:rect\n *ngIf=\"barVisible && type === 'standard'\"\n [@animationState]=\"'active'\"\n [attr.x]=\"circle.cx - circle.radius\"\n [attr.y]=\"circle.cy\"\n [attr.width]=\"circle.radius * 2\"\n [attr.height]=\"circle.height\"\n [attr.fill]=\"gradientFill\"\n class=\"tooltip-bar\"\n />\n <svg:g\n ngx-charts-circle\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [class.active]=\"isActive({ name: circle.seriesName })\"\n [pointerEvents]=\"circle.value === 0 ? 'none' : 'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle()\"\n (deactivate)=\"deactivateCircle()\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 1 }))\n ])\n ])\n ]\n },] }\n];\nCircleSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n type: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n visibleValue: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass CircleComponent {\n constructor() {\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n ngOnChanges(changes) {\n this.classNames = Array.isArray(this.classNames) ? this.classNames.join(' ') : '';\n this.classNames += 'circle';\n }\n}\nCircleComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-circle]',\n template: `\n <svg:circle\n [attr.cx]=\"cx\"\n [attr.cy]=\"cy\"\n [attr.r]=\"r\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n [attr.opacity]=\"circleOpacity\"\n [attr.class]=\"classNames\"\n [attr.pointer-events]=\"pointerEvents\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nCircleComponent.propDecorators = {\n cx: [{ type: Input }],\n cy: [{ type: Input }],\n r: [{ type: Input }],\n fill: [{ type: Input }],\n stroke: [{ type: Input }],\n data: [{ type: Input }],\n classNames: [{ type: Input }],\n circleOpacity: [{ type: Input }],\n pointerEvents: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onClick: [{ type: HostListener, args: ['click',] }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass GridPanelComponent {\n}\nGridPanelComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-grid-panel]',\n template: `\n <svg:rect [attr.height]=\"height\" [attr.width]=\"width\" [attr.x]=\"x\" [attr.y]=\"y\" stroke=\"none\" class=\"gridpanel\" />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nGridPanelComponent.propDecorators = {\n path: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }]\n};\n\nclass GridPanelSeriesComponent {\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.gridPanels = this.getGridPanels();\n }\n getGridPanels() {\n return this.data.map(d => {\n let offset;\n let width;\n let height;\n let x;\n let y;\n let className = 'odd';\n if (this.orient === 'vertical') {\n const position = this.xScale(d.name);\n const positionIndex = Number.parseInt((position / this.xScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = 'even';\n }\n offset = this.xScale.bandwidth() * this.xScale.paddingInner();\n width = this.xScale.bandwidth() + offset;\n height = this.dims.height;\n x = this.xScale(d.name) - offset / 2;\n y = 0;\n }\n else if (this.orient === 'horizontal') {\n const position = this.yScale(d.name);\n const positionIndex = Number.parseInt((position / this.yScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = 'even';\n }\n offset = this.yScale.bandwidth() * this.yScale.paddingInner();\n width = this.dims.width;\n height = this.yScale.bandwidth() + offset;\n x = 0;\n y = this.yScale(d.name) - offset / 2;\n }\n return {\n name: d.name,\n class: className,\n height,\n width,\n x,\n y\n };\n });\n }\n}\nGridPanelSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-grid-panel-series]',\n template: `\n <svg:g\n ngx-charts-grid-panel\n *ngFor=\"let gridPanel of gridPanels\"\n [height]=\"gridPanel.height\"\n [width]=\"gridPanel.width\"\n [x]=\"gridPanel.x\"\n [y]=\"gridPanel.y\"\n [class.grid-panel]=\"true\"\n [class.odd]=\"gridPanel.class === 'odd'\"\n [class.even]=\"gridPanel.class === 'even'\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nGridPanelSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n dims: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n orient: [{ type: Input }]\n};\n\nclass SvgLinearGradientComponent {\n constructor() {\n this.orientation = 'vertical';\n }\n ngOnChanges(changes) {\n this.x1 = '0%';\n this.x2 = '0%';\n this.y1 = '0%';\n this.y2 = '0%';\n if (this.orientation === 'horizontal') {\n this.x2 = '100%';\n }\n else if (this.orientation === 'vertical') {\n this.y1 = '100%';\n }\n }\n}\nSvgLinearGradientComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-svg-linear-gradient]',\n template: `\n <svg:linearGradient [id]=\"name\" [attr.x1]=\"x1\" [attr.y1]=\"y1\" [attr.x2]=\"x2\" [attr.y2]=\"y2\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:linearGradient>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nSvgLinearGradientComponent.propDecorators = {\n orientation: [{ type: Input }],\n name: [{ type: Input }],\n stops: [{ type: Input }]\n};\n\nclass SvgRadialGradientComponent {\n constructor() {\n this.endOpacity = 1;\n this.cx = 0;\n this.cy = 0;\n }\n get stops() {\n return this.stopsInput || this.stopsDefault;\n }\n set stops(value) {\n this.stopsInput = value;\n }\n ngOnChanges(changes) {\n this.r = '30%';\n if ('color' in changes || 'startOpacity' in changes || 'endOpacity' in changes) {\n this.stopsDefault = [\n {\n offset: 0,\n color: this.color,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.color,\n opacity: this.endOpacity\n }\n ];\n }\n }\n}\nSvgRadialGradientComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-svg-radial-gradient]',\n template: `\n <svg:radialGradient [id]=\"name\" [attr.cx]=\"cx\" [attr.cy]=\"cy\" [attr.r]=\"r\" gradientUnits=\"userSpaceOnUse\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:radialGradient>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nSvgRadialGradientComponent.propDecorators = {\n color: [{ type: Input }],\n name: [{ type: Input }],\n startOpacity: [{ type: Input }],\n endOpacity: [{ type: Input }],\n cx: [{ type: Input }],\n cy: [{ type: Input }],\n stops: [{ type: Input }]\n};\n\nclass AreaComponent {\n constructor(element) {\n this.opacity = 1;\n this.startOpacity = 0.5;\n this.endOpacity = 1;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.initialized = false;\n this.hasGradient = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.loadAnimation();\n this.initialized = true;\n }\n else {\n this.update();\n }\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n }\n else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n }\n loadAnimation() {\n this.areaPath = this.startingPath;\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.area');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n }\n else {\n node.attr('d', this.path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.fill,\n opacity: this.endOpacity\n }\n ];\n }\n}\nAreaComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-area]',\n template: `\n <svg:defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </svg:defs>\n <svg:path class=\"area\" [attr.d]=\"areaPath\" [attr.fill]=\"gradient ? gradientFill : fill\" [style.opacity]=\"opacity\" />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nAreaComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nAreaComponent.propDecorators = {\n data: [{ type: Input }],\n path: [{ type: Input }],\n startingPath: [{ type: Input }],\n fill: [{ type: Input }],\n opacity: [{ type: Input }],\n startOpacity: [{ type: Input }],\n endOpacity: [{ type: Input }],\n activeLabel: [{ type: Input }],\n gradient: [{ type: Input }],\n stops: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\n// Robert Penner's easeOutExpo\nfunction easeOutExpo(t, b, c, d) {\n return (c * (-Math.pow(2, (-10 * t) / d) + 1) * 1024) / 1023 + b;\n}\n/**\n * Counts from a number to the end incrementally.\n */\nfunction count(countFrom, countTo, countDecimals, countDuration, callback) {\n const startVal = Number(countFrom);\n const endVal = Number(countTo);\n const countDown = startVal > endVal;\n const decimals = Math.max(0, countDecimals);\n const dec = Math.pow(10, decimals);\n const duration = Number(countDuration) * 1000;\n let startTime;\n function runCount(timestamp) {\n let frameVal;\n const progress = timestamp - startTime;\n if (countDown) {\n frameVal = startVal - easeOutExpo(progress, 0, startVal - endVal, duration);\n }\n else {\n frameVal = easeOutExpo(progress, startVal, endVal - startVal, duration);\n }\n if (countDown) {\n frameVal = frameVal < endVal ? endVal : frameVal;\n }\n else {\n frameVal = frameVal > endVal ? endVal : frameVal;\n }\n frameVal = Math.round(frameVal * dec) / dec;\n const tick = progress < duration;\n callback({\n value: frameVal,\n progress,\n timestamp,\n finished: !tick\n });\n if (tick) {\n return requestAnimationFrame(val => runCount(val));\n }\n }\n return requestAnimationFrame(timestamp => {\n startTime = timestamp;\n return runCount(timestamp);\n });\n}\n/**\n * Determine decimals places\n *\n * @export\n */\nfunction decimalChecker(countTo) {\n const endVal = Number(countTo);\n if (endVal % 1 !== 0 && Math.abs(endVal) <= 10) {\n return 2;\n }\n return 0;\n}\n\n/**\n * Count up component\n *\n * Loosely inspired by:\n * - https://github.com/izupet/angular2-counto\n * - https://inorganik.github.io/countUp.js/\n *\n * @export\n */\nclass CountUpDirective {\n constructor(cd, element) {\n this.cd = cd;\n this.countDuration = 1;\n this.countPrefix = '';\n this.countSuffix = '';\n this.countChange = new EventEmitter();\n this.countFinish = new EventEmitter();\n this.value = '';\n this._countDecimals = 0;\n this._countTo = 0;\n this._countFrom = 0;\n this.nativeElement = element.nativeElement;\n }\n set countDecimals(val) {\n this._countDecimals = val;\n }\n get countDecimals() {\n if (this._countDecimals)\n return this._countDecimals;\n return decimalChecker(this.countTo);\n }\n set countTo(val) {\n this._countTo = parseFloat(val);\n this.start();\n }\n get countTo() {\n return this._countTo;\n }\n set countFrom(val) {\n this._countFrom = parseFloat(val);\n this.start();\n }\n get countFrom() {\n return this._countFrom;\n }\n ngOnDestroy() {\n cancelAnimationFrame(this.animationReq);\n }\n start() {\n cancelAnimationFrame(this.animationReq);\n const valueFormatting = this.valueFormatting || (value => `${this.countPrefix}${value.toLocaleString()}${this.countSuffix}`);\n const callback = ({ value, progress, finished }) => {\n this.value = valueFormatting(value);\n this.cd.markForCheck();\n if (!finished)\n this.countChange.emit({ value: this.value, progress });\n if (finished)\n this.countFinish.emit({ value: this.value, progress });\n };\n this.animationReq = count(this.countFrom, this.countTo, this.countDecimals, this.countDuration, callback);\n }\n}\nCountUpDirective.decorators = [\n { type: Component, args: [{\n selector: '[ngx-charts-count-up]',\n template: ` {{ value }} `\n },] }\n];\nCountUpDirective.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: ElementRef }\n];\nCountUpDirective.propDecorators = {\n countDuration: [{ type: Input }],\n countPrefix: [{ type: Input }],\n countSuffix: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n countDecimals: [{ type: Input }],\n countTo: [{ type: Input }],\n countFrom: [{ type: Input }],\n countChange: [{ type: Output }],\n countFinish: [{ type: Output }]\n};\n\n// If we don't check whether 'window' and 'global' variables are defined,\n// code will fail in browser/node with 'variable is undefined' error.\nlet root;\nif (typeof window !== 'undefined') {\n root = window;\n}\nelse if (typeof global !== 'undefined') {\n root = global;\n}\n// tslint:disable-next-line:variable-name\nconst MouseEvent = root.MouseEvent;\nfunction createMouseEvent(name, bubbles = false, cancelable = true) {\n // Calling new of an event does not work correctly on IE. The following is a tested workaround\n // See https://stackoverflow.com/questions/27176983/dispatchevent-not-working-in-ie11\n if (typeof MouseEvent === 'function') {\n // Sane browsers\n return new MouseEvent(name, { bubbles, cancelable });\n }\n else {\n // IE\n const event = document.createEvent('MouseEvent');\n event.initEvent(name, bubbles, cancelable);\n return event;\n }\n}\n\nclass TooltipArea {\n constructor() {\n this.anchorOpacity = 0;\n this.anchorPos = -1;\n this.anchorValues = [];\n this.showPercentage = false;\n this.tooltipDisabled = false;\n this.hover = new EventEmitter();\n }\n getValues(xVal) {\n const results = [];\n for (const group of this.results) {\n const item = group.series.find(d => d.name.toString() === xVal.toString());\n let groupName = group.name;\n if (groupName instanceof Date) {\n groupName = groupName.toLocaleDateString();\n }\n if (item) {\n const label = item.name;\n let val = item.value;\n if (this.showPercentage) {\n val = (item.d1 - item.d0).toFixed(2) + '%';\n }\n let color;\n if (this.colors.scaleType === 'linear') {\n let v = val;\n if (item.d1) {\n v = item.d1;\n }\n color = this.colors.getColor(v);\n }\n else {\n color = this.colors.getColor(group.name);\n }\n const data = Object.assign({}, item, {\n value: val,\n name: label,\n series: groupName,\n min: item.min,\n max: item.max,\n color\n });\n results.push(data);\n }\n }\n return results;\n }\n mouseMove(event) {\n const xPos = event.pageX - event.target.getBoundingClientRect().left;\n const closestIndex = this.findClosestPointIndex(xPos);\n const closestPoint = this.xSet[closestIndex];\n this.anchorPos = this.xScale(closestPoint);\n this.anchorPos = Math.max(0, this.anchorPos);\n this.anchorPos = Math.min(this.dims.width, this.anchorPos);\n this.anchorValues = this.getValues(closestPoint);\n if (this.anchorPos !== this.lastAnchorPos) {\n const ev = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(ev);\n this.anchorOpacity = 0.7;\n this.hover.emit({\n value: closestPoint\n });\n this.showTooltip();\n this.lastAnchorPos = this.anchorPos;\n }\n }\n findClosestPointIndex(xPos) {\n let minIndex = 0;\n let maxIndex = this.xSet.length - 1;\n let minDiff = Number.MAX_VALUE;\n let closestIndex = 0;\n while (minIndex <= maxIndex) {\n const currentIndex = ((minIndex + maxIndex) / 2) | 0;\n const currentElement = this.xScale(this.xSet[currentIndex]);\n const curDiff = Math.abs(currentElement - xPos);\n if (curDiff < minDiff) {\n minDiff = curDiff;\n closestIndex = currentIndex;\n }\n if (currentElement < xPos) {\n minIndex = currentIndex + 1;\n }\n else if (currentElement > xPos) {\n maxIndex = currentIndex - 1;\n }\n else {\n minDiff = 0;\n closestIndex = currentIndex;\n break;\n }\n }\n return closestIndex;\n }\n showTooltip() {\n const event = createMouseEvent('mouseenter');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n }\n hideTooltip() {\n const event = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n this.anchorOpacity = 0;\n this.lastAnchorPos = -1;\n }\n getToolTipText(tooltipItem) {\n let result = '';\n if (tooltipItem.series !== undefined) {\n result += tooltipItem.series;\n }\n else {\n result += '???';\n }\n result += ': ';\n if (tooltipItem.value !== undefined) {\n result += tooltipItem.value.toLocaleString();\n }\n if (tooltipItem.min !== undefined || tooltipItem.max !== undefined) {\n result += ' (';\n if (tooltipItem.min !== undefined) {\n if (tooltipItem.max === undefined) {\n result += '≥';\n }\n result += tooltipItem.min.toLocaleString();\n if (tooltipItem.max !== undefined) {\n result += ' - ';\n }\n }\n else if (tooltipItem.max !== undefined) {\n result += '≤';\n }\n if (tooltipItem.max !== undefined) {\n result += tooltipItem.max.toLocaleString();\n }\n result += ')';\n }\n return result;\n }\n}\nTooltipArea.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-tooltip-area]',\n template: `\n <svg:g>\n <svg:rect\n class=\"tooltip-area\"\n [attr.x]=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"opacity: 0; cursor: 'auto';\"\n (mousemove)=\"mouseMove($event)\"\n (mouseleave)=\"hideTooltip()\"\n />\n <ng-template #defaultTooltipTemplate let-model=\"model\">\n <xhtml:div class=\"area-tooltip-container\">\n <xhtml:div *ngFor=\"let tooltipItem of model\" class=\"tooltip-item\">\n <xhtml:span class=\"tooltip-item-color\" [style.background-color]=\"tooltipItem.color\"></xhtml:span>\n {{ getToolTipText(tooltipItem) }}\n </xhtml:div>\n </xhtml:div>\n </ng-template>\n <svg:rect\n #tooltipAnchor\n [@animationState]=\"anchorOpacity !== 0 ? 'active' : 'inactive'\"\n class=\"tooltip-anchor\"\n [attr.x]=\"anchorPos\"\n y=\"0\"\n [attr.width]=\"1\"\n [attr.height]=\"dims.height\"\n [style.opacity]=\"anchorOpacity\"\n [style.pointer-events]=\"'none'\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'right'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipSpacing]=\"15\"\n [tooltipTemplate]=\"tooltipTemplate ? tooltipTemplate : defaultTooltipTemplate\"\n [tooltipContext]=\"anchorValues\"\n [tooltipImmediateExit]=\"true\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition('inactive => active', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 0.7 }))\n ]),\n transition('active => inactive', [\n style({\n opacity: 0.7\n }),\n animate(250, style({ opacity: 0 }))\n ])\n ])\n ]\n },] }\n];\nTooltipArea.propDecorators = {\n dims: [{ type: Input }],\n xSet: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n results: [{ type: Input }],\n colors: [{ type: Input }],\n showPercentage: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n hover: [{ type: Output }],\n tooltipAnchor: [{ type: ViewChild, args: ['tooltipAnchor', { static: false },] }]\n};\n\nclass Timeline {\n constructor(element, cd) {\n this.cd = cd;\n this.height = 50;\n this.select = new EventEmitter();\n this.onDomainChange = new EventEmitter();\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n if (!this.initialized) {\n this.addBrush();\n this.initialized = true;\n }\n }\n update() {\n this.dims = this.getDims();\n this.height = this.dims.height;\n const offsetY = this.view[1] - this.height;\n this.xDomain = this.getXDomain();\n this.xScale = this.getXScale();\n if (this.brush) {\n this.updateBrush();\n }\n this.transform = `translate(0 , ${offsetY})`;\n this.filterId = 'filter' + id().toString();\n this.filter = `url(#${this.filterId})`;\n this.cd.markForCheck();\n }\n getXDomain() {\n let values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n let domain = [];\n if (this.scaleType === 'time') {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n }\n else if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n }\n else {\n domain = values;\n }\n return domain;\n }\n getXScale() {\n let scale;\n if (this.scaleType === 'time') {\n scale = scaleTime().range([0, this.dims.width]).domain(this.xDomain);\n }\n else if (this.scaleType === 'linear') {\n scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n }\n else if (this.scaleType === 'ordinal') {\n scale = scalePoint().range([0, this.dims.width]).padding(0.1).domain(this.xDomain);\n }\n return scale;\n }\n addBrush() {\n if (this.brush)\n return;\n const height = this.height;\n const width = this.view[0];\n this.brush = brushX()\n .extent([\n [0, 0],\n [width, height]\n ])\n .on('brush end', () => {\n const selection = event.selection || this.xScale.range();\n const newDomain = selection.map(this.xScale.invert);\n this.onDomainChange.emit(newDomain);\n this.cd.markForCheck();\n });\n select(this.element).select('.brush').call(this.brush);\n }\n updateBrush() {\n if (!this.brush)\n return;\n const height = this.height;\n const width = this.view[0];\n this.brush.extent([\n [0, 0],\n [width, height]\n ]);\n select(this.element).select('.brush').call(this.brush);\n // clear hardcoded properties so they can be defined by CSS\n select(this.element)\n .select('.selection')\n .attr('fill', undefined)\n .attr('stroke', undefined)\n .attr('fill-opacity', undefined);\n this.cd.markForCheck();\n }\n getDims() {\n const width = this.view[0];\n const dims = {\n width,\n height: this.height\n };\n return dims;\n }\n}\nTimeline.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-timeline]',\n template: `\n <svg:g class=\"timeline\" [attr.transform]=\"transform\">\n <svg:filter [attr.id]=\"filterId\">\n <svg:feColorMatrix\n in=\"SourceGraphic\"\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </svg:filter>\n <svg:g class=\"embedded-chart\">\n <ng-content></ng-content>\n </svg:g>\n <svg:rect x=\"0\" [attr.width]=\"view[0]\" y=\"0\" [attr.height]=\"height\" class=\"brush-background\" />\n <svg:g class=\"brush\"></svg:g>\n </svg:g>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".timeline .brush-background{fill:rgba(0,0,0,.05)}.timeline .brush .selection{fill:rgba(0,0,0,.1);stroke:#888;stroke-width:1px}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\"]\n },] }\n];\nTimeline.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nTimeline.propDecorators = {\n view: [{ type: Input }],\n state: [{ type: Input }],\n results: [{ type: Input }],\n scheme: [{ type: Input }],\n customColors: [{ type: Input }],\n legend: [{ type: Input }],\n miniChart: [{ type: Input }],\n autoScale: [{ type: Input }],\n scaleType: [{ type: Input }],\n height: [{ type: Input }],\n select: [{ type: Output }],\n onDomainChange: [{ type: Output }]\n};\n\nclass LegendComponent {\n constructor(cd) {\n this.cd = cd;\n this.horizontal = false;\n this.labelClick = new EventEmitter();\n this.labelActivate = new EventEmitter();\n this.labelDeactivate = new EventEmitter();\n this.legendEntries = [];\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cd.markForCheck();\n this.legendEntries = this.getLegendEntries();\n }\n getLegendEntries() {\n const items = [];\n for (const label of this.data) {\n const formattedLabel = formatLabel(label);\n const idx = items.findIndex(i => {\n return i.label === formattedLabel;\n });\n if (idx === -1) {\n items.push({\n label,\n formattedLabel,\n color: this.colors.getColor(label)\n });\n }\n }\n return items;\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.label === d.name;\n });\n return item !== undefined;\n }\n activate(item) {\n this.labelActivate.emit(item);\n }\n deactivate(item) {\n this.labelDeactivate.emit(item);\n }\n trackBy(index, item) {\n return item.label;\n }\n}\nLegendComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-legend',\n template: `\n <div [style.width.px]=\"width\">\n <header class=\"legend-title\" *ngIf=\"title?.length > 0\">\n <span class=\"legend-title-text\">{{ title }}</span>\n </header>\n <div class=\"legend-wrap\">\n <ul class=\"legend-labels\" [class.horizontal-legend]=\"horizontal\" [style.max-height.px]=\"height - 45\">\n <li *ngFor=\"let entry of legendEntries; trackBy: trackBy\" class=\"legend-label\">\n <ngx-charts-legend-entry\n [label]=\"entry.label\"\n [formattedLabel]=\"entry.formattedLabel\"\n [color]=\"entry.color\"\n [isActive]=\"isActive(entry)\"\n (select)=\"labelClick.emit($event)\"\n (activate)=\"activate($event)\"\n (deactivate)=\"deactivate($event)\"\n >\n </ngx-charts-legend-entry>\n </li>\n </ul>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{font-size:14px;font-weight:700;margin-bottom:5px;margin-left:10px;overflow:hidden;white-space:nowrap}.chart-legend li,.chart-legend ul{list-style:none;margin:0;padding:0}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{background:rgba(0,0,0,.05);border-radius:3px;float:left;line-height:85%;list-style:none;overflow-x:hidden;overflow-y:auto;text-align:left;white-space:nowrap;width:100%}.chart-legend .legend-label{color:#afb7c8;cursor:pointer;font-size:90%;margin:8px}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{border-radius:3px;color:#5b646b;display:inline-block;height:15px;margin-right:5px;width:15px}.chart-legend .legend-label-text{font-size:12px;line-height:15px;vertical-align:top;width:calc(100% - 20px)}.chart-legend .legend-label-text,.chart-legend .legend-title-text{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend .legend-title-text{line-height:16px;vertical-align:bottom}\"]\n },] }\n];\nLegendComponent.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\nLegendComponent.propDecorators = {\n data: [{ type: Input }],\n title: [{ type: Input }],\n colors: [{ type: Input }],\n height: [{ type: Input }],\n width: [{ type: Input }],\n activeEntries: [{ type: Input }],\n horizontal: [{ type: Input }],\n labelClick: [{ type: Output }],\n labelActivate: [{ type: Output }],\n labelDeactivate: [{ type: Output }]\n};\n\nclass LegendEntryComponent {\n constructor() {\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.toggle = new EventEmitter();\n }\n get trimmedLabel() {\n return this.formattedLabel || '(empty)';\n }\n onMouseEnter() {\n this.activate.emit({ name: this.label });\n }\n onMouseLeave() {\n this.deactivate.emit({ name: this.label });\n }\n}\nLegendEntryComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-legend-entry',\n template: `\n <span [title]=\"formattedLabel\" tabindex=\"-1\" [class.active]=\"isActive\" (click)=\"select.emit(formattedLabel)\">\n <span class=\"legend-label-color\" [style.background-color]=\"color\" (click)=\"toggle.emit(formattedLabel)\"> </span>\n <span class=\"legend-label-text\">\n {{ trimmedLabel }}\n </span>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nLegendEntryComponent.propDecorators = {\n color: [{ type: Input }],\n label: [{ type: Input }],\n formattedLabel: [{ type: Input }],\n isActive: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n toggle: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass ScaleLegendComponent {\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n this.horizontal = false;\n }\n ngOnChanges(changes) {\n const gradientValues = this.gradientString(this.colors.range(), this.colors.domain());\n const direction = this.horizontal ? 'right' : 'bottom';\n this.gradient = this.sanitizer.bypassSecurityTrustStyle(`linear-gradient(to ${direction}, ${gradientValues})`);\n }\n /**\n * Generates the string used in the gradient stylesheet properties\n * @param colors array of colors\n * @param splits array of splits on a scale of (0, 1)\n */\n gradientString(colors, splits) {\n // add the 100%\n splits.push(1);\n const pairs = [];\n colors.reverse().forEach((c, i) => {\n pairs.push(`${c} ${Math.round(splits[i] * 100)}%`);\n });\n return pairs.join(', ');\n }\n}\nScaleLegendComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-scale-legend',\n template: `\n <div\n class=\"scale-legend\"\n [class.horizontal-legend]=\"horizontal\"\n [style.height.px]=\"horizontal ? undefined : height\"\n [style.width.px]=\"width\"\n >\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[1].toLocaleString() }}</span>\n </div>\n <div class=\"scale-legend-wrap\" [style.background]=\"gradient\"></div>\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[0].toLocaleString() }}</span>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{display:flex;flex-direction:column;text-align:center}.chart-legend .scale-legend-wrap{border-radius:5px;display:inline-block;flex:1;margin:0 auto;width:30px}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{height:30px;margin:0 16px;width:auto}\"]\n },] }\n];\nScaleLegendComponent.ctorParameters = () => [\n { type: DomSanitizer }\n];\nScaleLegendComponent.propDecorators = {\n valueRange: [{ type: Input }],\n colors: [{ type: Input }],\n height: [{ type: Input }],\n width: [{ type: Input }],\n horizontal: [{ type: Input }]\n};\n\nclass AdvancedLegendComponent {\n constructor() {\n this.label = 'Total';\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.legendItems = [];\n this.labelFormatting = label => label;\n this.percentageFormatting = percentage => percentage;\n this.defaultValueFormatting = value => value.toLocaleString();\n }\n ngOnChanges(changes) {\n this.update();\n }\n getTotal() {\n return this.data.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n update() {\n this.total = this.getTotal();\n this.roundedTotal = this.total;\n this.legendItems = this.getLegendItems();\n }\n getLegendItems() {\n return this.data.map(d => {\n const label = formatLabel(d.name);\n const value = d.value;\n const color = this.colors.getColor(label);\n const percentage = this.total > 0 ? (value / this.total) * 100 : 0;\n const formattedLabel = typeof this.labelFormatting === 'function' ? this.labelFormatting(label) : label;\n return {\n _value: value,\n data: d,\n value,\n color,\n label: formattedLabel,\n displayLabel: trimLabel(formattedLabel, 20),\n origialLabel: d.name,\n percentage: this.percentageFormatting ? this.percentageFormatting(percentage) : percentage.toLocaleString()\n };\n });\n }\n trackBy(item) {\n return item.formattedLabel;\n }\n}\nAdvancedLegendComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-advanced-legend',\n template: `\n <div class=\"advanced-pie-legend\" [style.width.px]=\"width\">\n <div\n *ngIf=\"animations\"\n class=\"total-value\"\n ngx-charts-count-up\n [countTo]=\"roundedTotal\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div class=\"total-value\" *ngIf=\"!animations\">\n {{ valueFormatting ? valueFormatting(roundedTotal) : defaultValueFormatting(roundedTotal) }}\n </div>\n <div class=\"total-label\">\n {{ label }}\n </div>\n <div class=\"legend-items-container\">\n <div class=\"legend-items\">\n <div\n *ngFor=\"let legendItem of legendItems; trackBy: trackBy\"\n tabindex=\"-1\"\n class=\"legend-item\"\n (mouseenter)=\"activate.emit(legendItem.data)\"\n (mouseleave)=\"deactivate.emit(legendItem.data)\"\n (click)=\"select.emit(legendItem.data)\"\n >\n <div class=\"item-color\" [style.border-left-color]=\"legendItem.color\"></div>\n <div\n *ngIf=\"animations\"\n class=\"item-value\"\n ngx-charts-count-up\n [countTo]=\"legendItem._value\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-value\">\n {{ valueFormatting ? valueFormatting(legendItem.value) : defaultValueFormatting(legendItem.value) }}\n </div>\n <div class=\"item-label\">{{ legendItem.displayLabel }}</div>\n <div\n *ngIf=\"animations\"\n class=\"item-percent\"\n ngx-charts-count-up\n [countTo]=\"legendItem.percentage\"\n [countSuffix]=\"'%'\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-percent\">{{ legendItem.percentage.toLocaleString() }}%</div>\n </div>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{overflow:auto;white-space:nowrap}.advanced-pie-legend .legend-items-container .legend-items .legend-item{cursor:pointer;display:inline-block;margin-right:20px}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;margin-left:11px;margin-top:-6px;opacity:.7}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;margin-left:11px;opacity:.7}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;float:left;height:42px;margin-right:7px;width:4px}\"]\n },] }\n];\nAdvancedLegendComponent.propDecorators = {\n width: [{ type: Input }],\n data: [{ type: Input }],\n colors: [{ type: Input }],\n label: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n percentageFormatting: [{ type: Input }]\n};\n\nconst COMPONENTS = [\n AreaComponent,\n BaseChartComponent,\n CountUpDirective,\n TooltipArea,\n ChartComponent,\n LegendComponent,\n LegendEntryComponent,\n ScaleLegendComponent,\n CircleComponent,\n CircleSeriesComponent,\n GridPanelComponent,\n GridPanelSeriesComponent,\n SvgLinearGradientComponent,\n SvgRadialGradientComponent,\n Timeline,\n AdvancedLegendComponent\n];\nclass ChartCommonModule {\n}\nChartCommonModule.decorators = [\n { type: NgModule, args: [{\n imports: [CommonModule, AxesModule, TooltipModule],\n declarations: [...COMPONENTS, VisibilityObserver],\n exports: [CommonModule, AxesModule, TooltipModule, ...COMPONENTS, VisibilityObserver]\n },] }\n];\n\nfunction calculateViewDimensions({ width, height, margins, showXAxis = false, showYAxis = false, xAxisHeight = 0, yAxisWidth = 0, showXLabel = false, showYLabel = false, showLegend = false, legendType = 'ordinal', legendPosition = 'right', columns = 12 }) {\n let xOffset = margins[3];\n let chartWidth = width;\n let chartHeight = height - margins[0] - margins[2];\n if (showLegend && legendPosition === 'right') {\n if (legendType === 'ordinal') {\n columns -= 2;\n }\n else {\n columns -= 1;\n }\n }\n chartWidth = (chartWidth * columns) / 12;\n chartWidth = chartWidth - margins[1] - margins[3];\n if (showXAxis) {\n chartHeight -= 5;\n chartHeight -= xAxisHeight;\n if (showXLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartHeight -= offset;\n }\n }\n if (showYAxis) {\n chartWidth -= 5;\n chartWidth -= yAxisWidth;\n xOffset += yAxisWidth;\n xOffset += 10;\n if (showYLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartWidth -= offset;\n xOffset += offset;\n }\n }\n chartWidth = Math.max(0, chartWidth);\n chartHeight = Math.max(0, chartHeight);\n return {\n width: Math.floor(chartWidth),\n height: Math.floor(chartHeight),\n xOffset: Math.floor(xOffset)\n };\n}\n\nlet colorSets = [\n {\n name: 'vivid',\n selectable: true,\n group: 'Ordinal',\n domain: [\n '#647c8a',\n '#3f51b5',\n '#2196f3',\n '#00b862',\n '#afdf0a',\n '#a7b61a',\n '#f3e562',\n '#ff9800',\n '#ff5722',\n '#ff4514'\n ]\n },\n {\n name: 'natural',\n selectable: true,\n group: 'Ordinal',\n domain: [\n '#bf9d76',\n '#e99450',\n '#d89f59',\n '#f2dfa7',\n '#a5d7c6',\n '#7794b1',\n '#afafaf',\n '#707160',\n '#ba9383',\n '#d9d5c3'\n ]\n },\n {\n name: 'cool',\n selectable: true,\n group: 'Ordinal',\n domain: [\n '#a8385d',\n '#7aa3e5',\n '#a27ea8',\n '#aae3f5',\n '#adcded',\n '#a95963',\n '#8796c0',\n '#7ed3ed',\n '#50abcc',\n '#ad6886'\n ]\n },\n {\n name: 'fire',\n selectable: true,\n group: 'Ordinal',\n domain: ['#ff3d00', '#bf360c', '#ff8f00', '#ff6f00', '#ff5722', '#e65100', '#ffca28', '#ffab00']\n },\n {\n name: 'solar',\n selectable: true,\n group: 'Continuous',\n domain: [\n '#fff8e1',\n '#ffecb3',\n '#ffe082',\n '#ffd54f',\n '#ffca28',\n '#ffc107',\n '#ffb300',\n '#ffa000',\n '#ff8f00',\n '#ff6f00'\n ]\n },\n {\n name: 'air',\n selectable: true,\n group: 'Continuous',\n domain: [\n '#e1f5fe',\n '#b3e5fc',\n '#81d4fa',\n '#4fc3f7',\n '#29b6f6',\n '#03a9f4',\n '#039be5',\n '#0288d1',\n '#0277bd',\n '#01579b'\n ]\n },\n {\n name: 'aqua',\n selectable: true,\n group: 'Continuous',\n domain: [\n '#e0f7fa',\n '#b2ebf2',\n '#80deea',\n '#4dd0e1',\n '#26c6da',\n '#00bcd4',\n '#00acc1',\n '#0097a7',\n '#00838f',\n '#006064'\n ]\n },\n {\n name: 'flame',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#A10A28',\n '#D3342D',\n '#EF6D49',\n '#FAAD67',\n '#FDDE90',\n '#DBED91',\n '#A9D770',\n '#6CBA67',\n '#2C9653',\n '#146738'\n ]\n },\n {\n name: 'ocean',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#1D68FB',\n '#33C0FC',\n '#4AFFFE',\n '#AFFFFF',\n '#FFFC63',\n '#FDBD2D',\n '#FC8A25',\n '#FA4F1E',\n '#FA141B',\n '#BA38D1'\n ]\n },\n {\n name: 'forest',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#55C22D',\n '#C1F33D',\n '#3CC099',\n '#AFFFFF',\n '#8CFC9D',\n '#76CFFA',\n '#BA60FB',\n '#EE6490',\n '#C42A1C',\n '#FC9F32'\n ]\n },\n {\n name: 'horizon',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#2597FB',\n '#65EBFD',\n '#99FDD0',\n '#FCEE4B',\n '#FEFCFA',\n '#FDD6E3',\n '#FCB1A8',\n '#EF6F7B',\n '#CB96E8',\n '#EFDEE0'\n ]\n },\n {\n name: 'neons',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#FF3333',\n '#FF33FF',\n '#CC33FF',\n '#0000FF',\n '#33CCFF',\n '#33FFFF',\n '#33FF66',\n '#CCFF33',\n '#FFCC00',\n '#FF6600'\n ]\n },\n {\n name: 'picnic',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#FAC51D',\n '#66BD6D',\n '#FAA026',\n '#29BB9C',\n '#E96B56',\n '#55ACD2',\n '#B7332F',\n '#2C83C9',\n '#9166B8',\n '#92E7E8'\n ]\n },\n {\n name: 'night',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#2B1B5A',\n '#501356',\n '#183356',\n '#28203F',\n '#391B3C',\n '#1E2B3C',\n '#120634',\n '#2D0432',\n '#051932',\n '#453080',\n '#75267D',\n '#2C507D',\n '#4B3880',\n '#752F7D',\n '#35547D'\n ]\n },\n {\n name: 'nightLights',\n selectable: false,\n group: 'Ordinal',\n domain: [\n '#4e31a5',\n '#9c25a7',\n '#3065ab',\n '#57468b',\n '#904497',\n '#46648b',\n '#32118d',\n '#a00fb3',\n '#1052a2',\n '#6e51bd',\n '#b63cc3',\n '#6c97cb',\n '#8671c1',\n '#b455be',\n '#7496c3'\n ]\n }\n];\n\nclass ColorHelper {\n constructor(scheme, type, domain, customColors) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n this.colorDomain = scheme.domain;\n this.scaleType = type;\n this.domain = domain;\n this.customColors = customColors;\n this.scale = this.generateColorScheme(scheme, type, this.domain);\n }\n generateColorScheme(scheme, type, domain) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n let colorScale;\n if (type === 'quantile') {\n colorScale = scaleQuantile().range(scheme.domain).domain(domain);\n }\n else if (type === 'ordinal') {\n colorScale = scaleOrdinal().range(scheme.domain).domain(domain);\n }\n else if (type === 'linear') {\n // linear schemes must have at least 2 colors\n const colorDomain = [...scheme.domain];\n if (colorDomain.length === 1) {\n colorDomain.push(colorDomain[0]);\n this.colorDomain = colorDomain;\n }\n const points = range(0, 1, 1.0 / colorDomain.length);\n colorScale = scaleLinear().domain(points).range(colorDomain);\n }\n return colorScale;\n }\n getColor(value) {\n if (value === undefined || value === null) {\n throw new Error('Value can not be null');\n }\n if (this.scaleType === 'linear') {\n const valueScale = scaleLinear().domain(this.domain).range([0, 1]);\n return this.scale(valueScale(value));\n }\n else {\n if (typeof this.customColors === 'function') {\n return this.customColors(value);\n }\n const formattedValue = value.toString();\n let found; // todo type customColors\n if (this.customColors && this.customColors.length > 0) {\n found = this.customColors.find(mapping => {\n return mapping.name.toLowerCase() === formattedValue.toLowerCase();\n });\n }\n if (found) {\n return found.value;\n }\n else {\n return this.scale(value);\n }\n }\n }\n getLinearGradientStops(value, start) {\n if (start === undefined) {\n start = this.domain[0];\n }\n const valueScale = scaleLinear().domain(this.domain).range([0, 1]);\n const colorValueScale = scaleBand().domain(this.colorDomain).range([0, 1]);\n const endColor = this.getColor(value);\n // generate the stops\n const startVal = valueScale(start);\n const startColor = this.getColor(start);\n const endVal = valueScale(value);\n let i = 1;\n let currentVal = startVal;\n const stops = [];\n stops.push({\n color: startColor,\n offset: startVal,\n originalOffset: startVal,\n opacity: 1\n });\n while (currentVal < endVal && i < this.colorDomain.length) {\n const color = this.colorDomain[i];\n const offset = colorValueScale(color);\n if (offset <= startVal) {\n i++;\n continue;\n }\n if (offset.toFixed(4) >= (endVal - colorValueScale.bandwidth()).toFixed(4)) {\n break;\n }\n stops.push({\n color,\n offset,\n opacity: 1\n });\n currentVal = offset;\n i++;\n }\n if (stops[stops.length - 1].offset < 100) {\n stops.push({\n color: endColor,\n offset: endVal,\n opacity: 1\n });\n }\n if (endVal === startVal) {\n stops[0].offset = 0;\n stops[1].offset = 100;\n }\n else {\n // normalize the offsets into percentages\n if (stops[stops.length - 1].offset !== 100) {\n for (const s of stops) {\n s.offset = ((s.offset - startVal) / (endVal - startVal)) * 100;\n }\n }\n }\n return stops;\n }\n}\n\n/**\n * Based on the data, return an array with unique values.\n *\n * @export\n * @returns array\n */\nfunction getUniqueXDomainValues(results) {\n const valueSet = new Set();\n for (const result of results) {\n for (const d of result.series) {\n valueSet.add(d.name);\n }\n }\n return Array.from(valueSet);\n}\n/**\n * Get the scaleType of enumerable of values.\n * @returns 'time', 'linear' or 'ordinal'\n */\nfunction getScaleType(values, checkDateType = true) {\n if (checkDateType) {\n const allDates = values.every(value => value instanceof Date);\n if (allDates) {\n return 'time';\n }\n }\n const allNumbers = values.every(value => typeof value === 'number');\n if (allNumbers) {\n return 'linear';\n }\n return 'ordinal';\n}\n\nclass AreaChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.baseValue = 'auto';\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === 'time' || this.scaleType === 'linear') {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === 'time') {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === 'linear') {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n if (this.baseValue !== 'auto') {\n values.push(this.baseValue);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === 'time') {\n scale = scaleTime();\n }\n else if (this.scaleType === 'linear') {\n scale = scaleLinear();\n }\n else if (this.scaleType === 'ordinal') {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getScaleType(values) {\n let date = true;\n let num = true;\n for (const value of values) {\n if (!this.isDate(value)) {\n date = false;\n }\n if (typeof value !== 'number') {\n num = false;\n }\n }\n if (date) {\n return 'time';\n }\n if (num) {\n return 'linear';\n }\n return 'ordinal';\n }\n isDate(value) {\n if (value instanceof Date) {\n return true;\n }\n return false;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-area-chart',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nAreaChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n state: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n baseValue: [{ type: Input }],\n autoScale: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass AreaChartNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n let total = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === 'time') {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n total += d.value;\n }\n }\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === 'time') {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n }\n else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n if (total > 0) {\n d.d0 = (d.d0 * 100) / total;\n d.d1 = (d.d1 * 100) / total;\n }\n else {\n d.d0 = 0;\n d.d1 = 0;\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === 'time') {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n return [0, 100];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === 'time') {\n scale = scaleTime();\n }\n else if (this.scaleType === 'linear') {\n scale = scaleLinear();\n }\n else if (this.scaleType === 'ordinal') {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartNormalizedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-area-chart-normalized',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [activeEntries]=\"activeEntries\"\n [gradient]=\"gradient\"\n normalized=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [showPercentage]=\"true\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n normalized=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nAreaChartNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass AreaChartStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === 'time') {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n }\n else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === 'time' || this.scaleType === 'linear') {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === 'time') {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === 'linear') {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let sum = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === 'time') {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n sum += d.value;\n }\n }\n domain.push(sum);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(0, ...domain);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...domain);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === 'time') {\n scale = scaleTime();\n }\n else if (this.scaleType === 'linear') {\n scale = scaleLinear();\n }\n else if (this.scaleType === 'ordinal') {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartStackedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-area-chart-stacked',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [activeEntries]=\"activeEntries\"\n stacked=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-circle-series\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n stacked=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nAreaChartStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nfunction sortLinear(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n if (direction === 'asc') {\n return a[property] - b[property];\n }\n else {\n return b[property] - a[property];\n }\n });\n}\nfunction sortByDomain(data, property, direction = 'asc', domain) {\n return data.sort((a, b) => {\n const aVal = a[property];\n const bVal = b[property];\n const aIdx = domain.indexOf(aVal);\n const bIdx = domain.indexOf(bVal);\n if (direction === 'asc') {\n return aIdx - bIdx;\n }\n else {\n return bIdx - aIdx;\n }\n });\n}\nfunction sortByTime(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n const aDate = a[property].getTime();\n const bDate = b[property].getTime();\n if (direction === 'asc') {\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n }\n else {\n if (aDate > bDate)\n return -1;\n if (bDate > aDate)\n return 1;\n return 0;\n }\n });\n}\n\nclass AreaSeriesComponent {\n constructor() {\n this.baseValue = 'auto';\n this.stacked = false;\n this.normalized = false;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradient();\n let currentArea;\n let startingArea;\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n if (this.stacked || this.normalized) {\n currentArea = area()\n .x(xProperty)\n .y0((d, i) => this.yScale(d.d0))\n .y1((d, i) => this.yScale(d.d1));\n startingArea = area()\n .x(xProperty)\n .y0(d => this.yScale.range()[0])\n .y1(d => this.yScale.range()[0]);\n }\n else {\n currentArea = area()\n .x(xProperty)\n .y0(() => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)))\n .y1(d => this.yScale(d.value));\n startingArea = area()\n .x(xProperty)\n .y0(d => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)))\n .y1(d => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)));\n }\n currentArea.curve(this.curve);\n startingArea.curve(this.curve);\n this.opacity = 0.8;\n let data = this.data.series;\n if (this.scaleType === 'linear') {\n data = sortLinear(data, 'name');\n }\n else if (this.scaleType === 'time') {\n data = sortByTime(data, 'name');\n }\n else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n this.path = currentArea(data);\n this.startingPath = startingArea(data);\n }\n updateGradient() {\n if (this.colors.scaleType === 'linear') {\n this.hasGradient = true;\n if (this.stacked || this.normalized) {\n const d0values = this.data.series.map(d => d.d0);\n const d1values = this.data.series.map(d => d.d1);\n const max = Math.max(...d1values);\n const min = Math.min(...d0values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n }\n else {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max);\n }\n }\n else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n}\nAreaSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-area-series]',\n template: `\n <svg:g\n ngx-charts-area\n class=\"area-series\"\n [data]=\"data\"\n [path]=\"path\"\n [fill]=\"colors.getColor(data.name)\"\n [stops]=\"gradientStops\"\n [startingPath]=\"startingPath\"\n [opacity]=\"opacity\"\n [gradient]=\"gradient || hasGradient\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nAreaSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n baseValue: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n stacked: [{ type: Input }],\n normalized: [{ type: Input }],\n gradient: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass AreaChartModule {\n}\nAreaChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent],\n exports: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent]\n },] }\n];\n\nclass BarComponent {\n constructor(element) {\n this.roundEdges = true;\n this.gradient = false;\n this.offset = 0;\n this.isActive = false;\n this.animations = true;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.hasGradient = false;\n this.hideBar = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (changes.roundEdges) {\n this.loadAnimation();\n }\n this.update();\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n }\n else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n this.checkToHideBar();\n }\n loadAnimation() {\n this.path = this.getStartingPath();\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.bar');\n const path = this.getPath();\n if (this.animations) {\n node.transition().duration(500).attr('d', path);\n }\n else {\n node.attr('d', path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.getStartOpacity()\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n getStartingPath() {\n if (!this.animations) {\n return this.getPath();\n }\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === 'vertical') {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n }\n else if (this.orientation === 'horizontal') {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n }\n else {\n if (this.orientation === 'vertical') {\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n }\n else if (this.orientation === 'horizontal') {\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n }\n return path;\n }\n getPath() {\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === 'vertical') {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n else if (this.orientation === 'horizontal') {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n }\n else {\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n return path;\n }\n getRadius() {\n let radius = 0;\n if (this.roundEdges && this.height > 5 && this.width > 5) {\n radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n }\n return radius;\n }\n getStartOpacity() {\n if (this.roundEdges) {\n return 0.2;\n }\n else {\n return 0.5;\n }\n }\n get edges() {\n let edges = [false, false, false, false];\n if (this.roundEdges) {\n if (this.orientation === 'vertical') {\n if (this.data.value > 0) {\n edges = [true, true, false, false];\n }\n else {\n edges = [false, false, true, true];\n }\n }\n else if (this.orientation === 'horizontal') {\n if (this.data.value > 0) {\n edges = [false, true, false, true];\n }\n else {\n edges = [true, false, true, false];\n }\n }\n }\n return edges;\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n checkToHideBar() {\n this.hideBar =\n this.noBarWhenZero &&\n ((this.orientation === 'vertical' && this.height === 0) ||\n (this.orientation === 'horizontal' && this.width === 0));\n }\n}\nBarComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-bar]',\n template: `\n <svg:defs *ngIf=\"hasGradient\">\n <svg:g ngx-charts-svg-linear-gradient [orientation]=\"orientation\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </svg:defs>\n <svg:path\n class=\"bar\"\n stroke=\"none\"\n role=\"img\"\n tabIndex=\"-1\"\n [class.active]=\"isActive\"\n [class.hidden]=\"hideBar\"\n [attr.d]=\"path\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.fill]=\"hasGradient ? gradientFill : fill\"\n (click)=\"select.emit(data)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nBarComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nBarComponent.propDecorators = {\n fill: [{ type: Input }],\n data: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n orientation: [{ type: Input }],\n roundEdges: [{ type: Input }],\n gradient: [{ type: Input }],\n offset: [{ type: Input }],\n isActive: [{ type: Input }],\n stops: [{ type: Input }],\n animations: [{ type: Input }],\n ariaLabel: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass BarHorizontalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const spacing = this.yDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.yDomain);\n }\n getXDomain() {\n const values = this.results.map(d => d.value);\n const min = this.xScaleMin ? Math.min(this.xScaleMin, ...values) : Math.min(0, ...values);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...values) : Math.max(0, ...values);\n return [min, max];\n }\n getYDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.yDomain;\n }\n else {\n domain = this.xDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.yDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.xDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-horizontal',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarHorizontalComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarHorizontal2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valuesDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand()\n .rangeRound([0, this.dims.height])\n .paddingInner(spacing)\n .paddingOuter(spacing / 2)\n .domain(this.groupDomain);\n }\n getInnerScale() {\n const height = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (height / this.barPadding + 1);\n return scaleBand().rangeRound([0, height]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valuesDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(0, ${this.groupScale(group.label)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valuesDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valuesDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontal2DComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-horizontal-2d',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"valueScale\"\n [yScale]=\"groupScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n orient=\"horizontal\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"valueScale\"\n [activeEntries]=\"activeEntries\"\n [yScale]=\"innerScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarHorizontal2DComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n groupPadding: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarHorizontalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n return [0, 100];\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalNormalizedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-horizontal-normalized',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n type=\"normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n [noBarWhenZero]=\"noBarWhenZero\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarHorizontalNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarHorizontalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n }\n else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalStackedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-horizontal-stacked',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [activeEntries]=\"activeEntries\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarHorizontalStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarVerticalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const spacing = this.xDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().range([0, this.dims.width]).paddingInner(spacing).domain(this.xDomain);\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.yDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getXDomain() {\n return this.results.map(d => d.label);\n }\n getYDomain() {\n const values = this.results.map(d => d.value);\n let min = this.yScaleMin ? Math.min(this.yScaleMin, ...values) : Math.min(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n min = Math.min(min, ...this.yAxisTicks);\n }\n let max = this.yScaleMax ? Math.max(this.yScaleMax, ...values) : Math.max(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n max = Math.max(max, ...this.yAxisTicks);\n }\n return [min, max];\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.xDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.xDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxHeightChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-vertical',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (select)=\"onClick($event)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarVerticalComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarVertical2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.scaleType = 'ordinal';\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valuesDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand()\n .rangeRound([0, this.dims.width])\n .paddingInner(spacing)\n .paddingOuter(spacing / 2)\n .domain(this.groupDomain);\n }\n getInnerScale() {\n const width = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (width / this.barPadding + 1);\n return scaleBand().rangeRound([0, width]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valuesDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(${this.groupScale(group.label)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valuesDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valuesDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVertical2DComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-vertical-2d',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"groupScale\"\n [yScale]=\"valueScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n orient=\"vertical\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n [activeEntries]=\"activeEntries\"\n [xScale]=\"innerScale\"\n [yScale]=\"valueScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarVertical2DComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n scaleType: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n groupPadding: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarVerticalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n return [0, 100];\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalNormalizedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-vertical-normalized',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n type=\"normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarVerticalNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass BarVerticalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n }\n else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name) || 0}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalStackedComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bar-vertical-stacked',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBarVerticalStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nvar D0Types;\n(function (D0Types) {\n D0Types[\"positive\"] = \"positive\";\n D0Types[\"negative\"] = \"negative\";\n})(D0Types || (D0Types = {}));\nclass SeriesVerticalComponent {\n constructor() {\n this.type = 'standard';\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelHeightChanged = new EventEmitter();\n this.barsForDataLabels = [];\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n let width;\n if (this.series.length) {\n width = this.xScale.bandwidth();\n }\n width = Math.round(width);\n const yScaleMin = Math.max(this.yScale.domain()[0], 0);\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type = D0Types.positive;\n let total;\n if (this.type === 'normalized') {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n this.bars = this.series.map((d, index) => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n width,\n formattedLabel,\n height: 0,\n x: 0,\n y: 0\n };\n if (this.type === 'standard') {\n bar.height = Math.abs(this.yScale(value) - this.yScale(yScaleMin));\n bar.x = this.xScale(label);\n if (value < 0) {\n bar.y = this.yScale(0);\n }\n else {\n bar.y = this.yScale(value);\n }\n }\n else if (this.type === 'stacked') {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n }\n else if (this.type === 'normalized') {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = (offset0 * 100) / total;\n offset1 = (offset1 * 100) / total;\n }\n else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === 'ordinal') {\n bar.color = this.colors.getColor(label);\n }\n else {\n if (this.type === 'standard') {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n }\n else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled\n ? undefined\n : `\n <span class=\"tooltip-label\">${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}</span>\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === 'stacked') {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => (d > 0 ? sum + d : sum), 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => (d < 0 ? sum + d : sum), 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n if (section.total > 0) {\n section.height = this.yScale(totalPositive);\n }\n else {\n section.height = this.yScale(totalNegative);\n }\n section.width = this.xScale.bandwidth();\n this.barsForDataLabels.push(section);\n }\n else {\n this.barsForDataLabels = this.series.map(d => {\n const section = {};\n section.series = this.seriesName ? this.seriesName : d.label;\n section.total = d.value;\n section.x = this.xScale(d.label);\n section.y = this.yScale(0);\n section.height = this.yScale(section.total) - this.yScale(0);\n section.width = this.xScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : 'top';\n this.tooltipType = this.tooltipDisabled ? undefined : 'tooltip';\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n}\nSeriesVerticalComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-series-vertical]',\n template: `\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [@.disabled]=\"!animations\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"'vertical'\"\n [roundEdges]=\"bar.roundEdges\"\n [gradient]=\"gradient\"\n [ariaLabel]=\"bar.ariaLabel\"\n [isActive]=\"isActive(bar.data)\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"'vertical'\"\n (dimensionsChanged)=\"dataLabelHeightChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ]\n },] }\n];\nSeriesVerticalComponent.propDecorators = {\n dims: [{ type: Input }],\n type: [{ type: Input }],\n series: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n seriesName: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n roundEdges: [{ type: Input }],\n animations: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dataLabelHeightChanged: [{ type: Output }]\n};\n\nclass SeriesHorizontal {\n constructor() {\n this.barsForDataLabels = [];\n this.type = 'standard';\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelWidthChanged = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type;\n d0Type = D0Types.positive;\n let total;\n if (this.type === 'normalized') {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n const xScaleMin = Math.max(this.xScale.domain()[0], 0);\n this.bars = this.series.map((d, index) => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n formattedLabel\n };\n bar.height = this.yScale.bandwidth();\n if (this.type === 'standard') {\n bar.width = Math.abs(this.xScale(value) - this.xScale(xScaleMin));\n if (value < 0) {\n bar.x = this.xScale(value);\n }\n else {\n bar.x = this.xScale(xScaleMin);\n }\n bar.y = this.yScale(label);\n }\n else if (this.type === 'stacked') {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n }\n else if (this.type === 'normalized') {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = (offset0 * 100) / total;\n offset1 = (offset1 * 100) / total;\n }\n else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === 'ordinal') {\n bar.color = this.colors.getColor(label);\n }\n else {\n if (this.type === 'standard') {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n }\n else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled\n ? undefined\n : `\n <span class=\"tooltip-label\">${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}</span>\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === 'stacked') {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => (d > 0 ? sum + d : sum), 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => (d < 0 ? sum + d : sum), 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n // if total is positive then we show it on the right, otherwise on the left\n if (section.total > 0) {\n section.width = this.xScale(totalPositive);\n }\n else {\n section.width = this.xScale(totalNegative);\n }\n section.height = this.yScale.bandwidth();\n this.barsForDataLabels.push(section);\n }\n else {\n this.barsForDataLabels = this.series.map(d => {\n const section = {};\n section.series = this.seriesName ? this.seriesName : d.label;\n section.total = d.value;\n section.x = this.xScale(0);\n section.y = this.yScale(d.label);\n section.width = this.xScale(section.total) - this.xScale(0);\n section.height = this.yScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : 'top';\n this.tooltipType = this.tooltipDisabled ? undefined : 'tooltip';\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n click(data) {\n this.select.emit(data);\n }\n}\nSeriesHorizontal.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-series-horizontal]',\n template: `\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"bar.roundEdges\"\n (select)=\"click($event)\"\n [gradient]=\"gradient\"\n [isActive]=\"isActive(bar.data)\"\n [ariaLabel]=\"bar.ariaLabel\"\n [animations]=\"animations\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"'horizontal'\"\n (dimensionsChanged)=\"dataLabelWidthChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ]\n },] }\n];\nSeriesHorizontal.propDecorators = {\n dims: [{ type: Input }],\n type: [{ type: Input }],\n series: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n seriesName: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n roundEdges: [{ type: Input }],\n animations: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dataLabelWidthChanged: [{ type: Output }]\n};\n\nclass BarLabelComponent {\n constructor(element) {\n this.dimensionsChanged = new EventEmitter();\n this.horizontalPadding = 2;\n this.verticalPadding = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getSize() {\n const h = this.element.getBoundingClientRect().height;\n const w = this.element.getBoundingClientRect().width;\n return { height: h, width: w, negative: this.value < 0 };\n }\n ngAfterViewInit() {\n this.dimensionsChanged.emit(this.getSize());\n }\n update() {\n if (this.valueFormatting) {\n this.formatedValue = this.valueFormatting(this.value);\n }\n else {\n this.formatedValue = formatLabel(this.value);\n }\n if (this.orientation === 'horizontal') {\n this.x = this.barX + this.barWidth;\n // if the value is negative then it's on the left of the x0.\n // we need to put the data label in front of the bar\n if (this.value < 0) {\n this.x = this.x - this.horizontalPadding;\n this.textAnchor = 'end';\n }\n else {\n this.x = this.x + this.horizontalPadding;\n this.textAnchor = 'start';\n }\n this.y = this.barY + this.barHeight / 2;\n }\n else {\n // orientation must be \"vertical\"\n this.x = this.barX + this.barWidth / 2;\n this.y = this.barY + this.barHeight;\n if (this.value < 0) {\n this.y = this.y + this.verticalPadding;\n this.textAnchor = 'end';\n }\n else {\n this.y = this.y - this.verticalPadding;\n this.textAnchor = 'start';\n }\n this.transform = `rotate(-45, ${this.x} , ${this.y})`;\n }\n }\n}\nBarLabelComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-bar-label]',\n template: `\n <svg:text\n class=\"textDataLabel\"\n alignment-baseline=\"middle\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n >\n {{ formatedValue }}\n </svg:text>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".textDataLabel{font-size:11px}\"]\n },] }\n];\nBarLabelComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nBarLabelComponent.propDecorators = {\n value: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n barX: [{ type: Input }],\n barY: [{ type: Input }],\n barWidth: [{ type: Input }],\n barHeight: [{ type: Input }],\n orientation: [{ type: Input }],\n dimensionsChanged: [{ type: Output }]\n};\n\nclass BarChartModule {\n}\nBarChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [\n BarComponent,\n BarHorizontalComponent,\n BarHorizontal2DComponent,\n BarHorizontalNormalizedComponent,\n BarHorizontalStackedComponent,\n BarVerticalComponent,\n BarVertical2DComponent,\n BarVerticalNormalizedComponent,\n BarVerticalStackedComponent,\n BarLabelComponent,\n SeriesHorizontal,\n SeriesVerticalComponent\n ],\n exports: [\n BarComponent,\n BarHorizontalComponent,\n BarHorizontal2DComponent,\n BarHorizontalNormalizedComponent,\n BarHorizontalStackedComponent,\n BarVerticalComponent,\n BarVertical2DComponent,\n BarVerticalNormalizedComponent,\n BarVerticalStackedComponent,\n BarLabelComponent,\n SeriesHorizontal,\n SeriesVerticalComponent\n ]\n },] }\n];\n\nfunction getDomain(values, scaleType, autoScale, minVal, maxVal) {\n let domain = [];\n if (scaleType === 'linear') {\n values = values.map(v => Number(v));\n if (!autoScale) {\n values.push(0);\n }\n }\n if (scaleType === 'time' || scaleType === 'linear') {\n const min = minVal ? minVal : Math.min(...values);\n const max = maxVal ? maxVal : Math.max(...values);\n domain = [min, max];\n }\n else {\n domain = values;\n }\n return domain;\n}\nfunction getScale(domain, range, scaleType, roundDomains) {\n let scale;\n if (scaleType === 'time') {\n scale = scaleTime().range(range).domain(domain);\n }\n else if (scaleType === 'linear') {\n scale = scaleLinear().range(range).domain(domain);\n if (roundDomains) {\n scale = scale.nice();\n }\n }\n else if (scaleType === 'ordinal') {\n scale = scalePoint().range([range[0], range[1]]).domain(domain);\n }\n return scale;\n}\n\nclass BubbleChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.showGridLines = true;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.xAxis = true;\n this.yAxis = true;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.maxRadius = 10;\n this.minRadius = 3;\n this.schemeType = 'ordinal';\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.scaleType = 'linear';\n this.margin = [10, 20, 10, 20];\n this.bubblePadding = [0, 0, 0, 0];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.activeEntries = [];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.seriesDomain = this.results.map(d => d.name);\n this.rDomain = this.getRDomain();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.transform = `translate(${this.dims.xOffset},${this.margin[0]})`;\n const colorDomain = this.schemeType === 'ordinal' ? this.seriesDomain : this.rDomain;\n this.colors = new ColorHelper(this.scheme, this.schemeType, colorDomain, this.customColors);\n this.data = this.results;\n this.minRadius = Math.max(this.minRadius, 1);\n this.maxRadius = Math.max(this.maxRadius, 1);\n this.rScale = this.getRScale(this.rDomain, [this.minRadius, this.maxRadius]);\n this.bubblePadding = [0, 0, 0, 0];\n this.setScales();\n this.bubblePadding = this.getBubblePadding();\n this.setScales();\n this.legendOptions = this.getLegendOptions();\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n hideCircles() {\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n getBubblePadding() {\n let yMin = 0;\n let xMin = 0;\n let yMax = this.dims.height;\n let xMax = this.dims.width;\n for (const s of this.data) {\n for (const d of s.series) {\n const r = this.rScale(d.r);\n const cx = this.xScaleType === 'linear' ? this.xScale(Number(d.x)) : this.xScale(d.x);\n const cy = this.yScaleType === 'linear' ? this.yScale(Number(d.y)) : this.yScale(d.y);\n xMin = Math.max(r - cx, xMin);\n yMin = Math.max(r - cy, yMin);\n yMax = Math.max(cy + r, yMax);\n xMax = Math.max(cx + r, xMax);\n }\n }\n xMax = Math.max(xMax - this.dims.width, 0);\n yMax = Math.max(yMax - this.dims.height, 0);\n return [yMin, xMax, yMax, xMin];\n }\n setScales() {\n let width = this.dims.width;\n if (this.xScaleMin === undefined && this.xScaleMax === undefined) {\n width = width - this.bubblePadding[1];\n }\n let height = this.dims.height;\n if (this.yScaleMin === undefined && this.yScaleMax === undefined) {\n height = height - this.bubblePadding[2];\n }\n this.xScale = this.getXScale(this.xDomain, width);\n this.yScale = this.getYScale(this.yDomain, height);\n }\n getYScale(domain, height) {\n return getScale(domain, [height, this.bubblePadding[0]], this.yScaleType, this.roundDomains);\n }\n getXScale(domain, width) {\n return getScale(domain, [this.bubblePadding[3], width], this.xScaleType, this.roundDomains);\n }\n getRScale(domain, range) {\n const scale = scaleLinear().range(range).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n position: this.legendPosition,\n title: undefined\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.rDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n getXDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.x)) {\n values.push(d.x);\n }\n }\n }\n this.xScaleType = getScaleType(values);\n return getDomain(values, this.xScaleType, this.autoScale, this.xScaleMin, this.xScaleMax);\n }\n getYDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.y)) {\n values.push(d.y);\n }\n }\n }\n this.yScaleType = getScaleType(values);\n return getDomain(values, this.yScaleType, this.autoScale, this.yScaleMin, this.yScaleMax);\n }\n getRDomain() {\n let min = Infinity;\n let max = -Infinity;\n for (const results of this.results) {\n for (const d of results.series) {\n const value = Number(d.r) || 1;\n min = Math.min(min, value);\n max = Math.max(max, value);\n }\n }\n return [min, max];\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return item.name;\n }\n}\nBubbleChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-bubble-chart',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [activeEntries]=\"activeEntries\"\n [legendOptions]=\"legendOptions\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"bubble-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [showGridLines]=\"showGridLines\"\n [dims]=\"dims\"\n [xScale]=\"xScale\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n />\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [showGridLines]=\"showGridLines\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n />\n <svg:rect\n class=\"bubble-chart-area\"\n x=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"fill: rgb(255, 0, 0); opacity: 0; cursor: 'auto';\"\n (mouseenter)=\"deactivateAll()\"\n />\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of data; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-bubble-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [rScale]=\"rScale\"\n [xScaleType]=\"xScaleType\"\n [yScaleType]=\"yScaleType\"\n [xAxisLabel]=\"xAxisLabel\"\n [yAxisLabel]=\"yAxisLabel\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nBubbleChartComponent.propDecorators = {\n showGridLines: [{ type: Input }],\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n maxRadius: [{ type: Input }],\n minRadius: [{ type: Input }],\n autoScale: [{ type: Input }],\n schemeType: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass BubbleSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.circles = this.getCircles();\n }\n getCircles() {\n const seriesName = this.data.name;\n return this.data.series\n .map((d, i) => {\n if (typeof d.y !== 'undefined' && typeof d.x !== 'undefined') {\n const y = d.y;\n const x = d.x;\n const r = d.r;\n const radius = this.rScale(r || 1);\n const tooltipLabel = formatLabel(d.name);\n const cx = this.xScaleType === 'linear' ? this.xScale(Number(x)) : this.xScale(x);\n const cy = this.yScaleType === 'linear' ? this.yScale(Number(y)) : this.yScale(y);\n const color = this.colors.scaleType === 'linear' ? this.colors.getColor(r) : this.colors.getColor(seriesName);\n const isActive = !this.activeEntries.length ? true : this.isActive({ name: seriesName });\n const opacity = isActive ? 1 : 0.3;\n const data = Object.assign({}, d, {\n series: seriesName,\n name: d.name,\n value: d.y,\n x: d.x,\n radius: d.r\n });\n return {\n data,\n x,\n y,\n r,\n classNames: [`circle-data-${i}`],\n value: y,\n label: x,\n cx,\n cy,\n radius,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n isActive,\n transform: `translate(${cx},${cy})`\n };\n }\n })\n .filter(circle => circle !== undefined);\n }\n getTooltipText(circle) {\n const hasRadius = typeof circle.r !== 'undefined';\n const hasTooltipLabel = circle.tooltipLabel && circle.tooltipLabel.length;\n const hasSeriesName = circle.seriesName && circle.seriesName.length;\n const radiusValue = hasRadius ? formatLabel(circle.r) : '';\n const xAxisLabel = this.xAxisLabel && this.xAxisLabel !== '' ? `${this.xAxisLabel}:` : '';\n const yAxisLabel = this.yAxisLabel && this.yAxisLabel !== '' ? `${this.yAxisLabel}:` : '';\n const x = formatLabel(circle.x);\n const y = formatLabel(circle.y);\n const name = hasSeriesName && hasTooltipLabel\n ? `${circle.seriesName} • ${circle.tooltipLabel}`\n : circle.seriesName + circle.tooltipLabel;\n const tooltipTitle = hasSeriesName || hasTooltipLabel ? `<span class=\"tooltip-label\">${escapeLabel(name)}</span>` : '';\n return `\n ${tooltipTitle}\n <span class=\"tooltip-label\">\n <label>${escapeLabel(xAxisLabel)}</label> ${escapeLabel(x)}<br />\n <label>${escapeLabel(yAxisLabel)}</label> ${escapeLabel(y)}\n </span>\n <span class=\"tooltip-val\">\n ${escapeLabel(radiusValue)}\n </span>\n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isVisible(circle) {\n if (this.activeEntries.length > 0) {\n return this.isActive({ name: circle.seriesName });\n }\n return circle.opacity !== 0;\n }\n activateCircle(circle) {\n circle.barVisible = true;\n this.activate.emit({ name: this.data.name });\n }\n deactivateCircle(circle) {\n circle.barVisible = false;\n this.deactivate.emit({ name: this.data.name });\n }\n trackBy(index, circle) {\n return `${circle.data.series} ${circle.data.name}`;\n }\n}\nBubbleSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-bubble-series]',\n template: `\n <svg:g *ngFor=\"let circle of circles; trackBy: trackBy\">\n <svg:g [attr.transform]=\"circle.transform\">\n <svg:g\n ngx-charts-circle\n [@animationState]=\"'active'\"\n class=\"circle\"\n [cx]=\"0\"\n [cy]=\"0\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"circle.opacity\"\n [class.active]=\"circle.isActive\"\n [pointerEvents]=\"'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle(circle)\"\n (deactivate)=\"deactivateCircle(circle)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'scale(0)'\n }),\n animate(250, style({ opacity: 1, transform: 'scale(1)' }))\n ])\n ])\n ]\n },] }\n];\nBubbleSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n rScale: [{ type: Input }],\n xScaleType: [{ type: Input }],\n yScaleType: [{ type: Input }],\n colors: [{ type: Input }],\n visibleValue: [{ type: Input }],\n activeEntries: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass BubbleChartModule {\n}\nBubbleChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [BubbleChartComponent, BubbleSeriesComponent],\n exports: [BubbleChartComponent, BubbleSeriesComponent]\n },] }\n];\n\nclass HeatMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.transform = `translate(${this.x} , ${this.y})`;\n this.startOpacity = 0.3;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n if (this.animations) {\n this.loadAnimation();\n }\n }\n getGradientStops() {\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0);\n this.animateToCurrentForm();\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n node.transition().duration(750).attr('opacity', 1);\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n}\nHeatMapCellComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-heat-map-cell]',\n template: `\n <svg:g [attr.transform]=\"transform\" class=\"cell\">\n <defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n rx=\"3\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"cell\"\n style=\"cursor: pointer\"\n (click)=\"onClick()\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nHeatMapCellComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nHeatMapCellComponent.propDecorators = {\n fill: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n data: [{ type: Input }],\n label: [{ type: Input }],\n gradient: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass HeatCellSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n ngOnInit() {\n if (!this.tooltipText) {\n this.tooltipText = this.getTooltipText;\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cells = this.getCells();\n }\n getCells() {\n const cells = [];\n this.data.map(row => {\n row.series.map(cell => {\n const value = cell.value;\n cell.series = row.name;\n cells.push({\n row,\n cell,\n x: this.xScale(row.name),\n y: this.yScale(cell.name),\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: this.colors.getColor(value),\n data: value,\n label: formatLabel(cell.name),\n series: row.name\n });\n });\n });\n return cells;\n }\n getTooltipText({ label, data, series }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(series)} • ${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${data.toLocaleString()}</span>\n `;\n }\n trackBy(index, item) {\n return item.tooltipText;\n }\n onClick(data) {\n this.select.emit(data);\n }\n}\nHeatCellSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-heat-map-cell-series]',\n template: `\n <svg:g\n ngx-charts-heat-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [data]=\"c.data\"\n (select)=\"onClick(c.cell)\"\n (activate)=\"activate.emit(c.cell)\"\n (deactivate)=\"deactivate.emit(c.cell)\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"{ series: c.series, name: c.label, value: c.data }\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nHeatCellSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n colors: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass HeatMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.innerPadding = 8;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.tooltipDisabled = false;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.scaleType = 'linear';\n }\n update() {\n super.update();\n this.formatDates();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.valueDomain = this.getValueDomain();\n this.scaleType = getScaleType(this.valueDomain, false);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.scaleType,\n legendPosition: this.legendPosition\n });\n if (this.scaleType === 'linear') {\n let min = this.min;\n let max = this.max;\n if (!this.min) {\n min = Math.min(0, ...this.valueDomain);\n }\n if (!this.max) {\n max = Math.max(...this.valueDomain);\n }\n this.valueDomain = [min, max];\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.rects = this.getRects();\n }\n getXDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.name)) {\n domain.push(group.name);\n }\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.name)) {\n domain.push(d.name);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n return domain;\n }\n /**\n * Converts the input to gap paddingInner in fraction\n * Supports the following inputs:\n * Numbers: 8\n * Strings: \"8\", \"8px\", \"8%\"\n * Arrays: [8,2], \"8,2\", \"[8,2]\"\n * Mixed: [8,\"2%\"], [\"8px\",\"2%\"], \"8,2%\", \"[8,2%]\"\n *\n * @memberOf HeatMapComponent\n */\n getDimension(value, index = 0, N, L) {\n if (typeof value === 'string') {\n value = value\n .replace('[', '')\n .replace(']', '')\n .replace('px', '')\n // tslint:disable-next-line: quotemark\n .replace(\"'\", '');\n if (value.includes(',')) {\n value = value.split(',');\n }\n }\n if (Array.isArray(value) && typeof index === 'number') {\n return this.getDimension(value[index], null, N, L);\n }\n if (typeof value === 'string' && value.includes('%')) {\n return +value.replace('%', '') / 100;\n }\n return N / (L / +value + 1);\n }\n getXScale() {\n const f = this.getDimension(this.innerPadding, 0, this.xDomain.length, this.dims.width);\n return scaleBand().rangeRound([0, this.dims.width]).domain(this.xDomain).paddingInner(f);\n }\n getYScale() {\n const f = this.getDimension(this.innerPadding, 1, this.yDomain.length, this.dims.height);\n return scaleBand().rangeRound([this.dims.height, 0]).domain(this.yDomain).paddingInner(f);\n }\n getRects() {\n const rects = [];\n this.xDomain.map(xVal => {\n this.yDomain.map(yVal => {\n rects.push({\n x: this.xScale(xVal),\n y: this.yScale(yVal),\n rx: 3,\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: 'rgba(200,200,200,0.03)'\n });\n });\n });\n return rects;\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, this.scaleType, this.valueDomain);\n }\n getLegendOptions() {\n return {\n scaleType: this.scaleType,\n domain: this.valueDomain,\n colors: this.scaleType === 'ordinal' ? this.colors : this.colors.scale,\n title: this.scaleType === 'ordinal' ? this.legendTitle : undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nHeatMapComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-heat-map',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [animations]=\"animations\"\n [legendOptions]=\"legendOptions\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"heat-map chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:rect\n *ngFor=\"let rect of rects\"\n [attr.x]=\"rect.x\"\n [attr.y]=\"rect.y\"\n [attr.rx]=\"rect.rx\"\n [attr.width]=\"rect.width\"\n [attr.height]=\"rect.height\"\n [attr.fill]=\"rect.fill\"\n />\n <svg:g\n ngx-charts-heat-map-cell-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"results\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, undefined)\"\n (deactivate)=\"onDeactivate($event, undefined)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nHeatMapComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n gradient: [{ type: Input }],\n innerPadding: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n activeEntries: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass HeatMapModule {\n}\nHeatMapModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent],\n exports: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent]\n },] }\n];\n\nclass LineComponent {\n constructor(element) {\n this.element = element;\n this.fill = 'none';\n this.animations = true;\n this.select = new EventEmitter();\n this.initialized = false;\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.initialized = true;\n this.initialPath = this.path;\n }\n else {\n this.updatePathEl();\n }\n }\n updatePathEl() {\n const node = select(this.element.nativeElement).select('.line');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n }\n else {\n node.attr('d', this.path);\n }\n }\n}\nLineComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-line]',\n template: `\n <svg:path\n [@animationState]=\"'active'\"\n class=\"line\"\n [attr.d]=\"initialPath\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n stroke-width=\"1.5px\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n strokeDasharray: 2000,\n strokeDashoffset: 2000\n }),\n animate(1000, style({\n strokeDashoffset: 0\n }))\n ])\n ])\n ]\n },] }\n];\nLineComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nLineComponent.propDecorators = {\n path: [{ type: Input }],\n stroke: [{ type: Input }],\n data: [{ type: Input }],\n fill: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass LineChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showRefLines = false;\n this.showRefLabels = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === 'time' || this.scaleType === 'linear') {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === 'time') {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === 'linear') {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === 'time') {\n scale = scaleTime().range([0, width]).domain(domain);\n }\n else if (this.scaleType === 'linear') {\n scale = scaleLinear().range([0, width]).domain(domain);\n if (this.roundDomains) {\n scale = scale.nice();\n }\n }\n else if (this.scaleType === 'ordinal') {\n scale = scalePoint().range([0, width]).padding(0.1).domain(domain);\n }\n return scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.name;\n }\n setColors() {\n let domain;\n if (this.schemeType === 'ordinal') {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n this.deactivateAll();\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nLineChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-line-chart',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"line-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [scaleType]=\"scaleType\"\n [legend]=\"legend\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\"]\n },] }\n];\nLineChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n autoScale: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n showRefLines: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n\nclass LineSeriesComponent {\n constructor() {\n this.animations = true;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const data = this.sortData(this.data.series);\n const lineGen = this.getLineGenerator();\n this.path = lineGen(data) || '';\n const areaGen = this.getAreaGenerator();\n this.areaPath = areaGen(data) || '';\n if (this.hasRange) {\n const range = this.getRangeGenerator();\n this.outerPath = range(data) || '';\n }\n if (this.hasGradient) {\n this.stroke = this.gradientUrl;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n if (max === min) {\n this.stroke = this.colors.getColor(max);\n }\n }\n else {\n this.stroke = this.colors.getColor(this.data.name);\n }\n }\n getLineGenerator() {\n return line()\n .x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === 'time') {\n value = this.xScale(label);\n }\n else if (this.scaleType === 'linear') {\n value = this.xScale(Number(label));\n }\n else {\n value = this.xScale(label);\n }\n return value;\n })\n .y(d => this.yScale(d.value))\n .curve(this.curve);\n }\n getRangeGenerator() {\n return area()\n .x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === 'time') {\n value = this.xScale(label);\n }\n else if (this.scaleType === 'linear') {\n value = this.xScale(Number(label));\n }\n else {\n value = this.xScale(label);\n }\n return value;\n })\n .y0(d => this.yScale(typeof d.min === 'number' ? d.min : d.value))\n .y1(d => this.yScale(typeof d.max === 'number' ? d.max : d.value))\n .curve(this.curve);\n }\n getAreaGenerator() {\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n return area()\n .x(xProperty)\n .y0(() => this.yScale.range()[0])\n .y1(d => this.yScale(d.value))\n .curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === 'linear') {\n data = sortLinear(data, 'name');\n }\n else if (this.scaleType === 'time') {\n data = sortByTime(data, 'name');\n }\n else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n return data;\n }\n updateGradients() {\n if (this.colors.scaleType === 'linear') {\n this.hasGradient = true;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n this.areaGradientStops = this.colors.getLinearGradientStops(max);\n }\n else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n this.areaGradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n}\nLineSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-line-series]',\n template: `\n <svg:g>\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n *ngIf=\"hasGradient\"\n orientation=\"vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-area\n class=\"line-highlight\"\n [data]=\"data\"\n [path]=\"areaPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [opacity]=\"0.25\"\n [startOpacity]=\"0\"\n [gradient]=\"true\"\n [stops]=\"areaGradientStops\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-line\n class=\"line-series\"\n [data]=\"data\"\n [path]=\"path\"\n [stroke]=\"stroke\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n <svg:g\n ngx-charts-area\n *ngIf=\"hasRange\"\n class=\"line-series-range\"\n [data]=\"data\"\n [path]=\"outerPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [opacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nLineSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n hasRange: [{ type: Input }],\n animations: [{ type: Input }]\n};\n\nclass LineChartModule {\n}\nLineChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [LineComponent, LineChartComponent, LineSeriesComponent],\n exports: [LineComponent, LineChartComponent, LineSeriesComponent]\n },] }\n];\n\nfunction isDate(value) {\n return toString.call(value) === '[object Date]';\n}\nfunction isNumber(value) {\n return typeof value === 'number';\n}\n\nconst twoPI = 2 * Math.PI;\nclass PolarChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.showGridLines = true;\n this.curve = curveCardinalClosed;\n this.activeEntries = [];\n this.rangeFillOpacity = 0.15;\n this.trimYAxisTicks = true;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showSeriesOnHover = true;\n this.gradient = false;\n this.yAxisMinScale = 0;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n }\n update() {\n super.update();\n this.setDims();\n this.setScales();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.setTicks();\n }\n setDims() {\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n const halfWidth = Math.floor(this.dims.width / 2);\n const halfHeight = Math.floor(this.dims.height / 2);\n const outerRadius = (this.outerRadius = Math.min(halfHeight / 1.5, halfWidth / 1.5));\n const yOffset = Math.max(0, halfHeight - outerRadius);\n this.yAxisDims = Object.assign(Object.assign({}, this.dims), { width: halfWidth });\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.transformYAxis = `translate(0, ${yOffset})`;\n this.labelOffset = this.dims.height + 40;\n this.transformPlot = `translate(${halfWidth}, ${halfHeight})`;\n }\n setScales() {\n const xValues = this.getXValues();\n this.scaleType = getScaleType(xValues);\n this.xDomain = this.filteredDomain || this.getXDomain(xValues);\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, twoPI);\n this.yScale = this.getYScale(this.yDomain, this.outerRadius);\n this.yAxisScale = this.getYScale(this.yDomain.reverse(), this.outerRadius);\n }\n setTicks() {\n let tickFormat;\n if (this.xAxisTickFormatting) {\n tickFormat = this.xAxisTickFormatting;\n }\n else if (this.xScale.tickFormat) {\n tickFormat = this.xScale.tickFormat.apply(this.xScale, [5]);\n }\n else {\n tickFormat = d => {\n if (isDate(d)) {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const outerRadius = this.outerRadius;\n const s = 1.1;\n this.thetaTicks = this.xDomain.map(d => {\n const startAngle = this.xScale(d);\n const dd = s * outerRadius * (startAngle > Math.PI ? -1 : 1);\n const label = tickFormat(d);\n const startPos = [outerRadius * Math.sin(startAngle), -outerRadius * Math.cos(startAngle)];\n const pos = [dd, s * startPos[1]];\n return {\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle: startAngle,\n value: outerRadius,\n label,\n startPos,\n pos\n };\n });\n const minDistance = 10;\n /* from pie chart, abstract out -*/\n for (let i = 0; i < this.thetaTicks.length - 1; i++) {\n const a = this.thetaTicks[i];\n for (let j = i + 1; j < this.thetaTicks.length; j++) {\n const b = this.thetaTicks[j];\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n this.radiusTicks = this.yAxisScale.ticks(Math.floor(this.dims.height / 50)).map(d => this.yScale(d));\n }\n getXValues() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n return values;\n }\n getXDomain(values = this.getXValues()) {\n if (this.scaleType === 'time') {\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n }\n else if (this.scaleType === 'linear') {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n }\n return values;\n }\n getYValues() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n return domain;\n }\n getYDomain(domain = this.getYValues()) {\n let min = Math.min(...domain);\n const max = Math.max(this.yAxisMinScale, ...domain);\n min = Math.max(0, min);\n if (!this.autoScale) {\n min = Math.min(0, min);\n }\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n switch (this.scaleType) {\n case 'time':\n return scaleTime().range([0, width]).domain(domain);\n case 'linear':\n const scale = scaleLinear().range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n default:\n return scalePoint()\n .range([0, width - twoPI / domain.length])\n .padding(0)\n .domain(domain);\n }\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([0, height]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n const domain = this.schemeType === 'ordinal' ? this.seriesDomain : this.yDomain.reverse();\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n if (this.schemeType === 'ordinal') {\n return {\n scaleType: this.schemeType,\n colors: this.colors,\n domain: this.seriesDomain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n return {\n scaleType: this.schemeType,\n colors: this.colors.scale,\n domain: this.yDomain,\n title: undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = this.showSeriesOnHover ? [item, ...this.activeEntries] : this.activeEntries;\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return item.name;\n }\n}\nPolarChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-polar-chart',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g class=\"polar-chart chart\" [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:circle class=\"polar-chart-background\" cx=\"0\" cy=\"0\" [attr.r]=\"this.outerRadius\" />\n <svg:g *ngIf=\"showGridLines\">\n <svg:circle\n *ngFor=\"let r of radiusTicks\"\n class=\"gridline-path radial-gridline-path\"\n cx=\"0\"\n cy=\"0\"\n [attr.r]=\"r\"\n />\n </svg:g>\n <svg:g *ngIf=\"xAxis\">\n <svg:g\n ngx-charts-pie-label\n *ngFor=\"let tick of thetaTicks\"\n [data]=\"tick\"\n [radius]=\"outerRadius\"\n [label]=\"tick.label\"\n [max]=\"outerRadius\"\n [value]=\"showGridLines ? 1 : outerRadius\"\n [explodeSlices]=\"true\"\n [animations]=\"animations\"\n [labelTrim]=\"labelTrim\"\n [labelTrimSize]=\"labelTrimSize\"\n ></svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-y-axis\n [attr.transform]=\"transformYAxis\"\n *ngIf=\"yAxis\"\n [yScale]=\"yAxisScale\"\n [dims]=\"yAxisDims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"xAxis && showXAxisLabel\"\n [label]=\"xAxisLabel\"\n [offset]=\"labelOffset\"\n [orient]=\"'bottom'\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-polar-series\n [gradient]=\"gradient\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ],\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:fadeIn .75s ease-in;animation:fadeIn .75s ease-in}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:drawOut 3s linear;animation:drawOut 3s linear;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\", \".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{fill:none;stroke-dasharray:10 10}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area,.polar-series-path{pointer-events:none}\"]\n },] }\n];\nPolarChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n autoScale: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n showSeriesOnHover: [{ type: Input }],\n gradient: [{ type: Input }],\n yAxisMinScale: [{ type: Input }],\n labelTrim: [{ type: Input }],\n labelTrimSize: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass PolarSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.circleRadius = 3;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const line = this.getLineGenerator();\n const data = this.sortData(this.data.series);\n const seriesName = this.data.name;\n const linearScaleType = this.colors.scaleType === 'linear';\n const min = this.yScale.domain()[0];\n this.seriesColor = this.colors.getColor(linearScaleType ? min : seriesName);\n this.path = line(data) || '';\n this.circles = data.map(d => {\n const a = this.getAngle(d);\n const r = this.getRadius(d);\n const value = d.value;\n const color = this.colors.getColor(linearScaleType ? Math.abs(value) : seriesName);\n const cData = Object.assign({}, d, {\n series: seriesName,\n value,\n name: d.name\n });\n return {\n data: cData,\n cx: r * Math.sin(a),\n cy: -r * Math.cos(a),\n value,\n color,\n label: d.name\n };\n });\n this.active = this.isActive(this.data);\n this.inactive = this.isInactive(this.data);\n this.tooltipText = this.tooltipText || (c => this.defaultTooltipText(c));\n }\n getAngle(d) {\n const label = d.name;\n if (this.scaleType === 'time') {\n return this.xScale(label);\n }\n else if (this.scaleType === 'linear') {\n return this.xScale(Number(label));\n }\n return this.xScale(label);\n }\n getRadius(d) {\n return this.yScale(d.value);\n }\n getLineGenerator() {\n return lineRadial()\n .angle(d => this.getAngle(d))\n .radius(d => this.getRadius(d))\n .curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === 'linear') {\n return sortLinear(data, 'name');\n }\n else if (this.scaleType === 'time') {\n return sortByTime(data, 'name');\n }\n return sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n defaultTooltipText({ label, value }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(this.data.name)} • ${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n `;\n }\n updateGradients() {\n this.hasGradient = this.gradient || this.colors.scaleType === 'linear';\n if (!this.hasGradient) {\n return;\n }\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n if (this.colors.scaleType === 'linear') {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n }\n else {\n this.gradientStops = undefined;\n }\n }\n}\nPolarSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-polar-series]',\n template: `\n <svg:g class=\"polar-charts-series\">\n <defs>\n <svg:g\n ngx-charts-svg-radial-gradient\n *ngIf=\"hasGradient\"\n orientation=\"vertical\"\n [color]=\"seriesColor\"\n [name]=\"gradientId\"\n [startOpacity]=\"0.25\"\n [endOpacity]=\"1\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-line\n class=\"polar-series-path\"\n [path]=\"path\"\n [stroke]=\"hasGradient ? gradientUrl : seriesColor\"\n [class.active]=\"active\"\n [class.inactive]=\"inactive\"\n [attr.fill-opacity]=\"rangeFillOpacity\"\n [fill]=\"hasGradient ? gradientUrl : seriesColor\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-circle\n *ngFor=\"let circle of circles\"\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circleRadius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"inactive ? 0.2 : 1\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n tooltipType=\"tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n (select)=\"select.emit(circle.data)\"\n (activate)=\"activate.emit({ name: circle.data.series })\"\n (deactivate)=\"deactivate.emit({ name: circle.data.series })\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nPolarSeriesComponent.propDecorators = {\n name: [{ type: Input }],\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass AdvancedPieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: (this.width * 4) / 12.0,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n const xOffset = this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.legendWidth = this.width - this.dims.width - this.margin[1];\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2.5;\n this.innerRadius = this.outerRadius * 0.75;\n this.transform = `translate(${xOffset} , ${yOffset})`;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nAdvancedPieChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-advanced-pie-chart',\n template: `\n <div [style.width.px]=\"width\" [style.height.px]=\"height\">\n <div class=\"advanced-pie chart\" [style.width.px]=\"dims.width\" [style.height.px]=\"dims.height\">\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"results\"\n [innerRadius]=\"innerRadius\"\n [activeEntries]=\"activeEntries\"\n [outerRadius]=\"outerRadius\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n [animations]=\"animations\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n </div>\n <div class=\"advanced-pie-legend-wrapper\" [style.width.px]=\"width - dims.width\" [style.height.px]=\"height\">\n <ngx-charts-advanced-legend\n [data]=\"results\"\n [colors]=\"colors\"\n [width]=\"width - dims.width - margin[1]\"\n [label]=\"label\"\n [animations]=\"animations\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"nameFormatting\"\n [percentageFormatting]=\"percentageFormatting\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, true)\"\n (deactivate)=\"onDeactivate($event, true)\"\n >\n </ngx-charts-advanced-legend>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".advanced-pie{float:left}.advanced-pie,.advanced-pie-legend-wrapper{display:inline-block}\"]\n },] }\n];\nAdvancedPieChartComponent.propDecorators = {\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n label: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n valueFormatting: [{ type: Input }],\n nameFormatting: [{ type: Input }],\n percentageFormatting: [{ type: Input }]\n};\n\nclass PieLabelComponent {\n constructor() {\n this.animations = true;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.isIE = /(edge|msie|trident)/i.test(navigator.userAgent);\n this.trimLabel = trimLabel;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n let startRadius = this.radius;\n if (this.explodeSlices) {\n startRadius = (this.radius * this.value) / this.max;\n }\n const innerArc = arc().innerRadius(startRadius).outerRadius(startRadius);\n // Calculate innerPos then scale outer position to match label position\n const innerPos = innerArc.centroid(this.data);\n let scale = this.data.pos[1] / innerPos[1];\n if (this.data.pos[1] === 0 || innerPos[1] === 0) {\n scale = 1;\n }\n const outerPos = [scale * innerPos[0], scale * innerPos[1]];\n this.line = `M${innerPos}L${outerPos}L${this.data.pos}`;\n }\n get textX() {\n return this.data.pos[0];\n }\n get textY() {\n return this.data.pos[1];\n }\n get styleTransform() {\n return this.isIE ? null : `translate3d(${this.textX}px,${this.textY}px, 0)`;\n }\n get attrTransform() {\n return !this.isIE ? null : `translate(${this.textX},${this.textY})`;\n }\n get textTransition() {\n return this.isIE || !this.animations ? null : 'transform 0.75s';\n }\n textAnchor() {\n return this.midAngle(this.data) < Math.PI ? 'start' : 'end';\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n}\nPieLabelComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-pie-label]',\n template: `\n <title>{{ label }}</title>\n <svg:g [attr.transform]=\"attrTransform\" [style.transform]=\"styleTransform\" [style.transition]=\"textTransition\">\n <svg:text\n class=\"pie-label\"\n [class.animation]=\"animations\"\n dy=\".35em\"\n [style.textAnchor]=\"textAnchor()\"\n [style.shapeRendering]=\"'crispEdges'\"\n >\n {{ labelTrim ? trimLabel(label, labelTrimSize) : label }}\n </svg:text>\n </svg:g>\n <svg:path\n [attr.d]=\"line\"\n [attr.stroke]=\"color\"\n fill=\"none\"\n class=\"pie-label-line line\"\n [class.animation]=\"animations\"\n ></svg:path>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nPieLabelComponent.ctorParameters = () => [];\nPieLabelComponent.propDecorators = {\n data: [{ type: Input }],\n radius: [{ type: Input }],\n label: [{ type: Input }],\n color: [{ type: Input }],\n max: [{ type: Input }],\n value: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n animations: [{ type: Input }],\n labelTrim: [{ type: Input }],\n labelTrimSize: [{ type: Input }]\n};\n\nclass PieArcComponent {\n constructor(element) {\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.cornerRadius = 0;\n this.explodeSlices = false;\n this.gradient = false;\n this.animate = true;\n this.pointerEvents = true;\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getGradient() {\n return this.gradient ? this.gradientFill : this.fill;\n }\n getPointerEvents() {\n return this.pointerEvents ? 'auto' : 'none';\n }\n update() {\n const calc = this.calculateArc();\n this.startOpacity = 0.5;\n this.radialGradientId = 'linearGrad' + id().toString();\n this.gradientFill = `url(#${this.radialGradientId})`;\n if (this.animate) {\n if (this.initialized) {\n this.updateAnimation();\n }\n else {\n this.loadAnimation();\n this.initialized = true;\n }\n }\n else {\n this.path = calc.startAngle(this.startAngle).endAngle(this.endAngle)();\n }\n }\n calculateArc() {\n let outerRadius = this.outerRadius;\n if (this.explodeSlices && this.innerRadius === 0) {\n outerRadius = (this.outerRadius * this.value) / this.max;\n }\n return arc().innerRadius(this.innerRadius).outerRadius(outerRadius).cornerRadius(this.cornerRadius);\n }\n loadAnimation() {\n const node = select(this.element)\n .selectAll('.arc')\n .data([{ startAngle: this.startAngle, endAngle: this.endAngle }]);\n const calc = this.calculateArc();\n node\n .transition()\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const copyOfD = Object.assign({}, d);\n copyOfD.endAngle = copyOfD.startAngle;\n const interpolater = interpolate(copyOfD, copyOfD);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n })\n .transition()\n .duration(750)\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n updateAnimation() {\n const node = select(this.element)\n .selectAll('.arc')\n .data([{ startAngle: this.startAngle, endAngle: this.endAngle }]);\n const calc = this.calculateArc();\n node\n .transition()\n .duration(750)\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n onClick() {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(() => this.select.emit(this.data), 200);\n }\n onDblClick(event) {\n event.preventDefault();\n event.stopPropagation();\n clearTimeout(this._timeout);\n this.dblclick.emit({\n data: this.data,\n nativeEvent: event\n });\n }\n}\nPieArcComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-pie-arc]',\n template: `\n <svg:g class=\"arc-group\">\n <svg:defs *ngIf=\"gradient\">\n <svg:g\n ngx-charts-svg-radial-gradient\n [color]=\"fill\"\n orientation=\"vertical\"\n [name]=\"radialGradientId\"\n [startOpacity]=\"startOpacity\"\n />\n </svg:defs>\n <svg:path\n [attr.d]=\"path\"\n class=\"arc\"\n [class.active]=\"isActive\"\n [attr.fill]=\"getGradient()\"\n (click)=\"onClick()\"\n (dblclick)=\"onDblClick($event)\"\n (mouseenter)=\"activate.emit(data)\"\n (mouseleave)=\"deactivate.emit(data)\"\n [style.pointer-events]=\"getPointerEvents()\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nPieArcComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nPieArcComponent.propDecorators = {\n fill: [{ type: Input }],\n startAngle: [{ type: Input }],\n endAngle: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n cornerRadius: [{ type: Input }],\n value: [{ type: Input }],\n max: [{ type: Input }],\n data: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n gradient: [{ type: Input }],\n animate: [{ type: Input }],\n pointerEvents: [{ type: Input }],\n isActive: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dblclick: [{ type: Output }]\n};\n\nclass PieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.labels = false;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.explodeSlices = false;\n this.doughnut = false;\n this.arcWidth = 0.25;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.dblclick = new EventEmitter();\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n update() {\n super.update();\n if (this.labels && this.hasNoOptionalMarginsSet()) {\n this.margins = [30, 80, 30, 80];\n }\n else if (!this.labels && this.hasNoOptionalMarginsSet()) {\n // default value for margins\n this.margins = [20, 20, 20, 20];\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margins,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n const xOffset = this.margins[3] + this.dims.width / 2;\n const yOffset = this.margins[0] + this.dims.height / 2;\n this.translation = `translate(${xOffset}, ${yOffset})`;\n this.outerRadius = Math.min(this.dims.width, this.dims.height);\n if (this.labels) {\n // make room for labels\n this.outerRadius /= 3;\n }\n else {\n this.outerRadius /= 2;\n }\n this.innerRadius = 0;\n if (this.doughnut) {\n this.innerRadius = this.outerRadius * (1 - this.arcWidth);\n }\n this.domain = this.getDomain();\n // sort data according to domain\n this.data = this.results.sort((a, b) => {\n return this.domain.indexOf(a.name) - this.domain.indexOf(b.name);\n });\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n getLegendOptions() {\n return {\n scaleType: 'ordinal',\n domain: this.domain,\n colors: this.colors,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n hasNoOptionalMarginsSet() {\n return !this.margins || this.margins.length <= 0;\n }\n}\nPieChartComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-pie-chart',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"translation\" class=\"pie-chart chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"data\"\n [showLabels]=\"labels\"\n [labelFormatting]=\"labelFormatting\"\n [trimLabels]=\"trimLabels\"\n [maxLabelLength]=\"maxLabelLength\"\n [activeEntries]=\"activeEntries\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [explodeSlices]=\"explodeSlices\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (dblclick)=\"dblclick.emit($event)\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:fadeIn .75s ease-in;animation:fadeIn .75s ease-in}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:drawOut 3s linear;animation:drawOut 3s linear;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\"]\n },] }\n];\nPieChartComponent.propDecorators = {\n labels: [{ type: Input }],\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n doughnut: [{ type: Input }],\n arcWidth: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n trimLabels: [{ type: Input }],\n maxLabelLength: [{ type: Input }],\n tooltipText: [{ type: Input }],\n dblclick: [{ type: Output }],\n margins: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nfunction gridSize(dims, len, minWidth) {\n let rows = 1;\n let cols = len;\n const width = dims.width;\n if (width > minWidth) {\n while (width / cols < minWidth) {\n rows += 1;\n cols = Math.ceil(len / rows);\n }\n }\n return [cols, rows];\n}\nfunction gridLayout(dims, data, minWidth, designatedTotal) {\n const xScale = scaleBand();\n const yScale = scaleBand();\n const width = dims.width;\n const height = dims.height;\n const [columns, rows] = gridSize(dims, data.length, minWidth);\n const xDomain = [];\n const yDomain = [];\n for (let i = 0; i < rows; i++) {\n yDomain.push(i);\n }\n for (let i = 0; i < columns; i++) {\n xDomain.push(i);\n }\n xScale.domain(xDomain);\n yScale.domain(yDomain);\n xScale.rangeRound([0, width], 0.1);\n yScale.rangeRound([0, height], 0.1);\n const res = [];\n const total = designatedTotal ? designatedTotal : getTotal(data);\n const cardWidth = xScale.bandwidth();\n const cardHeight = yScale.bandwidth();\n for (let i = 0; i < data.length; i++) {\n res[i] = {};\n res[i].data = {\n name: data[i] ? data[i].name : '',\n value: data[i] ? data[i].value : undefined,\n extra: data[i] ? data[i].extra : undefined,\n label: data[i] ? data[i].label : ''\n };\n res[i].x = xScale(i % columns);\n res[i].y = yScale(Math.floor(i / columns));\n res[i].width = cardWidth;\n res[i].height = cardHeight;\n res[i].data.percent = total > 0 ? res[i].data.value / total : 0;\n res[i].data.total = total;\n }\n return res;\n}\nfunction getTotal(results) {\n return results.map(d => (d ? d.value : 0)).reduce((sum, val) => sum + val, 0);\n}\n\nclass PieGridComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.minWidth = 150;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.data = gridLayout(this.dims, this.results, this.minWidth, this.designatedTotal);\n this.transform = `translate(${this.margin[3]} , ${this.margin[0]})`;\n this.series = this.getSeries();\n this.setColors();\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n defaultTooltipText({ data }) {\n const label = trimLabel(formatLabel(data.name));\n const val = data.value.toLocaleString();\n return `\n <span class=\"tooltip-label\">${label}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n getSeries() {\n const total = this.designatedTotal ? this.designatedTotal : this.getTotal();\n return this.data.map(d => {\n const baselineLabelHeight = 20;\n const padding = 10;\n const name = d.data.name;\n const label = formatLabel(name);\n const value = d.data.value;\n const radius = min([d.width - padding, d.height - baselineLabelHeight]) / 2 - 5;\n const innerRadius = radius * 0.9;\n let count = 0;\n const colors = () => {\n count += 1;\n if (count === 1) {\n return 'rgba(100,100,100,0.3)';\n }\n else {\n return this.colorScale.getColor(label);\n }\n };\n const xPos = d.x + (d.width - padding) / 2;\n const yPos = d.y + (d.height - baselineLabelHeight) / 2;\n return {\n transform: `translate(${xPos}, ${yPos})`,\n colors,\n innerRadius,\n outerRadius: radius,\n name,\n label: trimLabel(label),\n total: value,\n value,\n percent: format('.1%')(d.data.percent),\n data: [\n d,\n {\n data: {\n other: true,\n value: total - value,\n name: d.data.name\n }\n }\n ]\n };\n });\n }\n getTotal() {\n return this.results.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colorScale = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nPieGridComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-pie-grid',\n template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie-grid chart\">\n <svg:g *ngFor=\"let series of series\" class=\"pie-grid-item\" [attr.transform]=\"series.transform\">\n <svg:g\n ngx-charts-pie-grid-series\n [colors]=\"series.colors\"\n [data]=\"series.data\"\n [innerRadius]=\"series.innerRadius\"\n [outerRadius]=\"series.outerRadius\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText({ data: series })\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"series.data[0].data\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n <svg:text\n *ngIf=\"animations\"\n class=\"label percent-label\"\n dy=\"-0.5em\"\n x=\"0\"\n y=\"5\"\n ngx-charts-count-up\n [countTo]=\"series.percent\"\n [countSuffix]=\"'%'\"\n text-anchor=\"middle\"\n ></svg:text>\n <svg:text *ngIf=\"!animations\" class=\"label percent-label\" dy=\"-0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.percent.toLocaleString() }}\n </svg:text>\n <svg:text class=\"label\" dy=\"0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.label }}\n </svg:text>\n <svg:text\n *ngIf=\"animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n ngx-charts-count-up\n [countTo]=\"series.total\"\n [countPrefix]=\"label + ': '\"\n ></svg:text>\n <svg:text\n *ngIf=\"!animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n >\n {{ label }}: {{ series.total.toLocaleString() }}\n </svg:text>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\"]\n },] }\n];\nPieGridComponent.propDecorators = {\n designatedTotal: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n label: [{ type: Input }],\n minWidth: [{ type: Input }],\n activeEntries: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass PieGridSeriesComponent {\n constructor(element) {\n this.innerRadius = 70;\n this.outerRadius = 80;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.layout = pie()\n .value(d => d.data.value)\n .sort(null);\n this.arcs = this.getArcs();\n }\n getArcs() {\n return this.layout(this.data).map((arc, index) => {\n const label = arc.data.data.name;\n const other = arc.data.data.other;\n if (index === 0) {\n arc.startAngle = 0;\n }\n const color = this.colors(label);\n return {\n data: arc.data.data,\n class: 'arc ' + 'arc' + index,\n fill: color,\n startAngle: other ? 0 : arc.startAngle,\n endAngle: arc.endAngle,\n animate: this.animations && !other,\n pointerEvents: !other\n };\n });\n }\n onClick(data) {\n this.select.emit(this.data[0].data);\n }\n trackBy(index, item) {\n return item.data.name;\n }\n label(arc) {\n return arc.data.name;\n }\n color(arc) {\n return this.colors(this.label(arc));\n }\n}\nPieGridSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-pie-grid-series]',\n template: `\n <svg:g class=\"pie-grid-arcs\">\n <svg:g\n ngx-charts-pie-arc\n *ngFor=\"let arc of arcs; trackBy: trackBy\"\n [attr.class]=\"arc.class\"\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [data]=\"arc.data\"\n [gradient]=\"false\"\n [pointerEvents]=\"arc.pointerEvents\"\n [animate]=\"arc.animate\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nPieGridSeriesComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nPieGridSeriesComponent.propDecorators = {\n colors: [{ type: Input }],\n data: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass PieSeriesComponent {\n constructor() {\n this.series = [];\n this.innerRadius = 60;\n this.outerRadius = 80;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n const pieGenerator = pie()\n .value(d => d.value)\n .sort(null);\n const arcData = pieGenerator(this.series);\n this.max = max(arcData, d => {\n return d.value;\n });\n this.data = this.calculateLabelPositions(arcData);\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n outerArc() {\n const factor = 1.5;\n return arc()\n .innerRadius(this.outerRadius * factor)\n .outerRadius(this.outerRadius * factor);\n }\n calculateLabelPositions(pieData) {\n const factor = 1.5;\n const minDistance = 10;\n const labelPositions = pieData;\n labelPositions.forEach(d => {\n d.pos = this.outerArc().centroid(d);\n d.pos[0] = factor * this.outerRadius * (this.midAngle(d) < Math.PI ? 1 : -1);\n });\n for (let i = 0; i < labelPositions.length - 1; i++) {\n const a = labelPositions[i];\n if (!this.labelVisible(a)) {\n continue;\n }\n for (let j = i + 1; j < labelPositions.length; j++) {\n const b = labelPositions[j];\n if (!this.labelVisible(b)) {\n continue;\n }\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n return labelPositions;\n }\n labelVisible(myArc) {\n return this.showLabels && myArc.endAngle - myArc.startAngle > Math.PI / 30;\n }\n getTooltipTitle(a) {\n return this.tooltipTemplate ? undefined : this.tooltipText(a);\n }\n labelText(myArc) {\n if (this.labelFormatting) {\n return this.labelFormatting(myArc.data.name);\n }\n return this.label(myArc);\n }\n label(myArc) {\n return formatLabel(myArc.data.name);\n }\n defaultTooltipText(myArc) {\n const label = this.label(myArc);\n const val = formatLabel(myArc.data.value);\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n color(myArc) {\n return this.colors.getColor(this.label(myArc));\n }\n trackBy(index, item) {\n return item.data.name;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n}\nPieSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-pie-series]',\n template: `\n <svg:g *ngFor=\"let arc of data; trackBy: trackBy\">\n <svg:g\n ngx-charts-pie-label\n *ngIf=\"labelVisible(arc)\"\n [data]=\"arc\"\n [radius]=\"outerRadius\"\n [color]=\"color(arc)\"\n [label]=\"labelText(arc)\"\n [labelTrim]=\"trimLabels\"\n [labelTrimSize]=\"maxLabelLength\"\n [max]=\"max\"\n [value]=\"arc.value\"\n [explodeSlices]=\"explodeSlices\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [gradient]=\"gradient\"\n [data]=\"arc.data\"\n [max]=\"max\"\n [explodeSlices]=\"explodeSlices\"\n [isActive]=\"isActive(arc.data)\"\n [animate]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n (dblclick)=\"dblclick.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"getTooltipTitle(arc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"arc.data\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nPieSeriesComponent.propDecorators = {\n colors: [{ type: Input }],\n series: [{ type: Input }],\n dims: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n showLabels: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n trimLabels: [{ type: Input }],\n maxLabelLength: [{ type: Input }],\n tooltipText: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dblclick: [{ type: Output }]\n};\n\nclass PieChartModule {\n}\nPieChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [\n AdvancedPieChartComponent,\n PieLabelComponent,\n PieArcComponent,\n PieChartComponent,\n PieGridComponent,\n PieGridSeriesComponent,\n PieSeriesComponent\n ],\n exports: [\n AdvancedPieChartComponent,\n PieLabelComponent,\n PieArcComponent,\n PieChartComponent,\n PieGridComponent,\n PieGridSeriesComponent,\n PieSeriesComponent\n ]\n },] }\n];\n\nclass PolarChartModule {\n}\nPolarChartModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule, PieChartModule, LineChartModule],\n declarations: [PolarChartComponent, PolarSeriesComponent],\n exports: [PolarChartComponent, PolarSeriesComponent]\n },] }\n];\n\nclass CardComponent {\n constructor(element, cd, zone) {\n this.cd = cd;\n this.zone = zone;\n this.animations = true;\n this.select = new EventEmitter();\n this.value = '';\n this.textFontSize = 12;\n this.textTransform = '';\n this.initialized = false;\n this.bandHeight = 10;\n this.textPadding = [10, 20, 5, 20];\n this.labelFontSize = 15;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngOnDestroy() {\n cancelAnimationFrame(this.animationReq);\n }\n update() {\n this.zone.run(() => {\n const hasValue = this.data && typeof this.data.value !== 'undefined';\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const labelFormatting = this.labelFormatting || (card => escapeLabel(trimLabel(card.label, 55)));\n this.transform = `translate(${this.x} , ${this.y})`;\n this.textWidth = Math.max(0, this.width) - this.textPadding[1] - this.textPadding[3];\n this.cardWidth = Math.max(0, this.width);\n this.cardHeight = Math.max(0, this.height);\n this.label = this.label ? this.label : this.data.name;\n const cardData = {\n label: this.label,\n data: this.data,\n value: this.data.value\n };\n this.formattedLabel = labelFormatting(cardData);\n this.transformBand = `translate(0 , ${this.cardHeight - this.bandHeight})`;\n const value = hasValue ? valueFormatting(cardData) : '';\n this.value = this.paddedValue(value);\n this.setPadding();\n this.bandPath = roundedRect(0, 0, this.cardWidth, this.bandHeight, 3, [false, false, true, true]);\n setTimeout(() => {\n this.scaleText();\n this.value = value;\n if (hasValue && !this.initialized) {\n setTimeout(() => this.startCount(), 20);\n }\n }, 8);\n });\n }\n paddedValue(value) {\n if (this.medianSize && this.medianSize > value.length) {\n value += '\\u2007'.repeat(this.medianSize - value.length);\n }\n return value;\n }\n startCount() {\n if (!this.initialized && this.animations) {\n cancelAnimationFrame(this.animationReq);\n const val = this.data.value;\n const decs = decimalChecker(val);\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const callback = ({ value, finished }) => {\n this.zone.run(() => {\n value = finished ? val : value;\n this.value = valueFormatting({ label: this.label, data: this.data, value });\n if (!finished) {\n this.value = this.paddedValue(this.value);\n }\n this.cd.markForCheck();\n });\n };\n this.animationReq = count(0, val, decs, 1, callback);\n this.initialized = true;\n }\n }\n scaleText() {\n this.zone.run(() => {\n const { width, height } = this.textEl.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0) {\n return;\n }\n const textPadding = (this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8);\n const availableWidth = this.cardWidth - 2 * textPadding;\n const availableHeight = this.cardHeight / 3;\n const resizeScale = Math.min(availableWidth / width, availableHeight / height);\n this.textFontSize = Math.floor(this.textFontSize * resizeScale);\n this.labelFontSize = Math.min(this.textFontSize, 15);\n this.setPadding();\n this.cd.markForCheck();\n });\n }\n setPadding() {\n this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8;\n const padding = this.cardHeight / 2;\n this.textPadding[0] = padding - this.textFontSize - this.labelFontSize / 2;\n this.textPadding[2] = padding - this.labelFontSize;\n }\n onClick() {\n this.select.emit(this.data);\n }\n}\nCardComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-card]',\n template: `\n <svg:g [attr.transform]=\"transform\" class=\"cell\" (click)=\"onClick()\">\n <svg:rect class=\"card\" [style.fill]=\"color\" [attr.width]=\"cardWidth\" [attr.height]=\"cardHeight\" rx=\"3\" ry=\"3\" />\n <svg:path\n *ngIf=\"bandColor && bandColor !== color\"\n class=\"card-band\"\n [attr.fill]=\"bandColor\"\n [attr.transform]=\"transformBand\"\n stroke=\"none\"\n [attr.d]=\"bandPath\"\n />\n <title>{{ label }}</title>\n <svg:foreignObject\n class=\"trimmed-label\"\n x=\"5\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"cardHeight - textPadding[2]\"\n [attr.width]=\"textWidth\"\n [attr.height]=\"labelFontSize + textPadding[2]\"\n alignment-baseline=\"hanging\"\n >\n <xhtml:p\n [style.color]=\"textColor\"\n [style.fontSize.px]=\"labelFontSize\"\n [style.lineHeight.px]=\"labelFontSize\"\n [innerHTML]=\"formattedLabel\"\n >\n </xhtml:p>\n </svg:foreignObject>\n <svg:text\n #textEl\n class=\"value-text\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"textPadding[0]\"\n [style.fill]=\"textColor\"\n text-anchor=\"start\"\n alignment-baseline=\"hanging\"\n [style.font-size.pt]=\"textFontSize\"\n >\n {{ value }}\n </svg:text>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nCardComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: NgZone }\n];\nCardComponent.propDecorators = {\n color: [{ type: Input }],\n bandColor: [{ type: Input }],\n textColor: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n label: [{ type: Input }],\n data: [{ type: Input }],\n medianSize: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n textEl: [{ type: ViewChild, args: ['textEl', { static: false },] }]\n};\n\n/**\n * Converts a hex to RGB\n *\n * @export\n */\nfunction hexToRgb(value) {\n // deprecated, use d3.color()\n return rgb(value);\n}\n/**\n * Accepts a color (string) and returns a inverted hex color (string)\n * http://stackoverflow.com/questions/9600295/automatically-change-text-color-to-assure-readability\n *\n * @export\n */\nfunction invertColor(value) {\n const color = rgb(value);\n const { r, g, b, opacity } = color;\n if (opacity === 0) {\n return color.toString();\n }\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n const depth = yiq >= 128 ? -0.8 : 0.8;\n return shadeRGBColor(color, depth);\n}\n/**\n * Given a rgb, it will darken/lighten\n * http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors\n *\n * @export\n * @param \\{ r, g, b }\n */\nfunction shadeRGBColor({ r, g, b }, percent) {\n const t = percent < 0 ? 0 : 255;\n const p = percent < 0 ? percent * -1 : percent;\n r = Math.round((t - r) * p) + r;\n g = Math.round((t - g) * p) + g;\n b = Math.round((t - b) * p) + b;\n return `rgb(${r}, ${g}, ${b})`;\n}\n\nclass CardSeriesComponent {\n constructor() {\n this.innerPadding = 15;\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.data.length > 2) {\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const sortedLengths = this.data\n .map(d => {\n const hasValue = d && d.data && typeof d.data.value !== 'undefined' && d.data.value !== null;\n return hasValue\n ? valueFormatting({\n data: d.data,\n label: d ? d.data.name : '',\n value: d && d.data ? d.data.value : ''\n }).length\n : 0;\n })\n .sort((a, b) => b - a);\n const idx = Math.ceil(this.data.length / 2);\n this.medianSize = sortedLengths[idx];\n }\n const cards = this.getCards();\n this.cards = cards.filter(d => d.data.value !== null);\n this.emptySlots = cards.filter(d => d.data.value === null);\n }\n getCards() {\n const yPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[0] + this.innerPadding[2];\n const xPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[1] + this.innerPadding[3];\n return this.data.map((d, index) => {\n let label = d.data.name;\n if (label && label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n }\n else {\n label = label ? label.toLocaleString() : label;\n }\n const value = d.data.value;\n const valueColor = label ? this.colors.getColor(label) : this.emptyColor;\n const color = this.cardColor || valueColor || '#000';\n return {\n x: d.x,\n y: d.y,\n width: d.width - xPadding,\n height: d.height - yPadding,\n color,\n bandColor: this.bandColor || valueColor,\n textColor: this.textColor || invertColor(color),\n label,\n data: d.data,\n tooltipText: `${label}: ${value}`\n };\n });\n }\n trackBy(index, card) {\n return card.label;\n }\n onClick(data) {\n this.select.emit(data);\n }\n}\nCardSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-card-series]',\n template: `\n <svg:rect\n *ngFor=\"let c of emptySlots; trackBy: trackBy\"\n class=\"card-empty\"\n [attr.x]=\"c.x\"\n [attr.y]=\"c.y\"\n [style.fill]=\"emptyColor\"\n [attr.width]=\"c.width\"\n [attr.height]=\"c.height\"\n rx=\"3\"\n ry=\"3\"\n />\n <svg:g\n ngx-charts-card\n *ngFor=\"let c of cards; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [color]=\"c.color\"\n [bandColor]=\"c.bandColor\"\n [textColor]=\"c.textColor\"\n [data]=\"c.data\"\n [label]=\"c.label\"\n [medianSize]=\"medianSize\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nCardSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n slots: [{ type: Input }],\n dims: [{ type: Input }],\n colors: [{ type: Input }],\n innerPadding: [{ type: Input }],\n cardColor: [{ type: Input }],\n bandColor: [{ type: Input }],\n emptyColor: [{ type: Input }],\n textColor: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass NumberCardComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.innerPadding = 15;\n this.margin = [10, 10, 10, 10];\n }\n get clickable() {\n return !!this.select.observers.length;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n const size = gridSize(this.dims, this.results.length, 150);\n const N = size[0] * size[1];\n const data = this.results.slice();\n while (data.length < N) {\n data.push({ value: null });\n }\n this.data = gridLayout(this.dims, data, 150, this.designatedTotal);\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n}\nNumberCardComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-number-card',\n template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"number-card chart\" [class.clickable]=\"clickable\">\n <svg:g\n ngx-charts-card-series\n [colors]=\"colors\"\n [cardColor]=\"cardColor\"\n [bandColor]=\"bandColor\"\n [textColor]=\"textColor\"\n [emptyColor]=\"emptyColor\"\n [data]=\"data\"\n [dims]=\"dims\"\n [innerPadding]=\"innerPadding\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \"ngx-charts-number-card .cell .trimmed-label{font-size:12px;line-height:1em;overflow:hidden;pointer-events:none;text-align:left}ngx-charts-number-card .cell .trimmed-label p{margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\"]\n },] }\n];\nNumberCardComponent.propDecorators = {\n cardColor: [{ type: Input }],\n bandColor: [{ type: Input }],\n emptyColor: [{ type: Input }],\n innerPadding: [{ type: Input }],\n textColor: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n designatedTotal: [{ type: Input }]\n};\n\nclass NumberCardModule {\n}\nNumberCardModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [CardComponent, CardSeriesComponent, NumberCardComponent],\n exports: [CardComponent, CardSeriesComponent, NumberCardComponent]\n },] }\n];\n\nclass TreeMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges() {\n this.update();\n this.valueFormatting = this.valueFormatting || (value => value.toLocaleString());\n const labelFormatting = this.labelFormatting || (cell => escapeLabel(trimLabel(cell.label, 55)));\n const cellData = {\n data: this.data,\n label: this.label,\n value: this.value\n };\n this.formattedValue = this.valueFormatting(cellData.value);\n this.formattedLabel = labelFormatting(cellData);\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n }\n update() {\n if (this.initialized) {\n this.animateToCurrentForm();\n }\n else {\n if (this.animations) {\n this.loadAnimation();\n }\n this.initialized = true;\n }\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0).attr('x', this.x).attr('y', this.y);\n this.animateToCurrentForm();\n }\n getTextColor() {\n return invertColor(this.fill);\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n if (this.animations) {\n node\n .transition()\n .duration(750)\n .attr('opacity', 1)\n .attr('x', this.x)\n .attr('y', this.y)\n .attr('width', this.width)\n .attr('height', this.height);\n }\n else {\n node.attr('opacity', 1).attr('x', this.x).attr('y', this.y).attr('width', this.width).attr('height', this.height);\n }\n }\n onClick() {\n this.select.emit(this.data);\n }\n getGradientStops() {\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: 0.3\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n}\nTreeMapCellComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-tree-map-cell]',\n template: `\n <svg:g>\n <defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [style.cursor]=\"'pointer'\"\n class=\"cell\"\n (click)=\"onClick()\"\n />\n <svg:foreignObject\n *ngIf=\"width >= 70 && height >= 35\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"treemap-label\"\n [style.pointer-events]=\"'none'\"\n >\n <xhtml:p [style.color]=\"getTextColor()\" [style.height]=\"height + 'px'\" [style.width]=\"width + 'px'\">\n <xhtml:span class=\"treemap-label\" [innerHTML]=\"formattedLabel\"> </xhtml:span>\n <xhtml:br />\n <xhtml:span\n *ngIf=\"animations\"\n class=\"treemap-val\"\n ngx-charts-count-up\n [countTo]=\"value\"\n [valueFormatting]=\"valueFormatting\"\n >\n </xhtml:span>\n <xhtml:span *ngIf=\"!animations\" class=\"treemap-val\">\n {{ formattedValue }}\n </xhtml:span>\n </xhtml:p>\n </svg:foreignObject>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nTreeMapCellComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nTreeMapCellComponent.propDecorators = {\n data: [{ type: Input }],\n fill: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n label: [{ type: Input }],\n value: [{ type: Input }],\n valueType: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass TreeMapCellSeriesComponent {\n constructor() {\n this.gradient = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.cells = this.getCells();\n }\n getCells() {\n return this.data.children\n .filter(d => {\n return d.depth === 1;\n })\n .map((d, index) => {\n const label = d.id;\n return {\n data: d.data,\n x: d.x0,\n y: d.y0,\n width: d.x1 - d.x0,\n height: d.y1 - d.y0,\n fill: this.colors.getColor(label),\n label,\n value: d.value,\n valueType: d.valueType\n };\n });\n }\n getTooltipText({ label, value }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.label;\n }\n}\nTreeMapCellSeriesComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-tree-map-cell-series]',\n template: `\n <svg:g\n ngx-charts-tree-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [data]=\"c.data\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [label]=\"c.label\"\n [value]=\"c.value\"\n [valueType]=\"c.valueType\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"c.data\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nTreeMapCellSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n dims: [{ type: Input }],\n colors: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n\nclass TreeMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.gradient = false;\n this.select = new EventEmitter();\n this.margin = [10, 10, 10, 10];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.domain = this.getDomain();\n this.treemap = treemap().size([this.dims.width, this.dims.height]);\n const rootNode = {\n name: 'root',\n value: 0,\n isRoot: true\n };\n const root = stratify()\n .id(d => {\n let label = d.name;\n if (label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n }\n else {\n label = label.toLocaleString();\n }\n return label;\n })\n .parentId(d => (d.isRoot ? null : 'root'))([rootNode, ...this.results])\n .sum(d => d.value);\n this.data = this.treemap(root);\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n}\nTreeMapComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-tree-map',\n template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"tree-map chart\">\n <svg:g\n ngx-charts-tree-map-cell-series\n [colors]=\"colors\"\n [data]=\"data\"\n [dims]=\"dims\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".tree-map .treemap-val{display:inline-block;font-size:1.3em;padding-top:5px}.tree-map .treemap-label p{display:table-cell;line-height:1.2em;text-align:center;vertical-align:middle}\"]\n },] }\n];\nTreeMapComponent.propDecorators = {\n results: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n select: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n\nclass TreeMapModule {\n}\nTreeMapModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule],\n declarations: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent],\n exports: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent]\n },] }\n];\n\nclass LinearGaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.min = 0;\n this.max = 100;\n this.value = 0;\n this.margin = [10, 20, 10, 20];\n this.valueResizeScale = 1;\n this.unitsResizeScale = 1;\n this.valueTextTransform = '';\n this.valueTranslate = '';\n this.unitsTextTransform = '';\n this.unitsTranslate = '';\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => {\n this.scaleText('value');\n this.scaleText('units');\n });\n }\n update() {\n super.update();\n this.hasPreviousValue = this.previousValue !== undefined;\n this.max = Math.max(this.max, this.value);\n this.min = Math.min(this.min, this.value);\n if (this.hasPreviousValue) {\n this.max = Math.max(this.max, this.previousValue);\n this.min = Math.min(this.min, this.previousValue);\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.setColors();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.transformLine = `translate(${this.margin[3] + this.valueScale(this.previousValue)}, ${yOffset})`;\n this.valueTranslate = `translate(0, -15)`;\n this.unitsTranslate = `translate(0, 15)`;\n setTimeout(() => this.scaleText('value'), 50);\n setTimeout(() => this.scaleText('units'), 50);\n }\n getValueDomain() {\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n }\n getDisplayValue() {\n if (this.valueFormatting) {\n return this.valueFormatting(this.value);\n }\n return this.value.toLocaleString();\n }\n scaleText(element, repeat = true) {\n let el;\n let resizeScale;\n if (element === 'value') {\n el = this.valueTextEl;\n resizeScale = this.valueResizeScale;\n }\n else {\n el = this.unitsTextEl;\n resizeScale = this.unitsResizeScale;\n }\n const { width, height } = el.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0)\n return;\n const oldScale = resizeScale;\n const availableWidth = this.dims.width;\n const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n const resizeScaleWidth = Math.floor((availableWidth / (width / resizeScale)) * 100) / 100;\n const resizeScaleHeight = Math.floor((availableHeight / (height / resizeScale)) * 100) / 100;\n resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n if (resizeScale !== oldScale) {\n if (element === 'value') {\n this.valueResizeScale = resizeScale;\n this.valueTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n else {\n this.unitsResizeScale = resizeScale;\n this.unitsTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n this.cd.markForCheck();\n if (repeat) {\n setTimeout(() => {\n this.scaleText(element, false);\n }, 50);\n }\n }\n }\n onClick() {\n this.select.emit({\n name: 'Value',\n value: this.value\n });\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', [this.value], this.customColors);\n }\n}\nLinearGaugeComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-linear-gauge',\n template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\" (click)=\"onClick()\">\n <svg:g class=\"linear-gauge chart\">\n <svg:g\n ngx-charts-bar\n class=\"background-bar\"\n [width]=\"dims.width\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [data]=\"{}\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-bar\n [width]=\"valueScale(value)\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [fill]=\"colors.getColor(units)\"\n [data]=\"{}\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"5\"\n x2=\"0\"\n y2=\"15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"-5\"\n x2=\"0\"\n y2=\"-15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:g [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"valueTranslate\">\n <svg:text\n #valueTextEl\n class=\"value\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"valueTextTransform\"\n alignment-baseline=\"after-edge\"\n >\n {{ displayValue }}\n </svg:text>\n </svg:g>\n\n <svg:g [attr.transform]=\"unitsTranslate\">\n <svg:text\n #unitsTextEl\n class=\"units\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"unitsTextTransform\"\n alignment-baseline=\"before-edge\"\n >\n {{ units }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:rgba(0,0,0,.05)}.linear-gauge .units{fill:#666}\"]\n },] }\n];\nLinearGaugeComponent.propDecorators = {\n min: [{ type: Input }],\n max: [{ type: Input }],\n value: [{ type: Input }],\n units: [{ type: Input }],\n previousValue: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n valueTextEl: [{ type: ViewChild, args: ['valueTextEl',] }],\n unitsTextEl: [{ type: ViewChild, args: ['unitsTextEl',] }]\n};\n\nclass GaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = 'right';\n this.min = 0;\n this.max = 100;\n this.bigSegments = 10;\n this.smallSegments = 5;\n this.showAxis = true;\n this.startAngle = -120;\n this.angleSpan = 240;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.showText = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.resizeScale = 1;\n this.rotation = '';\n this.textTransform = 'scale(1, 1)';\n this.cornerRadius = 10;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => this.scaleText());\n }\n update() {\n super.update();\n if (!this.showAxis) {\n if (!this.margin) {\n this.margin = [10, 20, 10, 20];\n }\n }\n else {\n if (!this.margin) {\n this.margin = [60, 100, 60, 100];\n }\n }\n // make the starting angle positive\n if (this.startAngle < 0) {\n this.startAngle = (this.startAngle % 360) + 360;\n }\n this.angleSpan = Math.min(this.angleSpan, 360);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.domain = this.getDomain();\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2;\n this.arcs = this.getArcs();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.rotation = `rotate(${this.startAngle})`;\n setTimeout(() => this.scaleText(), 50);\n }\n getArcs() {\n const arcs = [];\n const availableRadius = this.outerRadius * 0.7;\n const radiusPerArc = Math.min(availableRadius / this.results.length, 10);\n const arcWidth = radiusPerArc * 0.7;\n this.textRadius = this.outerRadius - this.results.length * radiusPerArc;\n this.cornerRadius = Math.floor(arcWidth / 2);\n let i = 0;\n for (const d of this.results) {\n const outerRadius = this.outerRadius - i * radiusPerArc;\n const innerRadius = outerRadius - arcWidth;\n const backgroundArc = {\n endAngle: (this.angleSpan * Math.PI) / 180,\n innerRadius,\n outerRadius,\n data: {\n value: this.max,\n name: d.name\n }\n };\n const valueArc = {\n endAngle: (Math.min(this.valueScale(d.value), this.angleSpan) * Math.PI) / 180,\n innerRadius,\n outerRadius,\n data: {\n value: d.value,\n name: d.name\n }\n };\n const arc = {\n backgroundArc,\n valueArc\n };\n arcs.push(arc);\n i++;\n }\n return arcs;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n getValueDomain() {\n const values = this.results.map(d => d.value);\n const dataMin = Math.min(...values);\n const dataMax = Math.max(...values);\n if (this.min !== undefined) {\n this.min = Math.min(this.min, dataMin);\n }\n else {\n this.min = dataMin;\n }\n if (this.max !== undefined) {\n this.max = Math.max(this.max, dataMax);\n }\n else {\n this.max = dataMax;\n }\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.angleSpan]).nice().domain(this.valueDomain);\n }\n getDisplayValue() {\n const value = this.results.map(d => d.value).reduce((a, b) => a + b, 0);\n if (this.textValue && 0 !== this.textValue.length) {\n return this.textValue.toLocaleString();\n }\n if (this.valueFormatting) {\n return this.valueFormatting(value);\n }\n return value.toLocaleString();\n }\n scaleText(repeat = true) {\n if (!this.showText) {\n return;\n }\n const { width } = this.textEl.nativeElement.getBoundingClientRect();\n const oldScale = this.resizeScale;\n if (width === 0) {\n this.resizeScale = 1;\n }\n else {\n const availableSpace = this.textRadius;\n this.resizeScale = Math.floor((availableSpace / (width / this.resizeScale)) * 100) / 100;\n }\n if (this.resizeScale !== oldScale) {\n this.textTransform = `scale(${this.resizeScale}, ${this.resizeScale})`;\n this.cd.markForCheck();\n if (repeat) {\n setTimeout(() => this.scaleText(false), 50);\n }\n }\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLegendOptions() {\n return {\n scaleType: 'ordinal',\n colors: this.colors,\n domain: this.domain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n trackBy(index, item) {\n return item.valueArc.data.name;\n }\n}\nGaugeComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-charts-gauge',\n template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"gauge chart\">\n <svg:g *ngFor=\"let arc of arcs; trackBy: trackBy\" [attr.transform]=\"rotation\">\n <svg:g\n ngx-charts-gauge-arc\n [backgroundArc]=\"arc.backgroundArc\"\n [valueArc]=\"arc.valueArc\"\n [cornerRadius]=\"cornerRadius\"\n [colors]=\"colors\"\n [isActive]=\"isActive(arc.valueArc.data)\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></svg:g>\n </svg:g>\n\n <svg:g\n ngx-charts-gauge-axis\n *ngIf=\"showAxis\"\n [bigSegments]=\"bigSegments\"\n [smallSegments]=\"smallSegments\"\n [min]=\"min\"\n [max]=\"max\"\n [radius]=\"outerRadius\"\n [angleSpan]=\"angleSpan\"\n [valueScale]=\"valueScale\"\n [startAngle]=\"startAngle\"\n [tickFormatting]=\"axisTickFormatting\"\n ></svg:g>\n\n <svg:text\n #textEl\n *ngIf=\"showText\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"textTransform\"\n alignment-baseline=\"central\"\n >\n <tspan x=\"0\" dy=\"0\">{{ displayValue }}</tspan>\n <tspan x=\"0\" dy=\"1.2em\">{{ units }}</tspan>\n </svg:text>\n </svg:g>\n </ngx-charts-chart>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}\", \".gauge .background-arc path{fill:rgba(0,0,0,.05)}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{fill:#666;font-size:12px;font-weight:700}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\"]\n },] }\n];\nGaugeComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n textValue: [{ type: Input }],\n units: [{ type: Input }],\n bigSegments: [{ type: Input }],\n smallSegments: [{ type: Input }],\n results: [{ type: Input }],\n showAxis: [{ type: Input }],\n startAngle: [{ type: Input }],\n angleSpan: [{ type: Input }],\n activeEntries: [{ type: Input }],\n axisTickFormatting: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n showText: [{ type: Input }],\n margin: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n textEl: [{ type: ViewChild, args: ['textEl',] }]\n};\n\nclass GaugeArcComponent {\n constructor() {\n this.isActive = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n tooltipText(arc) {\n const label = formatLabel(arc.data.name);\n let val;\n if (this.valueFormatting) {\n val = this.valueFormatting(arc.data.value);\n }\n else {\n val = formatLabel(arc.data.value);\n }\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n}\nGaugeArcComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-gauge-arc]',\n template: `\n <svg:g\n ngx-charts-pie-arc\n class=\"background-arc\"\n [startAngle]=\"0\"\n [endAngle]=\"backgroundArc.endAngle\"\n [innerRadius]=\"backgroundArc.innerRadius\"\n [outerRadius]=\"backgroundArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [data]=\"backgroundArc.data\"\n [animate]=\"false\"\n [pointerEvents]=\"false\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"0\"\n [endAngle]=\"valueArc.endAngle\"\n [innerRadius]=\"valueArc.innerRadius\"\n [outerRadius]=\"valueArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [fill]=\"colors.getColor(valueArc.data.name)\"\n [data]=\"valueArc.data\"\n [animate]=\"animations\"\n [isActive]=\"isActive\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(valueArc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"valueArc.data\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nGaugeArcComponent.propDecorators = {\n backgroundArc: [{ type: Input }],\n valueArc: [{ type: Input }],\n cornerRadius: [{ type: Input }],\n colors: [{ type: Input }],\n isActive: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n\nclass GaugeAxisComponent {\n constructor() {\n this.rotate = '';\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.rotationAngle = -90 + this.startAngle;\n this.rotate = `rotate(${this.rotationAngle})`;\n this.ticks = this.getTicks();\n }\n getTicks() {\n const bigTickSegment = this.angleSpan / this.bigSegments;\n const smallTickSegment = bigTickSegment / this.smallSegments;\n const tickLength = 20;\n const ticks = {\n big: [],\n small: []\n };\n const startDistance = this.radius + 10;\n const textDist = startDistance + tickLength + 10;\n for (let i = 0; i <= this.bigSegments; i++) {\n const angleDeg = i * bigTickSegment;\n const angle = (angleDeg * Math.PI) / 180;\n const textAnchor = this.getTextAnchor(angleDeg);\n let skip = false;\n if (i === 0 && this.angleSpan === 360) {\n skip = true;\n }\n if (!skip) {\n let text = Number.parseFloat(this.valueScale.invert(angleDeg).toString()).toLocaleString();\n if (this.tickFormatting) {\n text = this.tickFormatting(text);\n }\n ticks.big.push({\n line: this.getTickPath(startDistance, tickLength, angle),\n textAnchor,\n text,\n textTransform: `\n translate(${textDist * Math.cos(angle)}, ${textDist * Math.sin(angle)}) rotate(${-this.rotationAngle})\n `\n });\n }\n if (i === this.bigSegments) {\n continue;\n }\n for (let j = 1; j <= this.smallSegments; j++) {\n const smallAngleDeg = angleDeg + j * smallTickSegment;\n const smallAngle = (smallAngleDeg * Math.PI) / 180;\n ticks.small.push({\n line: this.getTickPath(startDistance, tickLength / 2, smallAngle)\n });\n }\n }\n return ticks;\n }\n getTextAnchor(angle) {\n // [0, 45] = 'middle';\n // [46, 135] = 'start';\n // [136, 225] = 'middle';\n // [226, 315] = 'end';\n angle = (this.startAngle + angle) % 360;\n let textAnchor = 'middle';\n if (angle > 45 && angle <= 135) {\n textAnchor = 'start';\n }\n else if (angle > 225 && angle <= 315) {\n textAnchor = 'end';\n }\n return textAnchor;\n }\n getTickPath(startDistance, tickLength, angle) {\n const y1 = startDistance * Math.sin(angle);\n const y2 = (startDistance + tickLength) * Math.sin(angle);\n const x1 = startDistance * Math.cos(angle);\n const x2 = (startDistance + tickLength) * Math.cos(angle);\n const points = [\n { x: x1, y: y1 },\n { x: x2, y: y2 }\n ];\n const lineGenerator = line()\n .x(d => d.x)\n .y(d => d.y);\n return lineGenerator(points);\n }\n}\nGaugeAxisComponent.decorators = [\n { type: Component, args: [{\n selector: 'g[ngx-charts-gauge-axis]',\n template: `\n <svg:g [attr.transform]=\"rotate\">\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:text\n [style.textAnchor]=\"tick.textAnchor\"\n [attr.transform]=\"tick.textTransform\"\n alignment-baseline=\"central\"\n >\n {{ tick.text }}\n </svg:text>\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.small\" class=\"gauge-tick gauge-tick-small\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nGaugeAxisComponent.propDecorators = {\n bigSegments: [{ type: Input }],\n smallSegments: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n angleSpan: [{ type: Input }],\n startAngle: [{ type: Input }],\n radius: [{ type: Input }],\n valueScale: [{ type: Input }],\n tickFormatting: [{ type: Input }]\n};\n\nclass GaugeModule {\n}\nGaugeModule.decorators = [\n { type: NgModule, args: [{\n imports: [ChartCommonModule, PieChartModule, BarChartModule],\n declarations: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent],\n exports: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent]\n },] }\n];\n\n// The export is needed here to generate a valid polyfills.metadata.json file\nfunction ngxChartsPolyfills() {\n // IE11 fix\n // Ref: https://github.com/swimlane/ngx-charts/issues/386\n if (typeof SVGElement !== 'undefined' && typeof SVGElement.prototype.contains === 'undefined') {\n SVGElement.prototype.contains = HTMLDivElement.prototype.contains;\n }\n}\n\nclass NgxChartsModule {\n constructor() {\n ngxChartsPolyfills();\n }\n}\nNgxChartsModule.decorators = [\n { type: NgModule, args: [{\n exports: [\n ChartCommonModule,\n AreaChartModule,\n BarChartModule,\n BubbleChartModule,\n HeatMapModule,\n LineChartModule,\n PolarChartModule,\n NumberCardModule,\n PieChartModule,\n TreeMapModule,\n GaugeModule\n ]\n },] }\n];\nNgxChartsModule.ctorParameters = () => [];\n\nfunction tickFormat(fieldType, groupByType) {\n return function (label) {\n if (label === 'No Value' || label === 'Other') {\n return label;\n }\n if (fieldType === 'date' && groupByType === 'groupBy') {\n const formatter = timeFormat('MM/DD/YYYY');\n return formatter(label);\n }\n return label.toString();\n };\n}\n\n/*\n * Public API Surface of ngx-charts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AdvancedLegendComponent, AdvancedPieChartComponent, AlignmentTypes, AreaChartComponent, AreaChartModule, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaComponent, AreaSeriesComponent, AxesModule, AxisLabelComponent, BarChartModule, BarComponent, BarHorizontal2DComponent, BarHorizontalComponent, BarHorizontalNormalizedComponent, BarHorizontalStackedComponent, BarLabelComponent, BarVertical2DComponent, BarVerticalComponent, BarVerticalNormalizedComponent, BarVerticalStackedComponent, BaseChartComponent, BubbleChartComponent, BubbleChartModule, BubbleSeriesComponent, CardComponent, CardSeriesComponent, ChartCommonModule, ChartComponent, CircleComponent, CircleSeriesComponent, ColorHelper, CountUpDirective, D0Types, GaugeArcComponent, GaugeAxisComponent, GaugeComponent, GaugeModule, GridPanelComponent, GridPanelSeriesComponent, HeatCellSeriesComponent, HeatMapCellComponent, HeatMapComponent, HeatMapModule, LegendComponent, LegendEntryComponent, LineChartComponent, LineChartModule, LineComponent, LineSeriesComponent, LinearGaugeComponent, NgxChartsModule, NumberCardComponent, NumberCardModule, PieArcComponent, PieChartComponent, PieChartModule, PieGridComponent, PieGridSeriesComponent, PieLabelComponent, PieSeriesComponent, PolarChartComponent, PolarChartModule, PolarSeriesComponent, ScaleLegendComponent, SeriesHorizontal, SeriesVerticalComponent, ShowTypes, StyleTypes, SvgLinearGradientComponent, SvgRadialGradientComponent, Timeline, TooltipArea, TooltipContentComponent, TooltipDirective, TooltipModule, TooltipService, TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent, TreeMapModule, VisibilityObserver, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent, calculateViewDimensions, colorSets, count, decimalChecker, escapeLabel, formatLabel, getDomain, getScale, getScaleType, getUniqueXDomainValues, gridLayout, gridSize, hexToRgb, id, invertColor, reduceTicks, shadeRGBColor, sortByDomain, sortByTime, sortLinear, throttle, throttleable, tickFormat, trimLabel, InjectionRegisteryService as ɵa, InjectionService as ɵb };\n//# sourceMappingURL=swimlane-ngx-charts.js.map\n","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [activeEntries]=\"activeEntries\"\n [gradient]=\"gradient\"\n normalized=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [showPercentage]=\"true\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n normalized=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [activeEntries]=\"activeEntries\"\n stacked=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-circle-series\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n stacked=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g\n ngx-charts-area\n class=\"area-series\"\n [data]=\"data\"\n [path]=\"path\"\n [fill]=\"colors.getColor(data.name)\"\n [stops]=\"gradientStops\"\n [startingPath]=\"startingPath\"\n [opacity]=\"opacity\"\n [gradient]=\"gradient || hasGradient\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n ","\n <svg:defs *ngIf=\"hasGradient\">\n <svg:g ngx-charts-svg-linear-gradient [orientation]=\"orientation\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </svg:defs>\n <svg:path\n class=\"bar\"\n stroke=\"none\"\n role=\"img\"\n tabIndex=\"-1\"\n [class.active]=\"isActive\"\n [class.hidden]=\"hideBar\"\n [attr.d]=\"path\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.fill]=\"hasGradient ? gradientFill : fill\"\n (click)=\"select.emit(data)\"\n />\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"valueScale\"\n [yScale]=\"groupScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n orient=\"horizontal\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"valueScale\"\n [activeEntries]=\"activeEntries\"\n [yScale]=\"innerScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n type=\"normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n [noBarWhenZero]=\"noBarWhenZero\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [activeEntries]=\"activeEntries\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"bar.roundEdges\"\n (select)=\"click($event)\"\n [gradient]=\"gradient\"\n [isActive]=\"isActive(bar.data)\"\n [ariaLabel]=\"bar.ariaLabel\"\n [animations]=\"animations\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"'horizontal'\"\n (dimensionsChanged)=\"dataLabelWidthChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n ","\n <svg:text\n class=\"textDataLabel\"\n alignment-baseline=\"middle\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n >\n {{ formatedValue }}\n </svg:text>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (select)=\"onClick($event)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"groupScale\"\n [yScale]=\"valueScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n orient=\"vertical\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n [activeEntries]=\"activeEntries\"\n [xScale]=\"innerScale\"\n [yScale]=\"valueScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n type=\"normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n type=\"stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [@.disabled]=\"!animations\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"'vertical'\"\n [roundEdges]=\"bar.roundEdges\"\n [gradient]=\"gradient\"\n [ariaLabel]=\"bar.ariaLabel\"\n [isActive]=\"isActive(bar.data)\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"'vertical'\"\n (dimensionsChanged)=\"dataLabelHeightChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [activeEntries]=\"activeEntries\"\n [legendOptions]=\"legendOptions\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"bubble-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [showGridLines]=\"showGridLines\"\n [dims]=\"dims\"\n [xScale]=\"xScale\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n />\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [showGridLines]=\"showGridLines\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n />\n <svg:rect\n class=\"bubble-chart-area\"\n x=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"fill: rgb(255, 0, 0); opacity: 0; cursor: 'auto';\"\n (mouseenter)=\"deactivateAll()\"\n />\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of data; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-bubble-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [rScale]=\"rScale\"\n [xScaleType]=\"xScaleType\"\n [yScaleType]=\"yScaleType\"\n [xAxisLabel]=\"xAxisLabel\"\n [yAxisLabel]=\"yAxisLabel\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g *ngFor=\"let circle of circles; trackBy: trackBy\">\n <svg:g [attr.transform]=\"circle.transform\">\n <svg:g\n ngx-charts-circle\n [@animationState]=\"'active'\"\n class=\"circle\"\n [cx]=\"0\"\n [cy]=\"0\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"circle.opacity\"\n [class.active]=\"circle.isActive\"\n [pointerEvents]=\"'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle(circle)\"\n (deactivate)=\"deactivateCircle(circle)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n </svg:g>\n ","\n <div [style.width.px]=\"width\">\n <header class=\"legend-title\" *ngIf=\"title?.length > 0\">\n <span class=\"legend-title-text\">{{ title }}</span>\n </header>\n <div class=\"legend-wrap\">\n <ul class=\"legend-labels\" [class.horizontal-legend]=\"horizontal\" [style.max-height.px]=\"height - 45\">\n <li *ngFor=\"let entry of legendEntries; trackBy: trackBy\" class=\"legend-label\">\n <ngx-charts-legend-entry\n [label]=\"entry.label\"\n [formattedLabel]=\"entry.formattedLabel\"\n [color]=\"entry.color\"\n [isActive]=\"isActive(entry)\"\n (select)=\"labelClick.emit($event)\"\n (activate)=\"activate($event)\"\n (deactivate)=\"deactivate($event)\"\n >\n </ngx-charts-legend-entry>\n </li>\n </ul>\n </div>\n </div>\n ","\n <div\n class=\"scale-legend\"\n [class.horizontal-legend]=\"horizontal\"\n [style.height.px]=\"horizontal ? undefined : height\"\n [style.width.px]=\"width\"\n >\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[1].toLocaleString() }}</span>\n </div>\n <div class=\"scale-legend-wrap\" [style.background]=\"gradient\"></div>\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[0].toLocaleString() }}</span>\n </div>\n </div>\n ","\n <span [title]=\"formattedLabel\" tabindex=\"-1\" [class.active]=\"isActive\" (click)=\"select.emit(formattedLabel)\">\n <span class=\"legend-label-color\" [style.background-color]=\"color\" (click)=\"toggle.emit(formattedLabel)\"> </span>\n <span class=\"legend-label-text\">\n {{ trimmedLabel }}\n </span>\n </span>\n ","\n <div class=\"advanced-pie-legend\" [style.width.px]=\"width\">\n <div\n *ngIf=\"animations\"\n class=\"total-value\"\n ngx-charts-count-up\n [countTo]=\"roundedTotal\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div class=\"total-value\" *ngIf=\"!animations\">\n {{ valueFormatting ? valueFormatting(roundedTotal) : defaultValueFormatting(roundedTotal) }}\n </div>\n <div class=\"total-label\">\n {{ label }}\n </div>\n <div class=\"legend-items-container\">\n <div class=\"legend-items\">\n <div\n *ngFor=\"let legendItem of legendItems; trackBy: trackBy\"\n tabindex=\"-1\"\n class=\"legend-item\"\n (mouseenter)=\"activate.emit(legendItem.data)\"\n (mouseleave)=\"deactivate.emit(legendItem.data)\"\n (click)=\"select.emit(legendItem.data)\"\n >\n <div class=\"item-color\" [style.border-left-color]=\"legendItem.color\"></div>\n <div\n *ngIf=\"animations\"\n class=\"item-value\"\n ngx-charts-count-up\n [countTo]=\"legendItem._value\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-value\">\n {{ valueFormatting ? valueFormatting(legendItem.value) : defaultValueFormatting(legendItem.value) }}\n </div>\n <div class=\"item-label\">{{ legendItem.displayLabel }}</div>\n <div\n *ngIf=\"animations\"\n class=\"item-percent\"\n ngx-charts-count-up\n [countTo]=\"legendItem.percentage\"\n [countSuffix]=\"'%'\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-percent\">{{ legendItem.percentage.toLocaleString() }}%</div>\n </div>\n </div>\n </div>\n </div>\n ","\n <div>\n <span #caretElm [hidden]=\"!showCaret\" class=\"tooltip-caret position-{{ this.placement }}\"> </span>\n <div class=\"tooltip-content\">\n <span *ngIf=\"!title\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ model: context }\"> </ng-template>\n </span>\n <span *ngIf=\"title\" [innerHTML]=\"title\"> </span>\n </div>\n </div>\n ","\n <svg:text\n [attr.stroke-width]=\"strokeWidth\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n >\n {{ label }}\n </svg:text>\n ","\n <svg:g [attr.class]=\"xAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-x-axis-ticks\n *ngIf=\"xScale\"\n [trimTicks]=\"trimTicks\"\n [rotateTicks]=\"rotateTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"xScale\"\n [orient]=\"xOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineHeight]=\"dims.height\"\n [width]=\"dims.width\"\n [tickValues]=\"ticks\"\n (dimensionsChanged)=\"emitTicksHeight($event)\"\n />\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"'bottom'\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n ","\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"tickTransform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"textTransform\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"tickTransform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line class=\"gridline-path gridline-path-vertical\" [attr.y1]=\"-gridLineHeight\" y2=\"0\" />\n </svg:g>\n </svg:g>\n ","\n <svg:g [attr.class]=\"yAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-y-axis-ticks\n *ngIf=\"yScale\"\n [trimTicks]=\"trimTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickValues]=\"ticks\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"yScale\"\n [orient]=\"yOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineWidth]=\"dims.width\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n [height]=\"dims.height\"\n (dimensionsChanged)=\"emitTicksWidth($event)\"\n />\n\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"yOrient\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n ","\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"transform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.dy]=\"dy\"\n [attr.x]=\"x1\"\n [attr.y]=\"y1\"\n [attr.text-anchor]=\"textAnchor\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:path\n *ngIf=\"referenceLineLength > 1 && refMax && refMin && showRefLines\"\n class=\"reference-area\"\n [attr.d]=\"referenceAreaPath\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"transform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line\n *ngIf=\"orient === 'left'\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n />\n <svg:line\n *ngIf=\"orient === 'right'\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"-gridLineWidth\"\n />\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let refLine of referenceLines\">\n <svg:g *ngIf=\"showRefLines\" [attr.transform]=\"transform(refLine.value)\">\n <svg:line\n class=\"refline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngIf=\"showRefLabels\">\n <title>{{ tickTrim(tickFormat(refLine.value)) }}</title>\n <svg:text\n class=\"refline-label\"\n [attr.dy]=\"dy\"\n [attr.y]=\"-6\"\n [attr.x]=\"gridLineWidth\"\n [attr.text-anchor]=\"textAnchor\"\n >\n {{ refLine.name }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n "," {{ value }} ","\n <svg:g class=\"timeline\" [attr.transform]=\"transform\">\n <svg:filter [attr.id]=\"filterId\">\n <svg:feColorMatrix\n in=\"SourceGraphic\"\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </svg:filter>\n <svg:g class=\"embedded-chart\">\n <ng-content></ng-content>\n </svg:g>\n <svg:rect x=\"0\" [attr.width]=\"view[0]\" y=\"0\" [attr.height]=\"height\" class=\"brush-background\" />\n <svg:g class=\"brush\"></svg:g>\n </svg:g>\n ","\n <div class=\"ngx-charts-outer\" [style.width.px]=\"view[0]\" [@animationState]=\"'active'\" [@.disabled]=\"!animations\">\n <svg class=\"ngx-charts\" [attr.width]=\"chartWidth\" [attr.height]=\"view[1]\">\n <ng-content></ng-content>\n </svg>\n <ngx-charts-scale-legend\n *ngIf=\"showLegend && legendType === 'scaleLegend'\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === 'below'\"\n [valueRange]=\"legendOptions.domain\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n >\n </ngx-charts-scale-legend>\n <ngx-charts-legend\n *ngIf=\"showLegend && legendType === 'legend'\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === 'below'\"\n [data]=\"legendOptions.domain\"\n [title]=\"legendOptions.title\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n [activeEntries]=\"activeEntries\"\n (labelClick)=\"legendLabelClick.emit($event)\"\n (labelActivate)=\"legendLabelActivate.emit($event)\"\n (labelDeactivate)=\"legendLabelDeactivate.emit($event)\"\n >\n </ngx-charts-legend>\n </div>\n ","\n <svg:defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </svg:defs>\n <svg:path class=\"area\" [attr.d]=\"areaPath\" [attr.fill]=\"gradient ? gradientFill : fill\" [style.opacity]=\"opacity\" />\n "," <div></div> ","\n <svg:circle\n [attr.cx]=\"cx\"\n [attr.cy]=\"cy\"\n [attr.r]=\"r\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n [attr.opacity]=\"circleOpacity\"\n [attr.class]=\"classNames\"\n [attr.pointer-events]=\"pointerEvents\"\n />\n ","\n <svg:g *ngIf=\"circle\">\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n orientation=\"vertical\"\n [name]=\"gradientId\"\n [stops]=\"circle.gradientStops\"\n />\n </defs>\n <svg:rect\n *ngIf=\"barVisible && type === 'standard'\"\n [@animationState]=\"'active'\"\n [attr.x]=\"circle.cx - circle.radius\"\n [attr.y]=\"circle.cy\"\n [attr.width]=\"circle.radius * 2\"\n [attr.height]=\"circle.height\"\n [attr.fill]=\"gradientFill\"\n class=\"tooltip-bar\"\n />\n <svg:g\n ngx-charts-circle\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [class.active]=\"isActive({ name: circle.seriesName })\"\n [pointerEvents]=\"circle.value === 0 ? 'none' : 'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle()\"\n (deactivate)=\"deactivateCircle()\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n ","\n <svg:rect [attr.height]=\"height\" [attr.width]=\"width\" [attr.x]=\"x\" [attr.y]=\"y\" stroke=\"none\" class=\"gridpanel\" />\n ","\n <svg:g\n ngx-charts-grid-panel\n *ngFor=\"let gridPanel of gridPanels\"\n [height]=\"gridPanel.height\"\n [width]=\"gridPanel.width\"\n [x]=\"gridPanel.x\"\n [y]=\"gridPanel.y\"\n [class.grid-panel]=\"true\"\n [class.odd]=\"gridPanel.class === 'odd'\"\n [class.even]=\"gridPanel.class === 'even'\"\n ></svg:g>\n ","\n <svg:linearGradient [id]=\"name\" [attr.x1]=\"x1\" [attr.y1]=\"y1\" [attr.x2]=\"x2\" [attr.y2]=\"y2\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:linearGradient>\n ","\n <svg:radialGradient [id]=\"name\" [attr.cx]=\"cx\" [attr.cy]=\"cy\" [attr.r]=\"r\" gradientUnits=\"userSpaceOnUse\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:radialGradient>\n ","\n <svg:g>\n <svg:rect\n class=\"tooltip-area\"\n [attr.x]=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"opacity: 0; cursor: 'auto';\"\n (mousemove)=\"mouseMove($event)\"\n (mouseleave)=\"hideTooltip()\"\n />\n <ng-template #defaultTooltipTemplate let-model=\"model\">\n <xhtml:div class=\"area-tooltip-container\">\n <xhtml:div *ngFor=\"let tooltipItem of model\" class=\"tooltip-item\">\n <xhtml:span class=\"tooltip-item-color\" [style.background-color]=\"tooltipItem.color\"></xhtml:span>\n {{ getToolTipText(tooltipItem) }}\n </xhtml:div>\n </xhtml:div>\n </ng-template>\n <svg:rect\n #tooltipAnchor\n [@animationState]=\"anchorOpacity !== 0 ? 'active' : 'inactive'\"\n class=\"tooltip-anchor\"\n [attr.x]=\"anchorPos\"\n y=\"0\"\n [attr.width]=\"1\"\n [attr.height]=\"dims.height\"\n [style.opacity]=\"anchorOpacity\"\n [style.pointer-events]=\"'none'\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'right'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipSpacing]=\"15\"\n [tooltipTemplate]=\"tooltipTemplate ? tooltipTemplate : defaultTooltipTemplate\"\n [tooltipContext]=\"anchorValues\"\n [tooltipImmediateExit]=\"true\"\n />\n </svg:g>\n ","\n <svg:g\n ngx-charts-pie-arc\n class=\"background-arc\"\n [startAngle]=\"0\"\n [endAngle]=\"backgroundArc.endAngle\"\n [innerRadius]=\"backgroundArc.innerRadius\"\n [outerRadius]=\"backgroundArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [data]=\"backgroundArc.data\"\n [animate]=\"false\"\n [pointerEvents]=\"false\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"0\"\n [endAngle]=\"valueArc.endAngle\"\n [innerRadius]=\"valueArc.innerRadius\"\n [outerRadius]=\"valueArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [fill]=\"colors.getColor(valueArc.data.name)\"\n [data]=\"valueArc.data\"\n [animate]=\"animations\"\n [isActive]=\"isActive\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(valueArc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"valueArc.data\"\n ></svg:g>\n ","\n <svg:g [attr.transform]=\"rotate\">\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:text\n [style.textAnchor]=\"tick.textAnchor\"\n [attr.transform]=\"tick.textTransform\"\n alignment-baseline=\"central\"\n >\n {{ tick.text }}\n </svg:text>\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.small\" class=\"gauge-tick gauge-tick-small\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n </svg:g>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"gauge chart\">\n <svg:g *ngFor=\"let arc of arcs; trackBy: trackBy\" [attr.transform]=\"rotation\">\n <svg:g\n ngx-charts-gauge-arc\n [backgroundArc]=\"arc.backgroundArc\"\n [valueArc]=\"arc.valueArc\"\n [cornerRadius]=\"cornerRadius\"\n [colors]=\"colors\"\n [isActive]=\"isActive(arc.valueArc.data)\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></svg:g>\n </svg:g>\n\n <svg:g\n ngx-charts-gauge-axis\n *ngIf=\"showAxis\"\n [bigSegments]=\"bigSegments\"\n [smallSegments]=\"smallSegments\"\n [min]=\"min\"\n [max]=\"max\"\n [radius]=\"outerRadius\"\n [angleSpan]=\"angleSpan\"\n [valueScale]=\"valueScale\"\n [startAngle]=\"startAngle\"\n [tickFormatting]=\"axisTickFormatting\"\n ></svg:g>\n\n <svg:text\n #textEl\n *ngIf=\"showText\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"textTransform\"\n alignment-baseline=\"central\"\n >\n <tspan x=\"0\" dy=\"0\">{{ displayValue }}</tspan>\n <tspan x=\"0\" dy=\"1.2em\">{{ units }}</tspan>\n </svg:text>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\" (click)=\"onClick()\">\n <svg:g class=\"linear-gauge chart\">\n <svg:g\n ngx-charts-bar\n class=\"background-bar\"\n [width]=\"dims.width\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [data]=\"{}\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-bar\n [width]=\"valueScale(value)\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [fill]=\"colors.getColor(units)\"\n [data]=\"{}\"\n [orientation]=\"'horizontal'\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"5\"\n x2=\"0\"\n y2=\"15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"-5\"\n x2=\"0\"\n y2=\"-15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:g [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"valueTranslate\">\n <svg:text\n #valueTextEl\n class=\"value\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"valueTextTransform\"\n alignment-baseline=\"after-edge\"\n >\n {{ displayValue }}\n </svg:text>\n </svg:g>\n\n <svg:g [attr.transform]=\"unitsTranslate\">\n <svg:text\n #unitsTextEl\n class=\"units\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"unitsTextTransform\"\n alignment-baseline=\"before-edge\"\n >\n {{ units }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [animations]=\"animations\"\n [legendOptions]=\"legendOptions\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"heat-map chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:rect\n *ngFor=\"let rect of rects\"\n [attr.x]=\"rect.x\"\n [attr.y]=\"rect.y\"\n [attr.rx]=\"rect.rx\"\n [attr.width]=\"rect.width\"\n [attr.height]=\"rect.height\"\n [attr.fill]=\"rect.fill\"\n />\n <svg:g\n ngx-charts-heat-map-cell-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"results\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, undefined)\"\n (deactivate)=\"onDeactivate($event, undefined)\"\n />\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g [attr.transform]=\"transform\" class=\"cell\">\n <defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n rx=\"3\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"cell\"\n style=\"cursor: pointer\"\n (click)=\"onClick()\"\n />\n </svg:g>\n ","\n <svg:g\n ngx-charts-heat-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [data]=\"c.data\"\n (select)=\"onClick(c.cell)\"\n (activate)=\"activate.emit(c.cell)\"\n (deactivate)=\"deactivate.emit(c.cell)\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"{ series: c.series, name: c.label, value: c.data }\"\n ></svg:g>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"line-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [scaleType]=\"scaleType\"\n [legend]=\"legend\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:path\n [@animationState]=\"'active'\"\n class=\"line\"\n [attr.d]=\"initialPath\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n stroke-width=\"1.5px\"\n />\n ","\n <svg:g>\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n *ngIf=\"hasGradient\"\n orientation=\"vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-area\n class=\"line-highlight\"\n [data]=\"data\"\n [path]=\"areaPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [opacity]=\"0.25\"\n [startOpacity]=\"0\"\n [gradient]=\"true\"\n [stops]=\"areaGradientStops\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-line\n class=\"line-series\"\n [data]=\"data\"\n [path]=\"path\"\n [stroke]=\"stroke\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n <svg:g\n ngx-charts-area\n *ngIf=\"hasRange\"\n class=\"line-series-range\"\n [data]=\"data\"\n [path]=\"outerPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [opacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n />\n </svg:g>\n ","\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"number-card chart\" [class.clickable]=\"clickable\">\n <svg:g\n ngx-charts-card-series\n [colors]=\"colors\"\n [cardColor]=\"cardColor\"\n [bandColor]=\"bandColor\"\n [textColor]=\"textColor\"\n [emptyColor]=\"emptyColor\"\n [data]=\"data\"\n [dims]=\"dims\"\n [innerPadding]=\"innerPadding\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g [attr.transform]=\"transform\" class=\"cell\" (click)=\"onClick()\">\n <svg:rect class=\"card\" [style.fill]=\"color\" [attr.width]=\"cardWidth\" [attr.height]=\"cardHeight\" rx=\"3\" ry=\"3\" />\n <svg:path\n *ngIf=\"bandColor && bandColor !== color\"\n class=\"card-band\"\n [attr.fill]=\"bandColor\"\n [attr.transform]=\"transformBand\"\n stroke=\"none\"\n [attr.d]=\"bandPath\"\n />\n <title>{{ label }}</title>\n <svg:foreignObject\n class=\"trimmed-label\"\n x=\"5\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"cardHeight - textPadding[2]\"\n [attr.width]=\"textWidth\"\n [attr.height]=\"labelFontSize + textPadding[2]\"\n alignment-baseline=\"hanging\"\n >\n <xhtml:p\n [style.color]=\"textColor\"\n [style.fontSize.px]=\"labelFontSize\"\n [style.lineHeight.px]=\"labelFontSize\"\n [innerHTML]=\"formattedLabel\"\n >\n </xhtml:p>\n </svg:foreignObject>\n <svg:text\n #textEl\n class=\"value-text\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"textPadding[0]\"\n [style.fill]=\"textColor\"\n text-anchor=\"start\"\n alignment-baseline=\"hanging\"\n [style.font-size.pt]=\"textFontSize\"\n >\n {{ value }}\n </svg:text>\n </svg:g>\n ","\n <svg:rect\n *ngFor=\"let c of emptySlots; trackBy: trackBy\"\n class=\"card-empty\"\n [attr.x]=\"c.x\"\n [attr.y]=\"c.y\"\n [style.fill]=\"emptyColor\"\n [attr.width]=\"c.width\"\n [attr.height]=\"c.height\"\n rx=\"3\"\n ry=\"3\"\n />\n <svg:g\n ngx-charts-card\n *ngFor=\"let c of cards; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [color]=\"c.color\"\n [bandColor]=\"c.bandColor\"\n [textColor]=\"c.textColor\"\n [data]=\"c.data\"\n [label]=\"c.label\"\n [medianSize]=\"medianSize\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n ","\n <div [style.width.px]=\"width\" [style.height.px]=\"height\">\n <div class=\"advanced-pie chart\" [style.width.px]=\"dims.width\" [style.height.px]=\"dims.height\">\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"results\"\n [innerRadius]=\"innerRadius\"\n [activeEntries]=\"activeEntries\"\n [outerRadius]=\"outerRadius\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n [animations]=\"animations\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n </div>\n <div class=\"advanced-pie-legend-wrapper\" [style.width.px]=\"width - dims.width\" [style.height.px]=\"height\">\n <ngx-charts-advanced-legend\n [data]=\"results\"\n [colors]=\"colors\"\n [width]=\"width - dims.width - margin[1]\"\n [label]=\"label\"\n [animations]=\"animations\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"nameFormatting\"\n [percentageFormatting]=\"percentageFormatting\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, true)\"\n (deactivate)=\"onDeactivate($event, true)\"\n >\n </ngx-charts-advanced-legend>\n </div>\n </div>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"translation\" class=\"pie-chart chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"data\"\n [showLabels]=\"labels\"\n [labelFormatting]=\"labelFormatting\"\n [trimLabels]=\"trimLabels\"\n [maxLabelLength]=\"maxLabelLength\"\n [activeEntries]=\"activeEntries\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [explodeSlices]=\"explodeSlices\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (dblclick)=\"dblclick.emit($event)\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g class=\"arc-group\">\n <svg:defs *ngIf=\"gradient\">\n <svg:g\n ngx-charts-svg-radial-gradient\n [color]=\"fill\"\n orientation=\"vertical\"\n [name]=\"radialGradientId\"\n [startOpacity]=\"startOpacity\"\n />\n </svg:defs>\n <svg:path\n [attr.d]=\"path\"\n class=\"arc\"\n [class.active]=\"isActive\"\n [attr.fill]=\"getGradient()\"\n (click)=\"onClick()\"\n (dblclick)=\"onDblClick($event)\"\n (mouseenter)=\"activate.emit(data)\"\n (mouseleave)=\"deactivate.emit(data)\"\n [style.pointer-events]=\"getPointerEvents()\"\n />\n </svg:g>\n ","\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie-grid chart\">\n <svg:g *ngFor=\"let series of series\" class=\"pie-grid-item\" [attr.transform]=\"series.transform\">\n <svg:g\n ngx-charts-pie-grid-series\n [colors]=\"series.colors\"\n [data]=\"series.data\"\n [innerRadius]=\"series.innerRadius\"\n [outerRadius]=\"series.outerRadius\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText({ data: series })\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"series.data[0].data\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n <svg:text\n *ngIf=\"animations\"\n class=\"label percent-label\"\n dy=\"-0.5em\"\n x=\"0\"\n y=\"5\"\n ngx-charts-count-up\n [countTo]=\"series.percent\"\n [countSuffix]=\"'%'\"\n text-anchor=\"middle\"\n ></svg:text>\n <svg:text *ngIf=\"!animations\" class=\"label percent-label\" dy=\"-0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.percent.toLocaleString() }}\n </svg:text>\n <svg:text class=\"label\" dy=\"0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.label }}\n </svg:text>\n <svg:text\n *ngIf=\"animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n ngx-charts-count-up\n [countTo]=\"series.total\"\n [countPrefix]=\"label + ': '\"\n ></svg:text>\n <svg:text\n *ngIf=\"!animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n >\n {{ label }}: {{ series.total.toLocaleString() }}\n </svg:text>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g class=\"pie-grid-arcs\">\n <svg:g\n ngx-charts-pie-arc\n *ngFor=\"let arc of arcs; trackBy: trackBy\"\n [attr.class]=\"arc.class\"\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [data]=\"arc.data\"\n [gradient]=\"false\"\n [pointerEvents]=\"arc.pointerEvents\"\n [animate]=\"arc.animate\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ></svg:g>\n </svg:g>\n ","\n <svg:g *ngFor=\"let arc of data; trackBy: trackBy\">\n <svg:g\n ngx-charts-pie-label\n *ngIf=\"labelVisible(arc)\"\n [data]=\"arc\"\n [radius]=\"outerRadius\"\n [color]=\"color(arc)\"\n [label]=\"labelText(arc)\"\n [labelTrim]=\"trimLabels\"\n [labelTrimSize]=\"maxLabelLength\"\n [max]=\"max\"\n [value]=\"arc.value\"\n [explodeSlices]=\"explodeSlices\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [gradient]=\"gradient\"\n [data]=\"arc.data\"\n [max]=\"max\"\n [explodeSlices]=\"explodeSlices\"\n [isActive]=\"isActive(arc.data)\"\n [animate]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n (dblclick)=\"dblclick.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"getTooltipTitle(arc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"arc.data\"\n ></svg:g>\n </svg:g>\n ","\n <title>{{ label }}</title>\n <svg:g [attr.transform]=\"attrTransform\" [style.transform]=\"styleTransform\" [style.transition]=\"textTransition\">\n <svg:text\n class=\"pie-label\"\n [class.animation]=\"animations\"\n dy=\".35em\"\n [style.textAnchor]=\"textAnchor()\"\n [style.shapeRendering]=\"'crispEdges'\"\n >\n {{ labelTrim ? trimLabel(label, labelTrimSize) : label }}\n </svg:text>\n </svg:g>\n <svg:path\n [attr.d]=\"line\"\n [attr.stroke]=\"color\"\n fill=\"none\"\n class=\"pie-label-line line\"\n [class.animation]=\"animations\"\n ></svg:path>\n ","\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g class=\"polar-chart chart\" [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:circle class=\"polar-chart-background\" cx=\"0\" cy=\"0\" [attr.r]=\"this.outerRadius\" />\n <svg:g *ngIf=\"showGridLines\">\n <svg:circle\n *ngFor=\"let r of radiusTicks\"\n class=\"gridline-path radial-gridline-path\"\n cx=\"0\"\n cy=\"0\"\n [attr.r]=\"r\"\n />\n </svg:g>\n <svg:g *ngIf=\"xAxis\">\n <svg:g\n ngx-charts-pie-label\n *ngFor=\"let tick of thetaTicks\"\n [data]=\"tick\"\n [radius]=\"outerRadius\"\n [label]=\"tick.label\"\n [max]=\"outerRadius\"\n [value]=\"showGridLines ? 1 : outerRadius\"\n [explodeSlices]=\"true\"\n [animations]=\"animations\"\n [labelTrim]=\"labelTrim\"\n [labelTrimSize]=\"labelTrimSize\"\n ></svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-y-axis\n [attr.transform]=\"transformYAxis\"\n *ngIf=\"yAxis\"\n [yScale]=\"yAxisScale\"\n [dims]=\"yAxisDims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"xAxis && showXAxisLabel\"\n [label]=\"xAxisLabel\"\n [offset]=\"labelOffset\"\n [orient]=\"'bottom'\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-polar-series\n [gradient]=\"gradient\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g class=\"polar-charts-series\">\n <defs>\n <svg:g\n ngx-charts-svg-radial-gradient\n *ngIf=\"hasGradient\"\n orientation=\"vertical\"\n [color]=\"seriesColor\"\n [name]=\"gradientId\"\n [startOpacity]=\"0.25\"\n [endOpacity]=\"1\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-line\n class=\"polar-series-path\"\n [path]=\"path\"\n [stroke]=\"hasGradient ? gradientUrl : seriesColor\"\n [class.active]=\"active\"\n [class.inactive]=\"inactive\"\n [attr.fill-opacity]=\"rangeFillOpacity\"\n [fill]=\"hasGradient ? gradientUrl : seriesColor\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-circle\n *ngFor=\"let circle of circles\"\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circleRadius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"inactive ? 0.2 : 1\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n tooltipType=\"tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n (select)=\"select.emit(circle.data)\"\n (activate)=\"activate.emit({ name: circle.data.series })\"\n (deactivate)=\"deactivate.emit({ name: circle.data.series })\"\n ></svg:g>\n </svg:g>\n ","\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"tree-map chart\">\n <svg:g\n ngx-charts-tree-map-cell-series\n [colors]=\"colors\"\n [data]=\"data\"\n [dims]=\"dims\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n ","\n <svg:g>\n <defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-linear-gradient orientation=\"vertical\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [style.cursor]=\"'pointer'\"\n class=\"cell\"\n (click)=\"onClick()\"\n />\n <svg:foreignObject\n *ngIf=\"width >= 70 && height >= 35\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"treemap-label\"\n [style.pointer-events]=\"'none'\"\n >\n <xhtml:p [style.color]=\"getTextColor()\" [style.height]=\"height + 'px'\" [style.width]=\"width + 'px'\">\n <xhtml:span class=\"treemap-label\" [innerHTML]=\"formattedLabel\"> </xhtml:span>\n <xhtml:br />\n <xhtml:span\n *ngIf=\"animations\"\n class=\"treemap-val\"\n ngx-charts-count-up\n [countTo]=\"value\"\n [valueFormatting]=\"valueFormatting\"\n >\n </xhtml:span>\n <xhtml:span *ngIf=\"!animations\" class=\"treemap-val\">\n {{ formattedValue }}\n </xhtml:span>\n </xhtml:p>\n </svg:foreignObject>\n </svg:g>\n ","\n <svg:g\n ngx-charts-tree-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [data]=\"c.data\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [label]=\"c.label\"\n [value]=\"c.value\"\n [valueType]=\"c.valueType\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"'top'\"\n [tooltipType]=\"'tooltip'\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"c.data\"\n ></svg:g>\n ","import { Injectable, Inject, Directive, TemplateRef, EventEmitter, ElementRef, NgZone, HostBinding, Output, Input, Renderer2, HostListener, KeyValueDiffers, ContentChildren, Component, ChangeDetectionStrategy, ContentChild, ChangeDetectorRef, ViewChild, ViewEncapsulation, SkipSelf, Optional, ViewContainerRef, NgModule } from '@angular/core';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { Subject, fromEvent, BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { __decorate } from 'tslib';\n\n/**\n * Gets the width of the scrollbar. Nesc for windows\n * http://stackoverflow.com/a/13382873/888165\n */\nclass ScrollbarHelper {\n constructor(document) {\n this.document = document;\n this.width = this.getWidth();\n }\n getWidth() {\n const outer = this.document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.msOverflowStyle = 'scrollbar';\n this.document.body.appendChild(outer);\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n const inner = this.document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n const widthWithScroll = inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return widthNoScroll - widthWithScroll;\n }\n}\nScrollbarHelper.decorators = [\n { type: Injectable }\n];\nScrollbarHelper.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n\n/**\n * Gets the width of the scrollbar. Nesc for windows\n * http://stackoverflow.com/a/13382873/888165\n */\nclass DimensionsHelper {\n getDimensions(element) {\n return element.getBoundingClientRect();\n }\n}\nDimensionsHelper.decorators = [\n { type: Injectable }\n];\n\n/**\n * service to make DatatableComponent aware of changes to\n * input bindings of DataTableColumnDirective\n */\nclass ColumnChangesService {\n constructor() {\n this.columnInputChanges = new Subject();\n }\n get columnInputChanges$() {\n return this.columnInputChanges.asObservable();\n }\n onInputChange() {\n this.columnInputChanges.next();\n }\n}\nColumnChangesService.decorators = [\n { type: Injectable }\n];\n\nclass DataTableFooterTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nDataTableFooterTemplateDirective.decorators = [\n { type: Directive, args: [{ selector: '[ngx-datatable-footer-template]' },] }\n];\nDataTableFooterTemplateDirective.ctorParameters = () => [\n { type: TemplateRef }\n];\n\n/**\n * Visibility Observer Directive\n *\n * Usage:\n *\n * \t\t<div\n * \t\t\tvisibilityObserver\n * \t\t\t(visible)=\"onVisible($event)\">\n * \t\t</div>\n *\n */\nclass VisibilityDirective {\n constructor(element, zone) {\n this.element = element;\n this.zone = zone;\n this.isVisible = false;\n this.visible = new EventEmitter();\n }\n ngOnInit() {\n this.runCheck();\n }\n ngOnDestroy() {\n clearTimeout(this.timeout);\n }\n onVisibilityChange() {\n // trigger zone recalc for columns\n this.zone.run(() => {\n this.isVisible = true;\n this.visible.emit(true);\n });\n }\n runCheck() {\n const check = () => {\n // https://davidwalsh.name/offsetheight-visibility\n const { offsetHeight, offsetWidth } = this.element.nativeElement;\n if (offsetHeight && offsetWidth) {\n clearTimeout(this.timeout);\n this.onVisibilityChange();\n }\n else {\n clearTimeout(this.timeout);\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check(), 50);\n });\n }\n };\n this.timeout = setTimeout(() => check());\n }\n}\nVisibilityDirective.decorators = [\n { type: Directive, args: [{ selector: '[visibilityObserver]' },] }\n];\nVisibilityDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone }\n];\nVisibilityDirective.propDecorators = {\n isVisible: [{ type: HostBinding, args: ['class.visible',] }],\n visible: [{ type: Output }]\n};\n\n/**\n * Draggable Directive for Angular2\n *\n * Inspiration:\n * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts\n * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2\n *\n */\nclass DraggableDirective {\n constructor(element) {\n this.dragX = true;\n this.dragY = true;\n this.dragStart = new EventEmitter();\n this.dragging = new EventEmitter();\n this.dragEnd = new EventEmitter();\n this.isDragging = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (changes['dragEventTarget'] && changes['dragEventTarget'].currentValue && this.dragModel.dragging) {\n this.onMousedown(changes['dragEventTarget'].currentValue);\n }\n }\n ngOnDestroy() {\n this._destroySubscription();\n }\n onMouseup(event) {\n if (!this.isDragging)\n return;\n this.isDragging = false;\n this.element.classList.remove('dragging');\n if (this.subscription) {\n this._destroySubscription();\n this.dragEnd.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n }\n onMousedown(event) {\n // we only want to drag the inner header text\n const isDragElm = event.target.classList.contains('draggable');\n if (isDragElm && (this.dragX || this.dragY)) {\n event.preventDefault();\n this.isDragging = true;\n const mouseDownPos = { x: event.clientX, y: event.clientY };\n const mouseup = fromEvent(document, 'mouseup');\n this.subscription = mouseup.subscribe((ev) => this.onMouseup(ev));\n const mouseMoveSub = fromEvent(document, 'mousemove')\n .pipe(takeUntil(mouseup))\n .subscribe((ev) => this.move(ev, mouseDownPos));\n this.subscription.add(mouseMoveSub);\n this.dragStart.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n }\n move(event, mouseDownPos) {\n if (!this.isDragging)\n return;\n const x = event.clientX - mouseDownPos.x;\n const y = event.clientY - mouseDownPos.y;\n if (this.dragX)\n this.element.style.left = `${x}px`;\n if (this.dragY)\n this.element.style.top = `${y}px`;\n this.element.classList.add('dragging');\n this.dragging.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n _destroySubscription() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = undefined;\n }\n }\n}\nDraggableDirective.decorators = [\n { type: Directive, args: [{ selector: '[draggable]' },] }\n];\nDraggableDirective.ctorParameters = () => [\n { type: ElementRef }\n];\nDraggableDirective.propDecorators = {\n dragEventTarget: [{ type: Input }],\n dragModel: [{ type: Input }],\n dragX: [{ type: Input }],\n dragY: [{ type: Input }],\n dragStart: [{ type: Output }],\n dragging: [{ type: Output }],\n dragEnd: [{ type: Output }]\n};\n\nclass ResizeableDirective {\n constructor(element, renderer) {\n this.renderer = renderer;\n this.resizeEnabled = true;\n this.resize = new EventEmitter();\n this.resizing = false;\n this.element = element.nativeElement;\n }\n ngAfterViewInit() {\n const renderer2 = this.renderer;\n this.resizeHandle = renderer2.createElement('span');\n if (this.resizeEnabled) {\n renderer2.addClass(this.resizeHandle, 'resize-handle');\n }\n else {\n renderer2.addClass(this.resizeHandle, 'resize-handle--not-resizable');\n }\n renderer2.appendChild(this.element, this.resizeHandle);\n }\n ngOnDestroy() {\n this._destroySubscription();\n if (this.renderer.destroyNode) {\n this.renderer.destroyNode(this.resizeHandle);\n }\n else if (this.resizeHandle) {\n this.renderer.removeChild(this.renderer.parentNode(this.resizeHandle), this.resizeHandle);\n }\n }\n onMouseup() {\n this.resizing = false;\n if (this.subscription && !this.subscription.closed) {\n this._destroySubscription();\n this.resize.emit(this.element.clientWidth);\n }\n }\n onMousedown(event) {\n const isHandle = event.target.classList.contains('resize-handle');\n const initialWidth = this.element.clientWidth;\n const mouseDownScreenX = event.screenX;\n if (isHandle) {\n event.stopPropagation();\n this.resizing = true;\n const mouseup = fromEvent(document, 'mouseup');\n this.subscription = mouseup.subscribe((ev) => this.onMouseup());\n const mouseMoveSub = fromEvent(document, 'mousemove')\n .pipe(takeUntil(mouseup))\n .subscribe((e) => this.move(e, initialWidth, mouseDownScreenX));\n this.subscription.add(mouseMoveSub);\n }\n }\n move(event, initialWidth, mouseDownScreenX) {\n const movementX = event.screenX - mouseDownScreenX;\n const newWidth = initialWidth + movementX;\n const overMinWidth = !this.minWidth || newWidth >= this.minWidth;\n const underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;\n if (overMinWidth && underMaxWidth) {\n this.element.style.width = `${newWidth}px`;\n }\n }\n _destroySubscription() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = undefined;\n }\n }\n}\nResizeableDirective.decorators = [\n { type: Directive, args: [{\n selector: '[resizeable]',\n host: {\n '[class.resizeable]': 'resizeEnabled'\n }\n },] }\n];\nResizeableDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 }\n];\nResizeableDirective.propDecorators = {\n resizeEnabled: [{ type: Input }],\n minWidth: [{ type: Input }],\n maxWidth: [{ type: Input }],\n resize: [{ type: Output }],\n onMousedown: [{ type: HostListener, args: ['mousedown', ['$event'],] }]\n};\n\nclass OrderableDirective {\n constructor(differs, document) {\n this.document = document;\n this.reorder = new EventEmitter();\n this.targetChanged = new EventEmitter();\n this.differ = differs.find({}).create();\n }\n ngAfterContentInit() {\n // HACK: Investigate Better Way\n this.updateSubscriptions();\n this.draggables.changes.subscribe(this.updateSubscriptions.bind(this));\n }\n ngOnDestroy() {\n this.draggables.forEach(d => {\n d.dragStart.unsubscribe();\n d.dragging.unsubscribe();\n d.dragEnd.unsubscribe();\n });\n }\n updateSubscriptions() {\n const diffs = this.differ.diff(this.createMapDiffs());\n if (diffs) {\n const subscribe = ({ currentValue, previousValue }) => {\n unsubscribe({ previousValue });\n if (currentValue) {\n currentValue.dragStart.subscribe(this.onDragStart.bind(this));\n currentValue.dragging.subscribe(this.onDragging.bind(this));\n currentValue.dragEnd.subscribe(this.onDragEnd.bind(this));\n }\n };\n const unsubscribe = ({ previousValue }) => {\n if (previousValue) {\n previousValue.dragStart.unsubscribe();\n previousValue.dragging.unsubscribe();\n previousValue.dragEnd.unsubscribe();\n }\n };\n diffs.forEachAddedItem(subscribe);\n // diffs.forEachChangedItem(subscribe.bind(this));\n diffs.forEachRemovedItem(unsubscribe);\n }\n }\n onDragStart() {\n this.positions = {};\n let i = 0;\n for (const dragger of this.draggables.toArray()) {\n const elm = dragger.element;\n const left = parseInt(elm.offsetLeft.toString(), 0);\n this.positions[dragger.dragModel.prop] = {\n left,\n right: left + parseInt(elm.offsetWidth.toString(), 0),\n index: i++,\n element: elm\n };\n }\n }\n onDragging({ element, model, event }) {\n const prevPos = this.positions[model.prop];\n const target = this.isTarget(model, event);\n if (target) {\n if (this.lastDraggingIndex !== target.i) {\n this.targetChanged.emit({\n prevIndex: this.lastDraggingIndex,\n newIndex: target.i,\n initialIndex: prevPos.index\n });\n this.lastDraggingIndex = target.i;\n }\n }\n else if (this.lastDraggingIndex !== prevPos.index) {\n this.targetChanged.emit({\n prevIndex: this.lastDraggingIndex,\n initialIndex: prevPos.index\n });\n this.lastDraggingIndex = prevPos.index;\n }\n }\n onDragEnd({ element, model, event }) {\n const prevPos = this.positions[model.prop];\n const target = this.isTarget(model, event);\n if (target) {\n this.reorder.emit({\n prevIndex: prevPos.index,\n newIndex: target.i,\n model\n });\n }\n this.lastDraggingIndex = undefined;\n element.style.left = 'auto';\n }\n isTarget(model, event) {\n let i = 0;\n const x = event.x || event.clientX;\n const y = event.y || event.clientY;\n const targets = this.document.elementsFromPoint(x, y);\n for (const prop in this.positions) {\n // current column position which throws event.\n const pos = this.positions[prop];\n // since we drag the inner span, we need to find it in the elements at the cursor\n if (model.prop !== prop && targets.find((el) => el === pos.element)) {\n return {\n pos,\n i\n };\n }\n i++;\n }\n }\n createMapDiffs() {\n return this.draggables.toArray().reduce((acc, curr) => {\n acc[curr.dragModel.$$id] = curr;\n return acc;\n }, {});\n }\n}\nOrderableDirective.decorators = [\n { type: Directive, args: [{ selector: '[orderable]' },] }\n];\nOrderableDirective.ctorParameters = () => [\n { type: KeyValueDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nOrderableDirective.propDecorators = {\n reorder: [{ type: Output }],\n targetChanged: [{ type: Output }],\n draggables: [{ type: ContentChildren, args: [DraggableDirective, { descendants: true },] }]\n};\n\nclass LongPressDirective {\n constructor() {\n this.pressEnabled = true;\n this.duration = 500;\n this.longPressStart = new EventEmitter();\n this.longPressing = new EventEmitter();\n this.longPressEnd = new EventEmitter();\n this.mouseX = 0;\n this.mouseY = 0;\n }\n get press() {\n return this.pressing;\n }\n get isLongPress() {\n return this.isLongPressing;\n }\n onMouseDown(event) {\n // don't do right/middle clicks\n if (event.which !== 1 || !this.pressEnabled)\n return;\n // don't start drag if its on resize handle\n const target = event.target;\n if (target.classList.contains('resize-handle'))\n return;\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n this.pressing = true;\n this.isLongPressing = false;\n const mouseup = fromEvent(document, 'mouseup');\n this.subscription = mouseup.subscribe((ev) => this.onMouseup());\n this.timeout = setTimeout(() => {\n this.isLongPressing = true;\n this.longPressStart.emit({\n event,\n model: this.pressModel\n });\n this.subscription.add(fromEvent(document, 'mousemove')\n .pipe(takeUntil(mouseup))\n .subscribe((mouseEvent) => this.onMouseMove(mouseEvent)));\n this.loop(event);\n }, this.duration);\n this.loop(event);\n }\n onMouseMove(event) {\n if (this.pressing && !this.isLongPressing) {\n const xThres = Math.abs(event.clientX - this.mouseX) > 10;\n const yThres = Math.abs(event.clientY - this.mouseY) > 10;\n if (xThres || yThres) {\n this.endPress();\n }\n }\n }\n loop(event) {\n if (this.isLongPressing) {\n this.timeout = setTimeout(() => {\n this.longPressing.emit({\n event,\n model: this.pressModel\n });\n this.loop(event);\n }, 50);\n }\n }\n endPress() {\n clearTimeout(this.timeout);\n this.isLongPressing = false;\n this.pressing = false;\n this._destroySubscription();\n this.longPressEnd.emit({\n model: this.pressModel\n });\n }\n onMouseup() {\n this.endPress();\n }\n ngOnDestroy() {\n this._destroySubscription();\n }\n _destroySubscription() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = undefined;\n }\n }\n}\nLongPressDirective.decorators = [\n { type: Directive, args: [{ selector: '[long-press]' },] }\n];\nLongPressDirective.propDecorators = {\n pressEnabled: [{ type: Input }],\n pressModel: [{ type: Input }],\n duration: [{ type: Input }],\n longPressStart: [{ type: Output }],\n longPressing: [{ type: Output }],\n longPressEnd: [{ type: Output }],\n press: [{ type: HostBinding, args: ['class.press',] }],\n isLongPress: [{ type: HostBinding, args: ['class.longpress',] }],\n onMouseDown: [{ type: HostListener, args: ['mousedown', ['$event'],] }]\n};\n\nclass ScrollerComponent {\n constructor(ngZone, element, renderer) {\n this.ngZone = ngZone;\n this.renderer = renderer;\n this.scrollbarV = false;\n this.scrollbarH = false;\n this.scroll = new EventEmitter();\n this.scrollYPos = 0;\n this.scrollXPos = 0;\n this.prevScrollYPos = 0;\n this.prevScrollXPos = 0;\n this._scrollEventListener = null;\n this.element = element.nativeElement;\n }\n ngOnInit() {\n // manual bind so we don't always listen\n if (this.scrollbarV || this.scrollbarH) {\n const renderer = this.renderer;\n this.parentElement = renderer.parentNode(renderer.parentNode(this.element));\n this._scrollEventListener = this.onScrolled.bind(this);\n this.parentElement.addEventListener('scroll', this._scrollEventListener);\n }\n }\n ngOnDestroy() {\n if (this._scrollEventListener) {\n this.parentElement.removeEventListener('scroll', this._scrollEventListener);\n this._scrollEventListener = null;\n }\n }\n setOffset(offsetY) {\n if (this.parentElement) {\n this.parentElement.scrollTop = offsetY;\n }\n }\n onScrolled(event) {\n const dom = event.currentTarget;\n requestAnimationFrame(() => {\n this.scrollYPos = dom.scrollTop;\n this.scrollXPos = dom.scrollLeft;\n this.updateOffset();\n });\n }\n updateOffset() {\n let direction;\n if (this.scrollYPos < this.prevScrollYPos) {\n direction = 'down';\n }\n else if (this.scrollYPos > this.prevScrollYPos) {\n direction = 'up';\n }\n this.scroll.emit({\n direction,\n scrollYPos: this.scrollYPos,\n scrollXPos: this.scrollXPos\n });\n this.prevScrollYPos = this.scrollYPos;\n this.prevScrollXPos = this.scrollXPos;\n }\n}\nScrollerComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-scroller',\n template: ` <ng-content></ng-content> `,\n host: {\n class: 'datatable-scroll'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nScrollerComponent.ctorParameters = () => [\n { type: NgZone },\n { type: ElementRef },\n { type: Renderer2 }\n];\nScrollerComponent.propDecorators = {\n scrollbarV: [{ type: Input }],\n scrollbarH: [{ type: Input }],\n scrollHeight: [{ type: HostBinding, args: ['style.height.px',] }, { type: Input }],\n scrollWidth: [{ type: HostBinding, args: ['style.width.px',] }, { type: Input }],\n scroll: [{ type: Output }]\n};\n\nclass DatatableGroupHeaderTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nDatatableGroupHeaderTemplateDirective.decorators = [\n { type: Directive, args: [{\n selector: '[ngx-datatable-group-header-template]'\n },] }\n];\nDatatableGroupHeaderTemplateDirective.ctorParameters = () => [\n { type: TemplateRef }\n];\n\nclass DatatableGroupHeaderDirective {\n constructor() {\n /**\n * Row height is required when virtual scroll is enabled.\n */\n this.rowHeight = 0;\n /**\n * Track toggling of group visibility\n */\n this.toggle = new EventEmitter();\n }\n get template() {\n return this._templateInput || this._templateQuery;\n }\n /**\n * Toggle the expansion of a group\n */\n toggleExpandGroup(group) {\n this.toggle.emit({\n type: 'group',\n value: group\n });\n }\n /**\n * Expand all groups\n */\n expandAllGroups() {\n this.toggle.emit({\n type: 'all',\n value: true\n });\n }\n /**\n * Collapse all groups\n */\n collapseAllGroups() {\n this.toggle.emit({\n type: 'all',\n value: false\n });\n }\n}\nDatatableGroupHeaderDirective.decorators = [\n { type: Directive, args: [{ selector: 'ngx-datatable-group-header' },] }\n];\nDatatableGroupHeaderDirective.propDecorators = {\n rowHeight: [{ type: Input }],\n _templateInput: [{ type: Input, args: ['template',] }],\n _templateQuery: [{ type: ContentChild, args: [DatatableGroupHeaderTemplateDirective, { read: TemplateRef, static: true },] }],\n toggle: [{ type: Output }]\n};\n\n/**\n * Always returns the empty string ''\n */\nfunction emptyStringGetter() {\n return '';\n}\n/**\n * Returns the appropriate getter function for this kind of prop.\n * If prop == null, returns the emptyStringGetter.\n */\nfunction getterForProp(prop) {\n if (prop == null) {\n return emptyStringGetter;\n }\n if (typeof prop === 'number') {\n return numericIndexGetter;\n }\n else {\n // deep or simple\n if (prop.indexOf('.') !== -1) {\n return deepValueGetter;\n }\n else {\n return shallowValueGetter;\n }\n }\n}\n/**\n * Returns the value at this numeric index.\n * @param row array of values\n * @param index numeric index\n * @returns any or '' if invalid index\n */\nfunction numericIndexGetter(row, index) {\n if (row == null) {\n return '';\n }\n // mimic behavior of deepValueGetter\n if (!row || index == null) {\n return row;\n }\n const value = row[index];\n if (value == null) {\n return '';\n }\n return value;\n}\n/**\n * Returns the value of a field.\n * (more efficient than deepValueGetter)\n * @param obj object containing the field\n * @param fieldName field name string\n */\nfunction shallowValueGetter(obj, fieldName) {\n if (obj == null) {\n return '';\n }\n if (!obj || !fieldName) {\n return obj;\n }\n const value = obj[fieldName];\n if (value == null) {\n return '';\n }\n return value;\n}\n/**\n * Returns a deep object given a string. zoo['animal.type']\n */\nfunction deepValueGetter(obj, path) {\n if (obj == null) {\n return '';\n }\n if (!obj || !path) {\n return obj;\n }\n // check if path matches a root-level field\n // { \"a.b.c\": 123 }\n let current = obj[path];\n if (current !== undefined) {\n return current;\n }\n current = obj;\n const split = path.split('.');\n if (split.length) {\n for (let i = 0; i < split.length; i++) {\n current = current[split[i]];\n // if found undefined, return empty string\n if (current === undefined || current === null) {\n return '';\n }\n }\n }\n return current;\n}\n\nfunction optionalGetterForProp(prop) {\n return prop && (row => getterForProp(prop)(row, prop));\n}\n/**\n * This functions rearrange items by their parents\n * Also sets the level value to each of the items\n *\n * Note: Expecting each item has a property called parentId\n * Note: This algorithm will fail if a list has two or more items with same ID\n * NOTE: This algorithm will fail if there is a deadlock of relationship\n *\n * For example,\n *\n * Input\n *\n * id -> parent\n * 1 -> 0\n * 2 -> 0\n * 3 -> 1\n * 4 -> 1\n * 5 -> 2\n * 7 -> 8\n * 6 -> 3\n *\n *\n * Output\n * id -> level\n * 1 -> 0\n * --3 -> 1\n * ----6 -> 2\n * --4 -> 1\n * 2 -> 0\n * --5 -> 1\n * 7 -> 8\n *\n *\n * @param rows\n *\n */\nfunction groupRowsByParents(rows, from, to) {\n if (from && to) {\n const nodeById = {};\n const l = rows.length;\n let node = null;\n nodeById[0] = new TreeNode(); // that's the root node\n const uniqIDs = rows.reduce((arr, item) => {\n const toValue = to(item);\n if (arr.indexOf(toValue) === -1) {\n arr.push(toValue);\n }\n return arr;\n }, []);\n for (let i = 0; i < l; i++) {\n // make TreeNode objects for each item\n nodeById[to(rows[i])] = new TreeNode(rows[i]);\n }\n for (let i = 0; i < l; i++) {\n // link all TreeNode objects\n node = nodeById[to(rows[i])];\n let parent = 0;\n const fromValue = from(node.row);\n if (!!fromValue && uniqIDs.indexOf(fromValue) > -1) {\n parent = fromValue;\n }\n node.parent = nodeById[parent];\n node.row['level'] = node.parent.row['level'] + 1;\n node.parent.children.push(node);\n }\n let resolvedRows = [];\n nodeById[0].flatten(function () {\n resolvedRows = [...resolvedRows, this.row];\n }, true);\n return resolvedRows;\n }\n else {\n return rows;\n }\n}\nclass TreeNode {\n constructor(row = null) {\n if (!row) {\n row = {\n level: -1,\n treeStatus: 'expanded'\n };\n }\n this.row = row;\n this.parent = null;\n this.children = [];\n }\n flatten(f, recursive) {\n if (this.row['treeStatus'] === 'expanded') {\n for (let i = 0, l = this.children.length; i < l; i++) {\n const child = this.children[i];\n f.apply(child, Array.prototype.slice.call(arguments, 2));\n if (recursive)\n child.flatten.apply(child, arguments);\n }\n }\n }\n}\n\n/**\n * Converts strings from something to camel case\n * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase\n */\nfunction camelCase(str) {\n // Replace special characters with a space\n str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');\n // put a space before an uppercase letter\n str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');\n // Lower case first character and some other stuff\n str = str\n .replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '')\n .trim()\n .toLowerCase();\n // uppercase characters preceded by a space or number\n str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function (a, b, c) {\n return b.trim() + c.toUpperCase();\n });\n return str;\n}\n/**\n * Converts strings from camel case to words\n * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text\n */\nfunction deCamelCase(str) {\n return str.replace(/([A-Z])/g, match => ` ${match}`).replace(/^./, match => match.toUpperCase());\n}\n\n/**\n * Creates a unique object id.\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n */\nfunction id() {\n return ('0000' + ((Math.random() * Math.pow(36, 4)) << 0).toString(36)).slice(-4);\n}\n\n/**\n * Sets the column defaults\n */\nfunction setColumnDefaults(columns) {\n if (!columns)\n return;\n // Only one column should hold the tree view\n // Thus if multiple columns are provided with\n // isTreeColumn as true we take only the first one\n let treeColumnFound = false;\n for (const column of columns) {\n if (!column.$$id) {\n column.$$id = id();\n }\n // prop can be numeric; zero is valid not a missing prop\n // translate name => prop\n if (isNullOrUndefined(column.prop) && column.name) {\n column.prop = camelCase(column.name);\n }\n if (!column.$$valueGetter) {\n column.$$valueGetter = getterForProp(column.prop);\n }\n // format props if no name passed\n if (!isNullOrUndefined(column.prop) && isNullOrUndefined(column.name)) {\n column.name = deCamelCase(String(column.prop));\n }\n if (isNullOrUndefined(column.prop) && isNullOrUndefined(column.name)) {\n column.name = ''; // Fixes IE and Edge displaying `null`\n }\n if (!column.hasOwnProperty('resizeable')) {\n column.resizeable = true;\n }\n if (!column.hasOwnProperty('sortable')) {\n column.sortable = true;\n }\n if (!column.hasOwnProperty('draggable')) {\n column.draggable = true;\n }\n if (!column.hasOwnProperty('canAutoResize')) {\n column.canAutoResize = true;\n }\n if (!column.hasOwnProperty('width')) {\n column.width = 150;\n }\n if (!column.hasOwnProperty('isTreeColumn')) {\n column.isTreeColumn = false;\n }\n else {\n if (column.isTreeColumn && !treeColumnFound) {\n // If the first column with isTreeColumn is true found\n // we mark that treeCoulmn is found\n treeColumnFound = true;\n }\n else {\n // After that isTreeColumn property for any other column\n // will be set as false\n column.isTreeColumn = false;\n }\n }\n }\n}\nfunction isNullOrUndefined(value) {\n return value === null || value === undefined;\n}\n/**\n * Translates templates definitions to objects\n */\nfunction translateTemplates(templates) {\n const result = [];\n for (const temp of templates) {\n const col = {};\n const props = Object.getOwnPropertyNames(temp);\n for (const prop of props) {\n col[prop] = temp[prop];\n }\n if (temp.headerTemplate) {\n col.headerTemplate = temp.headerTemplate;\n }\n if (temp.cellTemplate) {\n col.cellTemplate = temp.cellTemplate;\n }\n if (temp.summaryFunc) {\n col.summaryFunc = temp.summaryFunc;\n }\n if (temp.summaryTemplate) {\n col.summaryTemplate = temp.summaryTemplate;\n }\n result.push(col);\n }\n return result;\n}\n\nvar ColumnMode;\n(function (ColumnMode) {\n ColumnMode[\"standard\"] = \"standard\";\n ColumnMode[\"flex\"] = \"flex\";\n ColumnMode[\"force\"] = \"force\";\n})(ColumnMode || (ColumnMode = {}));\n\nvar SelectionType;\n(function (SelectionType) {\n SelectionType[\"single\"] = \"single\";\n SelectionType[\"multi\"] = \"multi\";\n SelectionType[\"multiClick\"] = \"multiClick\";\n SelectionType[\"cell\"] = \"cell\";\n SelectionType[\"checkbox\"] = \"checkbox\";\n})(SelectionType || (SelectionType = {}));\n\nvar SortType;\n(function (SortType) {\n SortType[\"single\"] = \"single\";\n SortType[\"multi\"] = \"multi\";\n})(SortType || (SortType = {}));\n\nvar ContextmenuType;\n(function (ContextmenuType) {\n ContextmenuType[\"header\"] = \"header\";\n ContextmenuType[\"body\"] = \"body\";\n})(ContextmenuType || (ContextmenuType = {}));\n\nclass DataTableColumnHeaderDirective {\n constructor(template) {\n this.template = template;\n }\n}\nDataTableColumnHeaderDirective.decorators = [\n { type: Directive, args: [{ selector: '[ngx-datatable-header-template]' },] }\n];\nDataTableColumnHeaderDirective.ctorParameters = () => [\n { type: TemplateRef }\n];\n\nclass DataTableColumnCellDirective {\n constructor(template) {\n this.template = template;\n }\n}\nDataTableColumnCellDirective.decorators = [\n { type: Directive, args: [{ selector: '[ngx-datatable-cell-template]' },] }\n];\nDataTableColumnCellDirective.ctorParameters = () => [\n { type: TemplateRef }\n];\n\nclass DataTableColumnCellTreeToggle {\n constructor(template) {\n this.template = template;\n }\n}\nDataTableColumnCellTreeToggle.decorators = [\n { type: Directive, args: [{ selector: '[ngx-datatable-tree-toggle]' },] }\n];\nDataTableColumnCellTreeToggle.ctorParameters = () => [\n { type: TemplateRef }\n];\n\nclass DataTableColumnDirective {\n constructor(columnChangesService) {\n this.columnChangesService = columnChangesService;\n this.isFirstChange = true;\n }\n get cellTemplate() {\n return this._cellTemplateInput || this._cellTemplateQuery;\n }\n get headerTemplate() {\n return this._headerTemplateInput || this._headerTemplateQuery;\n }\n get treeToggleTemplate() {\n return this._treeToggleTemplateInput || this._treeToggleTemplateQuery;\n }\n ngOnChanges() {\n if (this.isFirstChange) {\n this.isFirstChange = false;\n }\n else {\n this.columnChangesService.onInputChange();\n }\n }\n}\nDataTableColumnDirective.decorators = [\n { type: Directive, args: [{ selector: 'ngx-datatable-column' },] }\n];\nDataTableColumnDirective.ctorParameters = () => [\n { type: ColumnChangesService }\n];\nDataTableColumnDirective.propDecorators = {\n name: [{ type: Input }],\n prop: [{ type: Input }],\n frozenLeft: [{ type: Input }],\n frozenRight: [{ type: Input }],\n flexGrow: [{ type: Input }],\n resizeable: [{ type: Input }],\n comparator: [{ type: Input }],\n pipe: [{ type: Input }],\n sortable: [{ type: Input }],\n draggable: [{ type: Input }],\n canAutoResize: [{ type: Input }],\n minWidth: [{ type: Input }],\n width: [{ type: Input }],\n maxWidth: [{ type: Input }],\n checkboxable: [{ type: Input }],\n headerCheckboxable: [{ type: Input }],\n headerClass: [{ type: Input }],\n cellClass: [{ type: Input }],\n isTreeColumn: [{ type: Input }],\n treeLevelIndent: [{ type: Input }],\n summaryFunc: [{ type: Input }],\n summaryTemplate: [{ type: Input }],\n _cellTemplateInput: [{ type: Input, args: ['cellTemplate',] }],\n _cellTemplateQuery: [{ type: ContentChild, args: [DataTableColumnCellDirective, { read: TemplateRef, static: true },] }],\n _headerTemplateInput: [{ type: Input, args: ['headerTemplate',] }],\n _headerTemplateQuery: [{ type: ContentChild, args: [DataTableColumnHeaderDirective, { read: TemplateRef, static: true },] }],\n _treeToggleTemplateInput: [{ type: Input, args: ['treeToggleTemplate',] }],\n _treeToggleTemplateQuery: [{ type: ContentChild, args: [DataTableColumnCellTreeToggle, { read: TemplateRef, static: true },] }]\n};\n\nclass DatatableRowDetailTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nDatatableRowDetailTemplateDirective.decorators = [\n { type: Directive, args: [{\n selector: '[ngx-datatable-row-detail-template]'\n },] }\n];\nDatatableRowDetailTemplateDirective.ctorParameters = () => [\n { type: TemplateRef }\n];\n\nclass DatatableRowDetailDirective {\n constructor() {\n /**\n * The detail row height is required especially\n * when virtual scroll is enabled.\n */\n this.rowHeight = 0;\n /**\n * Row detail row visbility was toggled.\n */\n this.toggle = new EventEmitter();\n }\n get template() {\n return this._templateInput || this._templateQuery;\n }\n /**\n * Toggle the expansion of the row\n */\n toggleExpandRow(row) {\n this.toggle.emit({\n type: 'row',\n value: row\n });\n }\n /**\n * API method to expand all the rows.\n */\n expandAllRows() {\n this.toggle.emit({\n type: 'all',\n value: true\n });\n }\n /**\n * API method to collapse all the rows.\n */\n collapseAllRows() {\n this.toggle.emit({\n type: 'all',\n value: false\n });\n }\n}\nDatatableRowDetailDirective.decorators = [\n { type: Directive, args: [{ selector: 'ngx-datatable-row-detail' },] }\n];\nDatatableRowDetailDirective.propDecorators = {\n rowHeight: [{ type: Input }],\n _templateInput: [{ type: Input, args: ['template',] }],\n _templateQuery: [{ type: ContentChild, args: [DatatableRowDetailTemplateDirective, { read: TemplateRef, static: true },] }],\n toggle: [{ type: Output }]\n};\n\nclass DatatableFooterDirective {\n get template() {\n return this._templateInput || this._templateQuery;\n }\n}\nDatatableFooterDirective.decorators = [\n { type: Directive, args: [{ selector: 'ngx-datatable-footer' },] }\n];\nDatatableFooterDirective.propDecorators = {\n footerHeight: [{ type: Input }],\n totalMessage: [{ type: Input }],\n selectedMessage: [{ type: Input }],\n pagerLeftArrowIcon: [{ type: Input }],\n pagerRightArrowIcon: [{ type: Input }],\n pagerPreviousIcon: [{ type: Input }],\n pagerNextIcon: [{ type: Input }],\n _templateInput: [{ type: Input, args: ['template',] }],\n _templateQuery: [{ type: ContentChild, args: [DataTableFooterTemplateDirective, { read: TemplateRef },] }]\n};\n\n/**\n * Returns the columns by pin.\n */\nfunction columnsByPin(cols) {\n const ret = {\n left: [],\n center: [],\n right: []\n };\n if (cols) {\n for (const col of cols) {\n if (col.frozenLeft) {\n ret.left.push(col);\n }\n else if (col.frozenRight) {\n ret.right.push(col);\n }\n else {\n ret.center.push(col);\n }\n }\n }\n return ret;\n}\n/**\n * Returns the widths of all group sets of a column\n */\nfunction columnGroupWidths(groups, all) {\n return {\n left: columnTotalWidth(groups.left),\n center: columnTotalWidth(groups.center),\n right: columnTotalWidth(groups.right),\n total: Math.floor(columnTotalWidth(all))\n };\n}\n/**\n * Calculates the total width of all columns and their groups\n */\nfunction columnTotalWidth(columns, prop) {\n let totalWidth = 0;\n if (columns) {\n for (const c of columns) {\n const has = prop && c[prop];\n const width = has ? c[prop] : c.width;\n totalWidth = totalWidth + parseFloat(width);\n }\n }\n return totalWidth;\n}\n/**\n * Calculates the total width of all columns and their groups\n */\nfunction columnsTotalWidth(columns, prop) {\n let totalWidth = 0;\n for (const column of columns) {\n const has = prop && column[prop];\n totalWidth = totalWidth + (has ? column[prop] : column.width);\n }\n return totalWidth;\n}\nfunction columnsByPinArr(val) {\n const colsByPinArr = [];\n const colsByPin = columnsByPin(val);\n colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });\n colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });\n colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });\n return colsByPinArr;\n}\n\n/**\n * This object contains the cache of the various row heights that are present inside\n * the data table. Its based on Fenwick tree data structure that helps with\n * querying sums that have time complexity of log n.\n *\n * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html\n * https://github.com/mikolalysenko/fenwick-tree\n *\n */\nclass RowHeightCache {\n constructor() {\n /**\n * Tree Array stores the cumulative information of the row heights to perform efficient\n * range queries and updates. Currently the tree is initialized to the base row\n * height instead of the detail row height.\n */\n this.treeArray = [];\n }\n /**\n * Clear the Tree array.\n */\n clearCache() {\n this.treeArray = [];\n }\n /**\n * Initialize the Fenwick tree with row Heights.\n *\n * @param rows The array of rows which contain the expanded status.\n * @param rowHeight The row height.\n * @param detailRowHeight The detail row height.\n */\n initCache(details) {\n const { rows, rowHeight, detailRowHeight, externalVirtual, rowCount, rowIndexes, rowExpansions } = details;\n const isFn = typeof rowHeight === 'function';\n const isDetailFn = typeof detailRowHeight === 'function';\n if (!isFn && isNaN(rowHeight)) {\n throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number or function value: (${rowHeight}) when 'scrollbarV' is enabled.`);\n }\n // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work.\n if (!isDetailFn && isNaN(detailRowHeight)) {\n throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number or function value: (${detailRowHeight}) when 'scrollbarV' is enabled.`);\n }\n const n = externalVirtual ? rowCount : rows.length;\n this.treeArray = new Array(n);\n for (let i = 0; i < n; ++i) {\n this.treeArray[i] = 0;\n }\n for (let i = 0; i < n; ++i) {\n const row = rows[i];\n let currentRowHeight = rowHeight;\n if (isFn) {\n currentRowHeight = rowHeight(row);\n }\n // Add the detail row height to the already expanded rows.\n // This is useful for the table that goes through a filter or sort.\n const expanded = rowExpansions.has(row);\n if (row && expanded) {\n if (isDetailFn) {\n const index = rowIndexes.get(row);\n currentRowHeight += detailRowHeight(row, index);\n }\n else {\n currentRowHeight += detailRowHeight;\n }\n }\n this.update(i, currentRowHeight);\n }\n }\n /**\n * Given the ScrollY position i.e. sum, provide the rowIndex\n * that is present in the current view port. Below handles edge cases.\n */\n getRowIndex(scrollY) {\n if (scrollY === 0)\n return 0;\n return this.calcRowIndex(scrollY);\n }\n /**\n * When a row is expanded or rowHeight is changed, update the height. This can\n * be utilized in future when Angular Data table supports dynamic row heights.\n */\n update(atRowIndex, byRowHeight) {\n if (!this.treeArray.length) {\n throw new Error(`Update at index ${atRowIndex} with value ${byRowHeight} failed:\n Row Height cache not initialized.`);\n }\n const n = this.treeArray.length;\n atRowIndex |= 0;\n while (atRowIndex < n) {\n this.treeArray[atRowIndex] += byRowHeight;\n atRowIndex |= atRowIndex + 1;\n }\n }\n /**\n * Range Sum query from 1 to the rowIndex\n */\n query(atIndex) {\n if (!this.treeArray.length) {\n throw new Error(`query at index ${atIndex} failed: Fenwick tree array not initialized.`);\n }\n let sum = 0;\n atIndex |= 0;\n while (atIndex >= 0) {\n sum += this.treeArray[atIndex];\n atIndex = (atIndex & (atIndex + 1)) - 1;\n }\n return sum;\n }\n /**\n * Find the total height between 2 row indexes\n */\n queryBetween(atIndexA, atIndexB) {\n return this.query(atIndexB) - this.query(atIndexA - 1);\n }\n /**\n * Given the ScrollY position i.e. sum, provide the rowIndex\n * that is present in the current view port.\n */\n calcRowIndex(sum) {\n if (!this.treeArray.length)\n return 0;\n let pos = -1;\n const dataLength = this.treeArray.length;\n // Get the highest bit for the block size.\n const highestBit = Math.pow(2, dataLength.toString(2).length - 1);\n for (let blockSize = highestBit; blockSize !== 0; blockSize >>= 1) {\n const nextPos = pos + blockSize;\n if (nextPos < dataLength && sum >= this.treeArray[nextPos]) {\n sum -= this.treeArray[nextPos];\n pos = nextPos;\n }\n }\n return pos + 1;\n }\n}\n\nconst cache = {};\nconst testStyle = typeof document !== 'undefined' ? document.createElement('div').style : undefined;\nconst ɵ0 = function () {\n const styles = typeof window !== 'undefined' ? window.getComputedStyle(document.documentElement, '') : undefined;\n const match = typeof styles !== 'undefined'\n ? Array.prototype.slice\n .call(styles)\n .join('')\n .match(/-(moz|webkit|ms)-/)\n : null;\n const pre = match !== null ? match[1] : undefined;\n // tslint:disable-next-line: tsr-detect-non-literal-regexp\n const dom = typeof pre !== 'undefined' ? 'WebKit|Moz|MS|O'.match(new RegExp('(' + pre + ')', 'i'))[1] : undefined;\n return dom\n ? {\n dom,\n lowercase: pre,\n css: `-${pre}-`,\n js: pre[0].toUpperCase() + pre.substr(1)\n }\n : undefined;\n};\n// Get Prefix\n// http://davidwalsh.name/vendor-prefix\nconst prefix = (ɵ0)();\nfunction getVendorPrefixedName(property) {\n const name = camelCase(property);\n if (!cache[name]) {\n if (prefix !== undefined && testStyle[prefix.css + property] !== undefined) {\n cache[name] = prefix.css + property;\n }\n else if (testStyle[property] !== undefined) {\n cache[name] = property;\n }\n }\n return cache[name];\n}\n\n// browser detection and prefixing tools\nconst transform = typeof window !== 'undefined' ? getVendorPrefixedName('transform') : undefined;\nconst backfaceVisibility = typeof window !== 'undefined' ? getVendorPrefixedName('backfaceVisibility') : undefined;\nconst hasCSSTransforms = typeof window !== 'undefined' ? !!getVendorPrefixedName('transform') : undefined;\nconst hasCSS3DTransforms = typeof window !== 'undefined' ? !!getVendorPrefixedName('perspective') : undefined;\nconst ua = typeof window !== 'undefined' ? window.navigator.userAgent : 'Chrome';\nconst isSafari = /Safari\\//.test(ua) && !/Chrome\\//.test(ua);\nfunction translateXY(styles, x, y) {\n if (typeof transform !== 'undefined' && hasCSSTransforms) {\n if (!isSafari && hasCSS3DTransforms) {\n styles[transform] = `translate3d(${x}px, ${y}px, 0)`;\n styles[backfaceVisibility] = 'hidden';\n }\n else {\n styles[camelCase(transform)] = `translate(${x}px, ${y}px)`;\n }\n }\n else {\n styles.top = `${y}px`;\n styles.left = `${x}px`;\n }\n}\n\nclass DataTableBodyComponent {\n /**\n * Creates an instance of DataTableBodyComponent.\n */\n constructor(cd) {\n this.cd = cd;\n this.selected = [];\n this.scroll = new EventEmitter();\n this.page = new EventEmitter();\n this.activate = new EventEmitter();\n this.select = new EventEmitter();\n this.detailToggle = new EventEmitter();\n this.rowContextmenu = new EventEmitter(false);\n this.treeAction = new EventEmitter();\n this.rowHeightsCache = new RowHeightCache();\n this.temp = [];\n this.offsetY = 0;\n this.indexes = {};\n this.rowIndexes = new WeakMap();\n this.rowExpansions = [];\n /**\n * Get the height of the detail row.\n */\n this.getDetailRowHeight = (row, index) => {\n if (!this.rowDetail) {\n return 0;\n }\n const rowHeight = this.rowDetail.rowHeight;\n return typeof rowHeight === 'function' ? rowHeight(row, index) : rowHeight;\n };\n // declare fn here so we can get access to the `this` property\n this.rowTrackingFn = (index, row) => {\n const idx = this.getRowIndex(row);\n if (this.trackByProp) {\n return row[this.trackByProp];\n }\n else {\n return idx;\n }\n };\n }\n set pageSize(val) {\n this._pageSize = val;\n this.recalcLayout();\n }\n get pageSize() {\n return this._pageSize;\n }\n set rows(val) {\n this._rows = val;\n this.recalcLayout();\n }\n get rows() {\n return this._rows;\n }\n set columns(val) {\n this._columns = val;\n const colsByPin = columnsByPin(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n get columns() {\n return this._columns;\n }\n set offset(val) {\n this._offset = val;\n if (!this.scrollbarV || (this.scrollbarV && !this.virtualization))\n this.recalcLayout();\n }\n get offset() {\n return this._offset;\n }\n set rowCount(val) {\n this._rowCount = val;\n this.recalcLayout();\n }\n get rowCount() {\n return this._rowCount;\n }\n get bodyWidth() {\n if (this.scrollbarH) {\n return this.innerWidth + 'px';\n }\n else {\n return '100%';\n }\n }\n set bodyHeight(val) {\n if (this.scrollbarV) {\n this._bodyHeight = val + 'px';\n }\n else {\n this._bodyHeight = 'auto';\n }\n this.recalcLayout();\n }\n get bodyHeight() {\n return this._bodyHeight;\n }\n /**\n * Returns if selection is enabled.\n */\n get selectEnabled() {\n return !!this.selectionType;\n }\n /**\n * Property that would calculate the height of scroll bar\n * based on the row heights cache for virtual scroll and virtualization. Other scenarios\n * calculate scroll height automatically (as height will be undefined).\n */\n get scrollHeight() {\n if (this.scrollbarV && this.virtualization && this.rowCount) {\n return this.rowHeightsCache.query(this.rowCount - 1);\n }\n // avoid TS7030: Not all code paths return a value.\n return undefined;\n }\n /**\n * Called after the constructor, initializing input properties\n */\n ngOnInit() {\n if (this.rowDetail) {\n this.listener = this.rowDetail.toggle.subscribe(({ type, value }) => {\n if (type === 'row') {\n this.toggleRowExpansion(value);\n }\n if (type === 'all') {\n this.toggleAllRows(value);\n }\n // Refresh rows after toggle\n // Fixes #883\n this.updateIndexes();\n this.updateRows();\n this.cd.markForCheck();\n });\n }\n if (this.groupHeader) {\n this.listener = this.groupHeader.toggle.subscribe(({ type, value }) => {\n if (type === 'group') {\n this.toggleRowExpansion(value);\n }\n if (type === 'all') {\n this.toggleAllRows(value);\n }\n // Refresh rows after toggle\n // Fixes #883\n this.updateIndexes();\n this.updateRows();\n this.cd.markForCheck();\n });\n }\n }\n /**\n * Called once, before the instance is destroyed.\n */\n ngOnDestroy() {\n if (this.rowDetail || this.groupHeader) {\n this.listener.unsubscribe();\n }\n }\n /**\n * Updates the Y offset given a new offset.\n */\n updateOffsetY(offset) {\n // scroller is missing on empty table\n if (!this.scroller) {\n return;\n }\n if (this.scrollbarV && this.virtualization && offset) {\n // First get the row Index that we need to move to.\n const rowIndex = this.pageSize * offset;\n offset = this.rowHeightsCache.query(rowIndex - 1);\n }\n else if (this.scrollbarV && !this.virtualization) {\n offset = 0;\n }\n this.scroller.setOffset(offset || 0);\n }\n /**\n * Body was scrolled, this is mainly useful for\n * when a user is server-side pagination via virtual scroll.\n */\n onBodyScroll(event) {\n const scrollYPos = event.scrollYPos;\n const scrollXPos = event.scrollXPos;\n // if scroll change, trigger update\n // this is mainly used for header cell positions\n if (this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) {\n this.scroll.emit({\n offsetY: scrollYPos,\n offsetX: scrollXPos\n });\n }\n this.offsetY = scrollYPos;\n this.offsetX = scrollXPos;\n this.updateIndexes();\n this.updatePage(event.direction);\n this.updateRows();\n }\n /**\n * Updates the page given a direction.\n */\n updatePage(direction) {\n let offset = this.indexes.first / this.pageSize;\n if (direction === 'up') {\n offset = Math.ceil(offset);\n }\n else if (direction === 'down') {\n offset = Math.floor(offset);\n }\n if (direction !== undefined && !isNaN(offset)) {\n this.page.emit({ offset });\n }\n }\n /**\n * Updates the rows in the view port\n */\n updateRows() {\n const { first, last } = this.indexes;\n let rowIndex = first;\n let idx = 0;\n const temp = [];\n // if grouprowsby has been specified treat row paging\n // parameters as group paging parameters ie if limit 10 has been\n // specified treat it as 10 groups rather than 10 rows\n if (this.groupedRows) {\n let maxRowsPerGroup = 3;\n // if there is only one group set the maximum number of\n // rows per group the same as the total number of rows\n if (this.groupedRows.length === 1) {\n maxRowsPerGroup = this.groupedRows[0].value.length;\n }\n while (rowIndex < last && rowIndex < this.groupedRows.length) {\n // Add the groups into this page\n const group = this.groupedRows[rowIndex];\n this.rowIndexes.set(group, rowIndex);\n if (group.value) {\n // add indexes for each group item\n group.value.forEach((g, i) => {\n const _idx = `${rowIndex}-${i}`;\n this.rowIndexes.set(g, _idx);\n });\n }\n temp[idx] = group;\n idx++;\n // Group index in this context\n rowIndex++;\n }\n }\n else {\n while (rowIndex < last && rowIndex < this.rowCount) {\n const row = this.rows[rowIndex];\n if (row) {\n // add indexes for each row\n this.rowIndexes.set(row, rowIndex);\n temp[idx] = row;\n }\n idx++;\n rowIndex++;\n }\n }\n this.temp = temp;\n }\n /**\n * Get the row height\n */\n getRowHeight(row) {\n // if its a function return it\n if (typeof this.rowHeight === 'function') {\n return this.rowHeight(row);\n }\n return this.rowHeight;\n }\n /**\n * @param group the group with all rows\n */\n getGroupHeight(group) {\n let rowHeight = 0;\n if (group.value) {\n for (let index = 0; index < group.value.length; index++) {\n rowHeight += this.getRowAndDetailHeight(group.value[index]);\n }\n }\n return rowHeight;\n }\n /**\n * Calculate row height based on the expanded state of the row.\n */\n getRowAndDetailHeight(row) {\n let rowHeight = this.getRowHeight(row);\n const expanded = this.getRowExpanded(row);\n // Adding detail row height if its expanded.\n if (expanded) {\n rowHeight += this.getDetailRowHeight(row);\n }\n return rowHeight;\n }\n /**\n * Calculates the styles for the row so that the rows can be moved in 2D space\n * during virtual scroll inside the DOM. In the below case the Y position is\n * manipulated. As an example, if the height of row 0 is 30 px and row 1 is\n * 100 px then following styles are generated:\n *\n * transform: translate3d(0px, 0px, 0px); -> row0\n * transform: translate3d(0px, 30px, 0px); -> row1\n * transform: translate3d(0px, 130px, 0px); -> row2\n *\n * Row heights have to be calculated based on the row heights cache as we wont\n * be able to determine which row is of what height before hand. In the above\n * case the positionY of the translate3d for row2 would be the sum of all the\n * heights of the rows before it (i.e. row0 and row1).\n *\n * @param rows the row that needs to be placed in the 2D space.\n * @returns the CSS3 style to be applied\n *\n * @memberOf DataTableBodyComponent\n */\n getRowsStyles(rows) {\n const styles = {};\n // only add styles for the group if there is a group\n if (this.groupedRows) {\n styles.width = this.columnGroupWidths.total;\n }\n if (this.scrollbarV && this.virtualization) {\n let idx = 0;\n if (this.groupedRows) {\n // Get the latest row rowindex in a group\n const row = rows[rows.length - 1];\n idx = row ? this.getRowIndex(row) : 0;\n }\n else {\n idx = this.getRowIndex(rows);\n }\n // const pos = idx * rowHeight;\n // The position of this row would be the sum of all row heights\n // until the previous row position.\n const pos = this.rowHeightsCache.query(idx - 1);\n translateXY(styles, 0, pos);\n }\n return styles;\n }\n /**\n * Calculate bottom summary row offset for scrollbar mode.\n * For more information about cache and offset calculation\n * see description for `getRowsStyles` method\n *\n * @returns the CSS3 style to be applied\n *\n * @memberOf DataTableBodyComponent\n */\n getBottomSummaryRowStyles() {\n if (!this.scrollbarV || !this.rows || !this.rows.length) {\n return null;\n }\n const styles = { position: 'absolute' };\n const pos = this.rowHeightsCache.query(this.rows.length - 1);\n translateXY(styles, 0, pos);\n return styles;\n }\n /**\n * Hides the loading indicator\n */\n hideIndicator() {\n setTimeout(() => (this.loadingIndicator = false), 500);\n }\n /**\n * Updates the index of the rows in the viewport\n */\n updateIndexes() {\n let first = 0;\n let last = 0;\n if (this.scrollbarV) {\n if (this.virtualization) {\n // Calculation of the first and last indexes will be based on where the\n // scrollY position would be at. The last index would be the one\n // that shows up inside the view port the last.\n const height = parseInt(this.bodyHeight, 0);\n first = this.rowHeightsCache.getRowIndex(this.offsetY);\n last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1;\n }\n else {\n // If virtual rows are not needed\n // We render all in one go\n first = 0;\n last = this.rowCount;\n }\n }\n else {\n // The server is handling paging and will pass an array that begins with the\n // element at a specified offset. first should always be 0 with external paging.\n if (!this.externalPaging) {\n first = Math.max(this.offset * this.pageSize, 0);\n }\n last = Math.min(first + this.pageSize, this.rowCount);\n }\n this.indexes = { first, last };\n }\n /**\n * Refreshes the full Row Height cache. Should be used\n * when the entire row array state has changed.\n */\n refreshRowHeightCache() {\n if (!this.scrollbarV || (this.scrollbarV && !this.virtualization)) {\n return;\n }\n // clear the previous row height cache if already present.\n // this is useful during sorts, filters where the state of the\n // rows array is changed.\n this.rowHeightsCache.clearCache();\n // Initialize the tree only if there are rows inside the tree.\n if (this.rows && this.rows.length) {\n const rowExpansions = new Set();\n for (const row of this.rows) {\n if (this.getRowExpanded(row)) {\n rowExpansions.add(row);\n }\n }\n this.rowHeightsCache.initCache({\n rows: this.rows,\n rowHeight: this.rowHeight,\n detailRowHeight: this.getDetailRowHeight,\n externalVirtual: this.scrollbarV && this.externalPaging,\n rowCount: this.rowCount,\n rowIndexes: this.rowIndexes,\n rowExpansions\n });\n }\n }\n /**\n * Gets the index for the view port\n */\n getAdjustedViewPortIndex() {\n // Capture the row index of the first row that is visible on the viewport.\n // If the scroll bar is just below the row which is highlighted then make that as the\n // first index.\n const viewPortFirstRowIndex = this.indexes.first;\n if (this.scrollbarV && this.virtualization) {\n const offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1);\n return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex;\n }\n return viewPortFirstRowIndex;\n }\n /**\n * Toggle the Expansion of the row i.e. if the row is expanded then it will\n * collapse and vice versa. Note that the expanded status is stored as\n * a part of the row object itself as we have to preserve the expanded row\n * status in case of sorting and filtering of the row set.\n */\n toggleRowExpansion(row) {\n // Capture the row index of the first row that is visible on the viewport.\n const viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\n const rowExpandedIdx = this.getRowExpandedIdx(row, this.rowExpansions);\n const expanded = rowExpandedIdx > -1;\n // If the detailRowHeight is auto --> only in case of non-virtualized scroll\n if (this.scrollbarV && this.virtualization) {\n const detailRowHeight = this.getDetailRowHeight(row) * (expanded ? -1 : 1);\n // const idx = this.rowIndexes.get(row) || 0;\n const idx = this.getRowIndex(row);\n this.rowHeightsCache.update(idx, detailRowHeight);\n }\n // Update the toggled row and update thive nevere heights in the cache.\n if (expanded) {\n this.rowExpansions.splice(rowExpandedIdx, 1);\n }\n else {\n this.rowExpansions.push(row);\n }\n this.detailToggle.emit({\n rows: [row],\n currentIndex: viewPortFirstRowIndex\n });\n }\n /**\n * Expand/Collapse all the rows no matter what their state is.\n */\n toggleAllRows(expanded) {\n // clear prev expansions\n this.rowExpansions = [];\n // Capture the row index of the first row that is visible on the viewport.\n const viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\n if (expanded) {\n for (const row of this.rows) {\n this.rowExpansions.push(row);\n }\n }\n if (this.scrollbarV) {\n // Refresh the full row heights cache since every row was affected.\n this.recalcLayout();\n }\n // Emit all rows that have been expanded.\n this.detailToggle.emit({\n rows: this.rows,\n currentIndex: viewPortFirstRowIndex\n });\n }\n /**\n * Recalculates the table\n */\n recalcLayout() {\n this.refreshRowHeightCache();\n this.updateIndexes();\n this.updateRows();\n }\n /**\n * Tracks the column\n */\n columnTrackingFn(index, column) {\n return column.$$id;\n }\n /**\n * Gets the row pinning group styles\n */\n stylesByGroup(group) {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n const styles = {\n width: `${widths[group]}px`\n };\n if (group === 'left') {\n translateXY(styles, offsetX, 0);\n }\n else if (group === 'right') {\n const bodyWidth = parseInt(this.innerWidth + '', 0);\n const totalDiff = widths.total - bodyWidth;\n const offsetDiff = totalDiff - offsetX;\n const offset = offsetDiff * -1;\n translateXY(styles, offset, 0);\n }\n return styles;\n }\n /**\n * Returns if the row was expanded and set default row expansion when row expansion is empty\n */\n getRowExpanded(row) {\n if (this.rowExpansions.length === 0 && this.groupExpansionDefault) {\n for (const group of this.groupedRows) {\n this.rowExpansions.push(group);\n }\n }\n return this.getRowExpandedIdx(row, this.rowExpansions) > -1;\n }\n getRowExpandedIdx(row, expanded) {\n if (!expanded || !expanded.length)\n return -1;\n const rowId = this.rowIdentity(row);\n return expanded.findIndex(r => {\n const id = this.rowIdentity(r);\n return id === rowId;\n });\n }\n /**\n * Gets the row index given a row\n */\n getRowIndex(row) {\n return this.rowIndexes.get(row) || 0;\n }\n onTreeAction(row) {\n this.treeAction.emit({ row });\n }\n}\nDataTableBodyComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-body',\n template: `\n <datatable-progress *ngIf=\"loadingIndicator\"> </datatable-progress>\n <datatable-selection\n #selector\n [selected]=\"selected\"\n [rows]=\"rows\"\n [selectCheck]=\"selectCheck\"\n [selectEnabled]=\"selectEnabled\"\n [selectionType]=\"selectionType\"\n [rowIdentity]=\"rowIdentity\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\"\n >\n <datatable-scroller\n *ngIf=\"rows?.length\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [scrollHeight]=\"scrollHeight\"\n [scrollWidth]=\"columnGroupWidths?.total\"\n (scroll)=\"onBodyScroll($event)\"\n >\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'top'\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\"\n >\n </datatable-summary-row>\n <datatable-row-wrapper\n [groupedRows]=\"groupedRows\"\n *ngFor=\"let group of temp; let i = index; trackBy: rowTrackingFn\"\n [innerWidth]=\"innerWidth\"\n [ngStyle]=\"getRowsStyles(group)\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [offsetX]=\"offsetX\"\n [detailRowHeight]=\"getDetailRowHeight(group && group[i], i)\"\n [row]=\"group\"\n [expanded]=\"getRowExpanded(group)\"\n [rowIndex]=\"getRowIndex(group && group[i])\"\n (rowContextmenu)=\"rowContextmenu.emit($event)\"\n >\n <datatable-body-row\n *ngIf=\"!groupedRows; else groupedRowsTemplate\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(group)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(group)\"\n [row]=\"group\"\n [rowIndex]=\"getRowIndex(group)\"\n [expanded]=\"getRowExpanded(group)\"\n [rowClass]=\"rowClass\"\n [displayCheck]=\"displayCheck\"\n [treeStatus]=\"group && group.treeStatus\"\n (treeAction)=\"onTreeAction(group)\"\n (activate)=\"selector.onActivate($event, indexes.first + i)\"\n >\n </datatable-body-row>\n <ng-template #groupedRowsTemplate>\n <datatable-body-row\n *ngFor=\"let row of group.value; let i = index; trackBy: rowTrackingFn\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(row)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(row)\"\n [row]=\"row\"\n [group]=\"group.value\"\n [rowIndex]=\"getRowIndex(row)\"\n [expanded]=\"getRowExpanded(row)\"\n [rowClass]=\"rowClass\"\n (activate)=\"selector.onActivate($event, i)\"\n >\n </datatable-body-row>\n </ng-template>\n </datatable-row-wrapper>\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'bottom'\"\n [ngStyle]=\"getBottomSummaryRowStyles()\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\"\n >\n </datatable-summary-row>\n </datatable-scroller>\n <div class=\"empty-row\" *ngIf=\"!rows?.length && !loadingIndicator\" [innerHTML]=\"emptyMessage\"></div>\n </datatable-selection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'datatable-body'\n }\n },] }\n];\nDataTableBodyComponent.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\nDataTableBodyComponent.propDecorators = {\n scrollbarV: [{ type: Input }],\n scrollbarH: [{ type: Input }],\n loadingIndicator: [{ type: Input }],\n externalPaging: [{ type: Input }],\n rowHeight: [{ type: Input }],\n offsetX: [{ type: Input }],\n emptyMessage: [{ type: Input }],\n selectionType: [{ type: Input }],\n selected: [{ type: Input }],\n rowIdentity: [{ type: Input }],\n rowDetail: [{ type: Input }],\n groupHeader: [{ type: Input }],\n selectCheck: [{ type: Input }],\n displayCheck: [{ type: Input }],\n trackByProp: [{ type: Input }],\n rowClass: [{ type: Input }],\n groupedRows: [{ type: Input }],\n groupExpansionDefault: [{ type: Input }],\n innerWidth: [{ type: Input }],\n groupRowsBy: [{ type: Input }],\n virtualization: [{ type: Input }],\n summaryRow: [{ type: Input }],\n summaryPosition: [{ type: Input }],\n summaryHeight: [{ type: Input }],\n pageSize: [{ type: Input }],\n rows: [{ type: Input }],\n columns: [{ type: Input }],\n offset: [{ type: Input }],\n rowCount: [{ type: Input }],\n bodyWidth: [{ type: HostBinding, args: ['style.width',] }],\n bodyHeight: [{ type: Input }, { type: HostBinding, args: ['style.height',] }],\n scroll: [{ type: Output }],\n page: [{ type: Output }],\n activate: [{ type: Output }],\n select: [{ type: Output }],\n detailToggle: [{ type: Output }],\n rowContextmenu: [{ type: Output }],\n treeAction: [{ type: Output }],\n scroller: [{ type: ViewChild, args: [ScrollerComponent,] }]\n};\n\nclass DataTableHeaderComponent {\n constructor(cd) {\n this.cd = cd;\n this.sort = new EventEmitter();\n this.reorder = new EventEmitter();\n this.resize = new EventEmitter();\n this.select = new EventEmitter();\n this.columnContextmenu = new EventEmitter(false);\n this._columnGroupWidths = {\n total: 100\n };\n this._styleByGroup = {\n left: {},\n center: {},\n right: {}\n };\n this.destroyed = false;\n }\n set innerWidth(val) {\n this._innerWidth = val;\n setTimeout(() => {\n if (this._columns) {\n const colByPin = columnsByPin(this._columns);\n this._columnGroupWidths = columnGroupWidths(colByPin, this._columns);\n this.setStylesByGroup();\n }\n });\n }\n get innerWidth() {\n return this._innerWidth;\n }\n set headerHeight(val) {\n if (val !== 'auto') {\n this._headerHeight = `${val}px`;\n }\n else {\n this._headerHeight = val;\n }\n }\n get headerHeight() {\n return this._headerHeight;\n }\n set columns(val) {\n this._columns = val;\n const colsByPin = columnsByPin(val);\n this._columnsByPin = columnsByPinArr(val);\n setTimeout(() => {\n this._columnGroupWidths = columnGroupWidths(colsByPin, val);\n this.setStylesByGroup();\n });\n }\n get columns() {\n return this._columns;\n }\n set offsetX(val) {\n this._offsetX = val;\n this.setStylesByGroup();\n }\n get offsetX() {\n return this._offsetX;\n }\n ngOnDestroy() {\n this.destroyed = true;\n }\n onLongPressStart({ event, model }) {\n model.dragging = true;\n this.dragEventTarget = event;\n }\n onLongPressEnd({ event, model }) {\n this.dragEventTarget = event;\n // delay resetting so sort can be\n // prevented if we were dragging\n setTimeout(() => {\n // datatable component creates copies from columns on reorder\n // set dragging to false on new objects\n const column = this._columns.find(c => c.$$id === model.$$id);\n if (column) {\n column.dragging = false;\n }\n }, 5);\n }\n get headerWidth() {\n if (this.scrollbarH) {\n return this.innerWidth + 'px';\n }\n return '100%';\n }\n trackByGroups(index, colGroup) {\n return colGroup.type;\n }\n columnTrackingFn(index, column) {\n return column.$$id;\n }\n onColumnResized(width, column) {\n if (width <= column.minWidth) {\n width = column.minWidth;\n }\n else if (width >= column.maxWidth) {\n width = column.maxWidth;\n }\n this.resize.emit({\n column,\n prevValue: column.width,\n newValue: width\n });\n }\n onColumnReordered({ prevIndex, newIndex, model }) {\n const column = this.getColumn(newIndex);\n column.isTarget = false;\n column.targetMarkerContext = undefined;\n this.reorder.emit({\n column: model,\n prevValue: prevIndex,\n newValue: newIndex\n });\n }\n onTargetChanged({ prevIndex, newIndex, initialIndex }) {\n if (prevIndex || prevIndex === 0) {\n const oldColumn = this.getColumn(prevIndex);\n oldColumn.isTarget = false;\n oldColumn.targetMarkerContext = undefined;\n }\n if (newIndex || newIndex === 0) {\n const newColumn = this.getColumn(newIndex);\n newColumn.isTarget = true;\n if (initialIndex !== newIndex) {\n newColumn.targetMarkerContext = {\n class: 'targetMarker '.concat(initialIndex > newIndex ? 'dragFromRight' : 'dragFromLeft')\n };\n }\n }\n }\n getColumn(index) {\n const leftColumnCount = this._columnsByPin[0].columns.length;\n if (index < leftColumnCount) {\n return this._columnsByPin[0].columns[index];\n }\n const centerColumnCount = this._columnsByPin[1].columns.length;\n if (index < leftColumnCount + centerColumnCount) {\n return this._columnsByPin[1].columns[index - leftColumnCount];\n }\n return this._columnsByPin[2].columns[index - leftColumnCount - centerColumnCount];\n }\n onSort({ column, prevValue, newValue }) {\n // if we are dragging don't sort!\n if (column.dragging) {\n return;\n }\n const sorts = this.calcNewSorts(column, prevValue, newValue);\n this.sort.emit({\n sorts,\n column,\n prevValue,\n newValue\n });\n }\n calcNewSorts(column, prevValue, newValue) {\n let idx = 0;\n if (!this.sorts) {\n this.sorts = [];\n }\n const sorts = this.sorts.map((s, i) => {\n s = Object.assign({}, s);\n if (s.prop === column.prop) {\n idx = i;\n }\n return s;\n });\n if (newValue === undefined) {\n sorts.splice(idx, 1);\n }\n else if (prevValue) {\n sorts[idx].dir = newValue;\n }\n else {\n if (this.sortType === SortType.single) {\n sorts.splice(0, this.sorts.length);\n }\n sorts.push({ dir: newValue, prop: column.prop });\n }\n return sorts;\n }\n setStylesByGroup() {\n this._styleByGroup.left = this.calcStylesByGroup('left');\n this._styleByGroup.center = this.calcStylesByGroup('center');\n this._styleByGroup.right = this.calcStylesByGroup('right');\n if (!this.destroyed) {\n this.cd.detectChanges();\n }\n }\n calcStylesByGroup(group) {\n const widths = this._columnGroupWidths;\n const offsetX = this.offsetX;\n const styles = {\n width: `${widths[group]}px`\n };\n if (group === 'center') {\n translateXY(styles, offsetX * -1, 0);\n }\n else if (group === 'right') {\n const totalDiff = widths.total - this.innerWidth;\n const offset = totalDiff * -1;\n translateXY(styles, offset, 0);\n }\n return styles;\n }\n}\nDataTableHeaderComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-header',\n template: `\n <div\n orderable\n (reorder)=\"onColumnReordered($event)\"\n (targetChanged)=\"onTargetChanged($event)\"\n [style.width.px]=\"_columnGroupWidths.total\"\n class=\"datatable-header-inner\"\n >\n <div\n *ngFor=\"let colGroup of _columnsByPin; trackBy: trackByGroups\"\n [class]=\"'datatable-row-' + colGroup.type\"\n [ngStyle]=\"_styleByGroup[colGroup.type]\"\n >\n <datatable-header-cell\n *ngFor=\"let column of colGroup.columns; trackBy: columnTrackingFn\"\n resizeable\n [resizeEnabled]=\"column.resizeable\"\n (resize)=\"onColumnResized($event, column)\"\n long-press\n [pressModel]=\"column\"\n [pressEnabled]=\"reorderable && column.draggable\"\n (longPressStart)=\"onLongPressStart($event)\"\n (longPressEnd)=\"onLongPressEnd($event)\"\n draggable\n [dragX]=\"reorderable && column.draggable && column.dragging\"\n [dragY]=\"false\"\n [dragModel]=\"column\"\n [dragEventTarget]=\"dragEventTarget\"\n [headerHeight]=\"headerHeight\"\n [isTarget]=\"column.isTarget\"\n [targetMarkerTemplate]=\"targetMarkerTemplate\"\n [targetMarkerContext]=\"column.targetMarkerContext\"\n [column]=\"column\"\n [sortType]=\"sortType\"\n [sorts]=\"sorts\"\n [selectionType]=\"selectionType\"\n [sortAscendingIcon]=\"sortAscendingIcon\"\n [sortDescendingIcon]=\"sortDescendingIcon\"\n [sortUnsetIcon]=\"sortUnsetIcon\"\n [allRowsSelected]=\"allRowsSelected\"\n (sort)=\"onSort($event)\"\n (select)=\"select.emit($event)\"\n (columnContextmenu)=\"columnContextmenu.emit($event)\"\n >\n </datatable-header-cell>\n </div>\n </div>\n `,\n host: {\n class: 'datatable-header'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nDataTableHeaderComponent.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\nDataTableHeaderComponent.propDecorators = {\n sortAscendingIcon: [{ type: Input }],\n sortDescendingIcon: [{ type: Input }],\n sortUnsetIcon: [{ type: Input }],\n scrollbarH: [{ type: Input }],\n dealsWithGroup: [{ type: Input }],\n targetMarkerTemplate: [{ type: Input }],\n innerWidth: [{ type: Input }],\n sorts: [{ type: Input }],\n sortType: [{ type: Input }],\n allRowsSelected: [{ type: Input }],\n selectionType: [{ type: Input }],\n reorderable: [{ type: Input }],\n headerHeight: [{ type: HostBinding, args: ['style.height',] }, { type: Input }],\n columns: [{ type: Input }],\n offsetX: [{ type: Input }],\n sort: [{ type: Output }],\n reorder: [{ type: Output }],\n resize: [{ type: Output }],\n select: [{ type: Output }],\n columnContextmenu: [{ type: Output }],\n headerWidth: [{ type: HostBinding, args: ['style.width',] }]\n};\n\n/**\n * Throttle a function\n */\nfunction throttle(func, wait, options) {\n options = options || {};\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n function later() {\n previous = options.leading === false ? 0 : +new Date();\n timeout = null;\n result = func.apply(context, args);\n }\n return function () {\n const now = +new Date();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n/**\n * Throttle decorator\n *\n * class MyClass {\n * throttleable(10)\n * myFn() { ... }\n * }\n */\nfunction throttleable(duration, options) {\n return function innerDecorator(target, key, descriptor) {\n return {\n configurable: true,\n enumerable: descriptor.enumerable,\n get: function getter() {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: descriptor.enumerable,\n value: throttle(descriptor.value, duration, options)\n });\n return this[key];\n }\n };\n };\n}\n\n/**\n * Calculates the Total Flex Grow\n */\nfunction getTotalFlexGrow(columns) {\n let totalFlexGrow = 0;\n for (const c of columns) {\n totalFlexGrow += c.flexGrow || 0;\n }\n return totalFlexGrow;\n}\n/**\n * Adjusts the column widths.\n * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js\n */\nfunction adjustColumnWidths(allColumns, expectedWidth) {\n const columnsWidth = columnsTotalWidth(allColumns);\n const totalFlexGrow = getTotalFlexGrow(allColumns);\n const colsByGroup = columnsByPin(allColumns);\n if (columnsWidth !== expectedWidth) {\n scaleColumns(colsByGroup, expectedWidth, totalFlexGrow);\n }\n}\n/**\n * Resizes columns based on the flexGrow property, while respecting manually set widths\n */\nfunction scaleColumns(colsByGroup, maxWidth, totalFlexGrow) {\n // calculate total width and flexgrow points for coulumns that can be resized\n for (const attr in colsByGroup) {\n for (const column of colsByGroup[attr]) {\n if (!column.canAutoResize) {\n maxWidth -= column.width;\n totalFlexGrow -= column.flexGrow ? column.flexGrow : 0;\n }\n else {\n column.width = 0;\n }\n }\n }\n const hasMinWidth = {};\n let remainingWidth = maxWidth;\n // resize columns until no width is left to be distributed\n do {\n const widthPerFlexPoint = remainingWidth / totalFlexGrow;\n remainingWidth = 0;\n for (const attr in colsByGroup) {\n for (const column of colsByGroup[attr]) {\n // if the column can be resize and it hasn't reached its minimum width yet\n if (column.canAutoResize && !hasMinWidth[column.prop]) {\n const newWidth = column.width + column.flexGrow * widthPerFlexPoint;\n if (column.minWidth !== undefined && newWidth < column.minWidth) {\n remainingWidth += newWidth - column.minWidth;\n column.width = column.minWidth;\n hasMinWidth[column.prop] = true;\n }\n else {\n column.width = newWidth;\n }\n }\n }\n }\n } while (remainingWidth !== 0);\n}\n/**\n * Forces the width of the columns to\n * distribute equally but overflowing when necessary\n *\n * Rules:\n *\n * - If combined withs are less than the total width of the grid,\n * proportion the widths given the min / max / normal widths to fill the width.\n *\n * - If the combined widths, exceed the total width of the grid,\n * use the standard widths.\n *\n * - If a column is resized, it should always use that width\n *\n * - The proportional widths should never fall below min size if specified.\n *\n * - If the grid starts off small but then becomes greater than the size ( + / - )\n * the width should use the original width; not the newly proportioned widths.\n */\nfunction forceFillColumnWidths(allColumns, expectedWidth, startIdx, allowBleed, defaultColWidth = 300) {\n const columnsToResize = allColumns.slice(startIdx + 1, allColumns.length).filter(c => {\n return c.canAutoResize !== false;\n });\n for (const column of columnsToResize) {\n if (!column.$$oldWidth) {\n column.$$oldWidth = column.width;\n }\n }\n let additionWidthPerColumn = 0;\n let exceedsWindow = false;\n let contentWidth = getContentWidth(allColumns, defaultColWidth);\n let remainingWidth = expectedWidth - contentWidth;\n const columnsProcessed = [];\n const remainingWidthLimit = 1; // when to stop\n // This loop takes care of the\n do {\n additionWidthPerColumn = remainingWidth / columnsToResize.length;\n exceedsWindow = contentWidth >= expectedWidth;\n for (const column of columnsToResize) {\n if (exceedsWindow && allowBleed) {\n column.width = column.$$oldWidth || column.width || defaultColWidth;\n }\n else {\n const newSize = (column.width || defaultColWidth) + additionWidthPerColumn;\n if (column.minWidth && newSize < column.minWidth) {\n column.width = column.minWidth;\n columnsProcessed.push(column);\n }\n else if (column.maxWidth && newSize > column.maxWidth) {\n column.width = column.maxWidth;\n columnsProcessed.push(column);\n }\n else {\n column.width = newSize;\n }\n }\n column.width = Math.max(0, column.width);\n }\n contentWidth = getContentWidth(allColumns);\n remainingWidth = expectedWidth - contentWidth;\n removeProcessedColumns(columnsToResize, columnsProcessed);\n } while (remainingWidth > remainingWidthLimit && columnsToResize.length !== 0);\n}\n/**\n * Remove the processed columns from the current active columns.\n */\nfunction removeProcessedColumns(columnsToResize, columnsProcessed) {\n for (const column of columnsProcessed) {\n const index = columnsToResize.indexOf(column);\n columnsToResize.splice(index, 1);\n }\n}\n/**\n * Gets the width of the columns\n */\nfunction getContentWidth(allColumns, defaultColWidth = 300) {\n let contentWidth = 0;\n for (const column of allColumns) {\n contentWidth += column.width || defaultColWidth;\n }\n return contentWidth;\n}\n\nvar SortDirection;\n(function (SortDirection) {\n SortDirection[\"asc\"] = \"asc\";\n SortDirection[\"desc\"] = \"desc\";\n})(SortDirection || (SortDirection = {}));\n\n/**\n * Gets the next sort direction\n */\nfunction nextSortDir(sortType, current) {\n if (sortType === SortType.single) {\n if (current === SortDirection.asc) {\n return SortDirection.desc;\n }\n else {\n return SortDirection.asc;\n }\n }\n else {\n if (!current) {\n return SortDirection.asc;\n }\n else if (current === SortDirection.asc) {\n return SortDirection.desc;\n }\n else if (current === SortDirection.desc) {\n return undefined;\n }\n // avoid TS7030: Not all code paths return a value.\n return undefined;\n }\n}\n/**\n * Adapted from fueld-ui on 6/216\n * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy\n */\nfunction orderByComparator(a, b) {\n if (a === null || typeof a === 'undefined')\n a = 0;\n if (b === null || typeof b === 'undefined')\n b = 0;\n if (a instanceof Date && b instanceof Date) {\n if (a < b)\n return -1;\n if (a > b)\n return 1;\n }\n else if (isNaN(parseFloat(a)) || !isFinite(a) || isNaN(parseFloat(b)) || !isFinite(b)) {\n // Convert to string in case of a=0 or b=0\n a = String(a);\n b = String(b);\n // Isn't a number so lowercase the string to properly compare\n if (a.toLowerCase() < b.toLowerCase())\n return -1;\n if (a.toLowerCase() > b.toLowerCase())\n return 1;\n }\n else {\n // Parse strings as numbers to compare properly\n if (parseFloat(a) < parseFloat(b))\n return -1;\n if (parseFloat(a) > parseFloat(b))\n return 1;\n }\n // equal each other\n return 0;\n}\n/**\n * creates a shallow copy of the `rows` input and returns the sorted copy. this function\n * does not sort the `rows` argument in place\n */\nfunction sortRows(rows, columns, dirs) {\n if (!rows)\n return [];\n if (!dirs || !dirs.length || !columns)\n return [...rows];\n /**\n * record the row ordering of results from prior sort operations (if applicable)\n * this is necessary to guarantee stable sorting behavior\n */\n const rowToIndexMap = new Map();\n rows.forEach((row, index) => rowToIndexMap.set(row, index));\n const temp = [...rows];\n const cols = columns.reduce((obj, col) => {\n if (col.comparator && typeof col.comparator === 'function') {\n obj[col.prop] = col.comparator;\n }\n return obj;\n }, {});\n // cache valueGetter and compareFn so that they\n // do not need to be looked-up in the sort function body\n const cachedDirs = dirs.map(dir => {\n const prop = dir.prop;\n return {\n prop,\n dir: dir.dir,\n valueGetter: getterForProp(prop),\n compareFn: cols[prop] || orderByComparator\n };\n });\n return temp.sort(function (rowA, rowB) {\n for (const cachedDir of cachedDirs) {\n // Get property and valuegetters for column to be sorted\n const { prop, valueGetter } = cachedDir;\n // Get A and B cell values from rows based on properties of the columns\n const propA = valueGetter(rowA, prop);\n const propB = valueGetter(rowB, prop);\n // Compare function gets five parameters:\n // Two cell values to be compared as propA and propB\n // Two rows corresponding to the cells as rowA and rowB\n // Direction of the sort for this column as SortDirection\n // Compare can be a standard JS comparison function (a,b) => -1|0|1\n // as additional parameters are silently ignored. The whole row and sort\n // direction enable more complex sort logic.\n const comparison = cachedDir.dir !== SortDirection.desc\n ? cachedDir.compareFn(propA, propB, rowA, rowB, cachedDir.dir)\n : -cachedDir.compareFn(propA, propB, rowA, rowB, cachedDir.dir);\n // Don't return 0 yet in case of needing to sort by next property\n if (comparison !== 0)\n return comparison;\n }\n if (!(rowToIndexMap.has(rowA) && rowToIndexMap.has(rowB)))\n return 0;\n /**\n * all else being equal, preserve original order of the rows (stable sort)\n */\n return rowToIndexMap.get(rowA) < rowToIndexMap.get(rowB) ? -1 : 1;\n });\n}\n\nclass DatatableComponent {\n constructor(scrollbarHelper, dimensionsHelper, cd, element, differs, columnChangesService, configuration) {\n this.scrollbarHelper = scrollbarHelper;\n this.dimensionsHelper = dimensionsHelper;\n this.cd = cd;\n this.columnChangesService = columnChangesService;\n this.configuration = configuration;\n /**\n * List of row objects that should be\n * represented as selected in the grid.\n * Default value: `[]`\n */\n this.selected = [];\n /**\n * Enable vertical scrollbars\n */\n this.scrollbarV = false;\n /**\n * Enable horz scrollbars\n */\n this.scrollbarH = false;\n /**\n * The row height; which is necessary\n * to calculate the height for the lazy rendering.\n */\n this.rowHeight = 30;\n /**\n * Type of column width distribution formula.\n * Example: flex, force, standard\n */\n this.columnMode = ColumnMode.standard;\n /**\n * The minimum header height in pixels.\n * Pass a falsey for no header\n */\n this.headerHeight = 30;\n /**\n * The minimum footer height in pixels.\n * Pass falsey for no footer\n */\n this.footerHeight = 0;\n /**\n * If the table should use external paging\n * otherwise its assumed that all data is preloaded.\n */\n this.externalPaging = false;\n /**\n * If the table should use external sorting or\n * the built-in basic sorting.\n */\n this.externalSorting = false;\n /**\n * Show the linear loading bar.\n * Default value: `false`\n */\n this.loadingIndicator = false;\n /**\n * Enable/Disable ability to re-order columns\n * by dragging them.\n */\n this.reorderable = true;\n /**\n * Swap columns on re-order columns or\n * move them.\n */\n this.swapColumns = true;\n /**\n * The type of sorting\n */\n this.sortType = SortType.single;\n /**\n * Array of sorted columns by property and type.\n * Default value: `[]`\n */\n this.sorts = [];\n /**\n * Css class overrides\n */\n this.cssClasses = {\n sortAscending: 'datatable-icon-up',\n sortDescending: 'datatable-icon-down',\n sortUnset: 'datatable-icon-sort-unset',\n pagerLeftArrow: 'datatable-icon-left',\n pagerRightArrow: 'datatable-icon-right',\n pagerPrevious: 'datatable-icon-prev',\n pagerNext: 'datatable-icon-skip'\n };\n /**\n * Message overrides for localization\n *\n * emptyMessage [default] = 'No data to display'\n * totalMessage [default] = 'total'\n * selectedMessage [default] = 'selected'\n */\n this.messages = {\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No data to display',\n // Footer total message\n totalMessage: 'total',\n // Footer selected message\n selectedMessage: 'selected'\n };\n /**\n * A boolean you can use to set the detault behaviour of rows and groups\n * whether they will start expanded or not. If ommited the default is NOT expanded.\n *\n */\n this.groupExpansionDefault = false;\n /**\n * Property to which you can use for determining select all\n * rows on current page or not.\n *\n * @memberOf DatatableComponent\n */\n this.selectAllRowsOnPage = false;\n /**\n * A flag for row virtualization on / off\n */\n this.virtualization = true;\n /**\n * A flag for switching summary row on / off\n */\n this.summaryRow = false;\n /**\n * A height of summary row\n */\n this.summaryHeight = 30;\n /**\n * A property holds a summary row position: top/bottom\n */\n this.summaryPosition = 'top';\n /**\n * Body was scrolled typically in a `scrollbarV:true` scenario.\n */\n this.scroll = new EventEmitter();\n /**\n * A cell or row was focused via keyboard or mouse click.\n */\n this.activate = new EventEmitter();\n /**\n * A cell or row was selected.\n */\n this.select = new EventEmitter();\n /**\n * Column sort was invoked.\n */\n this.sort = new EventEmitter();\n /**\n * The table was paged either triggered by the pager or the body scroll.\n */\n this.page = new EventEmitter();\n /**\n * Columns were re-ordered.\n */\n this.reorder = new EventEmitter();\n /**\n * Column was resized.\n */\n this.resize = new EventEmitter();\n /**\n * The context menu was invoked on the table.\n * type indicates whether the header or the body was clicked.\n * content contains either the column or the row that was clicked.\n */\n this.tableContextmenu = new EventEmitter(false);\n /**\n * A row was expanded ot collapsed for tree\n */\n this.treeAction = new EventEmitter();\n this.rowCount = 0;\n this._offsetX = new BehaviorSubject(0);\n this._count = 0;\n this._offset = 0;\n this._subscriptions = [];\n /**\n * This will be used when displaying or selecting rows.\n * when tracking/comparing them, we'll use the value of this fn,\n *\n * (`fn(x) === fn(y)` instead of `x === y`)\n */\n this.rowIdentity = (x) => {\n if (this._groupRowsBy) {\n // each group in groupedRows are stored as {key, value: [rows]},\n // where key is the groupRowsBy index\n return x.key;\n }\n else {\n return x;\n }\n };\n // get ref to elm for measuring\n this.element = element.nativeElement;\n this.rowDiffer = differs.find({}).create();\n // apply global settings from Module.forRoot\n if (this.configuration && this.configuration.messages) {\n this.messages = Object.assign({}, this.configuration.messages);\n }\n }\n /**\n * Rows that are displayed in the table.\n */\n set rows(val) {\n this._rows = val;\n if (val) {\n this._internalRows = [...val];\n }\n // auto sort on new updates\n if (!this.externalSorting) {\n this.sortInternalRows();\n }\n // auto group by parent on new update\n this._internalRows = groupRowsByParents(this._internalRows, optionalGetterForProp(this.treeFromRelation), optionalGetterForProp(this.treeToRelation));\n // recalculate sizes/etc\n this.recalculate();\n if (this._rows && this._groupRowsBy) {\n // If a column has been specified in _groupRowsBy created a new array with the data grouped by that row\n this.groupedRows = this.groupArrayBy(this._rows, this._groupRowsBy);\n }\n this.cd.markForCheck();\n }\n /**\n * Gets the rows.\n */\n get rows() {\n return this._rows;\n }\n /**\n * This attribute allows the user to set the name of the column to group the data with\n */\n set groupRowsBy(val) {\n if (val) {\n this._groupRowsBy = val;\n if (this._rows && this._groupRowsBy) {\n // cretes a new array with the data grouped\n this.groupedRows = this.groupArrayBy(this._rows, this._groupRowsBy);\n }\n }\n }\n get groupRowsBy() {\n return this._groupRowsBy;\n }\n /**\n * Columns to be displayed.\n */\n set columns(val) {\n if (val) {\n this._internalColumns = [...val];\n setColumnDefaults(this._internalColumns);\n this.recalculateColumns();\n }\n this._columns = val;\n }\n /**\n * Get the columns.\n */\n get columns() {\n return this._columns;\n }\n /**\n * The page size to be shown.\n * Default value: `undefined`\n */\n set limit(val) {\n this._limit = val;\n // recalculate sizes/etc\n this.recalculate();\n }\n /**\n * Gets the limit.\n */\n get limit() {\n return this._limit;\n }\n /**\n * The total count of all rows.\n * Default value: `0`\n */\n set count(val) {\n this._count = val;\n // recalculate sizes/etc\n this.recalculate();\n }\n /**\n * Gets the count.\n */\n get count() {\n return this._count;\n }\n /**\n * The current offset ( page - 1 ) shown.\n * Default value: `0`\n */\n set offset(val) {\n this._offset = val;\n }\n get offset() {\n return Math.max(Math.min(this._offset, Math.ceil(this.rowCount / this.pageSize) - 1), 0);\n }\n /**\n * CSS class applied if the header height if fixed height.\n */\n get isFixedHeader() {\n const headerHeight = this.headerHeight;\n return typeof headerHeight === 'string' ? headerHeight !== 'auto' : true;\n }\n /**\n * CSS class applied to the root element if\n * the row heights are fixed heights.\n */\n get isFixedRow() {\n return this.rowHeight !== 'auto';\n }\n /**\n * CSS class applied to root element if\n * vertical scrolling is enabled.\n */\n get isVertScroll() {\n return this.scrollbarV;\n }\n /**\n * CSS class applied to root element if\n * virtualization is enabled.\n */\n get isVirtualized() {\n return this.virtualization;\n }\n /**\n * CSS class applied to the root element\n * if the horziontal scrolling is enabled.\n */\n get isHorScroll() {\n return this.scrollbarH;\n }\n /**\n * CSS class applied to root element is selectable.\n */\n get isSelectable() {\n return this.selectionType !== undefined;\n }\n /**\n * CSS class applied to root is checkbox selection.\n */\n get isCheckboxSelection() {\n return this.selectionType === SelectionType.checkbox;\n }\n /**\n * CSS class applied to root if cell selection.\n */\n get isCellSelection() {\n return this.selectionType === SelectionType.cell;\n }\n /**\n * CSS class applied to root if single select.\n */\n get isSingleSelection() {\n return this.selectionType === SelectionType.single;\n }\n /**\n * CSS class added to root element if mulit select\n */\n get isMultiSelection() {\n return this.selectionType === SelectionType.multi;\n }\n /**\n * CSS class added to root element if mulit click select\n */\n get isMultiClickSelection() {\n return this.selectionType === SelectionType.multiClick;\n }\n /**\n * Column templates gathered from `ContentChildren`\n * if described in your markup.\n */\n set columnTemplates(val) {\n this._columnTemplates = val;\n this.translateColumns(val);\n }\n /**\n * Returns the column templates.\n */\n get columnTemplates() {\n return this._columnTemplates;\n }\n /**\n * Returns if all rows are selected.\n */\n get allRowsSelected() {\n let allRowsSelected = this.rows && this.selected && this.selected.length === this.rows.length;\n if (this.bodyComponent && this.selectAllRowsOnPage) {\n const indexes = this.bodyComponent.indexes;\n const rowsOnPage = indexes.last - indexes.first;\n allRowsSelected = this.selected.length === rowsOnPage;\n }\n return this.selected && this.rows && this.rows.length !== 0 && allRowsSelected;\n }\n /**\n * Lifecycle hook that is called after data-bound\n * properties of a directive are initialized.\n */\n ngOnInit() {\n // need to call this immediatly to size\n // if the table is hidden the visibility\n // listener will invoke this itself upon show\n this.recalculate();\n }\n /**\n * Lifecycle hook that is called after a component's\n * view has been fully initialized.\n */\n ngAfterViewInit() {\n if (!this.externalSorting) {\n this.sortInternalRows();\n }\n // this has to be done to prevent the change detection\n // tree from freaking out because we are readjusting\n if (typeof requestAnimationFrame === 'undefined') {\n return;\n }\n requestAnimationFrame(() => {\n this.recalculate();\n // emit page for virtual server-side kickoff\n if (this.externalPaging && this.scrollbarV) {\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: 0\n });\n }\n });\n }\n /**\n * Lifecycle hook that is called after a component's\n * content has been fully initialized.\n */\n ngAfterContentInit() {\n this.columnTemplates.changes.subscribe(v => this.translateColumns(v));\n this.listenForColumnInputChanges();\n }\n /**\n * Translates the templates to the column objects\n */\n translateColumns(val) {\n if (val) {\n const arr = val.toArray();\n if (arr.length) {\n this._internalColumns = translateTemplates(arr);\n setColumnDefaults(this._internalColumns);\n this.recalculateColumns();\n this.sortInternalRows();\n this.cd.markForCheck();\n }\n }\n }\n /**\n * Creates a map with the data grouped by the user choice of grouping index\n *\n * @param originalArray the original array passed via parameter\n * @param groupByIndex the index of the column to group the data by\n */\n groupArrayBy(originalArray, groupBy) {\n // create a map to hold groups with their corresponding results\n const map = new Map();\n let i = 0;\n originalArray.forEach((item) => {\n const key = item[groupBy];\n if (!map.has(key)) {\n map.set(key, [item]);\n }\n else {\n map.get(key).push(item);\n }\n i++;\n });\n const addGroup = (key, value) => {\n return { key, value };\n };\n // convert map back to a simple array of objects\n return Array.from(map, x => addGroup(x[0], x[1]));\n }\n /*\n * Lifecycle hook that is called when Angular dirty checks a directive.\n */\n ngDoCheck() {\n if (this.rowDiffer.diff(this.rows)) {\n if (!this.externalSorting) {\n this.sortInternalRows();\n }\n else {\n this._internalRows = [...this.rows];\n }\n // auto group by parent on new update\n this._internalRows = groupRowsByParents(this._internalRows, optionalGetterForProp(this.treeFromRelation), optionalGetterForProp(this.treeToRelation));\n this.recalculatePages();\n this.cd.markForCheck();\n }\n }\n /**\n * Recalc's the sizes of the grid.\n *\n * Updated automatically on changes to:\n *\n * - Columns\n * - Rows\n * - Paging related\n *\n * Also can be manually invoked or upon window resize.\n */\n recalculate() {\n this.recalculateDims();\n this.recalculateColumns();\n this.cd.markForCheck();\n }\n /**\n * Window resize handler to update sizes.\n */\n onWindowResize() {\n this.recalculate();\n }\n /**\n * Recalulcates the column widths based on column width\n * distribution mode and scrollbar offsets.\n */\n recalculateColumns(columns = this._internalColumns, forceIdx = -1, allowBleed = this.scrollbarH) {\n if (!columns)\n return undefined;\n let width = this._innerWidth;\n if (this.scrollbarV) {\n width = width - this.scrollbarHelper.width;\n }\n if (this.columnMode === ColumnMode.force) {\n forceFillColumnWidths(columns, width, forceIdx, allowBleed);\n }\n else if (this.columnMode === ColumnMode.flex) {\n adjustColumnWidths(columns, width);\n }\n return columns;\n }\n /**\n * Recalculates the dimensions of the table size.\n * Internally calls the page size and row count calcs too.\n *\n */\n recalculateDims() {\n const dims = this.dimensionsHelper.getDimensions(this.element);\n this._innerWidth = Math.floor(dims.width);\n if (this.scrollbarV) {\n let height = dims.height;\n if (this.headerHeight)\n height = height - this.headerHeight;\n if (this.footerHeight)\n height = height - this.footerHeight;\n this.bodyHeight = height;\n }\n this.recalculatePages();\n }\n /**\n * Recalculates the pages after a update.\n */\n recalculatePages() {\n this.pageSize = this.calcPageSize();\n this.rowCount = this.calcRowCount();\n }\n /**\n * Body triggered a page event.\n */\n onBodyPage({ offset }) {\n // Avoid pagination caming from body events like scroll when the table\n // has no virtualization and the external paging is enable.\n // This means, let's the developer handle pagination by my him(her) self\n if (this.externalPaging && !this.virtualization) {\n return;\n }\n this.offset = offset;\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n /**\n * The body triggered a scroll event.\n */\n onBodyScroll(event) {\n this._offsetX.next(event.offsetX);\n this.scroll.emit(event);\n this.cd.detectChanges();\n }\n /**\n * The footer triggered a page event.\n */\n onFooterPage(event) {\n this.offset = event.page - 1;\n this.bodyComponent.updateOffsetY(this.offset);\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n if (this.selectAllRowsOnPage) {\n this.selected = [];\n this.select.emit({\n selected: this.selected\n });\n }\n }\n /**\n * Recalculates the sizes of the page\n */\n calcPageSize(val = this.rows) {\n // Keep the page size constant even if the row has been expanded.\n // This is because an expanded row is still considered to be a child of\n // the original row. Hence calculation would use rowHeight only.\n if (this.scrollbarV && this.virtualization) {\n const size = Math.ceil(this.bodyHeight / this.rowHeight);\n return Math.max(size, 0);\n }\n // if limit is passed, we are paging\n if (this.limit !== undefined) {\n return this.limit;\n }\n // otherwise use row length\n if (val) {\n return val.length;\n }\n // other empty :(\n return 0;\n }\n /**\n * Calculates the row count.\n */\n calcRowCount(val = this.rows) {\n if (!this.externalPaging) {\n if (!val)\n return 0;\n if (this.groupedRows) {\n return this.groupedRows.length;\n }\n else if (this.treeFromRelation != null && this.treeToRelation != null) {\n return this._internalRows.length;\n }\n else {\n return val.length;\n }\n }\n return this.count;\n }\n /**\n * The header triggered a contextmenu event.\n */\n onColumnContextmenu({ event, column }) {\n this.tableContextmenu.emit({ event, type: ContextmenuType.header, content: column });\n }\n /**\n * The body triggered a contextmenu event.\n */\n onRowContextmenu({ event, row }) {\n this.tableContextmenu.emit({ event, type: ContextmenuType.body, content: row });\n }\n /**\n * The header triggered a column resize event.\n */\n onColumnResize({ column, newValue }) {\n /* Safari/iOS 10.2 workaround */\n if (column === undefined) {\n return;\n }\n let idx;\n const cols = this._internalColumns.map((c, i) => {\n c = Object.assign({}, c);\n if (c.$$id === column.$$id) {\n idx = i;\n c.width = newValue;\n // set this so we can force the column\n // width distribution to be to this value\n c.$$oldWidth = newValue;\n }\n return c;\n });\n this.recalculateColumns(cols, idx);\n this._internalColumns = cols;\n this.resize.emit({\n column,\n newValue\n });\n }\n /**\n * The header triggered a column re-order event.\n */\n onColumnReorder({ column, newValue, prevValue }) {\n const cols = this._internalColumns.map(c => {\n return Object.assign({}, c);\n });\n if (this.swapColumns) {\n const prevCol = cols[newValue];\n cols[newValue] = column;\n cols[prevValue] = prevCol;\n }\n else {\n if (newValue > prevValue) {\n const movedCol = cols[prevValue];\n for (let i = prevValue; i < newValue; i++) {\n cols[i] = cols[i + 1];\n }\n cols[newValue] = movedCol;\n }\n else {\n const movedCol = cols[prevValue];\n for (let i = prevValue; i > newValue; i--) {\n cols[i] = cols[i - 1];\n }\n cols[newValue] = movedCol;\n }\n }\n this._internalColumns = cols;\n this.reorder.emit({\n column,\n newValue,\n prevValue\n });\n }\n /**\n * The header triggered a column sort event.\n */\n onColumnSort(event) {\n // clean selected rows\n if (this.selectAllRowsOnPage) {\n this.selected = [];\n this.select.emit({\n selected: this.selected\n });\n }\n this.sorts = event.sorts;\n // this could be optimized better since it will resort\n // the rows again on the 'push' detection...\n if (this.externalSorting === false) {\n // don't use normal setter so we don't resort\n this.sortInternalRows();\n }\n // auto group by parent on new update\n this._internalRows = groupRowsByParents(this._internalRows, optionalGetterForProp(this.treeFromRelation), optionalGetterForProp(this.treeToRelation));\n // Always go to first page when sorting to see the newly sorted data\n this.offset = 0;\n this.bodyComponent.updateOffsetY(this.offset);\n this.sort.emit(event);\n }\n /**\n * Toggle all row selection\n */\n onHeaderSelect(event) {\n if (this.bodyComponent && this.selectAllRowsOnPage) {\n // before we splice, chk if we currently have all selected\n const first = this.bodyComponent.indexes.first;\n const last = this.bodyComponent.indexes.last;\n const allSelected = this.selected.length === last - first;\n // remove all existing either way\n this.selected = [];\n // do the opposite here\n if (!allSelected) {\n this.selected.push(...this._internalRows.slice(first, last));\n }\n }\n else {\n // before we splice, chk if we currently have all selected\n const allSelected = this.selected.length === this.rows.length;\n // remove all existing either way\n this.selected = [];\n // do the opposite here\n if (!allSelected) {\n this.selected.push(...this.rows);\n }\n }\n this.select.emit({\n selected: this.selected\n });\n }\n /**\n * A row was selected from body\n */\n onBodySelect(event) {\n this.select.emit(event);\n }\n /**\n * A row was expanded or collapsed for tree\n */\n onTreeAction(event) {\n const row = event.row;\n // TODO: For duplicated items this will not work\n const rowIndex = this._rows.findIndex(r => r[this.treeToRelation] === event.row[this.treeToRelation]);\n this.treeAction.emit({ row, rowIndex });\n }\n ngOnDestroy() {\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n /**\n * listen for changes to input bindings of all DataTableColumnDirective and\n * trigger the columnTemplates.changes observable to emit\n */\n listenForColumnInputChanges() {\n this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe(() => {\n if (this.columnTemplates) {\n this.columnTemplates.notifyOnChanges();\n }\n }));\n }\n sortInternalRows() {\n this._internalRows = sortRows(this._internalRows, this._internalColumns, this.sorts);\n }\n}\nDatatableComponent.decorators = [\n { type: Component, args: [{\n selector: 'ngx-datatable',\n template: \"<div visibilityObserver (visible)=\\\"recalculate()\\\">\\n <datatable-header\\n *ngIf=\\\"headerHeight\\\"\\n [sorts]=\\\"sorts\\\"\\n [sortType]=\\\"sortType\\\"\\n [scrollbarH]=\\\"scrollbarH\\\"\\n [innerWidth]=\\\"_innerWidth\\\"\\n [offsetX]=\\\"_offsetX | async\\\"\\n [dealsWithGroup]=\\\"groupedRows !== undefined\\\"\\n [columns]=\\\"_internalColumns\\\"\\n [headerHeight]=\\\"headerHeight\\\"\\n [reorderable]=\\\"reorderable\\\"\\n [targetMarkerTemplate]=\\\"targetMarkerTemplate\\\"\\n [sortAscendingIcon]=\\\"cssClasses.sortAscending\\\"\\n [sortDescendingIcon]=\\\"cssClasses.sortDescending\\\"\\n [sortUnsetIcon]=\\\"cssClasses.sortUnset\\\"\\n [allRowsSelected]=\\\"allRowsSelected\\\"\\n [selectionType]=\\\"selectionType\\\"\\n (sort)=\\\"onColumnSort($event)\\\"\\n (resize)=\\\"onColumnResize($event)\\\"\\n (reorder)=\\\"onColumnReorder($event)\\\"\\n (select)=\\\"onHeaderSelect($event)\\\"\\n (columnContextmenu)=\\\"onColumnContextmenu($event)\\\"\\n >\\n </datatable-header>\\n <datatable-body\\n [groupRowsBy]=\\\"groupRowsBy\\\"\\n [groupedRows]=\\\"groupedRows\\\"\\n [rows]=\\\"_internalRows\\\"\\n [groupExpansionDefault]=\\\"groupExpansionDefault\\\"\\n [scrollbarV]=\\\"scrollbarV\\\"\\n [scrollbarH]=\\\"scrollbarH\\\"\\n [virtualization]=\\\"virtualization\\\"\\n [loadingIndicator]=\\\"loadingIndicator\\\"\\n [externalPaging]=\\\"externalPaging\\\"\\n [rowHeight]=\\\"rowHeight\\\"\\n [rowCount]=\\\"rowCount\\\"\\n [offset]=\\\"offset\\\"\\n [trackByProp]=\\\"trackByProp\\\"\\n [columns]=\\\"_internalColumns\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [offsetX]=\\\"_offsetX | async\\\"\\n [rowDetail]=\\\"rowDetail\\\"\\n [groupHeader]=\\\"groupHeader\\\"\\n [selected]=\\\"selected\\\"\\n [innerWidth]=\\\"_innerWidth\\\"\\n [bodyHeight]=\\\"bodyHeight\\\"\\n [selectionType]=\\\"selectionType\\\"\\n [emptyMessage]=\\\"messages.emptyMessage\\\"\\n [rowIdentity]=\\\"rowIdentity\\\"\\n [rowClass]=\\\"rowClass\\\"\\n [selectCheck]=\\\"selectCheck\\\"\\n [displayCheck]=\\\"displayCheck\\\"\\n [summaryRow]=\\\"summaryRow\\\"\\n [summaryHeight]=\\\"summaryHeight\\\"\\n [summaryPosition]=\\\"summaryPosition\\\"\\n (page)=\\\"onBodyPage($event)\\\"\\n (activate)=\\\"activate.emit($event)\\\"\\n (rowContextmenu)=\\\"onRowContextmenu($event)\\\"\\n (select)=\\\"onBodySelect($event)\\\"\\n (scroll)=\\\"onBodyScroll($event)\\\"\\n (treeAction)=\\\"onTreeAction($event)\\\"\\n >\\n </datatable-body>\\n <datatable-footer\\n *ngIf=\\\"footerHeight\\\"\\n [rowCount]=\\\"rowCount\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [offset]=\\\"offset\\\"\\n [footerHeight]=\\\"footerHeight\\\"\\n [footerTemplate]=\\\"footer\\\"\\n [totalMessage]=\\\"messages.totalMessage\\\"\\n [pagerLeftArrowIcon]=\\\"cssClasses.pagerLeftArrow\\\"\\n [pagerRightArrowIcon]=\\\"cssClasses.pagerRightArrow\\\"\\n [pagerPreviousIcon]=\\\"cssClasses.pagerPrevious\\\"\\n [selectedCount]=\\\"selected.length\\\"\\n [selectedMessage]=\\\"!!selectionType && messages.selectedMessage\\\"\\n [pagerNextIcon]=\\\"cssClasses.pagerNext\\\"\\n (page)=\\\"onFooterPage($event)\\\"\\n >\\n </datatable-footer>\\n</div>\\n\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ngx-datatable'\n },\n styles: [\".ngx-datatable{display:block;justify-content:center;overflow:hidden;position:relative;transform:translateZ(0)}.ngx-datatable [hidden]{display:none!important}.ngx-datatable *,.ngx-datatable :after,.ngx-datatable :before{box-sizing:border-box}.ngx-datatable.scroll-vertical .datatable-body{overflow-y:auto}.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper{position:absolute}.ngx-datatable.scroll-horz .datatable-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner{white-space:nowrap}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row{white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable .datatable-body-row,.ngx-datatable .datatable-header-inner,.ngx-datatable .datatable-row-center{-o-flex-flow:row;display:flex;flex-direction:row;flex-flow:row}.ngx-datatable .datatable-body-cell,.ngx-datatable .datatable-header-cell{display:inline-block;line-height:1.625;overflow-x:hidden;vertical-align:top}.ngx-datatable .datatable-body-cell:focus,.ngx-datatable .datatable-header-cell:focus{outline:none}.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{z-index:9}.ngx-datatable .datatable-row-center,.ngx-datatable .datatable-row-group,.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{position:relative}.ngx-datatable .datatable-header{display:block;overflow:hidden}.ngx-datatable .datatable-header .datatable-header-inner{-webkit-align-items:stretch;align-items:stretch}.ngx-datatable .datatable-header .datatable-header-cell{display:inline-block;position:relative}.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper{cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper{cursor:move}.ngx-datatable .datatable-header .datatable-header-cell .sort-btn{cursor:pointer;display:inline-block;line-height:100%;vertical-align:middle}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable{bottom:0;display:inline-block;padding:0 4px;position:absolute;right:0;top:0;visibility:hidden;width:5px}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle{cursor:ew-resize}.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable{visibility:visible}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker{bottom:0;position:absolute;top:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft{right:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight{left:0}.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap{height:inherit}.ngx-datatable .datatable-body{display:block;position:relative;z-index:10}.ngx-datatable .datatable-body .datatable-scroll{display:inline-block}.ngx-datatable .datatable-body .datatable-row-detail{overflow-y:hidden}.ngx-datatable .datatable-body .datatable-row-wrapper{display:flex;flex-direction:column}.ngx-datatable .datatable-body .datatable-body-row{outline:none}.ngx-datatable .datatable-body .datatable-body-row>div{display:flex}.ngx-datatable .datatable-footer{display:block;overflow:auto;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{align-items:center;display:flex;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{display:inline-block;list-style:none;margin:0;padding:0}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:none}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}\"]\n },] }\n];\nDatatableComponent.ctorParameters = () => [\n { type: ScrollbarHelper, decorators: [{ type: SkipSelf }] },\n { type: DimensionsHelper, decorators: [{ type: SkipSelf }] },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: KeyValueDiffers },\n { type: ColumnChangesService },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: ['configuration',] }] }\n];\nDatatableComponent.propDecorators = {\n targetMarkerTemplate: [{ type: Input }],\n rows: [{ type: Input }],\n groupRowsBy: [{ type: Input }],\n groupedRows: [{ type: Input }],\n columns: [{ type: Input }],\n selected: [{ type: Input }],\n scrollbarV: [{ type: Input }],\n scrollbarH: [{ type: Input }],\n rowHeight: [{ type: Input }],\n columnMode: [{ type: Input }],\n headerHeight: [{ type: Input }],\n footerHeight: [{ type: Input }],\n externalPaging: [{ type: Input }],\n externalSorting: [{ type: Input }],\n limit: [{ type: Input }],\n count: [{ type: Input }],\n offset: [{ type: Input }],\n loadingIndicator: [{ type: Input }],\n selectionType: [{ type: Input }],\n reorderable: [{ type: Input }],\n swapColumns: [{ type: Input }],\n sortType: [{ type: Input }],\n sorts: [{ type: Input }],\n cssClasses: [{ type: Input }],\n messages: [{ type: Input }],\n rowClass: [{ type: Input }],\n selectCheck: [{ type: Input }],\n displayCheck: [{ type: Input }],\n groupExpansionDefault: [{ type: Input }],\n trackByProp: [{ type: Input }],\n selectAllRowsOnPage: [{ type: Input }],\n virtualization: [{ type: Input }],\n treeFromRelation: [{ type: Input }],\n treeToRelation: [{ type: Input }],\n summaryRow: [{ type: Input }],\n summaryHeight: [{ type: Input }],\n summaryPosition: [{ type: Input }],\n scroll: [{ type: Output }],\n activate: [{ type: Output }],\n select: [{ type: Output }],\n sort: [{ type: Output }],\n page: [{ type: Output }],\n reorder: [{ type: Output }],\n resize: [{ type: Output }],\n tableContextmenu: [{ type: Output }],\n treeAction: [{ type: Output }],\n isFixedHeader: [{ type: HostBinding, args: ['class.fixed-header',] }],\n isFixedRow: [{ type: HostBinding, args: ['class.fixed-row',] }],\n isVertScroll: [{ type: HostBinding, args: ['class.scroll-vertical',] }],\n isVirtualized: [{ type: HostBinding, args: ['class.virtualized',] }],\n isHorScroll: [{ type: HostBinding, args: ['class.scroll-horz',] }],\n isSelectable: [{ type: HostBinding, args: ['class.selectable',] }],\n isCheckboxSelection: [{ type: HostBinding, args: ['class.checkbox-selection',] }],\n isCellSelection: [{ type: HostBinding, args: ['class.cell-selection',] }],\n isSingleSelection: [{ type: HostBinding, args: ['class.single-selection',] }],\n isMultiSelection: [{ type: HostBinding, args: ['class.multi-selection',] }],\n isMultiClickSelection: [{ type: HostBinding, args: ['class.multi-click-selection',] }],\n columnTemplates: [{ type: ContentChildren, args: [DataTableColumnDirective,] }],\n rowDetail: [{ type: ContentChild, args: [DatatableRowDetailDirective,] }],\n groupHeader: [{ type: ContentChild, args: [DatatableGroupHeaderDirective,] }],\n footer: [{ type: ContentChild, args: [DatatableFooterDirective,] }],\n bodyComponent: [{ type: ViewChild, args: [DataTableBodyComponent,] }],\n headerComponent: [{ type: ViewChild, args: [DataTableHeaderComponent,] }],\n rowIdentity: [{ type: Input }],\n onWindowResize: [{ type: HostListener, args: ['window:resize',] }]\n};\n__decorate([\n throttleable(5)\n], DatatableComponent.prototype, \"onWindowResize\", null);\n\nclass DataTableHeaderCellComponent {\n constructor(cd) {\n this.cd = cd;\n this.sort = new EventEmitter();\n this.select = new EventEmitter();\n this.columnContextmenu = new EventEmitter(false);\n this.sortFn = this.onSort.bind(this);\n this.selectFn = this.select.emit.bind(this.select);\n this.cellContext = {\n column: this.column,\n sortDir: this.sortDir,\n sortFn: this.sortFn,\n allRowsSelected: this.allRowsSelected,\n selectFn: this.selectFn\n };\n }\n set allRowsSelected(value) {\n this._allRowsSelected = value;\n this.cellContext.allRowsSelected = value;\n }\n get allRowsSelected() {\n return this._allRowsSelected;\n }\n set column(column) {\n this._column = column;\n this.cellContext.column = column;\n this.cd.markForCheck();\n }\n get column() {\n return this._column;\n }\n set sorts(val) {\n this._sorts = val;\n this.sortDir = this.calcSortDir(val);\n this.cellContext.sortDir = this.sortDir;\n this.sortClass = this.calcSortClass(this.sortDir);\n this.cd.markForCheck();\n }\n get sorts() {\n return this._sorts;\n }\n get columnCssClasses() {\n let cls = 'datatable-header-cell';\n if (this.column.sortable)\n cls += ' sortable';\n if (this.column.resizeable)\n cls += ' resizeable';\n if (this.column.headerClass) {\n if (typeof this.column.headerClass === 'string') {\n cls += ' ' + this.column.headerClass;\n }\n else if (typeof this.column.headerClass === 'function') {\n const res = this.column.headerClass({\n column: this.column\n });\n if (typeof res === 'string') {\n cls += res;\n }\n else if (typeof res === 'object') {\n const keys = Object.keys(res);\n for (const k of keys) {\n if (res[k] === true)\n cls += ` ${k}`;\n }\n }\n }\n }\n const sortDir = this.sortDir;\n if (sortDir) {\n cls += ` sort-active sort-${sortDir}`;\n }\n return cls;\n }\n get name() {\n // guaranteed to have a value by setColumnDefaults() in column-helper.ts\n return this.column.headerTemplate === undefined ? this.column.name : undefined;\n }\n get minWidth() {\n return this.column.minWidth;\n }\n get maxWidth() {\n return this.column.maxWidth;\n }\n get width() {\n return this.column.width;\n }\n get isCheckboxable() {\n return this.column.checkboxable && this.column.headerCheckboxable && this.selectionType === SelectionType.checkbox;\n }\n onContextmenu($event) {\n this.columnContextmenu.emit({ event: $event, column: this.column });\n }\n ngOnInit() {\n this.sortClass = this.calcSortClass(this.sortDir);\n }\n calcSortDir(sorts) {\n if (sorts && this.column) {\n const sort = sorts.find((s) => {\n return s.prop === this.column.prop;\n });\n if (sort)\n return sort.dir;\n }\n }\n onSort() {\n if (!this.column.sortable)\n return;\n const newValue = nextSortDir(this.sortType, this.sortDir);\n this.sort.emit({\n column: this.column,\n prevValue: this.sortDir,\n newValue\n });\n }\n calcSortClass(sortDir) {\n if (!this.cellContext.column.sortable)\n return;\n if (sortDir === SortDirection.asc) {\n return `sort-btn sort-asc ${this.sortAscendingIcon}`;\n }\n else if (sortDir === SortDirection.desc) {\n return `sort-btn sort-desc ${this.sortDescendingIcon}`;\n }\n else {\n return `sort-btn ${this.sortUnsetIcon}`;\n }\n }\n}\nDataTableHeaderCellComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-header-cell',\n template: `\n <div class=\"datatable-header-cell-template-wrap\">\n <ng-template\n *ngIf=\"isTarget\"\n [ngTemplateOutlet]=\"targetMarkerTemplate\"\n [ngTemplateOutletContext]=\"targetMarkerContext\"\n >\n </ng-template>\n <label *ngIf=\"isCheckboxable\" class=\"datatable-checkbox\">\n <input type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"select.emit(!allRowsSelected)\" />\n </label>\n <span *ngIf=\"!column.headerTemplate\" class=\"datatable-header-cell-wrapper\">\n <span class=\"datatable-header-cell-label draggable\" (click)=\"onSort()\" [innerHTML]=\"name\"> </span>\n </span>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\"\n >\n </ng-template>\n <span (click)=\"onSort()\" [class]=\"sortClass\"> </span>\n </div>\n `,\n host: {\n class: 'datatable-header-cell'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nDataTableHeaderCellComponent.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\nDataTableHeaderCellComponent.propDecorators = {\n sortType: [{ type: Input }],\n sortAscendingIcon: [{ type: Input }],\n sortDescendingIcon: [{ type: Input }],\n sortUnsetIcon: [{ type: Input }],\n isTarget: [{ type: Input }],\n targetMarkerTemplate: [{ type: Input }],\n targetMarkerContext: [{ type: Input }],\n allRowsSelected: [{ type: Input }],\n selectionType: [{ type: Input }],\n column: [{ type: Input }],\n headerHeight: [{ type: HostBinding, args: ['style.height.px',] }, { type: Input }],\n sorts: [{ type: Input }],\n sort: [{ type: Output }],\n select: [{ type: Output }],\n columnContextmenu: [{ type: Output }],\n columnCssClasses: [{ type: HostBinding, args: ['class',] }],\n name: [{ type: HostBinding, args: ['attr.title',] }],\n minWidth: [{ type: HostBinding, args: ['style.minWidth.px',] }],\n maxWidth: [{ type: HostBinding, args: ['style.maxWidth.px',] }],\n width: [{ type: HostBinding, args: ['style.width.px',] }],\n onContextmenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }]\n};\n\nclass DataTableFooterComponent {\n constructor() {\n this.selectedCount = 0;\n this.page = new EventEmitter();\n }\n get isVisible() {\n return this.rowCount / this.pageSize > 1;\n }\n get curPage() {\n return this.offset + 1;\n }\n}\nDataTableFooterComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-footer',\n template: `\n <div\n class=\"datatable-footer-inner\"\n [ngClass]=\"{ 'selected-count': selectedMessage }\"\n [style.height.px]=\"footerHeight\"\n >\n <ng-template\n *ngIf=\"footerTemplate\"\n [ngTemplateOutlet]=\"footerTemplate.template\"\n [ngTemplateOutletContext]=\"{\n rowCount: rowCount,\n pageSize: pageSize,\n selectedCount: selectedCount,\n curPage: curPage,\n offset: offset\n }\"\n >\n </ng-template>\n <div class=\"page-count\" *ngIf=\"!footerTemplate\">\n <span *ngIf=\"selectedMessage\"> {{ selectedCount?.toLocaleString() }} {{ selectedMessage }} / </span>\n {{ rowCount?.toLocaleString() }} {{ totalMessage }}\n </div>\n <datatable-pager\n *ngIf=\"!footerTemplate\"\n [pagerLeftArrowIcon]=\"pagerLeftArrowIcon\"\n [pagerRightArrowIcon]=\"pagerRightArrowIcon\"\n [pagerPreviousIcon]=\"pagerPreviousIcon\"\n [pagerNextIcon]=\"pagerNextIcon\"\n [page]=\"curPage\"\n [size]=\"pageSize\"\n [count]=\"rowCount\"\n [hidden]=\"!isVisible\"\n (change)=\"page.emit($event)\"\n >\n </datatable-pager>\n </div>\n `,\n host: {\n class: 'datatable-footer'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nDataTableFooterComponent.propDecorators = {\n footerHeight: [{ type: Input }],\n rowCount: [{ type: Input }],\n pageSize: [{ type: Input }],\n offset: [{ type: Input }],\n pagerLeftArrowIcon: [{ type: Input }],\n pagerRightArrowIcon: [{ type: Input }],\n pagerPreviousIcon: [{ type: Input }],\n pagerNextIcon: [{ type: Input }],\n totalMessage: [{ type: Input }],\n footerTemplate: [{ type: Input }],\n selectedCount: [{ type: Input }],\n selectedMessage: [{ type: Input }],\n page: [{ type: Output }]\n};\n\nclass DataTablePagerComponent {\n constructor() {\n this.change = new EventEmitter();\n this._count = 0;\n this._page = 1;\n this._size = 0;\n }\n set size(val) {\n this._size = val;\n this.pages = this.calcPages();\n }\n get size() {\n return this._size;\n }\n set count(val) {\n this._count = val;\n this.pages = this.calcPages();\n }\n get count() {\n return this._count;\n }\n set page(val) {\n this._page = val;\n this.pages = this.calcPages();\n }\n get page() {\n return this._page;\n }\n get totalPages() {\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\n return Math.max(count || 0, 1);\n }\n canPrevious() {\n return this.page > 1;\n }\n canNext() {\n return this.page < this.totalPages;\n }\n prevPage() {\n this.selectPage(this.page - 1);\n }\n nextPage() {\n this.selectPage(this.page + 1);\n }\n selectPage(page) {\n if (page > 0 && page <= this.totalPages && page !== this.page) {\n this.page = page;\n this.change.emit({\n page\n });\n }\n }\n calcPages(page) {\n const pages = [];\n let startPage = 1;\n let endPage = this.totalPages;\n const maxSize = 5;\n const isMaxSized = maxSize < this.totalPages;\n page = page || this.page;\n if (isMaxSized) {\n startPage = page - Math.floor(maxSize / 2);\n endPage = page + Math.floor(maxSize / 2);\n if (startPage < 1) {\n startPage = 1;\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\n }\n else if (endPage > this.totalPages) {\n startPage = Math.max(this.totalPages - maxSize + 1, 1);\n endPage = this.totalPages;\n }\n }\n for (let num = startPage; num <= endPage; num++) {\n pages.push({\n number: num,\n text: num\n });\n }\n return pages;\n }\n}\nDataTablePagerComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-pager',\n template: `\n <ul class=\"pager\">\n <li [class.disabled]=\"!canPrevious()\">\n <a role=\"button\" aria-label=\"go to first page\" href=\"javascript:void(0)\" (click)=\"selectPage(1)\">\n <i class=\"{{ pagerPreviousIcon }}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canPrevious()\">\n <a role=\"button\" aria-label=\"go to previous page\" href=\"javascript:void(0)\" (click)=\"prevPage()\">\n <i class=\"{{ pagerLeftArrowIcon }}\"></i>\n </a>\n </li>\n <li\n role=\"button\"\n [attr.aria-label]=\"'page ' + pg.number\"\n class=\"pages\"\n *ngFor=\"let pg of pages\"\n [class.active]=\"pg.number === page\"\n >\n <a href=\"javascript:void(0)\" (click)=\"selectPage(pg.number)\">\n {{ pg.text }}\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a role=\"button\" aria-label=\"go to next page\" href=\"javascript:void(0)\" (click)=\"nextPage()\">\n <i class=\"{{ pagerRightArrowIcon }}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a role=\"button\" aria-label=\"go to last page\" href=\"javascript:void(0)\" (click)=\"selectPage(totalPages)\">\n <i class=\"{{ pagerNextIcon }}\"></i>\n </a>\n </li>\n </ul>\n `,\n host: {\n class: 'datatable-pager'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nDataTablePagerComponent.propDecorators = {\n pagerLeftArrowIcon: [{ type: Input }],\n pagerRightArrowIcon: [{ type: Input }],\n pagerPreviousIcon: [{ type: Input }],\n pagerNextIcon: [{ type: Input }],\n size: [{ type: Input }],\n count: [{ type: Input }],\n page: [{ type: Input }],\n change: [{ type: Output }]\n};\n\nclass ProgressBarComponent {\n}\nProgressBarComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-progress',\n template: `\n <div class=\"progress-linear\" role=\"progressbar\">\n <div class=\"container\">\n <div class=\"bar\"></div>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\n\nvar Keys;\n(function (Keys) {\n Keys[Keys[\"up\"] = 38] = \"up\";\n Keys[Keys[\"down\"] = 40] = \"down\";\n Keys[Keys[\"return\"] = 13] = \"return\";\n Keys[Keys[\"escape\"] = 27] = \"escape\";\n Keys[Keys[\"left\"] = 37] = \"left\";\n Keys[Keys[\"right\"] = 39] = \"right\";\n})(Keys || (Keys = {}));\n\nclass DataTableBodyRowComponent {\n constructor(differs, scrollbarHelper, cd, element) {\n this.differs = differs;\n this.scrollbarHelper = scrollbarHelper;\n this.cd = cd;\n this.treeStatus = 'collapsed';\n this.activate = new EventEmitter();\n this.treeAction = new EventEmitter();\n this._groupStyles = {\n left: {},\n center: {},\n right: {}\n };\n this._element = element.nativeElement;\n this._rowDiffer = differs.find({}).create();\n }\n set columns(val) {\n this._columns = val;\n this.recalculateColumns(val);\n this.buildStylesByGroup();\n }\n get columns() {\n return this._columns;\n }\n set innerWidth(val) {\n if (this._columns) {\n const colByPin = columnsByPin(this._columns);\n this._columnGroupWidths = columnGroupWidths(colByPin, this._columns);\n }\n this._innerWidth = val;\n this.recalculateColumns();\n this.buildStylesByGroup();\n }\n get innerWidth() {\n return this._innerWidth;\n }\n set offsetX(val) {\n this._offsetX = val;\n this.buildStylesByGroup();\n }\n get offsetX() {\n return this._offsetX;\n }\n get cssClass() {\n let cls = 'datatable-body-row';\n if (this.isSelected) {\n cls += ' active';\n }\n if (this.rowIndex % 2 !== 0) {\n cls += ' datatable-row-odd';\n }\n if (this.rowIndex % 2 === 0) {\n cls += ' datatable-row-even';\n }\n if (this.rowClass) {\n const res = this.rowClass(this.row);\n if (typeof res === 'string') {\n cls += ` ${res}`;\n }\n else if (typeof res === 'object') {\n const keys = Object.keys(res);\n for (const k of keys) {\n if (res[k] === true) {\n cls += ` ${k}`;\n }\n }\n }\n }\n return cls;\n }\n get columnsTotalWidths() {\n return this._columnGroupWidths.total;\n }\n ngDoCheck() {\n if (this._rowDiffer.diff(this.row)) {\n this.cd.markForCheck();\n }\n }\n trackByGroups(index, colGroup) {\n return colGroup.type;\n }\n columnTrackingFn(index, column) {\n return column.$$id;\n }\n buildStylesByGroup() {\n this._groupStyles.left = this.calcStylesByGroup('left');\n this._groupStyles.center = this.calcStylesByGroup('center');\n this._groupStyles.right = this.calcStylesByGroup('right');\n this.cd.markForCheck();\n }\n calcStylesByGroup(group) {\n const widths = this._columnGroupWidths;\n const offsetX = this.offsetX;\n const styles = {\n width: `${widths[group]}px`\n };\n if (group === 'left') {\n translateXY(styles, offsetX, 0);\n }\n else if (group === 'right') {\n const bodyWidth = parseInt(this.innerWidth + '', 0);\n const totalDiff = widths.total - bodyWidth;\n const offsetDiff = totalDiff - offsetX;\n const offset = (offsetDiff + this.scrollbarHelper.width) * -1;\n translateXY(styles, offset, 0);\n }\n return styles;\n }\n onActivate(event, index) {\n event.cellIndex = index;\n event.rowElement = this._element;\n this.activate.emit(event);\n }\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const isTargetRow = event.target === this._element;\n const isAction = keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n if (isAction && isTargetRow) {\n event.preventDefault();\n event.stopPropagation();\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n rowElement: this._element\n });\n }\n }\n onMouseenter(event) {\n this.activate.emit({\n type: 'mouseenter',\n event,\n row: this.row,\n rowElement: this._element\n });\n }\n recalculateColumns(val = this.columns) {\n this._columns = val;\n const colsByPin = columnsByPin(this._columns);\n this._columnsByPin = columnsByPinArr(this._columns);\n this._columnGroupWidths = columnGroupWidths(colsByPin, this._columns);\n }\n onTreeAction() {\n this.treeAction.emit();\n }\n}\nDataTableBodyRowComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-body-row',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div\n *ngFor=\"let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups\"\n class=\"datatable-row-{{ colGroup.type }} datatable-row-group\"\n [ngStyle]=\"_groupStyles[colGroup.type]\"\n >\n <datatable-body-cell\n *ngFor=\"let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn\"\n tabindex=\"-1\"\n [row]=\"row\"\n [group]=\"group\"\n [expanded]=\"expanded\"\n [isSelected]=\"isSelected\"\n [rowIndex]=\"rowIndex\"\n [column]=\"column\"\n [rowHeight]=\"rowHeight\"\n [displayCheck]=\"displayCheck\"\n [treeStatus]=\"treeStatus\"\n (activate)=\"onActivate($event, ii)\"\n (treeAction)=\"onTreeAction()\"\n >\n </datatable-body-cell>\n </div>\n `\n },] }\n];\nDataTableBodyRowComponent.ctorParameters = () => [\n { type: KeyValueDiffers },\n { type: ScrollbarHelper, decorators: [{ type: SkipSelf }] },\n { type: ChangeDetectorRef },\n { type: ElementRef }\n];\nDataTableBodyRowComponent.propDecorators = {\n columns: [{ type: Input }],\n innerWidth: [{ type: Input }],\n expanded: [{ type: Input }],\n rowClass: [{ type: Input }],\n row: [{ type: Input }],\n group: [{ type: Input }],\n isSelected: [{ type: Input }],\n rowIndex: [{ type: Input }],\n displayCheck: [{ type: Input }],\n treeStatus: [{ type: Input }],\n offsetX: [{ type: Input }],\n cssClass: [{ type: HostBinding, args: ['class',] }],\n rowHeight: [{ type: HostBinding, args: ['style.height.px',] }, { type: Input }],\n columnsTotalWidths: [{ type: HostBinding, args: ['style.width.px',] }],\n activate: [{ type: Output }],\n treeAction: [{ type: Output }],\n onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }],\n onMouseenter: [{ type: HostListener, args: ['mouseenter', ['$event'],] }]\n};\n\nclass DataTableRowWrapperComponent {\n constructor(cd, differs) {\n this.cd = cd;\n this.differs = differs;\n this.rowContextmenu = new EventEmitter(false);\n this.groupContext = {\n group: this.row,\n expanded: this.expanded,\n rowIndex: this.rowIndex\n };\n this.rowContext = {\n row: this.row,\n expanded: this.expanded,\n rowIndex: this.rowIndex\n };\n this._expanded = false;\n this.rowDiffer = differs.find({}).create();\n }\n set rowIndex(val) {\n this._rowIndex = val;\n this.rowContext.rowIndex = val;\n this.groupContext.rowIndex = val;\n this.cd.markForCheck();\n }\n get rowIndex() {\n return this._rowIndex;\n }\n set expanded(val) {\n this._expanded = val;\n this.groupContext.expanded = val;\n this.rowContext.expanded = val;\n this.cd.markForCheck();\n }\n get expanded() {\n return this._expanded;\n }\n ngDoCheck() {\n if (this.rowDiffer.diff(this.row)) {\n this.rowContext.row = this.row;\n this.groupContext.group = this.row;\n this.cd.markForCheck();\n }\n }\n onContextmenu($event) {\n this.rowContextmenu.emit({ event: $event, row: this.row });\n }\n getGroupHeaderStyle() {\n const styles = {};\n styles['transform'] = 'translate3d(' + this.offsetX + 'px, 0px, 0px)';\n styles['backface-visibility'] = 'hidden';\n styles['width'] = this.innerWidth;\n return styles;\n }\n}\nDataTableRowWrapperComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-row-wrapper',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div *ngIf=\"groupHeader && groupHeader.template\" class=\"datatable-group-header\" [ngStyle]=\"getGroupHeaderStyle()\">\n <ng-template\n *ngIf=\"groupHeader && groupHeader.template\"\n [ngTemplateOutlet]=\"groupHeader.template\"\n [ngTemplateOutletContext]=\"groupContext\"\n >\n </ng-template>\n </div>\n <ng-content *ngIf=\"(groupHeader && groupHeader.template && expanded) || !groupHeader || !groupHeader.template\">\n </ng-content>\n <div\n *ngIf=\"rowDetail && rowDetail.template && expanded\"\n [style.height.px]=\"detailRowHeight\"\n class=\"datatable-row-detail\"\n >\n <ng-template\n *ngIf=\"rowDetail && rowDetail.template\"\n [ngTemplateOutlet]=\"rowDetail.template\"\n [ngTemplateOutletContext]=\"rowContext\"\n >\n </ng-template>\n </div>\n `,\n host: {\n class: 'datatable-row-wrapper'\n }\n },] }\n];\nDataTableRowWrapperComponent.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: KeyValueDiffers }\n];\nDataTableRowWrapperComponent.propDecorators = {\n innerWidth: [{ type: Input }],\n rowDetail: [{ type: Input }],\n groupHeader: [{ type: Input }],\n offsetX: [{ type: Input }],\n detailRowHeight: [{ type: Input }],\n row: [{ type: Input }],\n groupedRows: [{ type: Input }],\n rowContextmenu: [{ type: Output }],\n rowIndex: [{ type: Input }],\n expanded: [{ type: Input }],\n onContextmenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }]\n};\n\nclass DataTableBodyCellComponent {\n constructor(element, cd) {\n this.cd = cd;\n this.activate = new EventEmitter();\n this.treeAction = new EventEmitter();\n this.isFocused = false;\n this.onCheckboxChangeFn = this.onCheckboxChange.bind(this);\n this.activateFn = this.activate.emit.bind(this.activate);\n this.cellContext = {\n onCheckboxChangeFn: this.onCheckboxChangeFn,\n activateFn: this.activateFn,\n row: this.row,\n group: this.group,\n value: this.value,\n column: this.column,\n rowHeight: this.rowHeight,\n isSelected: this.isSelected,\n rowIndex: this.rowIndex,\n treeStatus: this.treeStatus,\n onTreeAction: this.onTreeAction.bind(this)\n };\n this._element = element.nativeElement;\n }\n set group(group) {\n this._group = group;\n this.cellContext.group = group;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get group() {\n return this._group;\n }\n set rowHeight(val) {\n this._rowHeight = val;\n this.cellContext.rowHeight = val;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get rowHeight() {\n return this._rowHeight;\n }\n set isSelected(val) {\n this._isSelected = val;\n this.cellContext.isSelected = val;\n this.cd.markForCheck();\n }\n get isSelected() {\n return this._isSelected;\n }\n set expanded(val) {\n this._expanded = val;\n this.cellContext.expanded = val;\n this.cd.markForCheck();\n }\n get expanded() {\n return this._expanded;\n }\n set rowIndex(val) {\n this._rowIndex = val;\n this.cellContext.rowIndex = val;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get rowIndex() {\n return this._rowIndex;\n }\n set column(column) {\n this._column = column;\n this.cellContext.column = column;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get column() {\n return this._column;\n }\n set row(row) {\n this._row = row;\n this.cellContext.row = row;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get row() {\n return this._row;\n }\n set sorts(val) {\n this._sorts = val;\n this.calcSortDir = this.calcSortDir(val);\n }\n get sorts() {\n return this._sorts;\n }\n set treeStatus(status) {\n if (status !== 'collapsed' && status !== 'expanded' && status !== 'loading' && status !== 'disabled') {\n this._treeStatus = 'collapsed';\n }\n else {\n this._treeStatus = status;\n }\n this.cellContext.treeStatus = this._treeStatus;\n this.checkValueUpdates();\n this.cd.markForCheck();\n }\n get treeStatus() {\n return this._treeStatus;\n }\n get columnCssClasses() {\n let cls = 'datatable-body-cell';\n if (this.column.cellClass) {\n if (typeof this.column.cellClass === 'string') {\n cls += ' ' + this.column.cellClass;\n }\n else if (typeof this.column.cellClass === 'function') {\n const res = this.column.cellClass({\n row: this.row,\n group: this.group,\n column: this.column,\n value: this.value,\n rowHeight: this.rowHeight\n });\n if (typeof res === 'string') {\n cls += ' ' + res;\n }\n else if (typeof res === 'object') {\n const keys = Object.keys(res);\n for (const k of keys) {\n if (res[k] === true) {\n cls += ` ${k}`;\n }\n }\n }\n }\n }\n if (!this.sortDir) {\n cls += ' sort-active';\n }\n if (this.isFocused) {\n cls += ' active';\n }\n if (this.sortDir === SortDirection.asc) {\n cls += ' sort-asc';\n }\n if (this.sortDir === SortDirection.desc) {\n cls += ' sort-desc';\n }\n return cls;\n }\n get width() {\n return this.column.width;\n }\n get minWidth() {\n return this.column.minWidth;\n }\n get maxWidth() {\n return this.column.maxWidth;\n }\n get height() {\n const height = this.rowHeight;\n if (isNaN(height)) {\n return height;\n }\n return height + 'px';\n }\n ngDoCheck() {\n this.checkValueUpdates();\n }\n ngOnDestroy() {\n if (this.cellTemplate) {\n this.cellTemplate.clear();\n }\n }\n checkValueUpdates() {\n let value = '';\n if (!this.row || !this.column) {\n value = '';\n }\n else {\n const val = this.column.$$valueGetter(this.row, this.column.prop);\n const userPipe = this.column.pipe;\n if (userPipe) {\n value = userPipe.transform(val);\n }\n else if (value !== undefined) {\n value = val;\n }\n }\n if (this.value !== value) {\n this.value = value;\n this.cellContext.value = value;\n this.sanitizedValue = value !== null && value !== undefined ? this.stripHtml(value) : value;\n this.cd.markForCheck();\n }\n }\n onFocus() {\n this.isFocused = true;\n }\n onBlur() {\n this.isFocused = false;\n }\n onClick(event) {\n this.activate.emit({\n type: 'click',\n event,\n row: this.row,\n group: this.group,\n rowHeight: this.rowHeight,\n column: this.column,\n value: this.value,\n cellElement: this._element\n });\n }\n onDblClick(event) {\n this.activate.emit({\n type: 'dblclick',\n event,\n row: this.row,\n group: this.group,\n rowHeight: this.rowHeight,\n column: this.column,\n value: this.value,\n cellElement: this._element\n });\n }\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const isTargetCell = event.target === this._element;\n const isAction = keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n if (isAction && isTargetCell) {\n event.preventDefault();\n event.stopPropagation();\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n group: this.group,\n rowHeight: this.rowHeight,\n column: this.column,\n value: this.value,\n cellElement: this._element\n });\n }\n }\n onCheckboxChange(event) {\n this.activate.emit({\n type: 'checkbox',\n event,\n row: this.row,\n group: this.group,\n rowHeight: this.rowHeight,\n column: this.column,\n value: this.value,\n cellElement: this._element,\n treeStatus: 'collapsed'\n });\n }\n calcSortDir(sorts) {\n if (!sorts) {\n return;\n }\n const sort = sorts.find((s) => {\n return s.prop === this.column.prop;\n });\n if (sort) {\n return sort.dir;\n }\n }\n stripHtml(html) {\n if (!html.replace) {\n return html;\n }\n return html.replace(/<\\/?[^>]+(>|$)/g, '');\n }\n onTreeAction() {\n this.treeAction.emit(this.row);\n }\n calcLeftMargin(column, row) {\n const levelIndent = column.treeLevelIndent != null ? column.treeLevelIndent : 50;\n return column.isTreeColumn ? row.level * levelIndent : 0;\n }\n}\nDataTableBodyCellComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-body-cell',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"datatable-body-cell-label\" [style.margin-left.px]=\"calcLeftMargin(column, row)\">\n <label\n *ngIf=\"column.checkboxable && (!displayCheck || displayCheck(row, column, value))\"\n class=\"datatable-checkbox\"\n >\n <input type=\"checkbox\" [checked]=\"isSelected\" (click)=\"onCheckboxChange($event)\" />\n </label>\n <ng-container *ngIf=\"column.isTreeColumn\">\n <button\n *ngIf=\"!column.treeToggleTemplate\"\n class=\"datatable-tree-button\"\n [disabled]=\"treeStatus === 'disabled'\"\n (click)=\"onTreeAction()\"\n >\n <span>\n <i *ngIf=\"treeStatus === 'loading'\" class=\"icon datatable-icon-collapse\"></i>\n <i *ngIf=\"treeStatus === 'collapsed'\" class=\"icon datatable-icon-up\"></i>\n <i *ngIf=\"treeStatus === 'expanded' || treeStatus === 'disabled'\" class=\"icon datatable-icon-down\"></i>\n </span>\n </button>\n <ng-template\n *ngIf=\"column.treeToggleTemplate\"\n [ngTemplateOutlet]=\"column.treeToggleTemplate\"\n [ngTemplateOutletContext]=\"{ cellContext: cellContext }\"\n >\n </ng-template>\n </ng-container>\n\n <span *ngIf=\"!column.cellTemplate\" [title]=\"sanitizedValue\" [innerHTML]=\"value\"> </span>\n <ng-template\n #cellTemplate\n *ngIf=\"column.cellTemplate\"\n [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"cellContext\"\n >\n </ng-template>\n </div>\n `\n },] }\n];\nDataTableBodyCellComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nDataTableBodyCellComponent.propDecorators = {\n displayCheck: [{ type: Input }],\n group: [{ type: Input }],\n rowHeight: [{ type: Input }],\n isSelected: [{ type: Input }],\n expanded: [{ type: Input }],\n rowIndex: [{ type: Input }],\n column: [{ type: Input }],\n row: [{ type: Input }],\n sorts: [{ type: Input }],\n treeStatus: [{ type: Input }],\n activate: [{ type: Output }],\n treeAction: [{ type: Output }],\n cellTemplate: [{ type: ViewChild, args: ['cellTemplate', { read: ViewContainerRef, static: true },] }],\n columnCssClasses: [{ type: HostBinding, args: ['class',] }],\n width: [{ type: HostBinding, args: ['style.width.px',] }],\n minWidth: [{ type: HostBinding, args: ['style.minWidth.px',] }],\n maxWidth: [{ type: HostBinding, args: ['style.maxWidth.px',] }],\n height: [{ type: HostBinding, args: ['style.height',] }],\n onFocus: [{ type: HostListener, args: ['focus',] }],\n onBlur: [{ type: HostListener, args: ['blur',] }],\n onClick: [{ type: HostListener, args: ['click', ['$event'],] }],\n onDblClick: [{ type: HostListener, args: ['dblclick', ['$event'],] }],\n onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]\n};\n\nfunction selectRows(selected, row, comparefn) {\n const selectedIndex = comparefn(row, selected);\n if (selectedIndex > -1) {\n selected.splice(selectedIndex, 1);\n }\n else {\n selected.push(row);\n }\n return selected;\n}\nfunction selectRowsBetween(selected, rows, index, prevIndex, comparefn) {\n const reverse = index < prevIndex;\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const greater = i >= prevIndex && i <= index;\n const lesser = i <= prevIndex && i >= index;\n let range = { start: 0, end: 0 };\n if (reverse) {\n range = {\n start: index,\n end: prevIndex\n };\n }\n else {\n range = {\n start: prevIndex,\n end: index + 1\n };\n }\n if ((reverse && lesser) || (!reverse && greater)) {\n // if in the positive range to be added to `selected`, and\n // not already in the selected array, add it\n if (i >= range.start && i <= range.end) {\n selected.push(row);\n }\n }\n }\n return selected;\n}\n\nclass DataTableSelectionComponent {\n constructor() {\n this.activate = new EventEmitter();\n this.select = new EventEmitter();\n }\n selectRow(event, index, row) {\n if (!this.selectEnabled)\n return;\n const chkbox = this.selectionType === SelectionType.checkbox;\n const multi = this.selectionType === SelectionType.multi;\n const multiClick = this.selectionType === SelectionType.multiClick;\n let selected = [];\n if (multi || chkbox || multiClick) {\n if (event.shiftKey) {\n selected = selectRowsBetween([], this.rows, index, this.prevIndex, this.getRowSelectedIdx.bind(this));\n }\n else if (event.ctrlKey || event.metaKey || multiClick || chkbox) {\n selected = selectRows([...this.selected], row, this.getRowSelectedIdx.bind(this));\n }\n else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n }\n else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n if (typeof this.selectCheck === 'function') {\n selected = selected.filter(this.selectCheck.bind(this));\n }\n this.selected.splice(0, this.selected.length);\n this.selected.push(...selected);\n this.prevIndex = index;\n this.select.emit({\n selected\n });\n }\n onActivate(model, index) {\n const { type, event, row } = model;\n const chkbox = this.selectionType === SelectionType.checkbox;\n const select = (!chkbox && (type === 'click' || type === 'dblclick')) || (chkbox && type === 'checkbox');\n if (select) {\n this.selectRow(event, index, row);\n }\n else if (type === 'keydown') {\n if (event.keyCode === Keys.return) {\n this.selectRow(event, index, row);\n }\n else {\n this.onKeyboardFocus(model);\n }\n }\n this.activate.emit(model);\n }\n onKeyboardFocus(model) {\n const { keyCode } = model.event;\n const shouldFocus = keyCode === Keys.up || keyCode === Keys.down || keyCode === Keys.right || keyCode === Keys.left;\n if (shouldFocus) {\n const isCellSelection = this.selectionType === SelectionType.cell;\n if (!model.cellElement || !isCellSelection) {\n this.focusRow(model.rowElement, keyCode);\n }\n else if (isCellSelection) {\n this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex);\n }\n }\n }\n focusRow(rowElement, keyCode) {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if (nextRowElement)\n nextRowElement.focus();\n }\n getPrevNextRow(rowElement, keyCode) {\n const parentElement = rowElement.parentElement;\n if (parentElement) {\n let focusElement;\n if (keyCode === Keys.up) {\n focusElement = parentElement.previousElementSibling;\n }\n else if (keyCode === Keys.down) {\n focusElement = parentElement.nextElementSibling;\n }\n if (focusElement && focusElement.children.length) {\n return focusElement.children[0];\n }\n }\n }\n focusCell(cellElement, rowElement, keyCode, cellIndex) {\n let nextCellElement;\n if (keyCode === Keys.left) {\n nextCellElement = cellElement.previousElementSibling;\n }\n else if (keyCode === Keys.right) {\n nextCellElement = cellElement.nextElementSibling;\n }\n else if (keyCode === Keys.up || keyCode === Keys.down) {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if (nextRowElement) {\n const children = nextRowElement.getElementsByClassName('datatable-body-cell');\n if (children.length)\n nextCellElement = children[cellIndex];\n }\n }\n if (nextCellElement)\n nextCellElement.focus();\n }\n getRowSelected(row) {\n return this.getRowSelectedIdx(row, this.selected) > -1;\n }\n getRowSelectedIdx(row, selected) {\n if (!selected || !selected.length)\n return -1;\n const rowId = this.rowIdentity(row);\n return selected.findIndex(r => {\n const id = this.rowIdentity(r);\n return id === rowId;\n });\n }\n}\nDataTableSelectionComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-selection',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] }\n];\nDataTableSelectionComponent.propDecorators = {\n rows: [{ type: Input }],\n selected: [{ type: Input }],\n selectEnabled: [{ type: Input }],\n selectionType: [{ type: Input }],\n rowIdentity: [{ type: Input }],\n selectCheck: [{ type: Input }],\n activate: [{ type: Output }],\n select: [{ type: Output }]\n};\n\nfunction defaultSumFunc(cells) {\n const cellsWithValues = cells.filter(cell => !!cell);\n if (!cellsWithValues.length) {\n return null;\n }\n if (cellsWithValues.some(cell => typeof cell !== 'number')) {\n return null;\n }\n return cellsWithValues.reduce((res, cell) => res + cell);\n}\nfunction noopSumFunc(cells) {\n return null;\n}\nclass DataTableSummaryRowComponent {\n constructor() {\n this.summaryRow = {};\n }\n ngOnChanges() {\n if (!this.columns || !this.rows) {\n return;\n }\n this.updateInternalColumns();\n this.updateValues();\n }\n updateInternalColumns() {\n this._internalColumns = this.columns.map(col => (Object.assign(Object.assign({}, col), { cellTemplate: col.summaryTemplate })));\n }\n updateValues() {\n this.summaryRow = {};\n this.columns\n .filter(col => !col.summaryTemplate)\n .forEach(col => {\n const cellsFromSingleColumn = this.rows.map(row => row[col.prop]);\n const sumFunc = this.getSummaryFunction(col);\n this.summaryRow[col.prop] = col.pipe\n ? col.pipe.transform(sumFunc(cellsFromSingleColumn))\n : sumFunc(cellsFromSingleColumn);\n });\n }\n getSummaryFunction(column) {\n if (column.summaryFunc === undefined) {\n return defaultSumFunc;\n }\n else if (column.summaryFunc === null) {\n return noopSumFunc;\n }\n else {\n return column.summaryFunc;\n }\n }\n}\nDataTableSummaryRowComponent.decorators = [\n { type: Component, args: [{\n selector: 'datatable-summary-row',\n template: `\n <datatable-body-row\n *ngIf=\"summaryRow && _internalColumns\"\n tabindex=\"-1\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"_internalColumns\"\n [rowHeight]=\"rowHeight\"\n [row]=\"summaryRow\"\n [rowIndex]=\"-1\"\n >\n </datatable-body-row>\n `,\n host: {\n class: 'datatable-summary-row'\n }\n },] }\n];\nDataTableSummaryRowComponent.propDecorators = {\n rows: [{ type: Input }],\n columns: [{ type: Input }],\n rowHeight: [{ type: Input }],\n offsetX: [{ type: Input }],\n innerWidth: [{ type: Input }]\n};\n\nclass NgxDatatableModule {\n /**\n * Configure global configuration via INgxDatatableConfig\n * @param configuration\n */\n static forRoot(configuration) {\n return {\n ngModule: NgxDatatableModule,\n providers: [{ provide: 'configuration', useValue: configuration }]\n };\n }\n}\nNgxDatatableModule.decorators = [\n { type: NgModule, args: [{\n imports: [CommonModule],\n providers: [ScrollbarHelper, DimensionsHelper, ColumnChangesService],\n declarations: [\n DataTableFooterTemplateDirective,\n VisibilityDirective,\n DraggableDirective,\n ResizeableDirective,\n OrderableDirective,\n LongPressDirective,\n ScrollerComponent,\n DatatableComponent,\n DataTableColumnDirective,\n DataTableHeaderComponent,\n DataTableHeaderCellComponent,\n DataTableBodyComponent,\n DataTableFooterComponent,\n DataTablePagerComponent,\n ProgressBarComponent,\n DataTableBodyRowComponent,\n DataTableRowWrapperComponent,\n DatatableRowDetailDirective,\n DatatableGroupHeaderDirective,\n DatatableRowDetailTemplateDirective,\n DataTableBodyCellComponent,\n DataTableSelectionComponent,\n DataTableColumnHeaderDirective,\n DataTableColumnCellDirective,\n DataTableColumnCellTreeToggle,\n DatatableFooterDirective,\n DatatableGroupHeaderTemplateDirective,\n DataTableSummaryRowComponent\n ],\n exports: [\n DatatableComponent,\n DatatableRowDetailDirective,\n DatatableGroupHeaderDirective,\n DatatableRowDetailTemplateDirective,\n DataTableColumnDirective,\n DataTableColumnHeaderDirective,\n DataTableColumnCellDirective,\n DataTableColumnCellTreeToggle,\n DataTableFooterTemplateDirective,\n DatatableFooterDirective,\n DataTablePagerComponent,\n DatatableGroupHeaderTemplateDirective\n ]\n },] }\n];\n\nvar ClickType;\n(function (ClickType) {\n ClickType[\"single\"] = \"single\";\n ClickType[\"double\"] = \"double\";\n})(ClickType || (ClickType = {}));\n\nif (typeof document !== 'undefined' && !document.elementsFromPoint) {\n document.elementsFromPoint = elementsFromPoint;\n}\n/*tslint:disable*/\n/**\n * Polyfill for `elementsFromPoint`\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint\n * https://gist.github.com/iddan/54d5d9e58311b0495a91bf06de661380\n * https://gist.github.com/oslego/7265412\n */\nfunction elementsFromPoint(x, y) {\n const elements = [];\n const previousPointerEvents = [];\n let current; // TODO: window.getComputedStyle should be used with inferred type (Element)\n let i;\n let d;\n //if (document === undefined) return elements;\n // get all elements via elementFromPoint, and remove them from hit-testing in order\n while ((current = document.elementFromPoint(x, y)) && elements.indexOf(current) === -1 && current != null) {\n // push the element and its current style\n elements.push(current);\n previousPointerEvents.push({\n value: current.style.getPropertyValue('pointer-events'),\n priority: current.style.getPropertyPriority('pointer-events')\n });\n // add \"pointer-events: none\", to get to the underlying element\n current.style.setProperty('pointer-events', 'none', 'important');\n }\n // restore the previous pointer-events values\n for (i = previousPointerEvents.length; (d = previousPointerEvents[--i]);) {\n elements[i].style.setProperty('pointer-events', d.value ? d.value : '', d.priority);\n }\n // return our results\n return elements;\n}\n/*tslint:enable*/\n\n/*\n * Public API Surface of ngx-datatable\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ClickType, ColumnChangesService, ColumnMode, ContextmenuType, DataTableBodyCellComponent, DataTableBodyComponent, DataTableBodyRowComponent, DataTableColumnCellDirective, DataTableColumnCellTreeToggle, DataTableColumnDirective, DataTableColumnHeaderDirective, DataTableFooterComponent, DataTableFooterTemplateDirective, DataTableHeaderCellComponent, DataTableHeaderComponent, DataTablePagerComponent, DataTableRowWrapperComponent, DataTableSelectionComponent, DataTableSummaryRowComponent, DatatableComponent, DatatableFooterDirective, DatatableGroupHeaderDirective, DatatableGroupHeaderTemplateDirective, DatatableRowDetailDirective, DatatableRowDetailTemplateDirective, DimensionsHelper, DraggableDirective, Keys, LongPressDirective, NgxDatatableModule, OrderableDirective, ProgressBarComponent, ResizeableDirective, RowHeightCache, ScrollbarHelper, ScrollerComponent, SelectionType, SortDirection, SortType, VisibilityDirective, adjustColumnWidths, camelCase, columnGroupWidths, columnTotalWidth, columnsByPin, columnsByPinArr, columnsTotalWidth, deCamelCase, deepValueGetter, elementsFromPoint, emptyStringGetter, forceFillColumnWidths, getTotalFlexGrow, getVendorPrefixedName, getterForProp, groupRowsByParents, id, isNullOrUndefined, nextSortDir, numericIndexGetter, optionalGetterForProp, orderByComparator, selectRows, selectRowsBetween, setColumnDefaults, shallowValueGetter, sortRows, throttle, throttleable, translateTemplates, translateXY, ɵ0 };\n//# sourceMappingURL=swimlane-ngx-datatable.js.map\n","<div visibilityObserver (visible)=\"recalculate()\">\n <datatable-header\n *ngIf=\"headerHeight\"\n [sorts]=\"sorts\"\n [sortType]=\"sortType\"\n [scrollbarH]=\"scrollbarH\"\n [innerWidth]=\"_innerWidth\"\n [offsetX]=\"_offsetX | async\"\n [dealsWithGroup]=\"groupedRows !== undefined\"\n [columns]=\"_internalColumns\"\n [headerHeight]=\"headerHeight\"\n [reorderable]=\"reorderable\"\n [targetMarkerTemplate]=\"targetMarkerTemplate\"\n [sortAscendingIcon]=\"cssClasses.sortAscending\"\n [sortDescendingIcon]=\"cssClasses.sortDescending\"\n [sortUnsetIcon]=\"cssClasses.sortUnset\"\n [allRowsSelected]=\"allRowsSelected\"\n [selectionType]=\"selectionType\"\n (sort)=\"onColumnSort($event)\"\n (resize)=\"onColumnResize($event)\"\n (reorder)=\"onColumnReorder($event)\"\n (select)=\"onHeaderSelect($event)\"\n (columnContextmenu)=\"onColumnContextmenu($event)\"\n >\n </datatable-header>\n <datatable-body\n [groupRowsBy]=\"groupRowsBy\"\n [groupedRows]=\"groupedRows\"\n [rows]=\"_internalRows\"\n [groupExpansionDefault]=\"groupExpansionDefault\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [virtualization]=\"virtualization\"\n [loadingIndicator]=\"loadingIndicator\"\n [externalPaging]=\"externalPaging\"\n [rowHeight]=\"rowHeight\"\n [rowCount]=\"rowCount\"\n [offset]=\"offset\"\n [trackByProp]=\"trackByProp\"\n [columns]=\"_internalColumns\"\n [pageSize]=\"pageSize\"\n [offsetX]=\"_offsetX | async\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [selected]=\"selected\"\n [innerWidth]=\"_innerWidth\"\n [bodyHeight]=\"bodyHeight\"\n [selectionType]=\"selectionType\"\n [emptyMessage]=\"messages.emptyMessage\"\n [rowIdentity]=\"rowIdentity\"\n [rowClass]=\"rowClass\"\n [selectCheck]=\"selectCheck\"\n [displayCheck]=\"displayCheck\"\n [summaryRow]=\"summaryRow\"\n [summaryHeight]=\"summaryHeight\"\n [summaryPosition]=\"summaryPosition\"\n (page)=\"onBodyPage($event)\"\n (activate)=\"activate.emit($event)\"\n (rowContextmenu)=\"onRowContextmenu($event)\"\n (select)=\"onBodySelect($event)\"\n (scroll)=\"onBodyScroll($event)\"\n (treeAction)=\"onTreeAction($event)\"\n >\n </datatable-body>\n <datatable-footer\n *ngIf=\"footerHeight\"\n [rowCount]=\"rowCount\"\n [pageSize]=\"pageSize\"\n [offset]=\"offset\"\n [footerHeight]=\"footerHeight\"\n [footerTemplate]=\"footer\"\n [totalMessage]=\"messages.totalMessage\"\n [pagerLeftArrowIcon]=\"cssClasses.pagerLeftArrow\"\n [pagerRightArrowIcon]=\"cssClasses.pagerRightArrow\"\n [pagerPreviousIcon]=\"cssClasses.pagerPrevious\"\n [selectedCount]=\"selected.length\"\n [selectedMessage]=\"!!selectionType && messages.selectedMessage\"\n [pagerNextIcon]=\"cssClasses.pagerNext\"\n (page)=\"onFooterPage($event)\"\n >\n </datatable-footer>\n</div>\n","\n <div\n orderable\n (reorder)=\"onColumnReordered($event)\"\n (targetChanged)=\"onTargetChanged($event)\"\n [style.width.px]=\"_columnGroupWidths.total\"\n class=\"datatable-header-inner\"\n >\n <div\n *ngFor=\"let colGroup of _columnsByPin; trackBy: trackByGroups\"\n [class]=\"'datatable-row-' + colGroup.type\"\n [ngStyle]=\"_styleByGroup[colGroup.type]\"\n >\n <datatable-header-cell\n *ngFor=\"let column of colGroup.columns; trackBy: columnTrackingFn\"\n resizeable\n [resizeEnabled]=\"column.resizeable\"\n (resize)=\"onColumnResized($event, column)\"\n long-press\n [pressModel]=\"column\"\n [pressEnabled]=\"reorderable && column.draggable\"\n (longPressStart)=\"onLongPressStart($event)\"\n (longPressEnd)=\"onLongPressEnd($event)\"\n draggable\n [dragX]=\"reorderable && column.draggable && column.dragging\"\n [dragY]=\"false\"\n [dragModel]=\"column\"\n [dragEventTarget]=\"dragEventTarget\"\n [headerHeight]=\"headerHeight\"\n [isTarget]=\"column.isTarget\"\n [targetMarkerTemplate]=\"targetMarkerTemplate\"\n [targetMarkerContext]=\"column.targetMarkerContext\"\n [column]=\"column\"\n [sortType]=\"sortType\"\n [sorts]=\"sorts\"\n [selectionType]=\"selectionType\"\n [sortAscendingIcon]=\"sortAscendingIcon\"\n [sortDescendingIcon]=\"sortDescendingIcon\"\n [sortUnsetIcon]=\"sortUnsetIcon\"\n [allRowsSelected]=\"allRowsSelected\"\n (sort)=\"onSort($event)\"\n (select)=\"select.emit($event)\"\n (columnContextmenu)=\"columnContextmenu.emit($event)\"\n >\n </datatable-header-cell>\n </div>\n </div>\n ","\n <div class=\"datatable-header-cell-template-wrap\">\n <ng-template\n *ngIf=\"isTarget\"\n [ngTemplateOutlet]=\"targetMarkerTemplate\"\n [ngTemplateOutletContext]=\"targetMarkerContext\"\n >\n </ng-template>\n <label *ngIf=\"isCheckboxable\" class=\"datatable-checkbox\">\n <input type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"select.emit(!allRowsSelected)\" />\n </label>\n <span *ngIf=\"!column.headerTemplate\" class=\"datatable-header-cell-wrapper\">\n <span class=\"datatable-header-cell-label draggable\" (click)=\"onSort()\" [innerHTML]=\"name\"> </span>\n </span>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\"\n >\n </ng-template>\n <span (click)=\"onSort()\" [class]=\"sortClass\"> </span>\n </div>\n ","\n <datatable-progress *ngIf=\"loadingIndicator\"> </datatable-progress>\n <datatable-selection\n #selector\n [selected]=\"selected\"\n [rows]=\"rows\"\n [selectCheck]=\"selectCheck\"\n [selectEnabled]=\"selectEnabled\"\n [selectionType]=\"selectionType\"\n [rowIdentity]=\"rowIdentity\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\"\n >\n <datatable-scroller\n *ngIf=\"rows?.length\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [scrollHeight]=\"scrollHeight\"\n [scrollWidth]=\"columnGroupWidths?.total\"\n (scroll)=\"onBodyScroll($event)\"\n >\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'top'\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\"\n >\n </datatable-summary-row>\n <datatable-row-wrapper\n [groupedRows]=\"groupedRows\"\n *ngFor=\"let group of temp; let i = index; trackBy: rowTrackingFn\"\n [innerWidth]=\"innerWidth\"\n [ngStyle]=\"getRowsStyles(group)\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [offsetX]=\"offsetX\"\n [detailRowHeight]=\"getDetailRowHeight(group && group[i], i)\"\n [row]=\"group\"\n [expanded]=\"getRowExpanded(group)\"\n [rowIndex]=\"getRowIndex(group && group[i])\"\n (rowContextmenu)=\"rowContextmenu.emit($event)\"\n >\n <datatable-body-row\n *ngIf=\"!groupedRows; else groupedRowsTemplate\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(group)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(group)\"\n [row]=\"group\"\n [rowIndex]=\"getRowIndex(group)\"\n [expanded]=\"getRowExpanded(group)\"\n [rowClass]=\"rowClass\"\n [displayCheck]=\"displayCheck\"\n [treeStatus]=\"group && group.treeStatus\"\n (treeAction)=\"onTreeAction(group)\"\n (activate)=\"selector.onActivate($event, indexes.first + i)\"\n >\n </datatable-body-row>\n <ng-template #groupedRowsTemplate>\n <datatable-body-row\n *ngFor=\"let row of group.value; let i = index; trackBy: rowTrackingFn\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(row)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(row)\"\n [row]=\"row\"\n [group]=\"group.value\"\n [rowIndex]=\"getRowIndex(row)\"\n [expanded]=\"getRowExpanded(row)\"\n [rowClass]=\"rowClass\"\n (activate)=\"selector.onActivate($event, i)\"\n >\n </datatable-body-row>\n </ng-template>\n </datatable-row-wrapper>\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'bottom'\"\n [ngStyle]=\"getBottomSummaryRowStyles()\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\"\n >\n </datatable-summary-row>\n </datatable-scroller>\n <div class=\"empty-row\" *ngIf=\"!rows?.length && !loadingIndicator\" [innerHTML]=\"emptyMessage\"></div>\n </datatable-selection>\n ","\n <div class=\"datatable-body-cell-label\" [style.margin-left.px]=\"calcLeftMargin(column, row)\">\n <label\n *ngIf=\"column.checkboxable && (!displayCheck || displayCheck(row, column, value))\"\n class=\"datatable-checkbox\"\n >\n <input type=\"checkbox\" [checked]=\"isSelected\" (click)=\"onCheckboxChange($event)\" />\n </label>\n <ng-container *ngIf=\"column.isTreeColumn\">\n <button\n *ngIf=\"!column.treeToggleTemplate\"\n class=\"datatable-tree-button\"\n [disabled]=\"treeStatus === 'disabled'\"\n (click)=\"onTreeAction()\"\n >\n <span>\n <i *ngIf=\"treeStatus === 'loading'\" class=\"icon datatable-icon-collapse\"></i>\n <i *ngIf=\"treeStatus === 'collapsed'\" class=\"icon datatable-icon-up\"></i>\n <i *ngIf=\"treeStatus === 'expanded' || treeStatus === 'disabled'\" class=\"icon datatable-icon-down\"></i>\n </span>\n </button>\n <ng-template\n *ngIf=\"column.treeToggleTemplate\"\n [ngTemplateOutlet]=\"column.treeToggleTemplate\"\n [ngTemplateOutletContext]=\"{ cellContext: cellContext }\"\n >\n </ng-template>\n </ng-container>\n\n <span *ngIf=\"!column.cellTemplate\" [title]=\"sanitizedValue\" [innerHTML]=\"value\"> </span>\n <ng-template\n #cellTemplate\n *ngIf=\"column.cellTemplate\"\n [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"cellContext\"\n >\n </ng-template>\n </div>\n ","\n <div\n *ngFor=\"let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups\"\n class=\"datatable-row-{{ colGroup.type }} datatable-row-group\"\n [ngStyle]=\"_groupStyles[colGroup.type]\"\n >\n <datatable-body-cell\n *ngFor=\"let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn\"\n tabindex=\"-1\"\n [row]=\"row\"\n [group]=\"group\"\n [expanded]=\"expanded\"\n [isSelected]=\"isSelected\"\n [rowIndex]=\"rowIndex\"\n [column]=\"column\"\n [rowHeight]=\"rowHeight\"\n [displayCheck]=\"displayCheck\"\n [treeStatus]=\"treeStatus\"\n (activate)=\"onActivate($event, ii)\"\n (treeAction)=\"onTreeAction()\"\n >\n </datatable-body-cell>\n </div>\n ","\n <div class=\"progress-linear\" role=\"progressbar\">\n <div class=\"container\">\n <div class=\"bar\"></div>\n </div>\n </div>\n "," <ng-content></ng-content> ","\n <div *ngIf=\"groupHeader && groupHeader.template\" class=\"datatable-group-header\" [ngStyle]=\"getGroupHeaderStyle()\">\n <ng-template\n *ngIf=\"groupHeader && groupHeader.template\"\n [ngTemplateOutlet]=\"groupHeader.template\"\n [ngTemplateOutletContext]=\"groupContext\"\n >\n </ng-template>\n </div>\n <ng-content *ngIf=\"(groupHeader && groupHeader.template && expanded) || !groupHeader || !groupHeader.template\">\n </ng-content>\n <div\n *ngIf=\"rowDetail && rowDetail.template && expanded\"\n [style.height.px]=\"detailRowHeight\"\n class=\"datatable-row-detail\"\n >\n <ng-template\n *ngIf=\"rowDetail && rowDetail.template\"\n [ngTemplateOutlet]=\"rowDetail.template\"\n [ngTemplateOutletContext]=\"rowContext\"\n >\n </ng-template>\n </div>\n "," <ng-content></ng-content> ","\n <datatable-body-row\n *ngIf=\"summaryRow && _internalColumns\"\n tabindex=\"-1\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"_internalColumns\"\n [rowHeight]=\"rowHeight\"\n [row]=\"summaryRow\"\n [rowIndex]=\"-1\"\n >\n </datatable-body-row>\n ","\n <div\n class=\"datatable-footer-inner\"\n [ngClass]=\"{ 'selected-count': selectedMessage }\"\n [style.height.px]=\"footerHeight\"\n >\n <ng-template\n *ngIf=\"footerTemplate\"\n [ngTemplateOutlet]=\"footerTemplate.template\"\n [ngTemplateOutletContext]=\"{\n rowCount: rowCount,\n pageSize: pageSize,\n selectedCount: selectedCount,\n curPage: curPage,\n offset: offset\n }\"\n >\n </ng-template>\n <div class=\"page-count\" *ngIf=\"!footerTemplate\">\n <span *ngIf=\"selectedMessage\"> {{ selectedCount?.toLocaleString() }} {{ selectedMessage }} / </span>\n {{ rowCount?.toLocaleString() }} {{ totalMessage }}\n </div>\n <datatable-pager\n *ngIf=\"!footerTemplate\"\n [pagerLeftArrowIcon]=\"pagerLeftArrowIcon\"\n [pagerRightArrowIcon]=\"pagerRightArrowIcon\"\n [pagerPreviousIcon]=\"pagerPreviousIcon\"\n [pagerNextIcon]=\"pagerNextIcon\"\n [page]=\"curPage\"\n [size]=\"pageSize\"\n [count]=\"rowCount\"\n [hidden]=\"!isVisible\"\n (change)=\"page.emit($event)\"\n >\n </datatable-pager>\n </div>\n ","\n <ul class=\"pager\">\n <li [class.disabled]=\"!canPrevious()\">\n <a role=\"button\" aria-label=\"go to first page\" href=\"javascript:void(0)\" (click)=\"selectPage(1)\">\n <i class=\"{{ pagerPreviousIcon }}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canPrevious()\">\n <a role=\"button\" aria-label=\"go to previous page\" href=\"javascript:void(0)\" (click)=\"prevPage()\">\n <i class=\"{{ pagerLeftArrowIcon }}\"></i>\n </a>\n </li>\n <li\n role=\"button\"\n [attr.aria-label]=\"'page ' + pg.number\"\n class=\"pages\"\n *ngFor=\"let pg of pages\"\n [class.active]=\"pg.number === page\"\n >\n <a href=\"javascript:void(0)\" (click)=\"selectPage(pg.number)\">\n {{ pg.text }}\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a role=\"button\" aria-label=\"go to next page\" href=\"javascript:void(0)\" (click)=\"nextPage()\">\n <i class=\"{{ pagerRightArrowIcon }}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a role=\"button\" aria-label=\"go to last page\" href=\"javascript:void(0)\" (click)=\"selectPage(totalPages)\">\n <i class=\"{{ pagerNextIcon }}\"></i>\n </a>\n </li>\n </ul>\n ","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/assignHelper\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./geometry\",\"./core/arrayUtils\",\"./core/Collection\",\"./core/collectionUtils\",\"./core/JSONSupport\",\"./core/lang\",\"./core/Loadable\",\"./core/loadAll\",\"./core/Logger\",\"./core/maybe\",\"./core/promiseUtils\",\"./core/urlUtils\",\"./core/accessorSupport/decorators\",\"./portal/Portal\",\"./portal/PortalItem\",\"./support/basemapDefinitions\",\"./webdoc/support/writeUtils\"],function(e,r,t,o,a,n,i,s,l,p,u,c,f,y,d,h,m,b,L,I,g,v){var w=0,S=y.getLogger(\"esri.Basemap\");return function(r){function p(e){var t=r.call(this,e)||this;t.id=null,t.portalItem=null,t.spatialReference=null,t.thumbnailUrl=null,t.title=\"Basemap\",t.id=Date.now().toString(16)+\"-basemap-\"+w++,t.baseLayers=new s,t.referenceLayers=new s;var o=function(e){e.parent&&e.parent!==t&&\"remove\"in e.parent&&e.parent.remove(e),e.parent=t,\"elevation\"===e.type&&S.error(\"Layer '\"+e.title+\", id:\"+e.id+\"' of type '\"+e.type+\"' is not supported as a basemap layer and will therefore be ignored.\")},a=function(e){e.parent=null};return t.baseLayers.on(\"after-add\",function(e){return o(e.item)}),t.referenceLayers.on(\"after-add\",function(e){return o(e.item)}),t.baseLayers.on(\"after-remove\",function(e){return a(e.item)}),t.referenceLayers.on(\"after-remove\",function(e){return a(e.item)}),t}o(p,r),c=p,p.prototype.initialize=function(){var e=this;this.when().catch(function(r){S.error(\"#load()\",\"Failed to load basemap (title: '\"+e.title+\"', id: '\"+e.id+\"')\",r)}),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)},p.prototype.normalizeCtorArgs=function(e){return e&&\"resourceInfo\"in e&&(this._set(\"resourceInfo\",e.resourceInfo),e=t({},e),delete e.resourceInfo),e},Object.defineProperty(p.prototype,\"baseLayers\",{set:function(e){this._set(\"baseLayers\",l.referenceSetter(e,this._get(\"baseLayers\")))},enumerable:!0,configurable:!0}),p.prototype.writeBaseLayers=function(e,r,o,a){var n=this,i=[];if(!e)return void(r[o]=i);a=t({},a,{layerContainerType:\"basemap\"}),this.baseLayers.forEach(function(e){var r=v.getLayerJSON(e,n._getLayerJSONFromResourceInfo(e),a);d.isSome(r)&&i.push(r)}),this.referenceLayers.forEach(function(e){var r=v.getLayerJSON(e,n._getLayerJSONFromResourceInfo(e),a);d.isSome(r)&&(r.isReference=!0,i.push(r))}),r[o]=i},Object.defineProperty(p.prototype,\"referenceLayers\",{set:function(e){this._set(\"referenceLayers\",l.referenceSetter(e,this._get(\"referenceLayers\")))},enumerable:!0,configurable:!0}),p.prototype.writeTitle=function(e,r){r.title=e||\"Basemap\"},p.prototype.load=function(e){return this.addResolvingPromise(this._loadFromSource(e)),this.when()},p.prototype.loadAll=function(){var e=this;return f.loadAll(this,function(r){r(e.baseLayers,e.referenceLayers)})},p.prototype.clone=function(){var e={id:this.id,title:this.title,portalItem:this.portalItem,baseLayers:this.baseLayers.slice(),referenceLayers:this.referenceLayers.slice()};return this.loaded&&(e.loadStatus=\"loaded\"),new c({resourceInfo:this.resourceInfo}).set(e)},p.prototype.read=function(e,r){this.resourceInfo||this._set(\"resourceInfo\",{data:e,context:r}),this.inherited(arguments)},p.prototype.write=function(e,r){return e=e||{},r&&r.origin||(r=t({origin:\"web-map\"},r)),this.inherited(arguments,[e,r]),!this.loaded&&this.resourceInfo&&this.resourceInfo.data.baseMapLayers&&(e.baseMapLayers=this.resourceInfo.data.baseMapLayers.map(function(e){var r=u.clone(e);return r.url&&m.isProtocolRelative(r.url)&&(r.url=\"https:\"+r.url),r.templateUrl&&m.isProtocolRelative(r.templateUrl)&&(r.templateUrl=\"https:\"+r.templateUrl),r})),e},p.prototype._loadFromSource=function(e){var r=this,t=r.resourceInfo,o=r.portalItem;if(h.throwIfAborted(e),t){var a=t.context?t.context.url:null;return this._loadLayersFromJSON(t.data,a,e)}return o?this._loadFromItem(o,e):h.resolve(null)},p.prototype._loadLayersFromJSON=function(r,t,o){var a=this,n=this.resourceInfo&&this.resourceInfo.context,i=this.portalItem&&this.portalItem.portal||n&&n.portal||null,s=n&&\"web-scene\"===n.origin?\"web-scene\":\"web-map\";return h.create(function(r){return e([\"./portal/support/layersCreator\"],r)}).then(function(e){var n=[];if(h.throwIfAborted(o),r.baseMapLayers&&Array.isArray(r.baseMapLayers)){var l={context:{origin:s,url:t,portal:i,layerContainerType:\"basemap\"},defaultLayerType:\"DefaultTileLayer\"},p=e.populateOperationalLayers(a.baseLayers,r.baseMapLayers.filter(function(e){return!e.isReference}),l);n.push(p);var u=e.populateOperationalLayers(a.referenceLayers,r.baseMapLayers.filter(function(e){return e.isReference}),l);n.push(u)}return h.eachAlways(n)}).then(function(){})},p.prototype._loadFromItem=function(e,r){var t=this;return e.load(r).then(function(e){return e.fetchData(\"json\",r)}).then(function(o){var a=m.urlToObject(e.itemUrl);return t._set(\"resourceInfo\",{data:o.baseMap,context:{origin:\"web-map\",portal:e.portal||L.getDefault(),url:a}}),t.read(t.resourceInfo.data,t.resourceInfo.context),t.read({spatialReference:o.spatialReference},t.resourceInfo.context),t.read({title:e.title,thumbnailUrl:e.thumbnailUrl},{origin:\"portal-item\",portal:e.portal||L.getDefault(),url:a}),t._loadLayersFromJSON(t.resourceInfo.data,a,r)})},p.prototype._getLayerJSONFromResourceInfo=function(e){var r=this.get(\"resourceInfo.data.baseMapLayers\");return d.isSome(r)?i.find(r,function(r){return r.id===e.id}):null},p.fromId=function(e){var r=g.esriBasemapDefinitions[e];return r?c.fromJSON(r):null};var c;return a([b.property({json:{write:{ignoreOrigin:!0,target:\"baseMapLayers\"}}})],p.prototype,\"baseLayers\",null),a([b.writer(\"baseLayers\")],p.prototype,\"writeBaseLayers\",null),a([b.property({type:String,json:{origins:{\"web-scene\":{write:!0}}}})],p.prototype,\"id\",void 0),a([b.property({type:I})],p.prototype,\"portalItem\",void 0),a([b.property()],p.prototype,\"referenceLayers\",null),a([b.property({readOnly:!0})],p.prototype,\"resourceInfo\",void 0),a([b.property({type:n.SpatialReference})],p.prototype,\"spatialReference\",void 0),a([b.property()],p.prototype,\"thumbnailUrl\",void 0),a([b.property({type:String,json:{origins:{\"web-scene\":{write:{isRequired:!0}}}}})],p.prototype,\"title\",void 0),a([b.writer(\"title\")],p.prototype,\"writeTitle\",null),p=c=a([b.subclass(\"esri.Basemap\")],p)}(b.declared(p.JSONSupportMixin(c)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./core/JSONSupport\",\"./core/mathUtils\",\"./core/accessorSupport/decorators\",\"./core/accessorSupport/ensureType\",\"./geometry/Point\",\"./views/3d/support/mathUtils\"],function(e,t,r,o,i,n,s,p,u,l){return function(e){function t(t,r,o,i){var n=e.call(this,t)||this;return n.position=new u([0,0,0]),n.heading=0,n.tilt=0,n.fov=55,n}r(t,e),i=t,t.prototype.normalizeCtorArgs=function(e,t,r,o){if(e&&\"object\"==typeof e&&(\"x\"in e||Array.isArray(e))){var i={position:e};return null!=t&&(i.heading=t),null!=r&&(i.tilt=r),null!=o&&(i.fov=o),i}return e},t.prototype.writePosition=function(e,t,r,o){var i=e.clone();i.x=p.ensureNumber(e.x||0),i.y=p.ensureNumber(e.y||0),i.z=e.hasZ?p.ensureNumber(e.z||0):e.z,t[r]=i.write(null,o)},t.prototype.readPosition=function(e,t){var r=new u;return r.read(e,t),r.x=p.ensureNumber(r.x||0),r.y=p.ensureNumber(r.y||0),r.z=r.hasZ?p.ensureNumber(r.z||0):r.z,r},t.prototype.equals=function(e){return!!e&&(this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position))},t.prototype.clone=function(){return new i({position:this.position.clone(),heading:this.heading,tilt:this.tilt,fov:this.fov})};var i;return o([s.property({type:u,json:{write:{isRequired:!0}}})],t.prototype,\"position\",void 0),o([s.writer(\"position\")],t.prototype,\"writePosition\",null),o([s.reader(\"position\")],t.prototype,\"readPosition\",null),o([s.property({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),s.cast(function(e){return l.cyclicalDeg.normalize(p.ensureNumber(e))})],t.prototype,\"heading\",void 0),o([s.property({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),s.cast(function(e){return n.clamp(p.ensureNumber(e),-180,180)})],t.prototype,\"tilt\",void 0),o([s.property({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],t.prototype,\"fov\",void 0),t=i=o([s.subclass(\"esri.Camera\")],t)}(s.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/mathUtils\",\"./core/accessorSupport/ensureType\"],function(r,e,t,n){function a(r){return t.clamp(n.ensureInteger(r),0,255)}function i(r,e,t){return r=Number(r),isNaN(r)?t:r<e?e:r>t?t:r}function o(r,e,t){t<0&&++t,t>1&&--t;var n=6*t;return n<1?r+(e-r)*n:2*t<1?e:3*t<2?r+(e-r)*(2/3-t)*6:r}var l=function(){function r(r){this.r=255,this.g=255,this.b=255,this.a=1,r&&this.setColor(r)}return r.blendColors=function(e,t,n,a){return void 0===a&&(a=new r),a.r=Math.round(e.r+(t.r-e.r)*n),a.g=Math.round(e.g+(t.g-e.g)*n),a.b=Math.round(e.b+(t.b-e.b)*n),a.a=e.a+(t.a-e.a)*n,a._sanitize()},r.fromRgb=function(e,t){var n=e.toLowerCase().match(/^(rgba?|hsla?)\\(([\\s\\.\\-,%0-9]+)\\)/);if(n){var a=n[2].split(/\\s*,\\s*/),i=n[1];if(\"rgb\"===i&&3===a.length||\"rgba\"===i&&4===a.length){var l=a[0];if(\"%\"===l.charAt(l.length-1)){var s=a.map(function(r){return 2.56*parseFloat(r)});return 4===a.length&&(s[3]=parseFloat(a[3])),r.fromArray(s,t)}return r.fromArray(a.map(function(r){return parseFloat(r)}),t)}if(\"hsl\"===i&&3===a.length||\"hsla\"===i&&4===a.length){var u=(parseFloat(a[0])%360+360)%360/360,g=parseFloat(a[1])/100,h=parseFloat(a[2])/100,d=h<=.5?h*(g+1):h+g-h*g,b=2*h-d,s=[256*o(b,d,u+1/3),256*o(b,d,u),256*o(b,d,u-1/3),1];return 4===a.length&&(s[3]=parseFloat(a[3])),r.fromArray(s,t)}}return null},r.fromHex=function(e,t){void 0===t&&(t=new r);var n=4===e.length?4:8,a=(1<<n)-1,i=Number(\"0x\"+e.substr(1));return isNaN(i)?null:([\"b\",\"g\",\"r\"].forEach(function(r){var e=i&a;i>>=n,t[r]=4===n?17*e:e}),t.a=1,t)},r.fromArray=function(e,t){return void 0===t&&(t=new r),t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()},r.fromString=function(e,t){var n=r.named[e];return n&&r.fromArray(n,t)||r.fromRgb(e,t)||r.fromHex(e,t)},r.toJSON=function(r){return r&&[a(r.r),a(r.g),a(r.b),r.a>1?r.a:a(255*r.a)]},r.fromJSON=function(e){return e&&new r([e[0],e[1],e[2],e[3]/255])},r.toUnitRGB=function(r){return[r.r/255,r.g/255,r.b/255]},r.toUnitRGBA=function(r){return[r.r/255,r.g/255,r.b/255,null!=r.a?r.a:1]},r.prototype.setColor=function(e){return\"string\"==typeof e?r.fromString(e,this):Array.isArray(e)?r.fromArray(e,this):(this._set(e.r,e.g,e.b,e.a),e instanceof r||this._sanitize()),this},r.prototype.toRgb=function(){return[this.r,this.g,this.b]},r.prototype.toRgba=function(){return[this.r,this.g,this.b,this.a]},r.prototype.toHex=function(){var r=this.r.toString(16),e=this.g.toString(16),t=this.b.toString(16);return\"#\"+(r.length<2?\"0\"+r:r)+(e.length<2?\"0\"+e:e)+(t.length<2?\"0\"+t:t)},r.prototype.toCss=function(r){void 0===r&&(r=!1);var e=this.r+\", \"+this.g+\", \"+this.b;return r?\"rgba(\"+e+\", \"+this.a+\")\":\"rgb(\"+e+\")\"},r.prototype.toString=function(){return this.toCss(!0)},r.prototype.toJSON=function(){return[a(this.r),a(this.g),a(this.b),this.a>1?this.a:a(255*this.a)]},r.prototype.clone=function(){return new r(this.toRgba())},r.prototype._sanitize=function(){return this.r=Math.round(i(this.r,0,255)),this.g=Math.round(i(this.g,0,255)),this.b=Math.round(i(this.b,0,255)),this.a=i(this.a,0,1),this},r.prototype._set=function(r,e,t,n){this.r=r,this.g=e,this.b=t,this.a=n},r.named={transparent:[0,0,0,0],black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],aliceblue:[240,248,255],antiquewhite:[250,235,215],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],blanchedalmond:[255,235,205],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],oldlace:[253,245,230],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],rebeccapurple:[102,51,153],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],whitesmoke:[245,245,245],yellowgreen:[154,205,50]},r}();return l.prototype.declaredClass=\"esri.Color\",l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/assignHelper\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./geometry\",\"./PopupTemplate\",\"./symbols\",\"./core/JSONSupport\",\"./core/lang\",\"./core/maybe\",\"./core/accessorSupport/decorators\",\"./geometry/support/jsonUtils\",\"./symbols/support/jsonUtils\"],function(e,t,r,o,i,p,s,u,l,a,n,y,c,b){var h=function(e){function t(t,r,o,i){var p=e.call(this,t,r,o,i)||this;return p.layer=null,p.popupTemplate=null,p.sourceLayer=null,Object.defineProperty(p,\"uid\",{value:l.generateUID()}),p}o(t,e),l=t,t.prototype.normalizeCtorArgs=function(e,t,r,o){return e&&!e.declaredClass?e:{geometry:e,symbol:t,attributes:r,popupTemplate:o}},Object.defineProperty(t.prototype,\"attributes\",{set:function(e){var t=this._get(\"attributes\");t!==e&&(this._set(\"attributes\",e),this._notifyLayer(\"attributes\",t,e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"geometry\",{set:function(e){var t=this._get(\"geometry\");t!==e&&(this._set(\"geometry\",e),this._notifyLayer(\"geometry\",t,e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"symbol\",{set:function(e){var t=this._get(\"symbol\");t!==e&&(this._set(\"symbol\",e),this._notifyLayer(\"symbol\",t,e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visible\",{set:function(e){var t=this._get(\"visible\");t!==e&&(this._set(\"visible\",e),this._notifyLayer(\"visible\",t,e))},enumerable:!0,configurable:!0}),t.prototype.getEffectivePopupTemplate=function(e){return void 0===e&&(e=!1),this.popupTemplate?this.popupTemplate:this.sourceLayer?this.sourceLayer.popupTemplate?this.sourceLayer.popupTemplate:e&&n.isSome(this.sourceLayer.defaultPopupTemplate)?this.sourceLayer.defaultPopupTemplate:null:null},t.prototype.getAttribute=function(e){return this.attributes&&this.attributes[e]},t.prototype.setAttribute=function(e,t){var r;if(this.attributes){var o=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer(\"attributes\",o,t,e)}else this.attributes=(r={},r[e]=t,r),this._notifyLayer(\"attributes\",void 0,t,e)},t.prototype.getObjectId=function(){return this.sourceLayer?\"type\"in this.sourceLayer&&\"stream\"===this.sourceLayer.type?this.getAttribute(\"__esri_stream_id__\"):this.sourceLayer.objectIdField?this.getAttribute(this.sourceLayer.objectIdField):null:null},t.prototype.toJSON=function(){return{geometry:n.isSome(this.geometry)?this.geometry.toJSON():null,symbol:n.isSome(this.symbol)?this.symbol.toJSON():null,attributes:r({},this.attributes),popupTemplate:this.popupTemplate&&this.popupTemplate.toJSON()}},t.prototype.clone=function(){return new l(this.cloneProperties())},t.prototype.cloneProperties=function(){return{attributes:a.clone(this.attributes),geometry:a.clone(this.geometry),layer:this.layer,popupTemplate:this.popupTemplate&&this.popupTemplate.clone(),sourceLayer:this.sourceLayer,symbol:a.clone(this.symbol),visible:this.visible}},t.prototype._notifyLayer=function(e,t,r,o){if(this.layer&&this.layer.graphicChanged){var i={graphic:this,property:e,oldValue:t,newValue:r};\"attributes\"===e&&(i.attributeName=o),this.layer.graphicChanged(i)}};var l;return i([y.property({value:null})],t.prototype,\"attributes\",null),i([y.property({value:null,types:p.geometryTypes,json:{read:c.fromJSON}})],t.prototype,\"geometry\",null),i([y.property()],t.prototype,\"layer\",void 0),i([y.property({type:s})],t.prototype,\"popupTemplate\",void 0),i([y.property()],t.prototype,\"sourceLayer\",void 0),i([y.property({value:null,types:u.symbolTypes,json:{read:b.read}})],t.prototype,\"symbol\",null),i([y.property({type:Boolean,value:!0,set:function(e){}})],t.prototype,\"visible\",null),t=l=i([y.subclass(\"esri.Graphic\")],t)}(y.declared(l.JSONSupport)),m=0;return function(e){function t(){return m++}e.generateUID=t}(h||(h={})),h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/assignHelper\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./Color\",\"./core/Collection\",\"./core/collectionUtils\",\"./core/compilerUtils\",\"./core/Error\",\"./core/JSONSupport\",\"./core/lang\",\"./core/Loadable\",\"./core/loadAll\",\"./core/Logger\",\"./core/promiseUtils\",\"./core/accessorSupport/decorators\",\"./core/accessorSupport/ensureType\",\"./ground/NavigationConstraint\",\"./layers/support/types\",\"./webdoc/support/opacityUtils\"],function(e,r,t,o,n,a,i,s,l,p,u,c,y,f,d,h,v,g,m,S,w){function C(e){return e&&\"createElevationSampler\"in e}function I(e){return\"elevation\"===e.type||C(e)}var E=d.getLogger(\"esri.Ground\");return function(r){function u(e){var t=r.call(this,e)||this;t.opacity=1,t.surfaceColor=null,t.navigationConstraint=null,t.layers=new i;var o=function(e){e.parent&&e.parent!==t&&\"remove\"in e.parent&&e.parent.remove(e),e.parent=t,S.isOfType(e,[\"elevation\",\"base-elevation\"])||E.error(\"Layer '\"+e.title+\", id:\"+e.id+\"' of type '\"+e.type+\"' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.\")},n=function(e){e.parent=null};return t.layers.on(\"after-add\",function(e){return o(e.item)}),t.layers.on(\"after-remove\",function(e){return n(e.item)}),t}o(u,r),y=u,u.prototype.initialize=function(){this.when().catch(function(e){E.error(\"#load()\",\"Failed to load ground\",e)}),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)},u.prototype.normalizeCtorArgs=function(e){return e&&\"resourceInfo\"in e&&(this._set(\"resourceInfo\",e.resourceInfo),e=t({},e),delete e.resourceInfo),e},Object.defineProperty(u.prototype,\"layers\",{set:function(e){this._set(\"layers\",s.referenceSetter(e,this._get(\"layers\")))},enumerable:!0,configurable:!0}),u.prototype.writeLayers=function(e,r,o,n){var a=[];if(!e)return void(r.layers=a);n=t({},n,{layerContainerType:\"ground\"}),e.forEach(function(e){if(\"write\"in e){var r=l.typeCast(e)(),t={};r.write(t,n)&&a.push(t)}else n&&n.messages&&n.messages.push(new p(\"layer:unsupported\",\"Layers (\"+e.title+\", \"+e.id+\") of type '\"+e.declaredClass+\"' cannot be persisted in the ground\",{layer:e}))}),r.layers=a},u.prototype.load=function(e){return this.addResolvingPromise(this._loadFromSource(e)),this.when()},u.prototype.loadAll=function(){var e=this;return f.loadAll(this,function(r){r(e.layers)})},u.prototype.queryElevation=function(e,r){var t=this;return this._importElevationQuery().then(function(o){var n=new o.ElevationQuery,a=t.layers.filter(I).toArray();return n.queryAll(a,e,r)})},u.prototype.createElevationSampler=function(e,r){var t=this.layers.filter(I).toArray();return 1===t.length?t[0].createElevationSampler(e,r):this._importElevationQuery().then(function(o){return(new o.ElevationQuery).createSamplerAll(t,e,r)})},u.prototype.clone=function(){var e={opacity:this.opacity,surfaceColor:c.clone(this.surfaceColor),navigationConstraint:c.clone(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(e.loadStatus=\"loaded\"),new y({resourceInfo:this.resourceInfo}).set(e)},u.prototype.read=function(e,r){this.resourceInfo||this._set(\"resourceInfo\",{data:e,context:r}),this.inherited(arguments)},u.prototype._loadFromSource=function(e){var r=this.resourceInfo;return r?this._loadLayersFromJSON(r.data,r.context,e):h.resolve(null)},u.prototype._loadLayersFromJSON=function(r,t,o){var n=this,a=t&&t.origin||\"web-scene\",i=t&&t.portal||null,s=t&&t.url||null;return h.create(function(r){return e([\"./portal/support/layersCreator\"],r)}).then(function(e){h.throwIfAborted(o);var t=[];if(r.layers&&Array.isArray(r.layers)){var l={context:{origin:a,url:s,portal:i,layerContainerType:\"ground\"},defaultLayerType:\"ArcGISTiledElevationServiceLayer\"};t.push(e.populateOperationalLayers(n.layers,r.layers,l))}return h.eachAlways(t)}).then(function(){})},u.prototype._importElevationQuery=function(){return h.create(function(r){e([\"./layers/support/ElevationQuery\"],r)})};var y;return n([v.property({json:{read:!1}})],u.prototype,\"layers\",null),n([v.writer(\"layers\")],u.prototype,\"writeLayers\",null),n([v.property({readOnly:!0})],u.prototype,\"resourceInfo\",void 0),n([v.property({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:g.Integer,read:{reader:w.transparencyToOpacity,source:\"transparency\"},write:{writer:function(e,r){r.transparency=w.opacityToTransparency(e)},target:\"transparency\"}}})],u.prototype,\"opacity\",void 0),n([v.property({type:a,json:{type:[g.Integer],write:function(e,r){r.surfaceColor=e.toJSON().slice(0,3)}}})],u.prototype,\"surfaceColor\",void 0),n([v.property({type:m.NavigationConstraint,json:{write:!0}})],u.prototype,\"navigationConstraint\",void 0),u=y=n([v.subclass(\"esri.Ground\")],u)}(v.declared(u.JSONSupportMixin(y)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./Basemap\",\"./Ground\",\"./core/Accessor\",\"./core/CollectionFlattener\",\"./core/Evented\",\"./core/Logger\",\"./core/accessorSupport/decorators\",\"./support/basemapUtils\",\"./support/groundUtils\",\"./support/LayersMixin\"],function(e,r,t,o,n,a,p,s,u,c,l,i,y,d){var f=c.getLogger(\"esri.Map\");return function(e){function r(r){var t=e.call(this,r)||this;return t.basemap=null,t.ground=new a,t._basemapCache=i.createCache(),t}return t(r,e),Object.defineProperty(r.prototype,\"allLayers\",{get:function(){return new s({root:this,rootCollectionNames:[\"basemap.baseLayers\",\"ground.layers\",\"layers\",\"basemap.referenceLayers\"],getChildrenFunction:function(e){return e.layers}})},enumerable:!0,configurable:!0}),r.prototype.castBasemap=function(e){return i.ensureType(e,this._basemapCache)},r.prototype.castGround=function(e){var r=y.ensureType(e);return r||(f.error(\"Map.ground may not be set to null or undefined\"),this._get(\"ground\"))},r.prototype.findLayerById=function(e){return this.allLayers.find(function(r){return r.id===e})},o([l.property({readOnly:!0})],r.prototype,\"allLayers\",null),o([l.property({type:n})],r.prototype,\"basemap\",void 0),o([l.cast(\"basemap\")],r.prototype,\"castBasemap\",null),o([l.property({type:a,nonNullable:!0})],r.prototype,\"ground\",void 0),o([l.cast(\"ground\")],r.prototype,\"castGround\",null),r=o([l.subclass(\"esri.Map\")],r)}(l.declared(d.LayersMixin(u.EventedMixin(p))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/assignHelper\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./core/tsSupport/generatorHelper\",\"./core/tsSupport/awaiterHelper\",\"./core/arrayUtils\",\"./core/Collection\",\"./core/iteratorUtils\",\"./core/JSONSupport\",\"./core/lang\",\"./core/Logger\",\"./core/promiseUtils\",\"./core/accessorSupport/decorators\",\"./core/accessorSupport/ensureType\",\"./layers/support/fieldUtils\",\"./popup/content\",\"./popup/ExpressionInfo\",\"./popup/FieldInfo\",\"./popup/LayerOptions\",\"./popup/RelatedRecordsInfo\",\"./popup/content/AttachmentsContent\",\"./popup/content/Content\",\"./popup/content/FieldsContent\",\"./popup/content/MediaContent\",\"./popup/content/TextContent\",\"./popup/content/support/mediaInfoTypes\",\"./support/actions/ActionBase\",\"./support/actions/ActionButton\",\"./support/actions/ActionToggle\"],function(t,e,o,n,r,i,s,p,l,a,c,u,f,d,y,h,m,I,v,A,F,g,w,x,_,N,O,E,C,S,T){var b=l.ofType({key:\"type\",defaultKeyValue:\"button\",base:C,typeMap:{button:S,toggle:T}}),R={base:x,key:\"type\",typeMap:{media:N,text:O,attachments:w,fields:_}},L=f.getLogger(\"esri.PopupTemplate\");return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.actions=null,e.content=\"\",e.expressionInfos=null,e.fieldInfos=null,e.layerOptions=null,e.lastEditInfoEnabled=!0,e.outFields=null,e.overwriteActions=!1,e.title=\"\",e.relatedRecordsInfo=null,e}n(e,t),o=e,e.prototype.castContent=function(t){return Array.isArray(t)?t.map(function(t){return h.ensureOneOfType(R,t)}):\"string\"==typeof t||\"function\"==typeof t||t instanceof HTMLElement||d.isPromiseLike(t)?t:(L.error(\"content error\",\"unsupported content value\",{value:t}),null)},e.prototype.readContent=function(t,e){var o=e.popupElements;return Array.isArray(o)&&o.length>0?this._readPopupInfoElements(e):this._readPopupInfo(e)},e.prototype.writeContent=function(t,e){var o=this;if(\"string\"==typeof t)return void(e.description=t);Array.isArray(t)&&(e.popupElements=t.map(function(t){return t&&t.toJSON()}),e.popupElements.forEach(function(t){\"attachments\"===t.type?o._writeAttachmentContent(e):\"media\"===t.type?o._writeMediaContent(t,e):\"text\"===t.type&&o._writeTextContent(t,e)}))},e.prototype.writeFieldInfos=function(t,e){var o=this.content,n=Array.isArray(o)?o:null;if(t){var r=!!n&&n.some(function(t){return\"fields\"===t.type&&(!t.fieldInfos||0===t.fieldInfos.length)});e.fieldInfos=t.filter(Boolean).map(function(t){var e=t.toJSON();return r||(e.visible=!1),e})}if(n)for(var i=0,s=n;i<s.length;i++){var p=s[i];\"fields\"===p.type&&this._writeFieldsContent(p,e)}},e.prototype.writeLayerOptions=function(t,e){e.layerOptions=!t||null===t.showNoDataRecords&&null===t.returnTopmostRaster?null:t.toJSON()},e.prototype.writeTitle=function(t,e){e.title=t||\"\"},e.prototype.clone=function(){var t=this.actions,e=t?u.clone(t.toArray()):[];return new o({actions:e,content:Array.isArray(this.content)?u.clone(this.content):this.content,expressionInfos:Array.isArray(this.expressionInfos)?u.clone(this.expressionInfos):null,fieldInfos:Array.isArray(this.fieldInfos)?u.clone(this.fieldInfos):null,layerOptions:this.layerOptions?u.clone(this.layerOptions):null,lastEditInfoEnabled:this.lastEditInfoEnabled,outFields:Array.isArray(this.outFields)?u.clone(this.outFields):null,overwriteActions:this.overwriteActions,title:this.title,relatedRecordsInfo:this.relatedRecordsInfo?u.clone(this.relatedRecordsInfo):null})},e.prototype.collectRequiredFields=function(t,e){return s(this,void 0,void 0,function(){return i(this,function(o){switch(o.label){case 0:return[4,this._collectExpressionInfoFields(t,e,this.expressionInfos)];case 1:return o.sent(),m.collectFields(t,e,(this.outFields||[]).concat(this._getActionsFields(this.actions),this._getTitleFields(this.title),this._getContentFields(this.content))),[2]}})})},e.prototype.getRequiredFields=function(t){return s(this,void 0,void 0,function(){var e;return i(this,function(o){switch(o.label){case 0:return e=new Set,[4,this.collectRequiredFields(e,t)];case 1:return o.sent(),[2,a.valuesOfSet(e).sort()]}})})},e.prototype._writeFieldsContent=function(t,e){if(Array.isArray(t.fieldInfos)&&t.fieldInfos.length){var o=u.clone(t.fieldInfos);Array.isArray(e.fieldInfos)?o.forEach(function(t){var o=p.find(e.fieldInfos,function(e){return e.fieldName.toLowerCase()===t.fieldName.toLowerCase()});o?o.visible=!0:e.fieldInfos.push(t)}):e.fieldInfos=o}},e.prototype._writeAttachmentContent=function(t){t.showAttachments||(t.showAttachments=!0)},e.prototype._writeTextContent=function(t,e){!e.description&&t.text&&(e.description=t.text)},e.prototype._writeMediaContent=function(t,e){if(Array.isArray(t.mediaInfos)&&t.mediaInfos.length){var o=u.clone(t.mediaInfos);Array.isArray(e.mediaInfos)?e.mediaInfos=e.mediaInfos.concat(o):e.mediaInfos=o}},e.prototype._readPopupInfoElements=function(t){var e=t.description,o=t.mediaInfos,n=t.popupElements,r={description:!1,mediaInfos:!1};return n.map(function(t){return\"media\"===t.type?(t.mediaInfos||!o||r.mediaInfos||(t.mediaInfos=o,r.mediaInfos=!0),N.fromJSON(t)):\"text\"===t.type?(t.text||!e||r.description||(t.text=e,r.description=!0),O.fromJSON(t)):\"attachments\"===t.type?w.fromJSON(t):\"fields\"===t.type?_.fromJSON(t):void 0}).filter(Boolean)},e.prototype._readPopupInfo=function(t){var e=t.description,o=t.mediaInfos,n=t.showAttachments,r=[];return e?r.push(new O({text:e})):r.push(new _),Array.isArray(o)&&o.length&&r.push(N.fromJSON({mediaInfos:o})),n&&r.push(w.fromJSON({displayType:\"list\"})),r.length?r:e},e.prototype._getContentElementFields=function(t){var e=this;if(!t||\"attachments\"===t.type)return[];if(\"fields\"===t.type)return this._getFieldInfoFields(t.fieldInfos||this.fieldInfos);if(\"media\"===t.type){return(t.mediaInfos||[]).reduce(function(t,o){return t.concat(e._getMediaInfoFields(o))},[])}return\"text\"===t.type?this._extractFieldNames(t.text):void 0},e.prototype._getMediaInfoFields=function(t){var e=t.caption,o=t.title,n=t.value,r=n||{},i=r.fields,s=void 0===i?[]:i,p=r.normalizeField,l=r.tooltipField,a=r.sourceURL,c=r.linkURL,u=this._extractFieldNames(o).concat(this._extractFieldNames(e),this._extractFieldNames(a),this._extractFieldNames(c),s);return p&&u.push(p),l&&u.push(l),u},e.prototype._getContentFields=function(t){var e=this;return\"string\"==typeof t?this._extractFieldNames(t):Array.isArray(t)?t.reduce(function(t,o){return t.concat(e._getContentElementFields(o))},[]):[]},e.prototype._collectExpressionInfoFields=function(t,e,o){return s(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return o?[4,d.all(o.map(function(o){return m.collectArcadeFieldNames(t,e,o.expression)}))]:[2];case 1:return n.sent(),[2]}})})},e.prototype._getFieldInfoFields=function(t){return t?t.filter(function(t){return void 0===t.visible||!!t.visible}).map(function(t){return t.fieldName}).filter(function(t){return-1===t.indexOf(\"relationships/\")&&-1===t.indexOf(\"expression/\")}):[]},e.prototype._getActionsFields=function(t){var e=this;return t?t.toArray().reduce(function(t,o){return t.concat(e._getActionFields(o))},[]):[]},e.prototype._getActionFields=function(t){var e=t.className,o=t.title,n=t.type,r=\"button\"===n||\"toggle\"===n?t.image:\"\";return this._extractFieldNames(o).concat(this._extractFieldNames(e),this._extractFieldNames(r))},e.prototype._getTitleFields=function(t){return\"string\"==typeof t?this._extractFieldNames(t):[]},e.prototype._extractFieldNames=function(t){if(!t||\"string\"!=typeof t)return[];var e=/{[^}]*}/g,o=t.match(e);if(!o)return[];var n=/\\{(\\w+):.+\\}/,r=o.filter(function(t){return!(0===t.indexOf(\"{relationships/\")||0===t.indexOf(\"{expression/\"))}).map(function(t){return t.replace(n,\"{$1}\")});return r?r.map(function(t){return t.slice(1,-1)}):[]};var o;return r([y.property({type:b})],e.prototype,\"actions\",void 0),r([y.property()],e.prototype,\"content\",void 0),r([y.cast(\"content\")],e.prototype,\"castContent\",null),r([y.reader(\"content\",[\"description\",\"popupElements\",\"mediaInfos\",\"showAttachments\"])],e.prototype,\"readContent\",null),r([y.writer(\"content\",{popupElements:{type:l.ofType(I.types)},showAttachments:{type:Boolean},mediaInfos:{type:l.ofType(E.types)},description:{type:String}})],e.prototype,\"writeContent\",null),r([y.property({type:[v],json:{write:!0}})],e.prototype,\"expressionInfos\",void 0),r([y.property({type:[A]})],e.prototype,\"fieldInfos\",void 0),r([y.writer(\"fieldInfos\")],e.prototype,\"writeFieldInfos\",null),r([y.property({type:F})],e.prototype,\"layerOptions\",void 0),r([y.writer(\"layerOptions\")],e.prototype,\"writeLayerOptions\",null),r([y.property({type:Boolean,json:{read:{source:\"showLastEditInfo\"},write:{target:\"showLastEditInfo\"},default:!0}})],e.prototype,\"lastEditInfoEnabled\",void 0),r([y.property()],e.prototype,\"outFields\",void 0),r([y.property()],e.prototype,\"overwriteActions\",void 0),r([y.property({json:{type:String}})],e.prototype,\"title\",void 0),r([y.writer(\"title\")],e.prototype,\"writeTitle\",null),r([y.property({type:g,json:{write:!0}})],e.prototype,\"relatedRecordsInfo\",void 0),e=o=r([y.subclass(\"esri.PopupTemplate\")],e)}(y.declared(c.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./core/JSONSupport\",\"./core/accessorSupport/decorators\",\"./layers/support/timeUtils\"],function(t,e,r,n,o,l,a){return function(t){function e(e){var r=t.call(this,e)||this;return r.end=null,r.start=null,r}r(e,t),o=e,e.prototype.readEnd=function(t,e){return null!=e.end?new Date(e.end):null},e.prototype.writeEnd=function(t,e,r){e.end=t?t.getTime():null},e.prototype.readStart=function(t,e){return null!=e.start?new Date(e.start):null},e.prototype.writeStart=function(t,e,r){e.start=t?t.getTime():null},e.prototype.clone=function(){return new o({end:this.end,start:this.start})},e.prototype.intersection=function(t){if(!t)return null;var e,r,n=this.start?this.start.getTime():-1/0,l=this.end?this.end.getTime():1/0,a=t.start?t.start.getTime():-1/0,i=t.end?t.end.getTime():1/0;if(a>=n&&a<=l?e=a:n>=a&&n<=i&&(e=n),l>=a&&l<=i?r=l:i>=n&&i<=l&&(r=i),!isNaN(e)&&!isNaN(r)){var s=new o;return s.start=e===-1/0?null:new Date(e),s.end=r===1/0?null:new Date(r),s}return null},e.prototype.offset=function(t,e){var r=new o,n=this,l=n.start,i=n.end;return l&&(r.start=a.offsetDate(l,t,e)),i&&(r.end=a.offsetDate(i,t,e)),r},e.prototype.equals=function(t){if(!t)return!1;var e=this.start?this.start.getTime():null,r=this.end?this.end.getTime():null,n=t.start?t.start.getTime():null,o=t.end?t.end.getTime():null;return e===n&&r===o};var o;return n([l.property({type:Date,json:{write:{allowNull:!0}}})],e.prototype,\"end\",void 0),n([l.reader(\"end\")],e.prototype,\"readEnd\",null),n([l.writer(\"end\")],e.prototype,\"writeEnd\",null),n([l.property({type:Date,json:{write:{allowNull:!0}}})],e.prototype,\"start\",void 0),n([l.reader(\"start\")],e.prototype,\"readStart\",null),n([l.writer(\"start\")],e.prototype,\"writeStart\",null),e=o=n([l.subclass(\"esri.TimeExtent\")],e)}(l.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./core/JSONSupport\",\"./core/accessorSupport/decorators\",\"./layers/support/timeUtils\"],function(e,t,r,i,o,n,u){return function(e){function t(t){var r=e.call(this,t)||this;return r.value=0,r.unit=\"milliseconds\",r}r(t,e),o=t,t.prototype.toMilliseconds=function(){return this.value*u.millisecondsPerTimeUnit[this.unit]},t.prototype.clone=function(){return new o({value:this.value,unit:this.unit})};var o;return i([n.property({type:Number,json:{write:!0},nonNullable:!0})],t.prototype,\"value\",void 0),i([n.property({type:u.timeUnitKebabDictionary.apiValues,json:{type:u.timeUnitKebabDictionary.jsonValues,read:u.timeUnitKebabDictionary.read,write:u.timeUnitKebabDictionary.write},nonNullable:!0})],t.prototype,\"unit\",void 0),t=o=i([n.subclass(\"esri.TimeInterval\")],t)}(n.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/declareExtendsHelper\",\"./core/tsSupport/decorateHelper\",\"./Camera\",\"./geometry\",\"./core/JSONSupport\",\"./core/accessorSupport/decorators\",\"./geometry/support/jsonUtils\"],function(e,t,r,o,i,n,a,p,s){function c(){return{enabled:!this.camera}}return function(e){function t(t){var r=e.call(this,t)||this;return r.rotation=0,r.scale=0,r.targetGeometry=null,r.camera=null,r}r(t,e),a=t,t.prototype.castRotation=function(e){return e%=360,e<0&&(e+=360),e},t.prototype.clone=function(){return new a({rotation:this.rotation,scale:this.scale,targetGeometry:this.targetGeometry?this.targetGeometry.clone():null,camera:this.camera?this.camera.clone():null})};var a;return o([p.property({type:Number,json:{write:!0,origins:{\"web-scene\":{write:{overridePolicy:c}}}}})],t.prototype,\"rotation\",void 0),o([p.cast(\"rotation\")],t.prototype,\"castRotation\",null),o([p.property({type:Number,json:{write:!0,origins:{\"web-scene\":{write:{overridePolicy:c}}}}})],t.prototype,\"scale\",void 0),o([p.property({types:n.geometryTypes,json:{read:s.fromJSON,write:!0,origins:{\"web-scene\":{read:s.fromJSON,write:{overridePolicy:c}}}}})],t.prototype,\"targetGeometry\",void 0),o([p.property({type:i,json:{write:!0}})],t.prototype,\"camera\",void 0),t=a=o([p.subclass(\"esri.Viewpoint\")],t)}(p.declared(a.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"./declare\",\"./accessorSupport/Properties\",\"./accessorSupport/get\",\"./accessorSupport/introspection\",\"./accessorSupport/set\",\"./accessorSupport/watch\",\"./accessorSupport/testSupport\"],function(t,e,r,s,c,i,o){e=e.default,t.before(function(e,r){t.hasMixin(e,n)&&s.processPrototype(r)}),t.after(function(e){t.hasMixin(e,n)&&(s.processClass(e),Object.defineProperties(e.prototype,{initialized:{get:function(){return this.__accessor__&&this.__accessor__.initialized||!1}},constructed:{get:function(){return this.__accessor__&&2===this.__accessor__.lifecycle||!1}},destroyed:{get:function(){return this.__accessor__&&this.__accessor__.destroyed||!1}}}))});var n=t(null,{declaredClass:\"esri.core.Accessor\",\"-chains-\":{initialize:\"after\",destroy:\"before\"},constructor:function(){if(this.constructor===n)throw new Error(\"[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor\");if(Object.defineProperty(this,\"__accessor__\",{value:new e(this)}),arguments.length>0&&this.normalizeCtorArgs){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);this.__accessor__.ctorArgs=this.normalizeCtorArgs.apply(this,t)}o.interceptor&&o.interceptor.onInstanceConstruct(this)},__accessor__:null,postscript:function(t){var e=this.__accessor__,r=e.ctorArgs||t;e.initialize(),r&&(this.set(r),e.ctorArgs=null),e.constructed(),this.initialize()},initialize:function(){},destroy:function(){if(this.destroyed)try{throw new Error(\"instance is already destroyed\")}catch(t){console.warn(t.stack)}else i.removeTarget(this),this.__accessor__.destroy(),o.interceptor&&o.interceptor.onInstanceDestroy(this)},get:function(t){return r.get(this,t)},hasOwnProperty:function(t){return this.__accessor__?this.__accessor__.has(t):Object.prototype.hasOwnProperty.call(this,t)},keys:function(){return this.__accessor__?this.__accessor__.keys():[]},set:function(t,e){return c.set(this,t,e),this},watch:function(t,e,r){return i.watch(this,t,e,r)},_clearOverride:function(t){return this.__accessor__.clearOverride(t)},_override:function(t,e){return this.__accessor__.override(t,e)},_isOverridden:function(t){return this.__accessor__.isOverridden(t)},notifyChange:function(t){this.__accessor__.propertyInvalidated(t)},_get:function(t){return this.__accessor__.internalGet(t)},_set:function(t,e){return this.__accessor__.internalSet(t,e)}});return n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./ObjectPool\"],function(e,r,n){function o(e){e.length=0}var t=Array.prototype.splice,u=function(){function e(e,r){void 0===e&&(e=50),void 0===r&&(r=50),this._pool=new n(Array,!1,o,r,e)}return e.prototype.acquire=function(){return this._pool.acquire()},e.prototype.copy=function(e){var r=this.acquire();return e.unshift(0,0),t.apply(r,e),e.splice(0,2),r},e.prototype.release=function(e){this._pool.release(e)},e.prototype.prune=function(){this._pool.prune(0)},e.acquire=function(){return i.acquire()},e.copy=function(e){return i.copy(e)},e.release=function(e){return i.release(e)},e.prune=function(){i.prune()},e}(),i=new u(100);return u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function t(t){this.size=0,this._start=0,this.maxSize=t,this._buffer=new Array(t)}return Object.defineProperty(t.prototype,\"entries\",{get:function(){return this._buffer},enumerable:!0,configurable:!0}),t.prototype.enqueue=function(t){if(this.size===this.maxSize){var e=this._buffer[this._start];return this._buffer[this._start]=t,this._start=(this._start+1)%this.maxSize,e}return this._buffer[(this._start+this.size++)%this.maxSize]=t,null},t.prototype.dequeue=function(){if(0===this.size)return null;var t=this._buffer[this._start];return this._buffer[this._start]=null,this.size--,this._start=(this._start+1)%this.maxSize,t},t}();e.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./ArrayPool\",\"./arrayUtils\",\"./Evented\",\"./lang\",\"./ObjectPool\",\"./scheduling\",\"./accessorSupport/decorators\",\"./accessorSupport/ensureType\"],function(e,t,i,r,n,s,o,h,a,c,l,f){function p(e){return e?e instanceof E?e.toArray():e.length?Array.prototype.slice.apply(e):[]:[]}function u(e){if(e&&e.length)return e[0]}function g(e,t,i,r){for(var n=Math.min(e.length-i,t.length-r),s=0;s<n&&e[i+s]===t[r+s];)s++;return s}function v(e,t,i,r){t&&t.forEach(function(t,n,s){e.push(t),v(e,i.call(r,t,n,s),i,r)})}var m=function(){function e(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1}return e.prototype.preventDefault=function(){this.cancellable&&(this.defaultPrevented=!0)},e.prototype.reset=function(e){this.defaultPrevented=!1,this.item=e},e}(),d=function(){},_=new a(m,!0,function(e){e.item=null,e.target=null}),y=new Set,C=new Set,A=new Set,b=new Map,x=0,E=function(e){function t(t){var i=e.call(this,t)||this;return i._chgListeners=[],i._notifications=null,i._timer=null,i.length=0,i._items=[],Object.defineProperty(i,\"uid\",{value:x++}),i}i(t,e),o=t,t.isCollection=function(e){return null!=e&&e instanceof o},t.prototype.normalizeCtorArgs=function(e){return e?Array.isArray(e)||e instanceof o?{items:e}:e:{}},Object.defineProperty(t.prototype,\"items\",{get:function(){return this._items},set:function(e){this._emitBeforeChanges(1)||(this._splice.apply(this,[0,this.length].concat(p(e))),this._emitAfterChanges(1))},enumerable:!0,configurable:!0}),t.prototype.hasEventListener=function(e){return\"change\"===e?this._chgListeners.length>0:this._emitter.hasEventListener(e)},t.prototype.on=function(e,t){if(\"change\"===e){var i=this._chgListeners,r={removed:!1,callback:t};return i.push(r),this._notifications&&this._notifications.push({listeners:i.slice(),items:this._items.slice(),changes:[]}),{remove:function(){this.remove=d,r.removed=!0,i.splice(i.indexOf(r),1)}}}return this._emitter.on(e,t)},t.prototype.once=function(e,t){var i=this.on(e,t);return{remove:function(){i.remove()}}},t.prototype.add=function(e,t){if(this._emitBeforeChanges(1))return this;var i=this.getNextIndex(t);return this._splice(i,0,e),this._emitAfterChanges(1),this},t.prototype.addMany=function(e,t){if(void 0===t&&(t=this._items.length),!e||!e.length)return this;if(this._emitBeforeChanges(1))return this;var i=this.getNextIndex(t);return this._splice.apply(this,[i,0].concat(p(e))),this._emitAfterChanges(1),this},t.prototype.removeAll=function(){if(!this.length||this._emitBeforeChanges(2))return[];var e=this._splice(0,this.length)||[];return this._emitAfterChanges(2),e},t.prototype.clone=function(){return this._createNewInstance({items:this._items.map(h.clone)})},t.prototype.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i,r=e.map(p);return this._createNewInstance({items:(i=this._items).concat.apply(i,r)})},t.prototype.drain=function(e,t){if(this.length&&!this._emitBeforeChanges(2)){for(var i=this._splice(0,this.length),r=i.length,n=0;n<r;n++)e.call(t,i[n],n,i);this._emitAfterChanges(2)}},t.prototype.every=function(e,t){return this._items.every(e,t)},t.prototype.filter=function(e,t){var i;return i=2===arguments.length?this._items.filter(e,t):this._items.filter(e),this._createNewInstance({items:i})},t.prototype.find=function(e,t){return s.find(this._items,e,t)},t.prototype.findIndex=function(e,t){return s.findIndex(this._items,e,t)},t.prototype.flatten=function(e,t){var i=[];return v(i,this,e,t),new o(i)},t.prototype.forEach=function(e,t){return this._items.forEach(e,t)},t.prototype.getItemAt=function(e){return this._items[e]},t.prototype.getNextIndex=function(e){var t=this.length;return e=null==e?t:e,e<0?e=0:e>t&&(e=t),e},t.prototype.includes=function(e,t){return void 0===t&&(t=0),!!arguments.length&&-1!==this._items.indexOf(e,t)},t.prototype.indexOf=function(e,t){return void 0===t&&(t=0),this._items.indexOf(e,t)},t.prototype.join=function(e){return void 0===e&&(e=\",\"),this._items.join(e)},t.prototype.lastIndexOf=function(e,t){return void 0===t&&(t=this.length-1),this._items.lastIndexOf(e,t)},t.prototype.map=function(e,t){var i=this._items.map(e,t);return new o({items:i})},t.prototype.reorder=function(e,t){void 0===t&&(t=this.length-1);var i=this.indexOf(e);if(-1!==i){if(t<0?t=0:t>=this.length&&(t=this.length-1),i!==t){if(this._emitBeforeChanges(4))return e;this._splice(i,1),this._splice(t,0,e),this._emitAfterChanges(4)}return e}},t.prototype.pop=function(){if(this.length&&!this._emitBeforeChanges(2)){var e=u(this._splice(this.length-1,1));return this._emitAfterChanges(2),e}},t.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._emitBeforeChanges(1)?this.length:(this._splice.apply(this,[this.length,0].concat(e)),this._emitAfterChanges(1),this.length)},t.prototype.reduce=function(e,t){var i=this._items;return 2===arguments.length?i.reduce(e,t):i.reduce(e)},t.prototype.reduceRight=function(e,t){var i=this._items;return 2===arguments.length?i.reduceRight(e,t):i.reduceRight(e)},t.prototype.remove=function(e){return this.removeAt(this.indexOf(e))},t.prototype.removeAt=function(e){if(!(e<0||e>=this.length||this._emitBeforeChanges(2))){var t=u(this._splice(e,1));return this._emitAfterChanges(2),t}},t.prototype.removeMany=function(e){if(!e||!e.length||this._emitBeforeChanges(2))return[];for(var t=e instanceof o?e.toArray():e,i=this._items,r=[],n=t.length,s=0;s<n;s++){var h=t[s],a=i.indexOf(h);if(a>-1){var c=1+g(t,i,s+1,a+1),l=this._splice(a,c);l&&l.length>0&&r.push.apply(r,l),s+=c-1}}return this._emitAfterChanges(2),r},t.prototype.reverse=function(){if(this._emitBeforeChanges(4))return this;var e=this._splice(0,this.length);return e&&(e.reverse(),this._splice.apply(this,[0,0].concat(e))),this._emitAfterChanges(4),this},t.prototype.shift=function(){if(this.length&&!this._emitBeforeChanges(2)){var e=u(this._splice(0,1));return this._emitAfterChanges(2),e}},t.prototype.slice=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=this.length),this._createNewInstance({items:this._items.slice(e,t)})},t.prototype.some=function(e,t){return this._items.some(e,t)},t.prototype.sort=function(e){if(!this.length||this._emitBeforeChanges(4))return this;var t=this._splice(0,this.length);return arguments.length?t.sort(e):t.sort(),this._splice.apply(this,[0,0].concat(t)),this._emitAfterChanges(4),this},t.prototype.splice=function(e,t){for(var i=[],r=2;r<arguments.length;r++)i[r-2]=arguments[r];var n=(t?2:0)|(i.length?1:0);if(this._emitBeforeChanges(n))return[];var s=this._splice.apply(this,[e,t].concat(i))||[];return this._emitAfterChanges(n),s},t.prototype.toArray=function(){return this._items.slice()},t.prototype.toJSON=function(){return this.toArray()},t.prototype.toLocaleString=function(){return this._items.toLocaleString()},t.prototype.toString=function(){return this._items.toString()},t.prototype.unshift=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!e.length||this._emitBeforeChanges(1)?this.length:(this._splice.apply(this,[0,0].concat(e)),this._emitAfterChanges(1),this.length)},t.prototype._createNewInstance=function(e){return new this.constructor(e)},t.prototype._splice=function(e,t){for(var i=this,r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var s,o,h=this._items,a=this.constructor.prototype.itemType;if(!this._notifications&&this.hasEventListener(\"change\")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._timer=c.schedule(function(){return i._dispatchChange()})),t){if(o=h.splice(e,t),this.hasEventListener(\"before-remove\")){var l=_.acquire();l.target=this,l.cancellable=!0;for(var f=0,p=o.length;f<p;f++)s=o[f],l.reset(s),this.emit(\"before-remove\",l),l.defaultPrevented&&(o.splice(f,1),h.splice(e,0,s),e+=1,f-=1,p-=1);_.release(l)}if(this.length=this._items.length,this.hasEventListener(\"after-remove\")){var u=_.acquire();u.target=this,u.cancellable=!1;for(var p=o.length,f=0;f<p;f++)u.reset(o[f]),this.emit(\"after-remove\",u);_.release(u)}}if(r&&r.length){if(a){for(var g=[],v=0,m=r;v<m.length;v++){var d=m[v],y=a.ensureType(d);null==y&&null!=d||g.push(y)}r=g}var C=this.hasEventListener(\"before-add\"),A=this.hasEventListener(\"after-add\"),b=e===this.length;if(C||A){var x=_.acquire();x.target=this,x.cancellable=!0;var E=_.acquire();E.target=this,E.cancellable=!1;for(var O=0,B=r;O<B.length;O++){var L=B[O];C?(x.reset(L),this.emit(\"before-add\",x),x.defaultPrevented||(b?h.push(L):h.splice(e++,0,L),this._set(\"length\",h.length),A&&(E.reset(L),this.emit(\"after-add\",E)))):(b?h.push(L):h.splice(e++,0,L),this._set(\"length\",h.length),E.reset(L),this.emit(\"after-add\",E))}_.release(E),_.release(x)}else b?h.push.apply(h,r):h.splice.apply(h,[e,0].concat(r)),this._set(\"length\",h.length)}return(r&&r.length||o&&o.length)&&this._notifyChangeEvent(r,o),o},t.prototype._emitBeforeChanges=function(e){var t=!1;if(this.hasEventListener(\"before-changes\")){var i=_.acquire();i.target=this,i.cancellable=!0,i.type=e,this.emit(\"before-changes\",i),t=i.defaultPrevented,_.release(i)}return t},t.prototype._emitAfterChanges=function(e){if(this.hasEventListener(\"after-changes\")){var t=_.acquire();t.target=this,t.cancellable=!1,t.type=e,this.emit(\"after-changes\",t),_.release(t)}},t.prototype._notifyChangeEvent=function(e,t){this.hasEventListener(\"change\")&&this._notifications[this._notifications.length-1].changes.push({added:e,removed:t})},t.prototype._dispatchChange=function(){if(this._timer&&(this._timer.remove(),this._timer=null),this._notifications){var e=this._notifications;this._notifications=null;for(var t=this,i=0,r=e;i<r.length;i++){var s=r[i];!function(e){var i=e.changes;y.clear(),C.clear(),A.clear();for(var r=0,s=i;r<s.length;r++){var o=s[r],h=o.added,a=o.removed;if(h)if(0===A.size&&0===C.size)for(var c=0,l=h;c<l.length;c++){var f=l[c];y.add(f)}else for(var p=0,u=h;p<u.length;p++){var f=u[p];C.has(f)?(A.add(f),C.delete(f)):A.has(f)||y.add(f)}if(a)if(0===A.size&&0===y.size)for(var g=0,v=a;g<v.length;g++){var f=v[g];C.add(f)}else for(var m=0,d=a;m<d.length;m++){var f=d[m];y.has(f)?y.delete(f):(A.delete(f),C.add(f))}}var _=n.acquire();y.forEach(function(e){_.push(e)});var b=n.acquire();C.forEach(function(e){b.push(e)});var x=t._items,E=e.items,O=n.acquire();if(A.forEach(function(e){E.indexOf(e)!==x.indexOf(e)&&O.push(e)}),e.listeners&&(_.length||b.length||O.length))for(var B={target:t,added:_,removed:b,moved:O},L=e.listeners,w=L.length,I=0;I<w;I++){var S=e.listeners[I];S.removed||S.callback.call(t,B)}n.release(_),n.release(b),n.release(O)}(s)}y.clear(),C.clear(),A.clear()}};var o;return t.ofType=function(e){if(!e)return o;if(b.has(e))return b.get(e);var t;if(\"function\"==typeof e)t=e.prototype.declaredClass;else if(e.base)t=e.base.prototype.declaredClass;else for(var n in e.typeMap){var s=e.typeMap[n].prototype.declaredClass;t?t+=\" | \"+s:t=s}var h=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i(n,e),n=r([l.subclass(\"esri.core.Collection<\"+t+\">\")],n)}(l.declared(o)),a={Type:e,ensureType:\"function\"==typeof e?f.ensureType(e):f.ensureOneOfType(e)};return Object.defineProperty(h.prototype,\"itemType\",{value:a}),b.set(e,h),h},r([l.property()],t.prototype,\"length\",void 0),r([l.property()],t.prototype,\"items\",null),t=o=r([l.subclass(\"esri.core.Collection\")],t)}(l.declared(o.EventedAccessor));return E});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Collection\",\"./Handles\",\"./accessorSupport/decorators\"],function(t,o,e,r,n,i,s){return function(t){function o(o){var e=t.call(this,o)||this;return e._handles=new i,e.root=null,e}return e(o,t),o.prototype.initialize=function(){var t=this;this._handles.add(this.rootCollectionNames.map(function(o){return t.watch(\"root.\"+o,function(){return t.updateCollections()},!0)})),this.updateCollections()},o.prototype.destroy=function(){this.root=null,this.refresh(),this._handles.destroy(),this._handles=null},o.prototype.updateCollections=function(){var t=this;this._collections=this.rootCollectionNames.map(function(o){return t.get(\"root.\"+o)}).filter(function(t){return null!=t}),this.refresh()},o.prototype.refresh=function(){var t=this,o=this._handles;o.remove(\"collections\"),this.removeAll();for(var e=[],r=[],n=0,i=this._collections;n<i.length;n++){var s=i[n];this._processCollection(e,r,s)}this.push.apply(this,r);for(var l=0,c=e;l<c.length;l++){var p=c[l];o.add(p.on(\"after-changes\",function(){return t.refresh()}),\"collections\")}},o.prototype._createNewInstance=function(t){return new n(t)},o.prototype._processCollection=function(t,o,e){var r=this;e&&(t.push(e),e.forEach(function(e){e&&(o.push(e),r._processCollection(t,o,r.getChildrenFunction(e)))}))},r([s.property()],o.prototype,\"rootCollectionNames\",void 0),r([s.property()],o.prototype,\"root\",void 0),r([s.property()],o.prototype,\"getChildrenFunction\",void 0),o=r([s.subclass(\"esri.core.CollectionFlattener\")],o)}(s.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/extendsHelper\",\"./lang\",\"./Logger\",\"./Message\"],function(e,t,r,o,s,n){var i=function(e){function t(r,o,s){var n=e.call(this,r,o,s)||this;return n instanceof t?n:new t(r,o,s)}return r(t,e),t.prototype.toJSON=function(){if(null!=this.details)try{var e=o.clone(this.details);return{name:this.name,message:this.message,details:e,dojoType:this.dojoType}}catch(e){throw s.getLogger(\"esri.core.Error\").error(e),e}return{name:this.name,message:this.message,details:this.details,dojoType:this.dojoType}},t.fromJSON=function(e){var r=new t(e.name,e.message,e.details);return null!=e.dojoType&&(r.dojoType=e.dojoType),r},t}(n);return i.prototype.type=\"error\",i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Accessor\",\"./accessorSupport/decorators\",\"./accessorSupport/utils\"],function(t,e,r,n,i,o,s){var u=function(){function t(e){this._emitter=new t.EventEmitter(this);var r=e&&void 0!==e.target?e.target:this;this._emitter=new t.EventEmitter(r)}return t.prototype.emit=function(t,e){return this._emitter.emit(t,e)},t.prototype.on=function(t,e){return this._emitter.on(t,e)},t.prototype.once=function(t,e){return this._emitter.once(t,e)},t.prototype.hasEventListener=function(t){return this._emitter.hasEventListener(t)},t}();return function(t){var e=function(){function t(t){this.target=t}return t.prototype.clear=function(){this._listenersMap&&this._listenersMap.clear()},t.prototype.emit=function(t,e){var r=this,n=this._listenersMap&&this._listenersMap.get(t);return!!n&&(e=e||{},(!e.target&&this.target||e.target&&!this.target)&&(e.target=this.target),n.slice().forEach(function(t){t.call(r.target,e)}),n.length>0)},t.prototype.on=function(t,e){var r=this;if(Array.isArray(t)){var n=t.map(function(t){return r.on(t,e)});return s.handlesGroup(n)}if(t.indexOf(\",\")>-1)throw new TypeError(\"Evented.on() with a comma delimited string of event types is not supported\");this._listenersMap||(this._listenersMap=new Map);var i=this._listenersMap.get(t)||[];return i.push(e),this._listenersMap.set(t,i),{remove:function(){var n=r._listenersMap&&r._listenersMap.get(t)||[];n.indexOf(e)>=0&&n.splice(n.indexOf(e),1)}}},t.prototype.once=function(t,e){var r,n=this;return r=this.on(t,function(t){r.remove(),e.call(n.target,t)})},t.prototype.hasEventListener=function(t){var e=this._listenersMap&&this._listenersMap.get(t);return null!=e&&e.length>0},t}();t.EventEmitter=e,t.EventedMixin=function(t){return function(t){function i(){var r=null!==t&&t.apply(this,arguments)||this;return r._emitter=new e(r),r}return r(i,t),i.prototype.emit=function(t,e){return this._emitter.emit(t,e)},i.prototype.on=function(t,e){return this._emitter.on(t,e)},i.prototype.once=function(t,e){return this._emitter.once(t,e)},i.prototype.hasEventListener=function(t){return this._emitter.hasEventListener(t)},i=n([o.subclass(\"esri.core.Evented\")],i)}(o.declared(t))};var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._emitter=new u.EventEmitter(e),e}return r(e,t),e.prototype.emit=function(t,e){return this._emitter.emit(t,e)},e.prototype.on=function(t,e){return this._emitter.on(t,e)},e.prototype.once=function(t,e){return this._emitter.once(t,e)},e.prototype.hasEventListener=function(t){return this._emitter.hasEventListener(t)},e=n([o.subclass(\"esri.core.Evented\")],e)}(o.declared(i));t.EventedAccessor=p}(u||(u={})),u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"./Accessor\",\"./Handles\",\"./accessorSupport/decorators\",\"../views/support/WatchUpdatingTracking\"],function(e,n,r,t,o,a,s,d){Object.defineProperty(n,\"__esModule\",{value:!0}),n.HandleOwnerMixin=function(e){return function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n.prototype.destroy=function(){this.destroyed||(this.handles.destroy(),this.updatingHandles.destroy())},Object.defineProperty(n.prototype,\"handles\",{get:function(){return this._get(\"handles\")||new a},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"updatingHandles\",{get:function(){return this._get(\"updatingHandles\")||new d.WatchUpdatingTracking},enumerable:!0,configurable:!0}),t([s.property({readOnly:!0})],n.prototype,\"handles\",null),t([s.property({readOnly:!0})],n.prototype,\"updatingHandles\",null),n=t([s.subclass(\"esri.core.HandleOwner\")],n)}(s.declared(e))};var i=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n=t([s.subclass(\"esri.core.HandleOwner\")],n)}(s.declared(n.HandleOwnerMixin(o)));n.HandleOwner=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"./Accessor\",\"./Collection\",\"./accessorSupport/decorators\"],function(r,e,t,o,n,i,s){return function(r){function e(e){var t=r.call(this,e)||this;return t._groups=new Map,t}return t(e,r),e.prototype.destroy=function(){this.removeAll()},Object.defineProperty(e.prototype,\"size\",{get:function(){var r=0;return this._groups.forEach(function(e){r+=e.length}),r},enumerable:!0,configurable:!0}),e.prototype.add=function(r,e){var t=this;if(!this._isHandle(r)&&!Array.isArray(r)&&!i.isCollection(r))return this;var o=this._getOrCreateGroup(e);return Array.isArray(r)||i.isCollection(r)?r.forEach(function(r){return t._isHandle(r)&&o.push(r)}):o.push(r),this.notifyChange(\"size\"),this},e.prototype.forEach=function(r,e){if(\"function\"==typeof r)this._groups.forEach(function(e){return e.forEach(r)});else{var t=this._getGroup(r);t&&t.forEach(e)}},e.prototype.has=function(r){return this._groups.has(this._ensureGroupKey(r))},e.prototype.remove=function(r){if(Array.isArray(r)||i.isCollection(r))return r.forEach(this.remove,this),this;if(!this.has(r))return this;for(var e=this._getGroup(r),t=0;t<e.length;t++)e[t].remove();return this._deleteGroup(r),this.notifyChange(\"size\"),this},e.prototype.removeAll=function(){return this._groups.forEach(function(r){for(var e=0;e<r.length;e++)r[e].remove()}),this._groups.clear(),this.notifyChange(\"size\"),this},e.prototype._isHandle=function(r){return r&&!!r.remove},e.prototype._getOrCreateGroup=function(r){if(this.has(r))return this._getGroup(r);var e=[];return this._groups.set(this._ensureGroupKey(r),e),e},e.prototype._getGroup=function(r){return this._groups.get(this._ensureGroupKey(r))},e.prototype._deleteGroup=function(r){return this._groups.delete(this._ensureGroupKey(r))},e.prototype._ensureGroupKey=function(r){return r||\"_default_\"},o([s.property({readOnly:!0})],e.prototype,\"size\",null),e=o([s.subclass(\"esri.core.Handles\")],e)}(s.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/generatorHelper\"],function(e,r,n){var t;return function(e){function r(e,r,n,t){for(var a=r,o=r,i=n>>>1,c=e[a-1];o<=i;){o=a<<1,o<n&&t(e[o-1],e[o])<0&&++o;var u=e[o-1];if(t(u,c)<=0)break;e[a-1]=u,a=o}e[a-1]=c}function t(e,r){return e<r?-1:e>r?1:0}function a(e,n,a,o){void 0===n&&(n=0),void 0===a&&(a=e.length),void 0===o&&(o=t);for(var i=a>>>1;i>n;i--)r(e,i,a,o);for(var c=n+1,i=a-1;i>n;i--){var u=e[n];e[n]=e[i],e[i]=u,r(e,c,i,o)}}function o(e,a,o,i){var c,u,c,s;return n(this,function(n){switch(n.label){case 0:void 0===a&&(a=0),void 0===o&&(o=e.length),void 0===i&&(i=t),c=o>>>1,n.label=1;case 1:return c>a?(r(e,c,o,i),[4]):[3,4];case 2:n.sent(),n.label=3;case 3:return c--,[3,1];case 4:u=a+1,c=o-1,n.label=5;case 5:return c>a?(s=e[a],e[a]=e[c],e[c]=s,r(e,u,c,i),[4]):[3,8];case 6:n.sent(),n.label=7;case 7:return c--,[3,5];case 8:return[2]}})}e.sort=a,e.iterableSort=o}(t||(t={})),t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./accessorSupport/decorators\"],function(e,r,t,n,i){Object.defineProperty(r,\"__esModule\",{value:!0});var o=0;r.IdentifiableMixin=function(e){return function(e){function r(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];var n=e.apply(this,r)||this;return Object.defineProperty(n,\"uid\",{writable:!1,configurable:!1,value:Date.now().toString(16)+\"-object-\"+o++}),n}return t(r,e),r=n([i.subclass(\"esri.core.Identifiable\")],r)}(i.declared(e))};var u=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return t(r,e),r=n([i.subclass(\"esri.core.Identifiable\")],r)}(i.declared(r.IdentifiableMixin(function(){function e(){}return e}())));r.Identifiable=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./MemCache\"],function(t,e,o){return function(){function t(t,e){this._storage=new o.MemCacheStorage,this._storage.maxSize=t,e&&this._storage.registerRemoveFunc(\"\",e)}return t.prototype.put=function(t,e){this._storage.put(t,e,1,1)},t.prototype.pop=function(t){return this._storage.pop(t)},t.prototype.get=function(t){return this._storage.get(t)},t.prototype.clear=function(){this._storage.clearAll()},t.prototype.destroy=function(){this._storage.clearAll()},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Accessor\",\"./declare\",\"./accessorSupport/decorators\",\"./accessorSupport/read\",\"./accessorSupport/write\"],function(r,t,e,o,n,u,i,p,c){function s(r,t){if(!r)return null;if(r.declaredClass)throw new Error(\"JSON object is already hydrated\");var e=this,o=new e;return o.read(r,t),o}function a(r){return r&&\"read\"in r&&\"write\"in r&&\"toJSON\"in r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.JSONSupportMixin=function(r){var t=function(r){function t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.apply(this,t)||this}return e(t,r),t.prototype.read=function(r,t){p.default(this,r,t)},t.prototype.write=function(r,t){return c.default(this,r||{},t)},t.prototype.toJSON=function(r){return this.write(null,r)},t.fromJSON=function(r,t){return s.call(this,r,t)},t=o([i.subclass(\"esri.core.JSONSupport\")],t)}(i.declared(r));return t.prototype.toJSON.isDefaultToJSON=!0,t},t.isJSONSupport=a,u.after(function(r){for(var t=r.prototype;;){if(a(t))return void(r.fromJSON=s.bind(r));if(!(t=Object.getPrototypeOf(t)))return}});var f=function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return e(t,r),t=o([i.subclass(\"esri.core.JSONSupport\")],t)}(i.declared(t.JSONSupportMixin(n)));t.JSONSupport=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./MemCache\"],function(t,e,o){return function(){function t(t,e){this._storage=new o.MemCacheStorage,this._storage.maxSize=t,e&&this._storage.registerRemoveFunc(\"\",e)}return t.prototype.put=function(t,e,o){this._storage.put(t,e,o,1)},t.prototype.pop=function(t){return this._storage.pop(t)},t.prototype.get=function(t){return this._storage.get(t)},t.prototype.clear=function(){this._storage.clearAll()},t.prototype.destroy=function(){this._storage.clearAll()},Object.defineProperty(t.prototype,\"maxSize\",{get:function(){return this._storage.maxSize},set:function(t){this._storage.maxSize=t},enumerable:!0,configurable:!0}),t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Accessor\",\"./Error\",\"./lang\",\"./Promise\",\"./promiseUtils\",\"./Warning\",\"./accessorSupport/decorators\"],function(o,r,e,t,n,a,l,d,s,i,u){var c=\"not-loaded\",p=\"loading\",f=\"failed\",y=\"loaded\",h=function(o){var r=function(o){function r(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=o.apply(this,r)||this;return t.loadError=null,t.loadStatus=\"not-loaded\",t.loadWarnings=null,t._set(\"loadWarnings\",[]),t.addResolvingPromise(s.create(function(o){var r=t.load.bind(t);t.load=function(e){var n=s.create(function(o,r){s.onAbortOrThrow(e,r),t.destroyed&&r(new a(\"load:instance-destroyed\",\"Instance is destroyed\",{instance:t})),t._promiseProps.when(o,r)});if(t.loadStatus===c){t._set(\"loadStatus\",p);var l=t._loadController=s.createAbortController();r({signal:l.signal}),s.onAbort(l.signal,function(){t._promiseProps.abort()})}return o(),n}})),t.when(function(){t._set(\"loadStatus\",y),t._loadController=null},function(o){t._set(\"loadStatus\",f),t._set(\"loadError\",o),t._loadController=null}),t}return e(r,o),Object.defineProperty(r.prototype,\"loaded\",{get:function(){return this.loadStatus===y},enumerable:!0,configurable:!0}),r.prototype.load=function(){return null},r.prototype.cancelLoad=function(){return this.isFulfilled()?this:(this._set(\"loadError\",new a(\"load:cancelled\",\"Cancelled\")),this._loadController.abort(),this)},t([u.property({readOnly:!0,dependsOn:[\"loadStatus\"]})],r.prototype,\"loaded\",null),t([u.property({readOnly:!0})],r.prototype,\"loadError\",void 0),t([u.property()],r.prototype,\"loadStatus\",void 0),t([u.property({type:[i],readOnly:!0})],r.prototype,\"loadWarnings\",void 0),r=t([u.subclass(\"esri.core.Loadable\")],r)}(u.declared(o));return r.prototype[\"-chains-\"]=l.mixin({},n._meta.chains,{load:\"after\"}),r},b=function(o){function r(){return null!==o&&o.apply(this,arguments)||this}return e(r,o),r=t([u.subclass(\"esri.core.Loadable\")],r)}(u.declared(h(d.EsriPromise)));return function(o){function r(o){return!(!o||!o.load)}o.LoadableMixin=h,o.isLoadable=r}(b||(b={})),b});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./has\",\"./string\",\"@dojo/framework/shim/Promise\"],function(e,t,r,o){var n={info:0,warn:1,error:2},i=function(){function e(t){void 0===t&&(t={}),this._loggedMessages={error:new Map,warn:new Map,info:new Map},this.module=t.module||\"\",this.writer=t.writer||null,this.level=t.level||null,null!=t.enabled&&(this.enabled=!!t.enabled),e._loggers[this.module]=this;var r=this.module.lastIndexOf(\".\");-1!==r&&(this.parent=e.getLogger(this.module.slice(0,r)))}return e.prototype.log=function(t,r){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];if(this._isEnabled()&&this._matchLevel(t)){if(\"always\"!==r&&!e._throttlingDisabled){var i=this._argsToKey(o),c=this._loggedMessages[t].get(i);if(\"once\"===r&&null!=c||\"oncePerTick\"===r&&c>=e._tickCounter)return;this._loggedMessages[t].set(i,e._tickCounter),e._scheduleTickCounterIncrement()}var l=this._inheritedWriter();l&&l.apply(void 0,[t,this.module].concat(o))}},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"error\",\"always\"].concat(e))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"warn\",\"always\"].concat(e))},e.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"info\",\"always\"].concat(e))},e.prototype.errorOnce=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"error\",\"once\"].concat(e))},e.prototype.warnOnce=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"warn\",\"once\"].concat(e))},e.prototype.infoOnce=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"info\",\"once\"].concat(e))},e.prototype.errorOncePerTick=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"error\",\"oncePerTick\"].concat(e))},e.prototype.warnOncePerTick=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"warn\",\"oncePerTick\"].concat(e))},e.prototype.infoOncePerTick=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log.apply(this,[\"info\",\"oncePerTick\"].concat(e))},e.prototype.getLogger=function(t){return e.getLogger(this.module+\".\"+t)},Object.defineProperty(e,\"test\",{get:function(){return{resetLoggers:function(t){void 0===t&&(t={});var r=e._loggers;return e._loggers=t,r},set throttlingDisabled(t){e._throttlingDisabled=t}}},enumerable:!0,configurable:!0}),e.getLogger=function(t){var r=e._loggers[t];return r||(r=new e({module:t})),r},e.prototype._parentWithMember=function(e,t){for(var r=this;r&&null==r[e];)r=r.parent;return r?r[e]:t},e.prototype._inheritedWriter=function(){return this._parentWithMember(\"writer\",this._consoleWriter)},e.prototype._consoleWriter=function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];console[e].apply(console,[\"[\"+t+\"]\"].concat(r))},e.prototype._matchLevel=function(e){return n[this._parentWithMember(\"level\",\"error\")]<=n[e]},e.prototype._isEnabled=function(){return this._parentWithMember(\"enabled\",!0)},e.prototype._argsToKey=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=function(e,t){return\"object\"!=typeof t||Array.isArray(t)?t:\"[Object]\"};return o.numericHash(JSON.stringify(e,r))},e._scheduleTickCounterIncrement=function(){e._tickCounterScheduled||(e._tickCounterScheduled=!0,Promise.resolve().then(function(){e._tickCounter++,e._tickCounterScheduled=!1}))},e._loggers={},e._tickCounter=0,e._tickCounterScheduled=!1,e._throttlingDisabled=!1,e}(),c=i.getLogger(\"esri\");return r(\"dojo-debug-messages\")?c.level=\"info\":c.level=\"warn\",i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/*\tA port of Paul Johnstone's MD5 implementation\n *\thttp://pajhome.org.uk/crypt/md5/index.html\n *\n *\tCopyright (C) Paul Johnston 1999 - 2002.\n *\tOther contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * \tDistributed under the BSD License\n *\n *\tDojo port by Tom Trenka\n * Later ported to typescript\n */\n\ndefine([\"require\",\"exports\"],function(r,t){function n(r,t){var n=(65535&r)+(65535&t);return(r>>16)+(t>>16)+(n>>16)<<16|65535&n}function e(r){for(var t=[],n=0,e=r.length*l;n<e;n+=l)t[n>>5]|=(r.charCodeAt(n/l)&y)<<n%32;return t}function u(r){for(var t=[],n=0,e=32*r.length;n<e;n+=l)t.push(String.fromCharCode(r[n>>5]>>>n%32&y));return t.join(\"\")}function o(r){for(var t=\"0123456789abcdef\",n=[],e=0,u=4*r.length;e<u;e++)n.push(t.charAt(r[e>>2]>>e%4*8+4&15)+t.charAt(r[e>>2]>>e%4*8&15));return n.join(\"\")}function a(r){for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=[],e=0,u=4*r.length;e<u;e+=3)for(var o=(r[e>>2]>>e%4*8&255)<<16|(r[e+1>>2]>>(e+1)%4*8&255)<<8|r[e+2>>2]>>(e+2)%4*8&255,a=0;a<4;a++)8*e+6*a>32*r.length?n.push(\"=\"):n.push(t.charAt(o>>6*(3-a)&63));return n.join(\"\")}function c(r,t){return r<<t|r>>>32-t}function i(r,t,e,u,o,a){return n(c(n(n(t,r),n(u,a)),o),e)}function f(r,t,n,e,u,o,a){return i(t&n|~t&e,r,t,u,o,a)}function s(r,t,n,e,u,o,a){return i(t&e|n&~e,r,t,u,o,a)}function p(r,t,n,e,u,o,a){return i(t^n^e,r,t,u,o,a)}function h(r,t,n,e,u,o,a){return i(n^(t|~e),r,t,u,o,a)}function v(r,t){r[t>>5]|=128<<t%32,r[14+(t+64>>>9<<4)]=t;for(var e=1732584193,u=-271733879,o=-1732584194,a=271733878,c=0;c<r.length;c+=16){var i=e,v=u,g=o,l=a;e=f(e,u,o,a,r[c+0],7,-680876936),a=f(a,e,u,o,r[c+1],12,-389564586),o=f(o,a,e,u,r[c+2],17,606105819),u=f(u,o,a,e,r[c+3],22,-1044525330),e=f(e,u,o,a,r[c+4],7,-176418897),a=f(a,e,u,o,r[c+5],12,1200080426),o=f(o,a,e,u,r[c+6],17,-1473231341),u=f(u,o,a,e,r[c+7],22,-45705983),e=f(e,u,o,a,r[c+8],7,1770035416),a=f(a,e,u,o,r[c+9],12,-1958414417),o=f(o,a,e,u,r[c+10],17,-42063),u=f(u,o,a,e,r[c+11],22,-1990404162),e=f(e,u,o,a,r[c+12],7,1804603682),a=f(a,e,u,o,r[c+13],12,-40341101),o=f(o,a,e,u,r[c+14],17,-1502002290),u=f(u,o,a,e,r[c+15],22,1236535329),e=s(e,u,o,a,r[c+1],5,-165796510),a=s(a,e,u,o,r[c+6],9,-1069501632),o=s(o,a,e,u,r[c+11],14,643717713),u=s(u,o,a,e,r[c+0],20,-373897302),e=s(e,u,o,a,r[c+5],5,-701558691),a=s(a,e,u,o,r[c+10],9,38016083),o=s(o,a,e,u,r[c+15],14,-660478335),u=s(u,o,a,e,r[c+4],20,-405537848),e=s(e,u,o,a,r[c+9],5,568446438),a=s(a,e,u,o,r[c+14],9,-1019803690),o=s(o,a,e,u,r[c+3],14,-187363961),u=s(u,o,a,e,r[c+8],20,1163531501),e=s(e,u,o,a,r[c+13],5,-1444681467),a=s(a,e,u,o,r[c+2],9,-51403784),o=s(o,a,e,u,r[c+7],14,1735328473),u=s(u,o,a,e,r[c+12],20,-1926607734),e=p(e,u,o,a,r[c+5],4,-378558),a=p(a,e,u,o,r[c+8],11,-2022574463),o=p(o,a,e,u,r[c+11],16,1839030562),u=p(u,o,a,e,r[c+14],23,-35309556),e=p(e,u,o,a,r[c+1],4,-1530992060),a=p(a,e,u,o,r[c+4],11,1272893353),o=p(o,a,e,u,r[c+7],16,-155497632),u=p(u,o,a,e,r[c+10],23,-1094730640),e=p(e,u,o,a,r[c+13],4,681279174),a=p(a,e,u,o,r[c+0],11,-358537222),o=p(o,a,e,u,r[c+3],16,-722521979),u=p(u,o,a,e,r[c+6],23,76029189),e=p(e,u,o,a,r[c+9],4,-640364487),a=p(a,e,u,o,r[c+12],11,-421815835),o=p(o,a,e,u,r[c+15],16,530742520),u=p(u,o,a,e,r[c+2],23,-995338651),e=h(e,u,o,a,r[c+0],6,-198630844),a=h(a,e,u,o,r[c+7],10,1126891415),o=h(o,a,e,u,r[c+14],15,-1416354905),u=h(u,o,a,e,r[c+5],21,-57434055),e=h(e,u,o,a,r[c+12],6,1700485571),a=h(a,e,u,o,r[c+3],10,-1894986606),o=h(o,a,e,u,r[c+10],15,-1051523),u=h(u,o,a,e,r[c+1],21,-2054922799),e=h(e,u,o,a,r[c+8],6,1873313359),a=h(a,e,u,o,r[c+15],10,-30611744),o=h(o,a,e,u,r[c+6],15,-1560198380),u=h(u,o,a,e,r[c+13],21,1309151649),e=h(e,u,o,a,r[c+4],6,-145523070),a=h(a,e,u,o,r[c+11],10,-1120210379),o=h(o,a,e,u,r[c+2],15,718787259),u=h(u,o,a,e,r[c+9],21,-343485551),e=n(e,i),u=n(u,v),o=n(o,g),a=n(a,l)}return[e,u,o,a]}function g(r,n){void 0===n&&(n=t.outputTypes.Hex);var c=n||t.outputTypes.Base64,i=v(e(r),r.length*l);switch(c){case t.outputTypes.Raw:return i;case t.outputTypes.Hex:return o(i);case t.outputTypes.String:return u(i);case t.outputTypes.Base64:return a(i)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.outputTypes={Base64:0,Hex:1,String:2,Raw:3};var l=8,y=(1<<l)-1;t.createMD5Hash=g});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./iteratorUtils\",\"./PooledArray\",\"./string\"],function(t,e,i,s,r){Object.defineProperty(e,\"__esModule\",{value:!0}),e.MIN_PRIORITY=-3;var o=function(){function t(t,e,i){this._namespace=t,this._storage=e,this._removeFunc=!1,this._hit=0,this._miss=0,this._storage.register(this),this._namespace+=\":\",i&&(this._storage.registerRemoveFunc(this._namespace,i),this._removeFunc=!0)}return Object.defineProperty(t.prototype,\"namespace\",{get:function(){return this._namespace.slice(0,-1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hitRate\",{get:function(){return this._hit/(this._hit+this._miss)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"size\",{get:function(){return this._storage.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxSize\",{get:function(){return this._storage.maxSize},enumerable:!0,configurable:!0}),t.prototype.resetHitRate=function(){this._hit=this._miss=0},t.prototype.destroy=function(){this._storage.clear(this._namespace),this._removeFunc&&this._storage.deregisterRemoveFunc(this._namespace),this._storage.deregister(this)},t.prototype.put=function(t,e,i,s){void 0===s&&(s=0),this._storage.put(this._namespace+t,e,i,s)},t.prototype.get=function(t){var e=this._storage.get(this._namespace+t);return void 0===e?++this._miss:++this._hit,e},t.prototype.pop=function(t){var e=this._storage.pop(this._namespace+t);return void 0===e?++this._miss:++this._hit,e},t.prototype.updateSize=function(t,e,i){this._storage.updateSize(this._namespace+t,e,i)},t.prototype.clear=function(){this._storage.clear(this._namespace)},t.prototype.clearAll=function(){this._storage.clearAll()},t.prototype.getStats=function(){return this._storage.getStats()},t.prototype.resetStats=function(){this._storage.resetStats()},t}();e.MemCache=o;var n=function(){function t(t){void 0===t&&(t=10485760),this._maxSize=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._removeFuncs=[],this._users=new s}return t.prototype.register=function(t){this._users.push(t)},t.prototype.deregister=function(t){this._users.removeUnordered(t)},t.prototype.registerRemoveFunc=function(t,e){this._removeFuncs.push([t,e])},t.prototype.deregisterRemoveFunc=function(t){this._removeFuncs=this._removeFuncs.filter(function(e){return e[0]!==t})},Object.defineProperty(t.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxSize\",{get:function(){return this._maxSize},set:function(t){this._maxSize=Math.max(t,0),this._checkSizeLimit()},enumerable:!0,configurable:!0}),t.prototype.put=function(t,i,s,r){var o=this._db.get(t);if(o&&(this._size-=o.size,this._db.delete(t),o.entry!==i&&this._notifyRemoved(t,o.entry)),s>this._maxSize)return void this._notifyRemoved(t,i);if(void 0===i)return void console.warn(\"Refusing to cache undefined entry \");if(!s||s<0)return void console.warn(\"Refusing to cache entry with invalid size \"+s);var n=1+Math.max(r,e.MIN_PRIORITY)-e.MIN_PRIORITY;this._db.set(t,{entry:i,size:s,lifetime:n,lives:n}),this._size+=s,this._checkSizeLimit()},t.prototype.updateSize=function(t,e,i){var s=this._db.get(t);if(s&&s.entry===e){if(this._size-=s.size,i>this._maxSize)return void this._notifyRemoved(t,e);s.size=i,this._size+=i,this._checkSizeLimit()}},t.prototype.pop=function(t){var e=this._db.get(t);if(e)return this._size-=e.size,this._db.delete(t),++this._hit,e.entry;++this._miss},t.prototype.get=function(t){var e=this._db.get(t);return void 0===e?void++this._miss:(this._db.delete(t),e.lives=e.lifetime,this._db.set(t,e),++this._hit,e.entry)},t.prototype.getStats=function(){var t=this,i={Size:Math.round(this._size/1048576)+\"/\"+Math.round(this._maxSize/1048576)+\"MB\",\"Hit rate\":Math.round(100*this._getHitRate())+\"%\",Entries:this._db.size.toString()},s={},o=new Array;this._db.forEach(function(e,i){var n=e.lifetime;o[n]=(o[n]||0)+e.size,t._users.forEach(function(t){var o=t.namespace;if(r.startsWith(i,o)){var n=s[o]||0;s[o]=n+e.size}})});var n={};this._users.forEach(function(t){var e=t.namespace;if(!isNaN(t.hitRate)&&t.hitRate>0){var i=s[e]||0;s[e]=i,n[e]=Math.round(100*t.hitRate)+\"%\"}else n[e]=\"0%\"});var h=Object.keys(s);h.forEach(function(e){return s[e]=s[e]/t._size*100}),h.sort(function(t,e){return s[e]-s[t]}),h.forEach(function(t){return i[t]=Math.round(s[t])+\"% / \"+n[t]});for(var a=o.length-1;a>=0;--a){var u=o[a];u&&(i[\"Priority \"+(a+e.MIN_PRIORITY-1)]=Math.round(u/this.size*100)+\"%\")}return i},t.prototype.resetStats=function(){this._hit=this._miss=0,this._users.forEach(function(t){return t.resetHitRate()})},t.prototype.clear=function(t){var e=this;this._db.forEach(function(i,s){r.startsWith(s,t)&&(e._size-=i.size,e._db.delete(s),e._notifyRemoved(s,i.entry))})},t.prototype.clearAll=function(){var t=this;this._db.forEach(function(e,i){t._notifyRemoved(i,e.entry)}),this._size=0,this._db.clear()},t.prototype._getHitRate=function(){return this._hit/(this._hit+this._miss)},t.prototype._notifyRemoved=function(t,e){this._removeFuncs.forEach(function(i){r.startsWith(t,i[0])&&i[1](e)})},t.prototype._checkSizeLimit=function(){var t=this;this._size<=this._maxSize||i.someMap(this._db,function(e,i){return t._db.delete(i),e.lives<=1?(t._size-=e.size,t._notifyRemoved(i,e.entry)):(--e.lives,t._db.set(i,e)),t._size<=.9*t.maxSize})},t}();e.MemCacheStorage=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./object\"],function(t,e,n){function r(t,e){return t.replace(/\\$\\{([^\\s\\:\\}]*)(?:\\:([^\\s\\:\\}]+))?\\}/g,function(t,r){if(\"\"===r)return\"$\";var i=n.getDeepValue(r,e),o=null==i?\"\":i;if(void 0===o)throw new Error('could not find key \"'+r+'\" in template');return o.toString()})}return function(){function t(e,n,i){this instanceof t&&(this.name=e,this.message=n&&r(n,i)||\"\",this.details=i)}return t.prototype.toString=function(){return\"[\"+this.name+\"]: \"+this.message},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Accessor\",\"./accessorSupport/decorators\",\"./accessorSupport/MultiOriginStore\",\"./accessorSupport/PropertyOrigin\",\"./accessorSupport/read\",\"./accessorSupport/utils\",\"./accessorSupport/write\"],function(t,r,e,i,o,n,s,u,p,a,c){function f(t){return a.getProperties(t).store}function g(t){return t&&\"getAtOrigin\"in t&&\"originOf\"in t}Object.defineProperty(r,\"__esModule\",{value:!0}),r.MultiOriginJSONMixin=function(t){return function(t){function r(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var i=t.apply(this,r)||this,o=a.getProperties(i),n=o.metadatas,u=o.store,p=new s.default;return o.store=p,u.keys().forEach(function(t){p.set(t,u.get(t),0)}),Object.keys(n).forEach(function(t){o.internalGet(t)&&p.set(t,o.internalGet(t),0)}),i}return e(r,t),r.prototype.clear=function(t,r){return void 0===r&&(r=\"user\"),f(this).delete(t,u.nameToId(r))},r.prototype.read=function(t,r){p.default(this,t,r)},r.prototype.write=function(t,r){return t=t||{},c.default(this,t,r),t},r.prototype.getAtOrigin=function(t,r){var e=f(this),i=u.nameToId(r);if(\"string\"==typeof t)return e.get(t,i);var o={};return t.forEach(function(t){o[t]=e.get(t,i)}),o},r.prototype.originOf=function(t){var r=f(this);if(\"string\"==typeof t)return u.idToName(r.originOf(t));var e={};t.forEach(function(t){e[t]=u.idToName(r.originOf(t))})},r.prototype.revert=function(t,r){var e,i=f(this),o=u.nameToId(r),n=a.getProperties(this);e=\"string\"==typeof t?\"*\"===t?i.keys(o):[t]:t,e.forEach(function(t){n.propertyInvalidated(t),i.revert(t,o),n.propertyCommitted(t)})},r.prototype.removeOrigin=function(t){for(var r=f(this),e=u.nameToId(t),i=r.keys(e),o=0,n=i;o<n.length;o++){var s=n[o];r.originOf(s)===e&&r.set(s,r.get(s,e),6)}},r.prototype.updateOrigin=function(t,r){var e=f(this),i=u.nameToId(r),o=this.get(t);e.delete(t),e.set(t,o,i)},r=i([n.subclass(\"esri.core.MultiOriginJSONSupport\")],r)}(n.declared(t))};var l=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return e(r,t),r=i([n.subclass(\"esri.core.MultiOriginJSONSupport\")],r)}(n.declared(r.MultiOriginJSONMixin(o)));r.MultiOriginJSONSupport=l,r.isMultiOriginJSONMixin=g});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,i){function o(t){return t&&t.release&&\"function\"==typeof t.release}function e(t){return t&&t.acquire&&\"function\"==typeof t.acquire}var s=function(){function t(){}return t}();return function(){function t(t,i,o,e,s){if(void 0===e&&(e=1),void 0===s&&(s=0),this.classConstructor=t,this.acquireFunctionOrWithConstructor=i,this.releaseFunction=o,this.growthSize=e,!0===i?this.acquireFunction=this._constructorAcquireFunction:\"function\"==typeof i&&(this.acquireFunction=i),this._pool=new Array(s),this._initialSize=s,this.classConstructor)for(var n=0;n<s;n++)this._pool[n]=new this.classConstructor;this.growthSize=Math.max(e,1)}return t.prototype.destroy=function(){this.prune(0)},t.prototype.acquire=function(){var i,o=this.classConstructor||s;if(t.test.disabled)i=new o;else{if(0===this._pool.length)for(var n=this.growthSize,r=0;r<n;r++)this._pool[r]=new o;i=this._pool.pop()}if(this.acquireFunction){for(var r=arguments.length;r>0;r--)arguments[r]=arguments[r-1];arguments[0]=i,arguments.length++,this.acquireFunction.apply(this,arguments)}else e(i)&&i.acquire.apply(i,arguments);return i},t.prototype.release=function(i){i&&!t.test.disabled&&(this.releaseFunction?this.releaseFunction(i):o(i)&&i.release(),this._pool.push(i))},t.prototype.prune=function(t){if(void 0===t&&(t=this._initialSize),!(t>=this._pool.length)){for(var i=t;i<this._pool.length;++i){var o=this._pool[i];this._dispose(o)}this._pool.length=t}},t.prototype._dispose=function(t){t.dispose&&\"function\"==typeof t.dispose&&t.dispose()},t.prototype._constructorAcquireFunction=function(){this.classConstructor&&this.classConstructor.call.apply(this.classConstructor,arguments)},t.test={disabled:!1},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/generatorHelper\",\"./arrayUtils\",\"./HeapSort\"],function(t,e,i,a,h){return function(){function t(t){var e=this;this.data=[],this._length=0,this._allocator=null,this._deallocator=function(){},this._shrink=function(){},this._hint=new a.PositionHint,t&&(t.initialSize&&(this.data=new Array(t.initialSize)),t.allocator?(this._allocator=t.allocator,this._deallocator=t.deallocator):\"deallocator\"in t&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=function(){e.data.length>1.5*e.length&&(e.data.length=Math.floor(1.1*e.length))}))}return t.prototype.toArray=function(){return this.data.slice(0,this.length)},t.prototype.getItemAt=function(t){if(!(t<0||t>=this._length))return this.data[t]},Object.defineProperty(t.prototype,\"length\",{get:function(){return this._length},set:function(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}return void(this._length=t)}if(this._deallocator)for(var e=t;e<this._length;++e)this.data[e]=this._deallocator(this.data[e]);this._length=t,this._shrink()},enumerable:!0,configurable:!0}),t.prototype.clear=function(){this.length=0},t.prototype.prune=function(){this.clear(),this.data=[]},t.prototype.equal=function(t){return a.equals(this.data,t.data)},t.prototype.push=function(t){return this.data[this._length++]=t,t},t.prototype.pushArray=function(t,e){void 0===e&&(e=t.length);for(var i=0;i<e;i++)this.data[this._length++]=t[i];return this.back()},t.prototype.pushNew=function(){return this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length])),++this._length,this.back()},t.prototype.pop=function(){if(0!==this.length){var t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}},t.prototype.iterableRemoveMany=function(t){var e,h;return i(this,function(i){switch(i.label){case 0:e=new Array,h=0,i.label=1;case 1:return h<this.length?h>=this.length?[3,4]:(a.indexOf(t.data,this.data[h],t.length,t._hint)<0&&e.push(this.data[h]),[4]):[3,4];case 2:i.sent(),i.label=3;case 3:return++h,[3,1];case 4:return this.data=e,this._length=this.data.length,[2]}})},t.prototype.remove=function(t){var e=a.indexOf(this.data,t,this.length,this._hint);if(-1!==e)return this.data.splice(e,1),this.length=this.length-1,t},t.prototype.removeUnordered=function(t){var e=a.removeUnordered(this.data,t,this.length,this._hint);return void 0!==e&&(this.length=this.length-1),e},t.prototype.removeUnorderedIndex=function(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()},t.prototype.removeUnorderedMany=function(t,e,i){void 0===e&&(e=t.length),this.length=a.removeUnorderedMany(this.data,t,this.length,e,this._hint,i)},t.prototype.front=function(){if(0!==this.length)return this.data[0]},t.prototype.back=function(){if(0!==this.length)return this.data[this.length-1]},t.prototype.swapElements=function(t,e){var i;t>=this.length||e>=this.length||t===e||(i=[this.data[e],this.data[t]],this.data[t]=i[0],this.data[e]=i[1])},t.prototype.sort=function(t){h.sort(this.data,0,this.length,t)},t.prototype.iterableSort=function(t){return h.iterableSort(this.data,0,this.length,t)},t.prototype.some=function(t,e){for(var i=0;i<this.length;++i)if(t.call(e,this.data[i],i,this.data))return!0;return!1},t.prototype.filterInPlace=function(t,e){for(var i=0,a=0;a<this._length;++a){var h=this.data[a];t.call(e,h,a,this.data)&&(this.data[a]=this.data[i],this.data[i]=h,i++)}if(this._deallocator)for(var a=i;a<this._length;a++)this.data[a]=this._deallocator(this.data[a]);return this._length=i,this},t.prototype.forEach=function(t,e){for(var i=this.length,a=0;a<Math.min(this.length,i);++a)t.call(e,this.data[a],a,this.data)},t.prototype.iterableForEach=function(){var t;return i(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<this.length?[4,this.data[t]]:[3,4];case 2:e.sent(),e.label=3;case 3:return++t,[3,1];case 4:return[2]}})},t.prototype.map=function(t,e){for(var i=new Array(this.length),a=0;a<this.length;++a)i[a]=t.call(e,this.data[a],a,this.data);return i},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/declareExtendsHelper\",\"./tsSupport/decorateHelper\",\"./Accessor\",\"./has\",\"./promiseUtils\",\"./scheduling\",\"./accessorSupport/decorators\"],function(e,r,s,t,i,o,n,l,u){Object.defineProperty(r,\"__esModule\",{value:!0});var p=function(){function e(e){var r=this;this.instance=e,this._resolver=n.createDeferred(),this._status=void 0,this._resolvingPromises=[],this._resolver.promise.then(function(){r._status=0,r._cleanUp()},function(){r._status=1,r._cleanUp()})}return e.prototype.addResolvingPromise=function(e){this._resolvingPromises.push(e),this._tryResolve()},e.prototype.isResolved=function(){return 0===this._status},e.prototype.isRejected=function(){return 1===this._status},e.prototype.isFulfilled=function(){return null!=this._status},e.prototype.abort=function(){this._resolver.reject(n.createAbortError())},e.prototype.when=function(e,r){return this._resolver.promise.then(e,r)},e.prototype._cleanUp=function(){this._allPromise=this._resolvingPromises=this._allPromise=null},e.prototype._tryResolve=function(){var e=this;if(!this.isFulfilled()){var r=n.createDeferred(),s=this._resolvingPromises.concat([r.promise]),t=this._allPromise=n.all(s);t.then(function(){e.isFulfilled()||e._allPromise!==t||e._resolver.resolve(e.instance)},function(r){e.isFulfilled()||e._allPromise!==t||n.isAbortError(r)||e._resolver.reject(r)}),o(\"esri-native-promise\")?r.resolve():l.schedule(function(){return r.resolve()})}},e}();r.EsriPromiseMixin=function(e){return function(e){function r(){for(var r=[],s=0;s<arguments.length;s++)r[s]=arguments[s];var t=e.apply(this,r)||this;return t._promiseProps=new p(t),t.addResolvingPromise(o(\"esri-native-promise\")?n.resolve():n.create(function(e){return l.schedule(e)})),t}return s(r,e),r.prototype.isResolved=function(){return this._promiseProps.isResolved()},r.prototype.isRejected=function(){return this._promiseProps.isRejected()},r.prototype.isFulfilled=function(){return this._promiseProps.isFulfilled()},r.prototype.when=function(e,r){var s=this;return n.create(function(e,r){s._promiseProps.when(e,r)}).then(e,r)},r.prototype.catch=function(e){return this.when(null,e)},r.prototype.addResolvingPromise=function(e){e&&!this._promiseProps.isFulfilled()&&this._promiseProps.addResolvingPromise(\"_promiseProps\"in e?e.when():e)},r=t([u.subclass(\"esri.core.Promise\")],r)}(u.declared(e))};var c=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return s(r,e),r=t([u.subclass(\"esri.core.Promise\")],r)}(u.declared(r.EsriPromiseMixin(i)));r.EsriPromise=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){return function(){function t(t){this._items=[],this._itemSet=new Set,this._peeker=function(t){return t[0]},this._length=0,t&&t.peeker&&(this._peeker=t.peeker)}return Object.defineProperty(t.prototype,\"length\",{get:function(){return this._length},enumerable:!0,configurable:!0}),t.prototype.clear=function(){this._itemSet.clear(),this._items.length=0,this._length=0},t.prototype.peek=function(){if(0!==this._length)return this._peeker(this._items)},t.prototype.push=function(t){this.contains(t)||this._add(t)},t.prototype.contains=function(t){return this._length>0&&this._itemSet.has(t)},t.prototype.pop=function(){if(0!==this._length){var t=this.peek();return this._remove(t),t}},t.prototype.remove=function(t){this.contains(t)&&this._remove(t)},t.prototype._add=function(t){this._items.push(t),this._itemSet.add(t),this._length++},t.prototype._remove=function(t){this._itemSet.delete(t),this._items.splice(this._items.indexOf(t),1),this._length--},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){return function(){function t(t){void 0===t&&(t=1),this._seed=t}return Object.defineProperty(t.prototype,\"seed\",{set:function(e){this._seed=null==e?Math.random()*t._m:e},enumerable:!0,configurable:!0}),t.prototype.getInt=function(){return this._seed=(t._a*this._seed+t._c)%t._m,this._seed},t.prototype.getFloat=function(){return this.getInt()/(t._m-1)},t.prototype.getIntRange=function(t,e){return Math.round(this.getFloatRange(t,e))},t.prototype.getFloatRange=function(e,n){var o=n-e,r=this.getInt()/t._m;return e+Math.floor(r*o)},t._m=2147483647,t._a=48271,t._c=0,t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/extendsHelper\",\"./ObjectPool\"],function(t,e,o,r){Object.defineProperty(e,\"__esModule\",{value:!0});var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._set=new Set,e}return o(e,t),e.prototype.destroy=function(){t.prototype.destroy.call(this),this._set=null},e.prototype.acquire=function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];var r=t.prototype.acquire.apply(this,e);return this._set.delete(r),r},e.prototype.release=function(e){e&&!this._set.has(e)&&(t.prototype.release.call(this,e),this._set.add(e))},e.prototype._dispose=function(e){this._set.delete(e),t.prototype._dispose.call(this,e)},e}(r);e.ReentrantObjectPool=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/extendsHelper\",\"./tsSupport/decorateHelper\",\"./Message\"],function(e,t,r,n,o){var p=function(e){function t(r,n,o){var p=e.call(this,r,n,o)||this;return p instanceof t?p:new t(r,n,o)}return r(t,e),t}(o);return p.prototype.type=\"warning\",p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../arrayUtils\"],function(t,e,r){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function t(){this._propertyOriginMap=new Map,this._originStores=new Array(7),this._values=new Map}return t.prototype.get=function(t,e){var r=void 0===e?this._values:this._originStores[e];return r?r.get(t):void 0},t.prototype.keys=function(t){var e=null==t?this._values:this._originStores[t];return e?r.keysOfMap(e):[]},t.prototype.set=function(t,e,r){void 0===r&&(r=6);var i=this._originStores[r];if(i||(i=new Map,this._originStores[r]=i),i.set(t,e),!this._values.has(t)||this._propertyOriginMap.get(t)<=r){var s=this._values.get(t);return this._values.set(t,e),this._propertyOriginMap.set(t,r),s!==e}return!1},t.prototype.delete=function(t,e){void 0===e&&(e=6);var r=this._originStores[e];if(r){var i=r.get(t);if(r.delete(t),this._values.has(t)&&this._propertyOriginMap.get(t)===e){this._values.delete(t);for(var s=e-1;s>=0;s--){var o=this._originStores[s];if(o&&o.has(t)){this._values.set(t,o.get(t)),this._propertyOriginMap.set(t,s);break}}}return i}},t.prototype.has=function(t,e){var r=void 0===e?this._values:this._originStores[e];return!!r&&r.has(t)},t.prototype.revert=function(t,e){for(;e>0&&!this.has(t,e);)--e;var r=this._originStores[e],i=r&&r.get(t),s=this._values.get(t);return this._values.set(t,i),this._propertyOriginMap.set(t,e),s!==i},t.prototype.originOf=function(t){return this._propertyOriginMap.get(t)||0},t.prototype.forEach=function(t){this._values.forEach(t)},t}();e.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../has\",\"../lang\",\"../Logger\",\"../ObjectPool\",\"./extensions\",\"./PropertyOrigin\",\"./Store\"],function(t,e,r,i,s,o,n,a,h){function u(t,e){return!!e.metadatas[t]||(r(\"dojo-debug-messages\")&&d.warn(\"cannot access unknown property '\"+t+\"' on instance of \"+e.host.declaredClass+\".\"),!1)}function l(t,e,i,s){return!t.nonNullable||null!=i||(0!==s.host.__accessor__.lifecycle&&r(\"dojo-debug-messages\")&&d.warn(\"cannot set non-nullable property '\"+e+\"' to null on \"+s.host.declaredClass+\".\"),!1)}function c(t){return t&&\"function\"==typeof t.destroy}Object.defineProperty(e,\"__esModule\",{value:!0});var d=s.getLogger(\"esri.core.accessorSupport.Properties\"),p=function(){function t(t){this.host=t,this._origin=6,this.cursors=null,this.ctorArgs=null,this.destroyed=!1,this.dirties={},this.lifecycle=0,this.overridden=null,this.store=new h.Store;var e=this.host.constructor.__accessorMetadata__;this.metadatas=e.properties,this.autoDestroy=e.autoDestroy}return t.prototype.initialize=function(){this.lifecycle=1,n.instanceCreated(this.host,this.metadatas)},t.prototype.constructed=function(){this.lifecycle=2},t.prototype.destroy=function(){this.destroyed=!0;var t=this.cursors;if(t)for(var e=0,r=Object.getOwnPropertyNames(t);e<r.length;e++){var i=r[e],s=t[i];if(s){for(;s.length>0;)s.pop().propertyDestroyed(this,i);t[i]=null}}if(this.autoDestroy)for(var i in this.metadatas){var o=this.internalGet(i);o&&c(o)&&(o.destroy(),this.metadatas[i].nonNullable||this.internalSet(i,null))}},Object.defineProperty(t.prototype,\"initialized\",{get:function(){return 0!==this.lifecycle},enumerable:!0,configurable:!0}),t.prototype.clearOverride=function(t){this.isOverridden(t)&&(this.overridden[t]=!1,this.propertyInvalidated(t))},t.prototype.get=function(t){u(t,this);var e=this.metadatas[t],r=e.get;if(this.store.has(t)&&(!r||!this.dirties[t]))return this.store.get(t);if(r){var i=r.call(this.host);return this.store.set(t,i,1),this.propertyCommitted(t),i}return e.value},t.prototype.getterStatic=function(t,e){return this.store.has(t)?this.store.get(t):e.value},t.prototype.getterComputed=function(t,e){if(this.store.has(t)&&!this.dirties[t])return this.store.get(t);var r=e.get.call(this.host);return this.store.set(t,r,1),this.propertyCommitted(t),r},t.prototype.originOf=function(t){var e=this.store.originOf(t);if(void 0===e){var r=this.metadatas[t];if(r&&r.hasOwnProperty(\"value\"))return\"defaults\"}return a.idToName(e)},t.prototype.has=function(t){return!!this.metadatas[t]&&this.store.has(t)},t.prototype.internalGet=function(t){if(u(t,this)){var e=this.store;return e.has(t)?e.get(t):this.metadatas[t].value}},t.prototype.internalSet=function(t,e){if(u(t,this)){var r=this.initialized?this._origin:0,s=this.store.get(t);(!i.equals(e,s)||r!==this.store.originOf(t)||!this.store.has(t,r)||this.isOverridden(t))&&(this.propertyInvalidated(t),this.store.set(t,e,r),this.propertyCommitted(t))}},t.prototype.isOverridden=function(t){return null!=this.overridden&&!0===this.overridden[t]},t.prototype.keys=function(){return Object.keys(this.metadatas)},t.prototype.override=function(t,e){if(u(t,this)){this.overridden||(this.overridden={});var r=this.metadatas[t];if(l(r,t,e,this)){var i=r.cast;if(i){var s=this.cast(i,e),o=s.valid,n=s.value;if(v.release(s),!o)return;e=n}this.overridden[t]=!0,this.internalSet(t,e)}}},t.prototype.set=function(t,e){if(u(t,this)){var r=this.metadatas[t];if(l(r,t,e,this)){var i=r.set,s=r.cast;if(s){var o=this.cast(s,e),n=o.valid,a=o.value;if(v.release(o),!n)return;e=a}i?i.call(this.host,e):this.internalSet(t,e)}}},t.prototype.setDefaultOrigin=function(t){this._origin=a.nameToId(t)},t.prototype.propertyInvalidated=function(t){var e=this.dirties;this.isOverridden(t)||(e[t]=!0);var r=this.cursors&&this.cursors[t];if(r)for(var i=0,s=r;i<s.length;i++){var o=s[i];o.propertyInvalidated(this,t)}},t.prototype.propertyCommitted=function(t){var e=this.cursors&&this.cursors[t];if(this.dirties[t]=!1,e)for(var r=0,i=e;r<i.length;r++){var s=i[r];s.propertyCommitted(this,t)}},t.prototype.addCursor=function(t,e){this.cursors||(this.cursors={});var r=this.cursors[t];r||(this.cursors[t]=r=[]),r.push(e)},t.prototype.removeCursor=function(t,e){var r=this.cursors[t];this.cursors[t]&&(r.splice(r.indexOf(e),1),0===r.length&&(this.cursors[t]=null))},t.prototype.cast=function(t,e){var r=v.acquire();return r.valid=!0,r.value=e,t&&(r.value=t.call(this.host,e,r)),r},t}(),f=function(){function t(){this.value=null,this.valid=!0}return t.prototype.acquire=function(){this.valid=!0},t.prototype.release=function(){this.value=null},t}(),v=new o(f);e.default=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function t(e){switch(e){case\"defaults\":return 0;case\"service\":return 2;case\"portal-item\":return 3;case\"web-scene\":return 4;case\"web-map\":return 5;case\"user\":return 6}}function n(e){switch(e){case 0:return\"defaults\";case 2:return\"service\";case 3:return\"portal-item\";case 4:return\"web-scene\";case 5:return\"web-map\";case 6:return\"user\"}}function a(e){return t(e)}function u(e){return n(e)}function c(e){return t(e)}function s(e){return n(e)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.nameToId=t,r.idToName=n,r.readableNameToId=a,r.idToReadableName=u,r.writableNameToId=c,r.idToWritableName=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../arrayUtils\"],function(t,e,o){Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this._values=new Map}return t.prototype.get=function(t){return this._values.get(t)},t.prototype.originOf=function(){return 6},t.prototype.keys=function(){return o.keysOfMap(this._values)},t.prototype.set=function(t,e){this._values.set(t,e)},t.prototype.delete=function(t){this._values.delete(t)},t.prototype.has=function(t){return this._values.has(t)},t.prototype.forEach=function(t){this._values.forEach(t)},t}();e.Store=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./decorators/aliasOf\",\"./decorators/autoDestroy\",\"./decorators/cast\",\"./decorators/declared\",\"./decorators/enumeration\",\"./decorators/property\",\"./decorators/reader\",\"./decorators/shared\",\"./decorators/subclass\",\"./decorators/writer\"],function(r,e,o,a,t,s,d,c,n,i,u,f){function l(r){for(var o in r)e.hasOwnProperty(o)||(e[o]=r[o])}Object.defineProperty(e,\"__esModule\",{value:!0}),l(o),l(a),l(t),l(s),l(d),l(c),l(n),l(i),l(u),l(f)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../metadata\"],function(e,t,a){function n(e){return function(t,n){a.getPropertyMetadata(t,n).aliasOf=e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.aliasOf=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../metadata\"],function(e,t,r){function n(){return function(e,t){return r.getMetadata(e).autoDestroy=!0,e[t]}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.autoDestroy=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../deprecate\",\"../../Logger\",\"../ensureType\",\"../metadata\"],function(e,t,r,a,n,o){function c(e){var t=\"_meta\"in e?n.ensureType(e):e;return function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.push(t),\"number\"==typeof e[2]?s.apply(this,e):i.apply(this,e)}}function i(e,t,r,a){o.getPropertyMetadata(e,t).cast=a}function s(e,t,n,c){r.deprecated(a.getLogger(\"esri.core.accessorSupport.decorators.cast\"),\"@cast decorator on method parameters is deprecated for compatibility with ES decorator spec\",{version:\"4.14\",see:\"https://arcg.is/vvbW8\"}),o.getParameterMetadata(e,t,n).cast=c}function u(e){return function(t,r){o.getPropertyMetadata(t,e).cast=t[r]}}function d(e,t,r){if(o.hasParametersMetadata(e,t)){var a=o.getParametersMetadata(e,t).filter(function(e){return null!=e.cast});if(!a.length)return void console.warn(\"Method \"+e.declaredClass+\"::\"+t+\" is decorated with @cast but no parameters are decorated\");var n=r.value;return r.value=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,o=a;r<o.length;r++){var c=o[r];e[c.index]=c.cast(e[c.index])}return n.apply(this,e)},r}}function p(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(3!==e.length||\"string\"!=typeof e[1])return 1===e.length&&\"[object Function]\"===f.call(e[0])?c(e[0]):1===e.length&&\"string\"==typeof e[0]?u(e[0]):void 0}Object.defineProperty(t,\"__esModule\",{value:!0});var f=Object.prototype.toString;t.autocastMethod=d,t.cast=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../declare\"],function(e,t,r){function o(e){var t=function(){return this||{}};if(arguments.length>1){for(var o=[],n=0;n<arguments.length;n++)o.push(arguments[n]);e=r(o),a(e)}return t.__bases__=[e],t}function a(e){var t=Object.getPrototypeOf(e.prototype),r=e._meta&&e._meta.bases,o=e._meta&&e._meta.parents;if(t&&r&&o&&!(o.length<=1))for(var a=1;a<r.length;a++){var i=r[a],c=i.__accessorMetadata__&&i.__accessorMetadata__.properties,s=t;if(t=Object.getPrototypeOf(t),-1!==o.indexOf(i))for(var f=Object.getOwnPropertyNames(i.prototype),p=0,_=f;p<_.length;p++){var d=_[p];if(\"initialized\"!==d&&\"constructed\"!==d&&\"destroyed\"!==d&&!(c&&d in c)){var u=Object.getOwnPropertyDescriptor(i.prototype,d);n(u)&&Object.defineProperty(s,d,u)}}}}function n(e){return e&&!(!e.get&&!e.set)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.declared=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../jsonMap\",\"./property\"],function(e,n,r,t){function o(e){return t.property({type:e})}Object.defineProperty(n,\"__esModule\",{value:!0}),n.enumeration=o,function(e){function n(){return function(e,n){void 0===n&&(n={ignoreUnknown:!0});var o=e instanceof r.JSONMap?e:new r.JSONMap(e,n);return t.property({type:n&&n.ignoreUnknown?o.apiValues:String,json:{type:o.jsonValues,read:{reader:o.read},write:{writer:o.write}}})}}e.serializable=n}(o=n.enumeration||(n.enumeration={}))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../has\",\"../../lang\",\"../../Logger\",\"../metadata\"],function(e,r,t,o,a,n){function s(e){return void 0===e&&(e={}),function(r,a){var s=r.constructor.prototype;if(s===Function.prototype)return void(t(\"dojo-debug-messages\")&&i.error(\"Inappropriate use of @property() on a static field: \"+r.name+\".\"+a+\". Accessor does not support static properties.\"));var p=Object.getOwnPropertyDescriptor(r,a);p&&(p.get||p.set)?(e=o.clone(e),p.set&&(e.set=p.set),p.get&&(e.get=p.get)):p&&p.hasOwnProperty(\"value\")&&(e=o.clone(e),t(\"dojo-debug-messages\")&&e.hasOwnProperty(\"value\")&&i.warn('@property() will redefine the value of \"'+a+'\" on \"'+r.constructor.name+'\" already defined in the metadata',e),e.value=p.value);var c=n.getPropertyMetadata(s,a);n.mergeProperty(c,e)}}function p(e,r,t){var o=n.getPropertyMetadata(e.constructor.prototype,t);o.json||(o.json={});var a=o.json;return void 0!==r&&(a.origins||(a.origins={}),a.origins[r]||(a.origins[r]={}),a=a.origins[r]),a}Object.defineProperty(r,\"__esModule\",{value:!0});var i=a.getLogger(\"esri.core.accessorSupport.decorators.property\");r.property=s,r.propertyJSONMeta=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../object\",\"./property\"],function(r,e,o,a){function t(r,e,t){var c,d;return void 0===e||Array.isArray(e)?(d=r,t=e,c=[void 0]):(d=e,c=Array.isArray(r)?r:[r]),function(r,e){var n=r.constructor.prototype;c.forEach(function(c){var u=a.propertyJSONMeta(r,c,d);u.read&&\"object\"!=typeof u.read&&(u.read={}),o.setDeepValue(\"read.reader\",n[e],u),t&&(u.read.source=(u.read.source||[]).concat(t))})}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.reader=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(e){return function(n,r){n[r]=e}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.shared=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../declare\",\"../metadata\"],function(e,t,r,o){function a(e){return function(t){var o=c(t),a=u(t);null!=e&&(o.values.declaredClass=e);var s=r(t.__bases__,o.values);n(s),Object.defineProperties(s.prototype,o.descriptors);for(var p in a.values)s[p]=a.values[p];return Object.defineProperties(s,a.descriptors),s}}function n(e){var t=Object.getPrototypeOf(e.prototype),r=e._meta&&e._meta.bases,o=e._meta&&e._meta.parents;if(t&&r&&o&&!(o.length<=1))for(var a=1;a<r.length;a++){var n=r[a],s=n.__accessorMetadata__&&n.__accessorMetadata__.properties,p=t;if(t=Object.getPrototypeOf(t),-1!==o.indexOf(n))for(var i=Object.getOwnPropertyNames(n.prototype),c=0,u=i;c<u.length;c++){var d=u[c];if(\"initialized\"!==d&&\"constructed\"!==d&&\"destroyed\"!==d&&!(s&&d in s)){var y=Object.getOwnPropertyDescriptor(n.prototype,d);f(y)&&Object.defineProperty(p,d,y)}}}}function s(e,t){e.read&&(\"function\"==typeof e.read?t.push(e.read):\"object\"==typeof e.read&&e.read.reader&&t.push(e.read.reader))}function p(e,t){e.write&&(\"function\"==typeof e.write?t.push(e.write):\"object\"==typeof e.write&&e.write.writer&&t.push(e.write.writer))}function i(e){var t=[],r=o.getPropertiesMetadata(e.prototype);if(!r)return t;for(var a in r){var n=r[a];n.cast&&t.push(n.cast),n.copy&&t.push(n.copy);var i=n.json;if(i){s(i,t),p(i,t);var c=i.origins;if(c)for(var u in c){var f=c[u];s(f,t),p(f,t)}}}return t}function c(e){var t={values:{},descriptors:{}},r=[\"__bases__\"],a=o.getPropertiesMetadata(e.prototype),n=i(e);return Object.getOwnPropertyNames(e.prototype).filter(function(t){return!(-1!==r.indexOf(t)||a&&a.hasOwnProperty(t)||!f(Object.getOwnPropertyDescriptor(e.prototype,t))&&-1!==n.indexOf(e.prototype[t]))}).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e.prototype,r);f(o)?t.descriptors[r]=o:t.values[r]=e.prototype[r]}),t}function u(e){var t=Object.getOwnPropertyNames(e),r=Object.getPrototypeOf(e.prototype).constructor,o=Object.getOwnPropertyNames(Function);o.push(\"__bases__\",\"caller\",\"arguments\");var a=Object.getOwnPropertyNames(r),n={values:{},descriptors:{}};return t.filter(function(t){return-1===o.indexOf(t)&&(-1===a.indexOf(t)||r[t]!==e[t])}).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);f(r)?n.descriptors[t]=r:n.values[t]=e[t]}),n}function f(e){return e&&!(!e.get&&!e.set)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.subclass=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../object\",\"./property\"],function(e,r,t,o){function i(e,r,i){var n,p;return void 0===r?(p=e,n=[void 0]):\"string\"!=typeof r?(p=e,n=[void 0],i=r):(p=r,n=Array.isArray(e)?e:[e]),function(e,r){var a=e.constructor.prototype;n.forEach(function(n){var u=o.propertyJSONMeta(e,n,p);u.write&&\"object\"!=typeof u.write&&(u.write={}),i&&t.setDeepValue(\"write.target\",i,u),t.setDeepValue(\"write.writer\",a[r],u)})}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.writer=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Accessor\",\"../Collection\",\"../maybe\",\"./utils\"],function(e,t,n,r,o,i){function f(e){return e instanceof n}function u(e){return e instanceof r?Object.keys(e.items):f(e)?i.getProperties(e).keys():e?Object.keys(e):[]}function l(e,t){return e instanceof r?e.items[t]:e[t]}function c(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}function a(e){return e?e.declaredClass:null}function s(e,t){var n,r=e.diff;if(r&&\"function\"==typeof r)return r(e,t);var i=u(e),p=u(t);if(0!==i.length||0!==p.length){if(!i.length||!p.length||c(e,t))return{type:\"complete\",oldValue:e,newValue:t};var y=p.filter(function(e){return-1===i.indexOf(e)}),v=i.filter(function(e){return-1===p.indexOf(e)}),m=i.filter(function(n){return p.indexOf(n)>-1&&l(e,n)!==l(t,n)}),h=m.concat(y,v).sort(),g=a(e);if(g&&d.indexOf(g)>-1&&h.length)return{type:\"complete\",oldValue:e,newValue:t};for(var b,V=f(e)&&f(t),j=0,A=h;j<A.length;j++){var O=A[j],w=l(e,O),x=l(t,O),P=void 0;(V||\"function\"!=typeof w&&\"function\"!=typeof x)&&(w!==x&&(null==w&&null==x||(P=r&&r[O]&&\"function\"==typeof r[O]?r[O](w,x):\"object\"==typeof w&&\"object\"==typeof x&&a(w)===a(x)?s(w,x):{type:\"complete\",oldValue:w,newValue:x},o.isSome(P)&&(o.isSome(b)?b.diff[O]=P:b={type:\"partial\",diff:(n={},n[O]=P,n)}))))}return b}}function p(e,t){if(\"function\"!=typeof e&&\"function\"!=typeof t&&(e||t))return!e||!t||\"object\"==typeof e&&\"object\"==typeof t&&a(e)!==a(t)?{type:\"complete\",oldValue:e,newValue:t}:s(e,t)}function y(e){if(o.isNone(e))return!0;switch(e.type){case\"complete\":return!1;case\"collection\":for(var t=e,n=0,r=t.added;n<r.length;n++){var i=r[n];if(!y(i))return!1}for(var f=0,u=t.removed;f<u.length;f++){var i=u[f];if(!y(i))return!1}for(var l=0,c=t.changed;l<c.length;l++){var i=c[l];if(!y(i))return!1}return!0;case\"partial\":for(var a in e.diff){var i=e.diff[a];if(!y(i))return!1}return!0}}Object.defineProperty(t,\"__esModule\",{value:!0});var d=[\"esri.Color\",\"esri.portal.Portal\",\"esri.symbols.support.Symbol3DAnchorPosition2D\",\"esri.symbols.support.Symbol3DAnchorPosition3D\"];t.diff=p,t.isEmpty=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../compilerUtils\",\"../Logger\"],function(e,n,r,t){function u(e){return null==e?e:new Date(e)}function o(e){return null==e?e:!!e}function a(e){return null==e?e:e.toString()}function i(e){return null==e?e:\"number\"==typeof e&&isNaN(e)?0:parseFloat(e)}function s(e){return null==e?e:Math.round(parseFloat(e))}function l(e){return e&&e.constructor&&void 0!==e.constructor._meta}function c(e,n){return null!=n&&e&&!(n instanceof e)}function f(e){return e&&(\"isCollection\"in e||e._meta&&e._meta.bases&&e._meta.bases.some(function(e){return\"isCollection\"in e}))}function y(e){return e&&e.Type?\"function\"==typeof e.Type?e.Type:e.Type.base:null}function p(e,n){if(!n||!n.constructor||!f(n.constructor))return v(e,n)?n:new e(n);var r=y(e.prototype.itemType),t=y(n.constructor.prototype.itemType);if(!r)return n;if(!t)return new e(n);if(r===t)return n;var u=t._meta&&t._meta.bases;return u&&-1!==u.indexOf(r)?new e(n):(v(e,n),n)}function v(e,n){return!!l(n)&&(D.error(\"Accessor#set\",\"Assigning an instance of '\"+(n.declaredClass||\"unknown\")+\"' which is not a subclass of '\"+g(e)+\"'\"),!0)}function d(e,n){return null==n?n:f(e)?p(e,n):c(e,n)?v(e,n)?n:new e(n):n}function g(e){return e&&e.prototype&&e.prototype.declaredClass||\"unknown\"}function b(e){switch(e){case Number:return i;case F:return s;case Boolean:return o;case String:return a;case Date:return u;default:return d.bind(null,e)}}function h(e,n){var r=b(e);return 1===arguments.length?r:r(n)}function m(e,n,r){return 1===arguments.length?m.bind(null,e):n?Array.isArray(n)?n.map(function(n){return e(n,r)}):[e(n,r)]:n}function A(e,n){return 1===arguments.length?m(h.bind(null,e)):m(h.bind(null,e),n)}function w(e,n,r){return 0!==n&&Array.isArray(r)?r.map(function(r){return w(e,n-1,r)}):e(r)}function T(e,n,r){if(2===arguments.length)return T.bind(null,e,n);if(!r)return r;r=w(e,n,r);for(var t=n,u=r;t>0&&Array.isArray(u);)t--,u=u[0];if(void 0!==u)for(var o=0;o<t;o++)r=[r];return r}function N(e,n,r){return 2===arguments.length?T(h.bind(null,e),n):T(h.bind(null,e),n,r)}function O(e){return!!Array.isArray(e)&&!e.some(function(n){var r=typeof n;return!(\"string\"===r||\"number\"===r||\"function\"===r&&e.length>1)})}function j(e,n){if(2===arguments.length)return j(e).call(null,n);for(var r=new Set,t=e.filter(function(e){return\"function\"!=typeof e}),u=e.filter(function(e){return\"function\"==typeof e}),o=0,a=e;o<a.length;o++){var i=a[o];\"string\"!=typeof i&&\"number\"!=typeof i||r.add(i)}var s=null,l=null;return function(e,n){if(null==e)return e;var o=typeof e,a=\"string\"===o||\"number\"===o;return a&&(r.has(e)||u.some(function(e){return\"string\"===o&&e===String||\"number\"===o&&e===Number}))?e:\"object\"===o&&u.some(function(n){return!c(e,n)})?e:(a&&t.length?(s||(s=t.map(function(e){return\"string\"==typeof e?\"'\"+e+\"'\":\"\"+e}).join(\", \")),D.error(\"Accessor#set\",\"'\"+e+\"' is not a valid value for this property, only the following values are valid: \"+s)):\"object\"==typeof e&&u.length?(l||(l=u.map(function(e){return g(e)}).join(\", \")),D.error(\"Accessor#set\",\"'\"+e+\"' is not a valid value for this property, value must be one of \"+l)):D.error(\"Accessor#set\",\"'\"+e+\"' is not a valid value for this property\"),n&&(n.valid=!1),null)}}function k(e,n){if(2===arguments.length)return k(e).call(null,n);var r={},t=[],u=[];for(var o in e.typeMap){var a=e.typeMap[o];r[o]=h(a),t.push(g(a)),u.push(o)}var i=function(){return\"'\"+t.join(\"', '\")+\"'\"},s=function(){return\"'\"+u.join(\"', '\")+\"'\"},f=\"string\"==typeof e.key?function(n){return n[e.key]}:e.key;return function(n){if(e.base&&!c(e.base,n))return n;if(null==n)return n;var t=f(n)||e.defaultKeyValue,u=r[t];if(!u)return D.error(\"Accessor#set\",\"Invalid property value, value needs to be one of \"+i()+\", or a plain object that can autocast (having .type = \"+s()+\")\"),null;if(!c(e.typeMap[t],n))return n;if(\"string\"==typeof e.key&&!l(n)){var o={};for(var a in n)a!==e.key&&(o[a]=n[a]);return u(o)}return u(n)}}function S(e){if(!(e&&\"type\"in e))return!1;switch(e.type){case\"native\":case\"array\":case\"one-of\":return!0;default:r.neverReachedSilent(e)}return!1}function _(e){switch(e.type){case\"native\":return h(e.value);case\"array\":return m(_(e.value));case\"one-of\":return C(e);default:r.neverReached(e)}return null}function C(e){var n=null;return function(r,t){return B(r,e)?r:(null==n&&(n=M(e)),D.error(\"Accessor#set\",\"Invalid property value, value needs to be of type \"+n),t&&(t.valid=!1),null)}}function M(e){switch(e.type){case\"native\":switch(e.value){case Number:return\"number\";case String:return\"string\";case Boolean:return\"boolean\";case F:return\"integer\";case Date:return\"date\";default:return g(e.value)}case\"array\":return\"array of \"+M(e.value);case\"one-of\":var n=e.values.map(function(e){return M(e)});return\"one of \"+n.slice(0,n.length-1)+\" or \"+n[n.length-1];default:r.neverReached(e)}return\"unknown\"}function B(e,n){if(null==e)return!0;switch(n.type){case\"native\":switch(n.value){case Number:case F:return\"number\"==typeof e;case Boolean:return\"boolean\"==typeof e;case String:return\"string\"==typeof e}return e instanceof n.value;case\"array\":return!!Array.isArray(e)&&!e.some(function(e){return!B(e,n.value)});case\"one-of\":return n.values.some(function(n){return B(e,n)})}}Object.defineProperty(n,\"__esModule\",{value:!0});var D=t.getLogger(\"esri.core.Accessor\");n.ensureDate=u,n.ensureBoolean=o,n.ensureString=a,n.ensureNumber=i,n.ensureInteger=s,n.isClassedType=l,n.requiresType=c,n.ensureClass=d,n.ensureType=h,n.ensureArrayTyped=m,n.ensureArray=A,n.ensureNArrayTyped=T,n.ensureNArray=N,n.isOneOf=O,n.ensureOneOf=j,n.ensureOneOfType=k;var F=function(){function e(){}return e}();n.Integer=F,n.types={native:function(e){return{type:\"native\",value:e}},array:function(e){return{type:\"array\",value:e}},oneOf:function(e){return{type:\"one-of\",values:e}}},n.isLongFormType=S,n.ensureLongFormType=_,n.default=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./extensions/aliasedProperty\",\"./extensions/computedProperty\",\"./extensions/serializableProperty\"],function(e,t,r,a,o){function s(e,t){for(var r=0,a=p;r<a.length;r++){var o=a[r];if(o.processPrototypePropertyMetadata)for(var s in e){var n=e[s];o.processPrototypePropertyMetadata(s,n,e,t)}}}function n(e,t){for(var r=0,a=p;r<a.length;r++){var o=a[r];if(o.processClassPropertyMetadata)for(var s in e){var n=e[s];o.processClassPropertyMetadata(s,n,e,t)}}}function i(e,t){for(var r=Object.getOwnPropertyNames(t),a=0,o=p;a<o.length;a++){var s=o[a];s.instanceCreated&&s.instanceCreated(e,t,r)}}Object.defineProperty(t,\"__esModule\",{value:!0});var p=[r.default,a.default,o.default];t.processPrototypeMetadatas=s,t.processClassMetadatas=n,t.instanceCreated=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../has\",\"../get\",\"../set\",\"../utils\",\"../wire\"],function(e,r,t,a,s,i,o){function n(e,r,t){var a=i.getProperties(e);return o.wire(e,t.aliasOf,function(){a.propertyInvalidated(r)})}function f(e){return\"function\"==typeof e}Object.defineProperty(r,\"__esModule\",{value:!0});var l=t(\"dojo-debug-messages\");r.AliasedPropertyExtension={processClassPropertyMetadata:function(e,r,t,i){var o=r.aliasOf;if(o){var n=o.split(\".\")[0];if(null==t[n])return void(l&&console.error(\"[accessor] class '\"+i+\"' - property '\"+e+\"' is alias of aliased of '\"+o+\"', but '\"+n+\"' isn't declared as property. This can be fix by adding '\"+n+\"' to the metadata for example.\"));if(r.set)return void(l&&console.error(\"[accessor] class '\"+i+\"' - property '\"+e+\"' is alias of aliased of '\"+o+\"', so it cannot have a setter defined\"));if(r.get)return void(l&&console.error(\"[accessor] class '\"+i+\"' - property '\"+e+\"' is alias of aliased of '\"+o+\"', so it cannot have a getter defined\"));var d;r.get=function(){var e=a.default(this,o);if(f(e)){d||(d=o.split(\".\").slice(0,-1).join(\".\"));var r=a.default(this,d);r&&(e=e.bind(r))}return e},r.readOnly||(r.set=function(e){return s.default(this,o,e)})}},instanceCreated:function(e,r,t){for(var a=0,s=t;a<s.length;a++){var i=s[a],o=r[i];o.aliasOf&&n(e,i,o)}}},r.default=r.AliasedPropertyExtension});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../has\",\"../../Logger\",\"../utils\",\"../wire\"],function(e,n,r,t,o,s){Object.defineProperty(n,\"__esModule\",{value:!0});var i=r(\"dojo-debug-messages\"),a=t.getLogger(\"esri.core.accessorSupport.extensions.computedProperty\");n.ComputedPropertyExtension={processClassPropertyMetadata:function(e,n,r,t){if(i){var d=n.dependsOn;d&&d.length&&d.map(function(e){return e.split(\".\")[0]}).forEach(function(n){\"?\"!==n[n.length-1]&&null==r[n]&&a.error(\"[accessor] class '\"+t+\"' - property '\"+e+\"' depends on unknown property '\"+n+\"' which hasn't been found during introspection. This can be fix by adding '\"+n+\"' to the metadata for example.\")})}n.dependsOn&&n.dependsOn.length&&(n.wire=s.create(n.dependsOn,function(n){return o.getProperties(n).propertyInvalidated(e)}))},instanceCreated:function(e,n,r){for(var t=0,o=r;t<o.length;t++){var s=o[t],i=n[s];i.wire&&i.wire(e)}}},n.default=n.ComputedPropertyExtension});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../ensureType\",\"./serializableProperty/originAliases\",\"./serializableProperty/reader\",\"./serializableProperty/shorthands\",\"./serializableProperty/writer\"],function(r,e,i,n,o,t,s){function a(r,e){return c(r,\"read\",e)}function p(r,e){return c(r,\"write\",e)}function c(r,e,i){var n=r&&r.json;if(r&&r.json&&r.json.origins&&i){var o=r.json.origins[i.origin];o&&(\"any\"===e||e in o)&&(n=o)}return n}function f(r,e){for(var n=e.type,t=0;Array.isArray(n)&&!i.isOneOf(n);)n=n[0],t++;if(e.json.origins)for(var a in e.json.origins){var p=e.json.origins[a];o.create(n,t,r,p),s.create(n,t,r,p)}o.create(n,t,r,e.json),s.create(n,t,r,e.json)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.originSpecificReadPropertyDefinition=a,e.originSpecificWritePropertyDefinition=p,e.originSpecificPropertyDefinition=c,e.SerializablePropertyExtension={processPrototypePropertyMetadata:function(r,e){t.process(e)&&(n.process(e),f(r,e))}},e.default=e.SerializablePropertyExtension});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function o(e){if(e.json&&e.json.origins){var n=e.json.origins,o={\"web-document\":[\"web-scene\",\"web-map\"]};for(var i in o)!function(e){if(n[e]){var i=n[e];o[e].forEach(function(e){n[e]=i}),delete n[e]}}(i)}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.process=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../object\",\"./type\"],function(r,e,n,t){function u(r,e,t,u){u.read&&(u.read.reader||!1===u.read.enabled)||c(r)&&n.setDeepValue(\"read.reader\",i(r,e),u)}function i(r,e){if(e>1)return f(r,e);if(1===e)return p(r);if(y(r)){var n=r.prototype.itemType.Type,t=p(n);return function(e,n,u){var i=t(e,n,u);return i?new r(i):i}}return o(r)}function o(r){return r.prototype.read?function(e,n,t){if(null==e)return e;var u=new r;return u.read(e,t),u}:r.fromJSON}function a(r,e,n,t){return 0!==t&&Array.isArray(e)?e.map(function(e){return a(r,e,n,t-1)}):r(e,null,n)}function f(r,e){var n=o(r),t=a.bind(null,n);return function(r,n,u){if(null==r)return r;r=t(r,u,e);for(var i=e,o=r;i>0&&Array.isArray(o);)i--,o=o[0];if(void 0!==o)for(var a=0;a<i;a++)r=[r];return r}}function p(r){var e=o(r);return function(r,n,t){return null==r?r:Array.isArray(r)?r.map(function(r){return e(r,null,t)}):[e(r,null,t)]}}function y(r){if(!t.isCollection(r))return!1;var e=r.prototype.itemType;return!(!e||!e.Type||\"function\"!=typeof e.Type)&&c(e.Type)}function c(r){return!Array.isArray(r)&&(!!r&&r.prototype&&(\"read\"in r.prototype||\"fromJSON\"in r||y(r)))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.create=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(e){if(e.json||(e.json={}),o(e.json),i(e.json),e.json.origins)for(var n in e.json.origins)o(e.json.origins[n]),i(e.json.origins[n]);return!0}function o(e){\"boolean\"==typeof e.read?e.read={enabled:e.read}:\"function\"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&\"object\"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function i(e){\"boolean\"==typeof e.write?e.write={enabled:e.write}:\"function\"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&\"object\"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.process=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,o){function r(e){return!!e&&e.prototype&&e.prototype.declaredClass&&0===e.prototype.declaredClass.indexOf(\"esri.core.Collection\")}Object.defineProperty(o,\"__esModule\",{value:!0}),o.isCollection=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../object\",\"./type\"],function(e,r,t,n){function i(e,r,t,i){!i.write||i.write.writer||!1===i.write.enabled&&!i.write.overridePolicy||(1===r||n.isCollection(e)?i.write.writer=a:i.write.writer=r>1?l(r):o)}function o(e,r,n,i){t.setDeepValue(n,u(e,i),r)}function u(e,r){return e&&\"function\"==typeof e.write?e.write({},r):e&&\"function\"==typeof e.toJSON?e.toJSON():\"number\"==typeof e?f(e):e}function f(e){return e===-1/0?-Number.MAX_VALUE:e===1/0?Number.MAX_VALUE:isNaN(e)?null:e}function a(e,r,n,i){var o;null===e?o=null:e&&\"function\"==typeof e.map?(o=e.map(function(e){return u(e,i)}),\"function\"==typeof o.toArray&&(o=o.toArray())):o=[u(e,i)],t.setDeepValue(n,o,r)}function c(e,r,t){return 0!==t&&Array.isArray(e)?e.map(function(e){return c(e,r,t-1)}):u(e,r)}function l(e){return function(r,n,i,o){var u;if(null===r)u=null;else{u=c(r,o,e);for(var f=e,a=u;f>0&&Array.isArray(a);)f--,a=a[0];if(void 0!==a)for(var l=0;l<f;l++)u=[u]}t.setDeepValue(i,u,n)}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./utils\"],function(e,r,t){function n(e,r,n){var i=\"?\"===e[e.length-1]?e.slice(0,-1):e;if(null!=n.getItemAt||Array.isArray(n)){var u=parseInt(i,10);if(!isNaN(u))return Array.isArray(n)?n[u]:n.getItemAt(u)}var a=t.getProperties(n);return r?t.isPropertyDeclared(a,i)?a.get(i):n[i]:t.isPropertyDeclared(a,i)?a.internalGet(i):n[i]}function i(e,r,t,u){if(null==e)return e;var a=r[u],o=n(a,t,e);return!o&&u<r.length-1?void 0:u===r.length-1?o:i(o,r,t,u+1)}function u(e,r,u,a){return void 0===u&&(u=!1),void 0===a&&(a=0),\"string\"==typeof r&&-1===r.indexOf(\".\")?n(r,u,e):i(e,t.pathToArray(r),u,a)}function a(e,r){return u(e,r,!0)}function o(e,r){return void 0!==u(r,e,!0)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.valueOf=u,r.get=a,r.exists=o,r.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./ensureType\",\"./extensions\",\"./metadata\",\"./utils\",\"./decorators/cast\"],function(e,r,t,a,s,n,o){function c(e){var r=e.declaredClass,o=e.properties||{};for(var c in o){var p=o[c],y=typeof p;null==p?s.setPropertyMetadata(e,c,{value:p}):Array.isArray(p)?s.setPropertyMetadata(e,c,{type:[p[0]],value:null}):\"object\"===y?n.getProperties(p)||p instanceof Date?s.setPropertyMetadata(e,c,{type:p.constructor,value:p}):s.setPropertyMetadata(e,c,p):\"boolean\"===y?s.setPropertyMetadata(e,c,{type:Boolean,value:p}):\"string\"===y?s.setPropertyMetadata(e,c,{type:String,value:p}):\"number\"===y?s.setPropertyMetadata(e,c,{type:Number,value:p}):\"function\"===y&&s.setPropertyMetadata(e,c,{type:p,value:null})}var l=s.getPropertiesMetadata(e);for(var c in l){var f=l[c],d=f.type,v=f.types;f.cast||(d?f.cast=i(d):v&&(Array.isArray(v)?f.cast=t.ensureArrayTyped(t.ensureOneOfType(v[0])):f.cast=t.ensureOneOfType(v))),f.range&&(f.cast=u(f.cast,f.range))}return a.processPrototypeMetadatas(l,r),l}function i(e){var r=0,a=e;if(t.isLongFormType(e))return t.ensureLongFormType(e);for(;Array.isArray(a)&&1===a.length&&\"string\"!=typeof a[0]&&\"number\"!=typeof a[0];)a=a[0],r++;var s=a;return t.isOneOf(s)?0===r?t.ensureOneOf(s):t.ensureNArrayTyped(t.ensureOneOf(s),r):1===r?t.ensureArray(s):r>1?t.ensureNArray(s,r):t.ensureType(e)}function u(e,r){return function(t){var a=+e(t);return null!=r.min&&(a=Math.max(r.min,a)),null!=r.max&&(a=Math.min(r.max,a)),a}}function p(e,r){return null==r.get?function(){return this.__accessor__?this.__accessor__.getterStatic(e,r):r.value}:function(){return this.__accessor__?this.__accessor__.getterComputed(e,r):r.value}}function y(e){for(var r=e.prototype,t=r.declaredClass,n=e._meta.bases,c={},i=n.length-1;i>=0;i--)s.merge(c,s.getMetadata(n[i].prototype));var u=c.properties;a.processClassMetadatas(u,t),Object.defineProperty(e,\"__accessorMetadata__\",{value:{properties:u,autoDestroy:!!c.autoDestroy}});for(var y={},l=0,f=Object.getOwnPropertyNames(u);l<f.length;l++){var d=f[l];!function(e){var r=u[e];y[e]={enumerable:!0,configurable:!0,get:p(e,r),set:function(t){var a=this.__accessor__;if(!a)return void Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t});if(!Object.isFrozen(this)){if(a.initialized&&r.readOnly)throw new TypeError(\"[accessor] cannot assign to read-only property '\"+e+\"' of \"+this.declaredClass);if(2===a.lifecycle&&r.constructOnly)throw new TypeError(\"[accessor] cannot assign to construct-only property '\"+e+\"' of \"+this.declaredClass);a.set(e,t)}}}}(d)}if(Object.defineProperties(e.prototype,y),c.parameters)for(var v=Object.getOwnPropertyNames(c.parameters),_=0,g=v;_<g.length;_++){var O=g[_],m=Object.getOwnPropertyDescriptor(r,O)||{value:r[O]},b=o.autocastMethod(r,O,m);b&&Object.defineProperty(r,O,b)}return c}Object.defineProperty(r,\"__esModule\",{value:!0}),r.processPrototype=c,r.processClass=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./utils\"],function(e,t,r){function a(e){return null!=e.__accessorMetadata__}function n(e){return a(e)&&null!=s(e).properties}function u(e,t){return n(e)&&null!=i(e)[t]}function o(e,t){return a(e)&&null!=s(e).parameters&&null!=s(e).parameters[t]}function s(e){return e.__accessorMetadata__||Object.defineProperty(e,\"__accessorMetadata__\",{value:{},enumerable:!0,configurable:!0,writable:!0}),e.__accessorMetadata__}function i(e){var t=s(e),r=t.properties;return r||(r=t.properties={}),r}function c(e,t){var r=i(e),a=r[t];return a||(a=r[t]={}),a}function p(e,t,r){i(e)[t]=r}function l(e,t){var r=s(e),a=r.parameters;a||(a=r.parameters={});var n=a[t];return n||(n=[],a[t]=n),n}function d(e,t,r){var a=l(e,t)[r];return a||(l(e,t)[r]=a={index:r}),a}function f(e,t){return r.merge(e,t,m)}function _(e,t){return r.merge(e,t,M)}function M(e){return g.test(e)?\"replace\":\"merge\"}function m(e){return P.test(e)?M(e.slice(11)):\"merge\"}Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasMetadata=a,t.hasPropertiesMetadata=n,t.hasPropertyMetadata=u,t.hasParametersMetadata=o,t.getMetadata=s,t.getPropertiesMetadata=i,t.getPropertyMetadata=c,t.setPropertyMetadata=p,t.getParametersMetadata=l,t.getParameterMetadata=d,t.merge=f,t.mergeProperty=_;var g=/^[^.]+\\.(?:value|type|(?:json\\.type|json\\.origins\\.[^.]\\.type))$/,P=/^properties\\./});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/assignHelper\",\"./get\",\"./utils\",\"./extensions/serializableProperty\"],function(e,r,i,t,n,a){function o(e,r,i){if(!e||!e.read||!1===e.read.enabled||!e.read.source)return!1;var n=e.read.source;if(\"string\"==typeof n){if(n===r)return!0;if(n.indexOf(\".\")>-1&&0===n.indexOf(r)&&t.exists(n,i))return!0}else for(var a=0,o=n;a<o.length;a++){var f=o[a];if(f===r)return!0;if(f.indexOf(\".\")>-1&&0===f.indexOf(r)&&t.exists(f,i))return!0}return!1}function f(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)}function s(e,r,i,t,n){var s=a.originSpecificReadPropertyDefinition(r[i],n);f(s)&&(e[i]=!0);for(var d=0,u=Object.getOwnPropertyNames(r);d<u.length;d++){var c=u[d];s=a.originSpecificReadPropertyDefinition(r[c],n),o(s,i,t)&&(e[c]=!0)}}function d(e,r,i,t){var n=i.metadatas,o=a.originSpecificPropertyDefinition(n[r],\"any\",t),f=o&&o.default;if(void 0!==f){var s=\"function\"==typeof f?f.call(e,r,t):f;void 0!==s&&i.set(r,s)}}function u(e,r,i){if(void 0===i&&(i=g),r&&\"object\"==typeof r){for(var o=n.getProperties(e),f=o.metadatas,u={},c=0,l=Object.getOwnPropertyNames(r);c<l.length;c++){s(u,f,l[c],r,i)}o.setDefaultOrigin(i.origin);for(var p=0,v=Object.getOwnPropertyNames(u);p<v.length;p++){var y=v[p],O=a.originSpecificReadPropertyDefinition(f[y],i),P=O.read,b=P&&P.source,m=void 0;m=b&&\"string\"==typeof b?t.valueOf(r,b):r[y],P&&P.reader&&(m=P.reader.call(e,m,r,i)),void 0!==m&&o.set(y,m)}if(!i||!i.ignoreDefaults)for(var h=0,x=Object.getOwnPropertyNames(f);h<x.length;h++){var y=x[h];u[y]||d(e,y,o,i)}o.setDefaultOrigin(\"user\")}}function c(e,r,t,n){void 0===n&&(n=g);var a=i({},n,{messages:[]});t(a),a.messages.forEach(function(r){\"warning\"!==r.type||e.loaded?n&&n.messages.push(r):e.loadWarnings.push(r)})}Object.defineProperty(r,\"__esModule\",{value:!0});var g={origin:\"service\"};r.read=u,r.readLoadable=c,r.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../has\",\"../Logger\",\"./get\"],function(e,t,r,o,s){function n(e,t,o){if(e&&t)if(\"object\"==typeof t)for(var i=0,f=Object.getOwnPropertyNames(t);i<f.length;i++){var c=f[i];n(e,c,t[c])}else{if(\"_\"===t[0])return;if(-1!==t.indexOf(\".\")){var l=t.split(\".\"),c=l.splice(l.length-1,1)[0];return void n(s.default(e,l),c,o)}if(r(\"dojo-debug-messages\")){var u=e.__accessor__;null==u||u.metadatas[t]||a.warn(\"setting unknown property '\"+t+\"' on instance of \"+u.host.declaredClass)}e[t]=o}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o.getLogger(\"esri.core.accessorSupport.set\");t.set=n,t.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.interceptor=null});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../lang\"],function(r,n,e){function t(r){return r?r.__accessor__?r.__accessor__:r.propertyInvalidated?r:null:null}function i(r,n){return r&&r.metadatas&&null!=r.metadatas[n]}function a(r,n,e){if(e){return u(r,n,{policy:e,path:\"\"})}return u(r,n,null)}function u(r,n,t){return n?Object.keys(n).reduce(function(r,i){var a=null,o=\"merge\";if(t&&(a=t.path?t.path+\".\"+i:i,o=t.policy(a)),\"replace\"===o)return r[i]=n[i],r;if(void 0===r[i])return r[i]=e.clone(n[i]),r;var f=r[i],l=n[i];if(f===l)return r;if(Array.isArray(l)||Array.isArray(r))f=f?Array.isArray(f)?r[i]=f.concat():r[i]=[f]:r[i]=[],l&&(Array.isArray(l)||(l=[l]),l.forEach(function(r){-1===f.indexOf(r)&&f.push(r)}));else if(l&&\"object\"==typeof l)if(t){var c=t.path;t.path=a,r[i]=u(f,l,t),t.path=c}else r[i]=u(f,l,null);else r.hasOwnProperty(i)&&!n.hasOwnProperty(i)||(r[i]=l);return r},r||{}):r}function o(r){return r?\"string\"==typeof r&&-1===r.indexOf(\".\")?r:f(r):r}function f(r){return Array.isArray(r)?r:r.split(\".\")}function l(r){if(Array.isArray(r)||r.indexOf(\",\")>-1){for(var n=Array.isArray(r)?r:r.split(\",\"),e=0;e<n.length;e++)n[e]=n[e].trim();return 1===n.length?n[0]:n}return r.trim()}function c(r){if(-1===r.indexOf(\"?\"))return null;for(var n=f(r),e=new Array(n.length),t=0;t<n.length;t++){var i=n[t];e[t]=\"?\"===i[i.length-1],e[t]&&(n[t]=i.slice(0,-1))}return{fullPath:n.join(\".\"),conditional:e}}function s(r){return{remove:y(function(){return r.forEach(function(r){return r.remove()})})}}function p(r,n,e,t){var i=l(n);if(Array.isArray(i)){return s(i.map(function(n){return t(r,n.trim(),e)}))}return t(r,i.trim(),e)}function y(r){var n=!1;return function(){n||(n=!0,r())}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getProperties=t,n.isPropertyDeclared=i,n.merge=a,n.pathToStringOrArray=o,n.pathToArray=f,n.splitPath=l,n.parseConditionalPath=c,n.handlesGroup=s,n.parse=p,n.once=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../ArrayPool\",\"../lang\",\"../ReentrantObjectPool\",\"../scheduling\",\"./get\",\"./utils\",\"./wire\"],function(e,r,t,n,a,o,i,u,l){function c(e){b.has(e)?q.splice(q.indexOf(e),1):b.add(e),q.push(e),O||(O=o.schedule(h))}function d(e){if(!e.removed){var r=e.callback,t=e.path,n=e.propertyPath,a=e.oldValue,o=e.target,u=i.valueOf(o,n,!0);s(a,u)&&(e.oldValue=u,r.call(o,u,a,t,o))}}function s(e,r){return!n.equals(e,r)}function f(e){for(var r=P.copy(q),t=0;t<r.length;t++){var n=r[t];n.target===e&&(d(n),b.delete(n),q.splice(q.indexOf(n),1))}}function v(e){for(var r=0;r<q.length;r++){var t=q[r];t.target===e&&(t.removed=!0)}if(V)for(var r=0;r<V.length;r++){var t=V[r];t.target===e&&(t.removed=!0)}}function h(){for(var e=10;O&&e--;){O=null;var r=q;q=P.acquire(),b.clear();for(var t=P.acquire(),n=0,a=r;n<a.length;n++){var o=a[n],i=o.uid;d(o),i===o.uid&&o.removed&&t.push(o)}for(var u=0;u<q.length;u++){var o=q[u];o.removed&&(t.push(o),b.delete(o),q.splice(u,1),u-=1)}for(var u=0;u<t.length;u++)w.pool.release(t[u]);P.release(r),P.release(t),j.forEach(function(e){return e()})}}function p(e){return j.add(e),{remove:function(){j.delete(e)}}}function g(e,r,t){var n=u.parse(e,r,t,function(e,r,t){var a,o,d=i.valueOf(e,r,!0),s=l.wire(e,r,function(e,r){if(e.__accessor__.destroyed||a&&a.uid!==o)return void n.remove();a||(a=w.pool.acquire(e,r,d,t),o=a.uid,d=null),c(a)});return{remove:u.once(function(){s.remove(),a&&(a.uid!==o||a.removed||(a.removed=!0,c(a)),a=null),n=s=d=null})}});return n}function _(e,r,t){var n=u.parse(e,r,t,function(e,r,t){var a=i.valueOf(e,r,!0),o=!1;return l.wire(e,r,function(e,r){if(e.__accessor__.destroyed)return void n.remove();if(!o){o=!0;var u=i.valueOf(e,r,!0);s(a,u)&&t.call(e,u,a,r,e),a=i.valueOf(e,r,!0),o=!1}})});return n}function m(e,r,t,n){return void 0===n&&(n=!1),!e.__accessor__||e.__accessor__.destroyed?{remove:function(){}}:n?_(e,r,t):g(e,r,t)}function y(e){return q.some(function(r){return r.oldValue===e})}Object.defineProperty(r,\"__esModule\",{value:!0});var O,w=function(){function e(r,t,n,a){this.target=r,this.path=t,this.oldValue=n,this.callback=a,this.uid=0,this.removed=!1,this.propertyPath=u.pathToStringOrArray(t),this.uid=++e.uid}return e.prototype.release=function(){this.target=this.path=this.propertyPath=this.callback=this.oldValue=null,this.uid=++e.uid,this.removed=!0},e.pool=new a.ReentrantObjectPool(e,!0),e.uid=0,e}(),P=new t,b=new Set,q=P.acquire(),V=null;r.dispatchTarget=f,r.removeTarget=v,r.dispatch=h;var j=new Set;r.afterDispatch=p,r.watch=m,r.isValueInUse=y,r.default=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./utils\"],function(t,i,r){function n(t,i){return t.chain?new h(t,i):new a(t,i)}function e(t,i){var n=r.splitPath(t);if(Array.isArray(n)){for(var e=[],o=0,a=n;o<a.length;o++){var h=a[o];e.push(new s(h,i))}return function(t){for(var i=[],r=0;r<e.length;r++)i[r]=e[r].install(t);return new p(i)}}var c=new s(n,i);return function(t){return new u(c.install(t))}}function o(t,i,n){var e=r.splitPath(i);if(Array.isArray(e)){for(var o=[],a=0,h=e;a<h.length;a++){var c=h[a];o.push(new s(c,n).install(t))}return new p(o)}var l=new s(e,n).install(t);return new u(l)}Object.defineProperty(i,\"__esModule\",{value:!0});var s=function(){function t(t,i){if(this.path=t,this.callback=i,this.chain=null,this.conditional=null,t.indexOf(\".\")>-1){var n=r.parseConditionalPath(t);n&&(this.path=n.fullPath,this.conditional=n.conditional),this.chain=r.pathToArray(this.path)}else\"?\"===t[t.length-1]&&(this.path=t.slice(0,t.length-1),this.conditional=[!0],this.chain=[this.path]);return this.callback=i,this}return t.prototype.install=function(t){return n(this,t)},t.prototype.notify=function(t){this.callback(t,this.path)},t}(),a=function(){function t(t,i){this.binding=t,this.target=i,r.getProperties(i).addCursor(this.binding.path,this)}return t.prototype.destroy=function(){this.target&&(r.getProperties(this.target).removeCursor(this.binding.path,this),this.target=this.binding=null)},t.prototype.propertyDestroyed=function(t,i){r.getProperties(this.target).removeCursor(i,this)},t.prototype.propertyInvalidated=function(){this.binding&&this.binding.notify(this.target)},t.prototype.propertyCommitted=function(){this.binding&&this.binding.notify(this.target)},t}(),h=function(){function t(t,i){return this.binding=t,this.target=i,this.stack=[],this.properties=r.getProperties(i),this.stack.push({properties:this.properties,propertyName:t.chain[0]}),this.properties.addCursor(t.chain[0],this),this.moveForward(),this}return t.prototype.destroy=function(){for(;;){var t=this.stack.pop();if(null==t)break;t.properties.removeCursor(t.propertyName,this)}this.target=this.binding=null},t.prototype.propertyDestroyed=function(t,i){this.moveBackward(t,i)},t.prototype.propertyInvalidated=function(){this.binding&&this.binding.notify(this.target)},t.prototype.propertyCommitted=function(t,i){this.binding&&(this.moveBackward(t,i),this.moveForward(),this.binding.notify(this.target))},t.prototype.moveBackward=function(t,i){for(var r=this.stack,n=r[r.length-1];n.properties!==t&&n.propertyName!==i;)n.properties.removeCursor(n.propertyName,this),r.pop(),n=r[r.length-1]},t.prototype.moveForward=function(){var t=this.stack,i=t[t.length-1];if(1!==t.length||!this.binding.conditional||!this.binding.conditional[t.length-1]||i.properties.metadatas[i.propertyName]){var n=i.properties.internalGet(i.propertyName),e=r.getProperties(n);if(e&&t.length<this.binding.chain.length){var o=this.binding.chain[t.length];if(this.binding.conditional&&this.binding.conditional[t.length]&&!e.metadatas[o])return;this.stack.push({properties:e,propertyName:o}),e.addCursor(o,this),this.moveForward()}}},t}(),p=function(){function t(t){this.cursors=t}return t.prototype.remove=function(){for(var t=this.cursors;t.length>0;)t.pop().destroy();this.cursors=null},t}(),u=function(){function t(t){this.cursor=t}return t.prototype.remove=function(){this.cursor.destroy(),this.cursor=null},t}();i.create=e,i.wire=o,i.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../arrayUtils\",\"../Error\",\"../Logger\",\"./PropertyOrigin\",\"./utils\",\"./extensions/serializableProperty\"],function(r,e,i,t,n,o,a,u){function l(r,e,i,t,n){var o={};return e.write.writer.call(r,t,o,i,n),o}function f(r,e,i,n,a,u){if(!n||!n.write)return!1;var l=r.get(i);if(!a&&n.write.overridePolicy){var f=n.write.overridePolicy.call(r,l,i,u);void 0!==f&&(a=f)}if(a||(a=n.write),!a||!1===a.enabled)return!1;if((null===l&&!a.allowNull||void 0===l)&&a.isRequired){var g=new t(\"web-document-write:property-required\",\"Missing value for required property '\"+i+\"' on '\"+r.declaredClass+\"'\",{propertyName:i,target:r});return g&&u&&u.messages?u.messages.push(g):g&&!u&&d.error(g.name,g.message),!1}if(void 0===l)return!1;if(null===l&&!a.allowNull)return!1;if(s(r,i,u,n,l))return!1;if(void 0!==n.default)return!0;if(!a.ignoreOrigin&&u&&u.origin){if(e.store.originOf(i)<o.nameToId(u.origin))return!1}return!0}function s(r,e,t,n,o){var a=n.default;if(void 0===a)return!1;if(\"function\"==typeof a){if(Array.isArray(o)){var u=a.call(r,e,t);return i.equals(u,o)}return!1}return a===o}function g(r,e,i,t){var n=a.getProperties(r),o=n.metadatas,l=u.originSpecificWritePropertyDefinition(o[e],t);return!!l&&f(r,n,e,l,i,t)}function p(r,e,i){if(r&&\"function\"==typeof r.toJSON&&(!r.toJSON.isDefaultToJSON||!r.write))return a.merge(e,r.toJSON());var t=a.getProperties(r),n=t.metadatas;for(var s in n){var g=u.originSpecificWritePropertyDefinition(n[s],i);if(f(r,t,s,g,null,i)){var p=r.get(s),d=\"string\"==typeof g.write.target?g.write.target:s,c=l(r,g,d,p,i);Object.keys(c).length>0&&(e=a.merge(e,c),i&&i.writtenProperties&&i.writtenProperties.push({target:r,propName:s,oldOrigin:o.idToReadableName(t.store.originOf(s)),newOrigin:i.origin}))}}return e}Object.defineProperty(e,\"__esModule\",{value:!0});var d=n.getLogger(\"esri.core.accessorSupport.write\");e.willPropertyWrite=g,e.write=p,e.default=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/array\",\"./RandomLCG\"],function(r,n,e,t){function u(r){return r.filter(function(r,n,e){return e.indexOf(r)===n})}function f(r,n,e){if(!r&&!n)return!0;if(!r||!n||r.length!==n.length)return!1;if(e){for(var t=0;t<r.length;t++)if(!e(r[t],n[t]))return!1}else for(var t=0;t<r.length;t++)if(r[t]!==n[t])return!1;return!0}function i(r,n,e){var t,u;return e?(t=n.filter(A.bind(null,r,e)),u=r.filter(A.bind(null,n,e))):(t=n.filter(w.bind(null,r)),u=r.filter(w.bind(null,n))),{added:t,removed:u}}function o(r,n,t){return r&&n?t?r.filter(function(r){return e.findIndex(n,function(n){return t(r,n)})>-1}):r.filter(function(r){return n.indexOf(r)>-1}):[]}function a(r,n){if(b)return new Array(r).fill(n);for(var e=new Array(r),t=0;t<r;t++)e[t]=n;return e}function l(r,n){void 0===n&&(n=r,r=0);for(var e=new Array(n-r),t=r;t<n;t++)e[t-r]=t;return e}function c(r,n,e){for(var t=r.length,u=0,f=t-1;u<f;){var i=u+Math.floor((f-u)/2);n>r[i]?u=i+1:f=i}var o=r[u];return e?n>=r[t-1]?-1:o===n?u:u-1:o===n?u:-1}function d(r){return r.reduce(function(r,n){return r.concat(n||[])},[])}function v(r,n,e,t){t=t||k;for(var u=Math.max(0,t.last-10),f=u;f<e;++f)if(r[f]===n)return t.last=f,f;for(var i=Math.min(u,e),f=0;f<i;++f)if(r[f]===n)return t.last=f,f;return-1}function s(r,n,e,t){var u=null==e?r.length:e,f=v(r,n,u,t);if(-1!==f)return r[f]=r[u-1],null==e&&r.pop(),n}function h(r,n,e,t,u,f){if(void 0===e&&(e=r.length),void 0===t&&(t=n.length),0===t||0===e)return e;I.clear();for(var i=0;i<t;++i)I.add(n[i]);u=u||k;for(var o=Math.max(0,u.last-10),i=o;i<e;++i)if(I.has(r[i])&&(f&&f.push(r[i]),I.delete(r[i]),r[i]=r[e-1],--e,--i,0===I.size||0===e))return I.clear(),e;for(var i=0;i<o;++i)if(I.has(r[i])&&(f&&f.push(r[i]),I.delete(r[i]),r[i]=r[e-1],--e,--i,0===I.size||0===e))return I.clear(),e;return I.clear(),e}function m(r,n,e){var t=r.length;if(n>=t)return r.slice(0);q.seed=e;for(var u=e?function(){return q.getFloat()}:Math.random,f=new Set,i=[];i.length<n;){var o=Math.floor(u()*t);f.has(o)||(f.add(o),i.push(r[o]))}return i}function y(r,n){q.seed=n;for(var e=n?function(){return q.getFloat()}:Math.random,t=r.length-1;t>0;t--){var u=Math.floor(e()*(t+1)),f=r[t];r[t]=r[u],r[u]=f}return r}function g(r){var n=new Array(r.size),e=0;return r.forEach(function(r,t){return n[e++]=t}),n}function p(r,n){void 0===n&&(n=O);var e=new Array(r.size),t=0;return r.forEach(function(r){return e[t++]=n(r)}),e}function x(r){if(Array.from)return Array.from(r.values());var n=new Array(r.size),e=0;return r.forEach(function(r){return n[e++]=r}),n}function M(r,n){var e=r.indexOf(n);return-1!==e?(r.splice(e,1),n):null}function w(r,n){return-1===r.indexOf(n)}function A(r,n,e){return!r.some(n.bind(null,e))}function O(r){return r}Object.defineProperty(n,\"__esModule\",{value:!0}),n.find=e.find,n.findIndex=e.findIndex,n.includes=e.includes,n.unique=u,n.equals=f,n.difference=i,n.intersect=o;var b=!!Array.prototype.fill;n.constant=a,n.range=l,n.binaryIndexOf=c,n.flatten=d;var z=function(){function r(){this.last=0}return r}();n.PositionHint=z;var k=new z;n.indexOf=v,n.removeUnordered=s;var I=new Set;n.removeUnorderedMany=h,n.pickRandom=m,n.shuffle=y;var q=new t;n.keysOfMap=g,n.keysOfSet=p,n.fromMapValues=x,n.remove=M});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/generatorHelper\",\"./tsSupport/awaiterHelper\",\"./promiseUtils\"],function(r,e,t,n,u){function o(r,e,t){return u.eachAlways(r.map(function(r,n){return e.apply(t,[r,n])}))}function a(r,e,t){return u.eachAlways(r.map(function(r,n){return e.apply(t,[r,n])})).then(function(r){return r.map(function(r){return r.value})})}function i(r){return r.then(function(r){return{ok:!0,value:r}}).catch(function(r){return{ok:!1,error:r}})}function c(r){if(!0===r.ok)return r.value;throw r.error}Object.defineProperty(e,\"__esModule\",{value:!0}),e.forEach=o,e.map=a,e.result=i,e.assertResult=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./global\"],function(e,t,r){function u(e){return{setTimeout:function(t,r){var u=e.setTimeout(t,r);return{remove:function(){return e.clearTimeout(u)}}}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.wrap=u,t.default=u(r)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Collection\"],function(e,r,n){function t(e,r,t){return void 0===t&&(t=n),r||(r=new t),r===e?r:(r.removeAll(),o(e)?r.addMany(e):e&&r.add(e),r)}function i(e){return e}function o(e){return e&&(Array.isArray(e)||\"items\"in e&&Array.isArray(e.items))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.referenceSetter=t,r.castForReferenceSetter=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,r){function t(n){return\"r\"in n&&\"g\"in n&&\"b\"in n}function a(n){return\"h\"in n&&\"s\"in n&&\"v\"in n}function u(n){return\"l\"in n&&\"a\"in n&&\"b\"in n}function o(n){return\"l\"in n&&\"c\"in n&&\"h\"in n}function e(n){return\"x\"in n&&\"y\"in n&&\"z\"in n}function i(n,r){var t,a,u=[];if(n[0].length!==r.length)throw\"dimensions do not match\";var o=n.length,e=n[0].length,i=0;for(t=0;t<o;t++){for(i=0,a=0;a<e;a++)i+=n[t][a]*r[a];u.push(i)}return u}function c(n){var r=[n.r/255,n.g/255,n.b/255].map(function(n){return n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}),t=i(q,r);return{x:100*t[0],y:100*t[1],z:100*t[2]}}function h(n){var r=i(B,[n.x/100,n.y/100,n.z/100]),t=r.map(function(n){var r=n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055;return Math.min(1,Math.max(r,0))});return{r:Math.round(255*t[0]),g:Math.round(255*t[1]),b:Math.round(255*t[2])}}function f(n){var r=[n.x/95.047,n.y/100,n.z/108.883].map(function(n){return n>Math.pow(6/29,3)?Math.pow(n,1/3):1/3*Math.pow(29/6,2)*n+4/29});return{l:116*r[1]-16,a:500*(r[0]-r[1]),b:200*(r[1]-r[2])}}function b(n){var r=n.l,t=n.a,a=n.b,u=[(r+16)/116+t/500,(r+16)/116,(r+16)/116-a/200].map(function(n){return n>6/29?Math.pow(n,3):3*Math.pow(6/29,2)*(n-4/29)});return{x:95.047*u[0],y:100*u[1],z:108.883*u[2]}}function M(n){var r=n.l,t=n.a,a=n.b,u=Math.sqrt(t*t+a*a),o=Math.atan2(a,t);return o=o>0?o:o+2*Math.PI,{l:r,c:u,h:o}}function s(n){var r=n.l,t=n.c,a=n.h;return{l:r,a:t*Math.cos(a),b:t*Math.sin(a)}}function g(n){return f(c(n))}function v(n){return h(b(n))}function l(n){return M(f(c(n)))}function p(n){return h(b(s(n)))}function d(n){var r,t,a,u=n.r,o=n.g,e=n.b,i=Math.max(u,o,e),c=Math.min(u,o,e),h=i-c;return a=i,0===h?r=0:i===u?r=(o-e)/h%6:i===o?r=(e-u)/h+2:i===e&&(r=(u-o)/h+4),t=0===h?0:h/a,r<0&&(r+=6),r*=60,t*=100,a*=100/255,{h:r,s:t,v:a}}function m(n){var r,t=(n.h+360)%360/60,a=n.s/100,u=n.v/100*255,o=u*a,e=o*(1-Math.abs(t%2-1));switch(Math.floor(t)){case 0:r={r:o,g:e,b:0};break;case 1:r={r:e,g:o,b:0};break;case 2:r={r:0,g:o,b:e};break;case 3:r={r:0,g:e,b:o};break;case 4:r={r:e,g:0,b:o};break;case 5:case 6:r={r:o,g:0,b:e};break;default:r={r:0,g:0,b:0}}return r.r=Math.round(r.r+u-o),r.g=Math.round(r.g+u-o),r.b=Math.round(r.b+u-o),r}function w(n){return t(n)?n:o(n)?p(n):u(n)?v(n):e(n)?h(n):a(n)?m(n):void 0}function x(n){return a(n)?n:d(w(n))}function k(n){return u(n)?n:g(w(n))}function y(n){return o(n)?n:l(w(n))}function z(n){return e(n)?n:c(w(n))}Object.defineProperty(r,\"__esModule\",{value:!0});var q=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],B=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];r.toRGB=w,r.toHSV=x,r.toLAB=k,r.toLCH=y,r.toXYZ=z});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./has\"],function(e,n,r){function t(e){r(\"dojo-debug-messages\")&&console.error(\"Should never be reached (uncaught value \"+e+\")\",(new Error).stack)}function u(e){}function o(e){return function(){return e}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.neverReached=t,n.neverReachedSilent=u,n.typeCast=o,n.tuple=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./jsonMap\"],function(t,e,a){function o(t){return e.formats[t]}Object.defineProperty(e,\"__esModule\",{value:!0}),e.formats={\"short-date\":\"(datePattern: 'M/d/y', selector: 'date')\",\"short-date-short-time\":\"(datePattern: 'M/d/y', timePattern: 'h:mm a', selector: 'date and time')\",\"short-date-short-time-24\":\"(datePattern: 'M/d/y', timePattern: 'H:mm', selector: 'date and time')\",\"short-date-long-time\":\"(datePattern: 'M/d/y', timePattern: 'h:mm:ss a', selector: 'date and time')\",\"short-date-long-time-24\":\"(datePattern: 'M/d/y', timePattern: 'H:mm:ss', selector: 'date and time')\",\"short-date-le\":\"(datePattern: 'd/M/y', selector: 'date')\",\"short-date-le-short-time\":\"(datePattern: 'd/M/y', timePattern: 'h:mm a', selector: 'date and time')\",\"short-date-le-short-time-24\":\"(datePattern: 'd/M/y', timePattern: 'H:mm', selector: 'date and time')\",\"short-date-le-long-time\":\"(datePattern: 'd/M/y', timePattern: 'h:mm:ss a', selector: 'date and time')\",\"short-date-le-long-time-24\":\"(datePattern: 'd/M/y', timePattern: 'H:mm:ss', selector: 'date and time')\",\"long-month-day-year\":\"(datePattern: 'MMMM d, y', selector: 'date')\",\"long-month-day-year-short-time\":\"(datePattern: 'MMMM d, y', timePattern: 'h:mm a', selector: 'date and time')\",\"long-month-day-year-short-time-24\":\"(datePattern: 'MMMM d, y', timePattern: 'H:mm', selector: 'date and time')\",\"long-month-day-year-long-time\":\"(datePattern: 'MMMM d, y', timePattern: 'h:mm:ss a', selector: 'date and time')\",\"long-month-day-year-long-time-24\":\"(datePattern: 'MMMM d, y', timePattern: 'H:mm:ss', selector: 'date and time')\",\"day-short-month-year\":\"(datePattern: 'd MMM y', selector: 'date')\",\"day-short-month-year-short-time\":\"(datePattern: 'd MMM y', timePattern: 'h:mm a', selector: 'date and time')\",\"day-short-month-year-short-time-24\":\"(datePattern: 'd MMM y', timePattern: 'H:mm', selector: 'date and time')\",\"day-short-month-year-long-time\":\"(datePattern: 'd MMM y', timePattern: 'h:mm:ss a', selector: 'date and time')\",\"day-short-month-year-long-time-24\":\"(datePattern: 'd MMM y', timePattern: 'H:mm:ss', selector: 'date and time')\",\"long-date\":\"(datePattern: 'EEEE, MMMM d, y', selector: 'date')\",\"long-date-short-time\":\"(datePattern: 'EEEE, MMMM d, y', timePattern: 'h:mm a', selector: 'date and time')\",\"long-date-short-time-24\":\"(datePattern: 'EEEE, MMMM d, y', timePattern: 'H:mm', selector: 'date and time')\",\"long-date-long-time\":\"(datePattern: 'EEEE, MMMM d, y', timePattern: 'h:mm:ss a', selector: 'date and time')\",\"long-date-long-time-24\":\"(datePattern: 'EEEE, MMMM d, y', timePattern: 'H:mm:ss', selector: 'date and time')\",\"long-month-year\":\"(datePattern: 'MMMM y', selector: 'date')\",\"short-month-year\":\"(datePattern: 'MMM y', selector: 'date')\",year:\"(datePattern: 'y', selector: 'date')\"},e.dictionary=a.strict()({shortDate:\"short-date\",shortDateShortTime:\"short-date-short-time\",shortDateShortTime24:\"short-date-short-time-24\",shortDateLongTime:\"short-date-long-time\",shortDateLongTime24:\"short-date-long-time-24\",shortDateLE:\"short-date-le\",shortDateLEShortTime:\"short-date-le-short-time\",shortDateLEShortTime24:\"short-date-le-short-time-24\",shortDateLELongTime:\"short-date-le-long-time\",shortDateLELongTime24:\"short-date-le-long-time-24\",longMonthDayYear:\"long-month-day-year\",longMonthDayYearShortTime:\"long-month-day-year-short-time\",longMonthDayYearShortTime24:\"long-month-day-year-short-time-24\",longMonthDayYearLongTime:\"long-month-day-year-long-time\",longMonthDayYearLongTime24:\"long-month-day-year-long-time-24\",dayShortMonthYear:\"day-short-month-year\",dayShortMonthYearShortTime:\"day-short-month-year-short-time\",dayShortMonthYearShortTime24:\"day-short-month-year-short-time-24\",dayShortMonthYearLongTime:\"day-short-month-year-long-time\",dayShortMonthYearLongTime24:\"day-short-month-year-long-time-24\",longDate:\"long-date\",longDateShortTime:\"long-date-short-time\",longDateShortTime24:\"long-date-short-time-24\",longDateLongTime:\"long-date-long-time\",longDateLongTime24:\"long-date-long-time-24\",longMonthYear:\"long-month-year\",shortMonthYear:\"short-month-year\",year:\"year\"}),e.toJSON=e.dictionary.toJSON.bind(e.dictionary),e.fromJSON=e.dictionary.fromJSON.bind(e.dictionary),e.getFormat=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/_base/declare\",\"./deprecate\",\"./Logger\"],function(e,r,n,t,o){function s(e,r){return e&&!Array.isArray(e)&&\"function\"!=typeof e&&(r=e,e=null),e=e||[],r=r||{},i([this].concat(e),r)}function i(e,r){e&&!Array.isArray(e)&&\"function\"!=typeof e&&(r=e,e=null),\"function\"==typeof e?e=[e]:e||(e=[]),e.length>1&&t.deprecated(c,\"Extending multiple classes with Accessor\",{version:\"4.13\",see:\"https://arcg.is/T8fr4\"}),r=r||{};var o,i;for(o=0,i=a.length;o<i;o++)a[o](e,r);var u=n(e,r);u.createSubclass=s;var p=u.prototype.isInstanceOf;for(u.prototype.isInstanceOf=function(){return t.deprecatedFunction(c,\"isInstanceOf\",{moduleName:\"Accessor\",replacement:\"Use `instanceof` or check for property presence `'property' in instance`\",version:\"4.13\"}),p.apply(this,arguments)},o=0,i=f.length;o<i;o++)f[o](u);return u}var c=o.getLogger(\"esri.core.Accessor\"),a=[],f=[];return function(e){function r(e,r){var n;if(!(n=Array.isArray(e)?e.reduce(function(e,r){return r._meta?e.concat(r._meta.bases):e},[]):e._meta?e._meta.bases:e))return!1;if(\"string\"==typeof r)for(var t=n.length-1;t>=0;t--)if(n[t].prototype.declaredClass===r)return!0;return-1!==n.indexOf(r)}function t(e,r){return n.safeMixin(e,r)}function o(e){a.push(e)}function s(e){f.push(e)}e.hasMixin=r,e.safeMixin=t,e.before=o,e.after=s}(i||(i={})),i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./has\"],function(e,n,i){function r(e,n,i){void 0===i&&(i=!1),i&&d.has(n)||(i&&d.add(n),e.warn(\"🛑 DEPRECATED - \"+n))}function o(e,n,r){void 0===r&&(r={}),i(\"esri-deprecation-warnings\")&&a(e,\"Module: \"+n,r)}function t(e,n,r){if(void 0===r&&(r={}),i(\"esri-deprecation-warnings\")){var o=r.moduleName;a(e,\"Function: \"+((o?o+\"::\":\"\")+n+\"()\"),r)}}function a(e,n,o){if(void 0===o&&(o={}),i(\"esri-deprecation-warnings\")){var t=o.replacement,a=o.version,d=o.see,c=o.warnOnce,s=n;t&&(s+=\"\\n\\t🛠️ Replacement: \"+t),a&&(s+=\"\\n\\t⚙️ Version: \"+a),d&&(s+=\"\\n\\t🔗 See \"+d+\" for more details.\"),r(e,s,c)}}Object.defineProperty(n,\"__esModule\",{value:!0});var d=new Set;n.deprecatedModule=o,n.deprecatedFunction=t,n.deprecated=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./global\"],function(c,t,a){function e(c){return c=c||a.location.hostname,g.some(function(t){return null!=c.match(t)})}function r(c,t){return c?(t=t||a.location.hostname,null!=t.match(n)?c.replace(\"static.arcgis.com\",\"staticdev.arcgis.com\"):null!=t.match(l)?c.replace(\"static.arcgis.com\",\"staticdev.arcgis.com\"):null!=t.match(s)?c.replace(\"static.arcgis.com\",\"staticqa.arcgis.com\"):null!=t.match(u)?c.replace(\"static.arcgis.com\",\"staticqa.arcgis.com\"):c):c}function i(c){return c=c||a.location.hostname,[/^zrh-.+?\\.esri\\.com$/].concat(g).some(function(t){return null!=c.match(t)})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isDevEnvironment=e,t.adjustStaticAGOUrl=r,t.isTelemetryDevEnvironment=i;var o=/^([\\w-]*\\.)?[\\w-]*\\.zrh-dev-local.esri.com$/,n=/^devext.arcgis.com$/,s=/^qaext.arcgis.com$/,m=/^jsapps.esri.com$/,l=/^[\\w-]*\\.mapsdevext.arcgis.com$/,u=/^[\\w-]*\\.mapsqa.arcgis.com$/,g=[o,n,s,m,l,u]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../widgets/support/widget\"],function(e,t,n){function o(e){(e=r(e))&&(e.style.display=\"block\")}function r(e){return n.isWidgetBase(e)?e.domNode:e}function i(e){(e=r(e))&&(e.style.display=\"none\")}function l(e){(e=r(e))&&(e.style.display=\"none\"===e.style.display?\"block\":\"none\")}function d(e){return\"string\"==typeof e?document.getElementById(e):e}function s(e){for(;e.hasChildNodes();)e.removeChild(e.firstChild)}function u(e,t){var n=t.parentNode;n&&(n.lastChild===t?n.appendChild(e):n.insertBefore(e,t.nextSibling))}function f(e,t){var n=t.parentNode;n&&n.insertBefore(e,t)}function p(e,t){for(;e.hasChildNodes();)t.appendChild(e.firstChild)}function c(e){e.parentNode&&e.parentNode.removeChild(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.show=o,t.getNode=r,t.hide=i,t.toggle=l,t.byId=d,t.empty=s,t.insertAfter=u,t.insertBefore=f,t.reparent=p,t.remove=c,t.closest=function(){if(Element.prototype.closest)return function(e,t){return e.closest(t)};var e=Element.prototype.matches||Element.prototype.msMatchesSelector;return function(t,n){var o=t;do{if(e.call(o,n))return o;o=o.parentElement}while(null!==o&&1===o.nodeType);return null}}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(e){return e&&(\"function\"==typeof e.on||\"function\"==typeof e.addEventListener)}function t(e,n,t){if(!r(e))throw new TypeError(\"target is not a Evented or EventTarget object\");if(\"on\"in e)return e.on(n,t);if(Array.isArray(n)){for(var o=n.slice(),i=0,a=o;i<a.length;i++){var c=a[i];e.addEventListener(c,t)}return{remove:function(){for(var n=0,r=o;n<r.length;n++){var i=r[n];e.removeEventListener(i,t)}}}}return e.addEventListener(n,t),{remove:function(){e.removeEventListener(n,t)}}}function o(e,n,o){if(!r(e))throw new TypeError(\"target is not a Evented or EventTarget object\");if(\"once\"in e)return e.once(n,o);var i=t(e,n,function(n){i.remove(),o.call(e,n)});return{remove:function(){i.remove()}}}function i(e,n,r){var o=!1,i=t(e,n,function(n){o||r.call(e,n)});return{resume:function(){o=!1},pause:function(){o=!0},remove:function(){i.remove()}}}function a(e){var r=e.key;return n.ieKeyNormalizationMap[r]||r}Object.defineProperty(n,\"__esModule\",{value:!0}),n.isEventTarget=r,n.on=t,n.once=o,n.pausable=i,n.ieKeyNormalizationMap={Win:\"Meta\",Scroll:\"ScrollLock\",Spacebar:\" \",Down:\"ArrowDown\",Left:\"ArrowLeft\",Right:\"ArrowRight\",Up:\"ArrowUp\",Del:\"Delete\",Apps:\"ContextMenu\",Esc:\"Escape\",Multiply:\"*\",Add:\"+\",Subtract:\"-\",Decimal:\".\",Divide:\"/\"},n.eventKey=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/assignHelper\",\"../config\",\"./Error\",\"./has\",\"./Logger\",\"./promiseUtils\",\"../geometry/Point\",\"../geometry/support/webMercatorUtils\",\"../portal/Portal\",\"../tasks/GeometryService\",\"../tasks/support/ProjectParameters\"],function(e,t,r,o,n,i,u,c,a,s,l,g,d){function p(){var e=i(\"esri-geolocation\");return e||U.warn(\"geolocation-unsupported\",\"Geolocation unsupported.\"),e}function f(){var e=i(\"esri-secure-context\");return e||U.warn(\"insecure-context\",\"Geolocation requires a secure origin.\"),e}function m(){return p()&&f()}function v(e){return e||(e=b),c.create(function(t,r){setTimeout(function(){return r(new n(\"geolocation:timeout\",\"getting the current geolocation position timed out\"))},15e3),navigator.geolocation.getCurrentPosition(t,r,e)})}function y(e,t){var r=e.position,o=e.view;return P(w(h(r)),o,t)}function h(e){var t=e&&e.coords||{},r={accuracy:t.accuracy,altitude:t.altitude,altitudeAccuracy:t.altitudeAccuracy,heading:t.heading,latitude:t.latitude,longitude:t.longitude,speed:t.speed};return e?{coords:r,timestamp:e.timestamp}:e}function w(e){var t=e&&e.coords;return t?new a({longitude:t.longitude,latitude:t.latitude,z:t.altitude||null,spatialReference:{wkid:4326}}):null}function P(e,t,r){if(!t)return c.resolve(e);var o=t.spatialReference;return o.isWGS84?c.resolve(e):o.isWebMercator?c.resolve(s.geographicToWebMercator(e)):S(r).then(function(t){if(!t)throw new n(\"geometry-service:missing-url\",\"Geometry service URL is missing\");var i=new g({url:t}),u=new d({geometries:[e],outSR:o});return i.project(u,r).then(function(e){return e[0]})})}function S(e){if(o.geometryServiceUrl)return c.resolve(o.geometryServiceUrl);var t=l.getDefault();return t.load(e).catch(function(){}).then(function(){return t.get(\"helperServices.geometry.url\")})}Object.defineProperty(t,\"__esModule\",{value:!0});var U=u.getLogger(\"esri.core.geolocationUtils\"),b={maximumAge:0,timeout:15e3,enableHighAccuracy:!0};t.supported=m,t.getCurrentPosition=v,t.positionToPoint=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/sniff\",\"../config\",\"./global\",\"../views/webgl/context-util\"],(function(e,r,t,a,n,i){if(\"object\"==typeof a.has){for(var o=0,s=Object.keys(a.has);o<s.length;o++){var d=s[o];t.add(d,a.has[d],!1,!0)}delete a.has}!function(){if(!t(\"host-node\")){var e=navigator.userAgent,r=e.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i),a=e.match(/iPhone/i);r&&t.add(\"esri-mobile\",r),a&&t.add(\"esri-iPhone\",a),t.add(\"esri-geolocation\",(function(){return!!navigator.geolocation})),t.add(\"esri-canvas-svg-support\",(function(){return!(t(\"trident\")||t(\"ie\"))})),t.add(\"esri-secure-context\",(function(){return\"isSecureContext\"in n?n.isSecureContext:n.location&&n.location.origin?0===n.location.origin.indexOf(\"https:\"):void 0})),t.add(\"esri-wasm\",\"WebAssembly\"in n),t.add(\"esri-shared-array-buffer\",(function(){var e=\"SharedArrayBuffer\"in n,r=!1===n.crossOriginIsolated;return e&&!r})),t.add(\"esri-atomics\",\"Atomics\"in n),t.add(\"esri-workers\",\"Worker\"in n),t.add(\"esri-text-decoder\",\"TextDecoder\"in n),t.add(\"esri-deprecation-warnings\",!0),t.add(\"esri-native-promise\",!t(\"disable-feature:esri-native-promise\")),t(\"host-webworker\")||(t.add(\"esri-abortable-fetch\",\"fetch\"in n&&\"signal\"in new Request(\"https://www.arcgis.com\")),t.add(\"esri-image-decode\",(function(){if(\"decode\"in new Image){var e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"></svg>',void e.decode().then((function(){t.add(\"esri-image-decode\",!0,!0,!0)})).catch((function(){t.add(\"esri-image-decode\",!1,!0,!0)}))}return!1})),t.add(\"esri-url-encodes-apostrophe\",(function(){var e=n.document.createElement(\"a\");return e.href=\"?'\",e.href.indexOf(\"?%27\")>-1})),t.add(\"esri-webgl\",(function(){return l().available})),t.add(\"esri-webgl-high-precision-fragment\",(function(){return l().supportsHighPrecisionFragment})),t.add(\"esri-webgl-vertex-shader-samplers\",(function(){return l().supportsVertexShaderSamplers})),t.add(\"esri-webgl-element-index-uint\",(function(){return l().supportsElementIndexUint})),t.add(\"esri-webgl-standard-derivatives\",(function(){return l().supportsStandardDerivatives})),t.add(\"esri-webgl-texture-float\",(function(){return l().supportsTextureFloat})),t.add(\"esri-webgl-color-buffer-float\",(function(){return l().supportsColorBufferFloat})),t.add(\"esri-webgl-instanced-arrays\",(function(){return l().supportsInstancedArrays})),t.add(\"esri-webgl-major-performance-caveat\",(function(){return l().majorPerformanceCaveat})),t.add(\"esri-featurelayer-webgl\",!0),t.add(\"esri-featurelayer-webgl-labeling\",!0),t.add(\"esri-webgl2\",(function(){return function(){if(c)return c;if(c={available:!1,version:0},void 0===typeof WebGL2RenderingContext)return c;var e=document.createElement(\"canvas\");if(!e)return c;var r=i.createContext(e,{},\"webgl2\");if(!r)return c;c.available=!0;var t=r.getParameter(r.VERSION);if(!t)return c;var a=t.match(/^WebGL\\s+([\\d.]*)/);a&&(c.version=parseFloat(a[1]));return c}().available})),t.add(\"esri-webgl-max-texture-size\",(function(){return l().maxTextureSize})))}}();var u=null;function l(){if(u)return u;if(u={available:!1,majorPerformanceCaveat:!1,maxTextureSize:0,supportsHighPrecisionFragment:!1,supportsVertexShaderSamplers:!1,supportsElementIndexUint:!1,supportsStandardDerivatives:!1,supportsInstancedArrays:!1,supportsTextureFloat:!1,supportsColorBufferFloat:!1,version:0},void 0===typeof WebGLRenderingContext)return u;var e=document.createElement(\"canvas\");if(!e)return u;var r=i.createContext(e,{failIfMajorPerformanceCaveat:!0},\"webgl\");if(r||(r=i.createContext(e,{},\"webgl\"))&&(u.majorPerformanceCaveat=!0),!r)return u;var t=r.getParameter(r.VERSION);if(!t)return u;var a=t.match(/^WebGL\\s+([\\d.]*)/);if(a){u.version=parseFloat(a[1]),u.available=u.version>=.94;var n=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT);n&&(u.supportsHighPrecisionFragment=n.precision>0),u.supportsVertexShaderSamplers=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,u.supportsElementIndexUint=null!==r.getExtension(\"OES_element_index_uint\"),u.supportsStandardDerivatives=null!==r.getExtension(\"OES_standard_derivatives\"),u.supportsInstancedArrays=null!==r.getExtension(\"ANGLE_instanced_arrays\"),u.supportsTextureFloat=null!==r.getExtension(\"OES_texture_float\"),u.supportsColorBufferFloat=null!==r.getExtension(\"WEBGL_color_buffer_float\")}return u.maxTextureSize=r.getParameter(r.MAX_TEXTURE_SIZE),u}var c=null;return t}));\n","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/array\"],function(r,e,n){function t(r){var e=[];return r.forEach(function(r,n){return e.push([n,r])}),e}Object.defineProperty(e,\"__esModule\",{value:!0});var u=!!Map.prototype.entries;e.someMap=u?function(r,e){for(var n=r.entries(),t=n.next();!t.done;t=n.next())if(e(t.value[1],t.value[0]))return!0;return!1}:function(r,e){var n=!0,t=function(r,t){n&&(n=!e(r,t))};return r.forEach(t),!n};var o=!!Map.prototype.values;e.pairsOfMap=t,e.valuesOfMap=o?function(r){return n.from(r.values())}:function(r){var e=new Array(r.size),n=0;return r.forEach(function(r){return e[n++]=r}),e},e.keysOfMap=function(r){var e=new Array(r.size),n=0;return r.forEach(function(r,t){return e[n++]=t}),e},e.MapFromValues=o?function(r){return new Map(r)}:function(r){for(var e=new Map,n=0,t=r;n<t.length;n++){var u=t[n];e.set(u[0],u[1])}return e};var a=!!Set.prototype.entries;e.someSet=a?function(r,e){for(var n=r.entries(),t=n.next();!t.done;t=n.next())if(e(t.value[0]))return!0;return!1}:function(r,e){var n=!0,t=function(r){n&&(n=!e(r))};return r.forEach(t),!n};var f=!!Set.prototype.values;e.valuesOfSet=f?function(r){return n.from(r.values())}:function(r){var e=new Array(r.size),n=0;return r.forEach(function(r){return e[n++]=r}),e},e.createSetFromValues=f?function(r){return new Set(r)}:function(r){for(var e=new Set,n=0,t=r;n<t.length;n++){var u=t[n];e.add(u)}return e}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,o){function n(){return function(t){return new i(t,{ignoreUnknown:!0})}}Object.defineProperty(o,\"__esModule\",{value:!0});var i=function(){function t(t,o){void 0===o&&(o={ignoreUnknown:!1});var n=this;this.jsonToAPI=t,this.options=o,this.apiValues=[],this.jsonValues=[],this.apiToJSON=this.invertMap(t),this.apiValues=this.getKeysSorted(this.apiToJSON),this.jsonValues=this.getKeysSorted(this.jsonToAPI),this.read=function(t){return n.fromJSON(t)},this.write=function(t,o,i){var r=n.toJSON(t);void 0!==r&&(o[i]=r)}}return t.prototype.toJSON=function(t){return this.apiToJSON.hasOwnProperty(t)?this.apiToJSON[t]:this.options.ignoreUnknown?void 0:t},t.prototype.fromJSON=function(t){return this.jsonToAPI.hasOwnProperty(t)?this.jsonToAPI[t]:this.options.ignoreUnknown?void 0:t},t.prototype.invertMap=function(t){var o={};for(var n in t)o[t[n]]=n;return o},t.prototype.getKeysSorted=function(t){var o=[];for(var n in t)o.push(n);return o.sort(),o},t}();o.JSONMap=i,o.strict=n,o.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./typedArrayUtil\"],function(e,n,t){function r(e,n){var t;if(n)for(t in e)e.hasOwnProperty(t)&&(void 0===e[t]?delete e[t]:e[t]instanceof Object&&r(e[t],!0));else for(t in e)e.hasOwnProperty(t)&&void 0===e[t]&&delete e[t];return e}function i(e){if(!e||\"object\"!=typeof e||\"function\"==typeof e)return e;if(t.isInt8Array(e)||t.isUint8Array(e)||t.isUint8ClampedArray(e)||t.isInt16Array(e)||t.isUint16Array(e)||t.isInt32Array(e)||t.isUint32Array(e)||t.isFloat32Array(e)||t.isFloat64Array(e))return t.slice(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer){return e.slice(0,e.byteLength)}var n=e;return\"function\"==typeof n.clone?n.clone():\"function\"==typeof n.map&&\"function\"==typeof n.forEach?n.map(i):\"function\"==typeof n.notifyChange&&\"function\"==typeof n.watch?n.clone():a({},e,i)}function o(e,n){return e===n||\"number\"==typeof e&&isNaN(e)&&\"number\"==typeof n&&isNaN(n)||\"function\"==typeof(e||{}).getTime&&\"function\"==typeof(n||{}).getTime&&e.getTime()===n.getTime()||!1}function f(e){void 0===e&&(e={});for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];for(var r=0,i=n;r<i.length;r++){a(e,i[r])}return e}function a(e,n,t){var r,i,o={};for(r in n){i=n[r];var f=!(r in o)||o[r]!==i;r in e&&(e[r]===i||!f)||(e[r]=t?t(i):i)}return e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.fixJson=r,n.clone=i,n.equals=o,n.mixin=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){\"use strict\";function e(e,t,x){x=x||2;var i=t&&t.length,u=i?t[0]*x:e.length,v=n(e,0,u,x,!0),y=[];if(!v||v.next===v.prev)return y;var o,p,l,a,h,s,c;if(i&&(v=f(e,t,v,x)),e.length>80*x){o=l=e[0],p=a=e[1];for(var Z=x;Z<u;Z+=x)h=e[Z],s=e[Z+1],h<o&&(o=h),s<p&&(p=s),h>l&&(l=h),s>a&&(a=s);c=Math.max(l-o,a-p),c=0!==c?1/c:0}return r(v,y,x,o,p,c),y}function n(e,n,t,r,x){var i,u;if(x===A(e,n,t,r)>0)for(i=n;i<t;i+=r)u=m(i,e[i],e[i+1],u);else for(i=t-r;i>=n;i-=r)u=m(i,e[i],e[i+1],u);return u&&d(u,u.next)&&(j(u),u=u.next),u}function t(e,n){if(!e)return e;n||(n=e);var t,r=e;do{if(t=!1,r.steiner||!d(r,r.next)&&0!==g(r.prev,r,r.next))r=r.next;else{if(j(r),(r=n=r.prev)===r.next)break;t=!0}}while(t||r!==n);return n}function r(e,n,f,y,o,p,a){if(e){!a&&p&&l(e,y,o,p);for(var h,s,c=e;e.prev!==e.next;)if(h=e.prev,s=e.next,p?i(e,y,o,p):x(e))n.push(h.i/f),n.push(e.i/f),n.push(s.i/f),j(e),e=s.next,c=s.next;else if((e=s)===c){a?1===a?(e=u(e,n,f),r(e,n,f,y,o,p,2)):2===a&&v(e,n,f,y,o,p):r(t(e),n,f,y,o,p,1);break}}}function x(e){var n=e.prev,t=e,r=e.next;if(g(n,t,r)>=0)return!1;for(var x=e.next.next,i=x,u=0;x!==e.prev&&(0===u||x!==i);){if(u++,c(n.x,n.y,t.x,t.y,r.x,r.y,x.x,x.y)&&g(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function i(e,n,t,r){var x=e.prev,i=e,u=e.next;if(g(x,i,u)>=0)return!1;for(var v=x.x<i.x?x.x<u.x?x.x:u.x:i.x<u.x?i.x:u.x,f=x.y<i.y?x.y<u.y?x.y:u.y:i.y<u.y?i.y:u.y,y=x.x>i.x?x.x>u.x?x.x:u.x:i.x>u.x?i.x:u.x,o=x.y>i.y?x.y>u.y?x.y:u.y:i.y>u.y?i.y:u.y,p=h(v,f,n,t,r),l=h(y,o,n,t,r),a=e.prevZ,s=e.nextZ;a&&a.z>=p&&s&&s.z<=l;){if(a!==e.prev&&a!==e.next&&c(x.x,x.y,i.x,i.y,u.x,u.y,a.x,a.y)&&g(a.prev,a,a.next)>=0)return!1;if(a=a.prevZ,s!==e.prev&&s!==e.next&&c(x.x,x.y,i.x,i.y,u.x,u.y,s.x,s.y)&&g(s.prev,s,s.next)>=0)return!1;s=s.nextZ}for(;a&&a.z>=p;){if(a!==e.prev&&a!==e.next&&c(x.x,x.y,i.x,i.y,u.x,u.y,a.x,a.y)&&g(a.prev,a,a.next)>=0)return!1;a=a.prevZ}for(;s&&s.z<=l;){if(s!==e.prev&&s!==e.next&&c(x.x,x.y,i.x,i.y,u.x,u.y,s.x,s.y)&&g(s.prev,s,s.next)>=0)return!1;s=s.nextZ}return!0}function u(e,n,t){var r=e;do{var x=r.prev,i=r.next.next;!d(x,i)&&w(x,r,r.next,i)&&b(x,i)&&b(i,x)&&(n.push(x.i/t),n.push(r.i/t),n.push(i.i/t),j(r),j(r.next),r=e=i),r=r.next}while(r!==e);return r}function v(e,n,x,i,u,v){var f=e;do{for(var y=f.next.next;y!==f.prev;){if(f.i!==y.i&&Z(f,y)){var o=k(f,y);return f=t(f,f.next),o=t(o,o.next),r(f,n,x,i,u,v),void r(o,n,x,i,u,v)}y=y.next}f=f.next}while(f!==e)}function f(e,r,x,i){var u,v,f,p,l,a=[];for(u=0,v=r.length;u<v;u++)f=r[u]*i,p=u<v-1?r[u+1]*i:e.length,l=n(e,f,p,i,!1),l===l.next&&(l.steiner=!0),a.push(s(l));for(a.sort(y),u=0;u<a.length;u++)o(a[u],x),x=t(x,x.next);return x}function y(e,n){return e.x-n.x}function o(e,n){if(n=p(e,n)){var r=k(n,e);t(r,r.next)}}function p(e,n){var t,r=n,x=e.x,i=e.y,u=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var v=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(v<=x&&v>u){if(u=v,v===x){if(i===r.y)return r;if(i===r.next.y)return r.next}t=r.x<r.next.x?r:r.next}}r=r.next}while(r!==n);if(!t)return null;if(x===u)return t.prev;var f,y=t,o=t.x,p=t.y,l=1/0;for(r=t.next;r!==y;)x>=r.x&&r.x>=o&&x!==r.x&&c(i<p?x:u,i,o,p,i<p?u:x,i,r.x,r.y)&&((f=Math.abs(i-r.y)/(x-r.x))<l||f===l&&r.x>t.x)&&b(r,e)&&(t=r,l=f),r=r.next;return t}function l(e,n,t,r){var x=e;do{null===x.z&&(x.z=h(x.x,x.y,n,t,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,a(x)}function a(e){var n,t,r,x,i,u,v,f,y=1;do{for(t=e,e=null,i=null,u=0;t;){for(u++,r=t,v=0,n=0;n<y&&(v++,r=r.nextZ);n++);for(f=y;v>0||f>0&&r;)0!==v&&(0===f||!r||t.z<=r.z)?(x=t,t=t.nextZ,v--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;t=r}i.nextZ=null,y*=2}while(u>1);return e}function h(e,n,t,r,x){return e=32767*(e-t)*x,n=32767*(n-r)*x,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function s(e){var n=e,t=e;do{(n.x<t.x||n.x===t.x&&n.y<t.y)&&(t=n),n=n.next}while(n!==e);return t}function c(e,n,t,r,x,i,u,v){return(x-u)*(n-v)-(e-u)*(i-v)>=0&&(e-u)*(r-v)-(t-u)*(n-v)>=0&&(t-u)*(i-v)-(x-u)*(r-v)>=0}function Z(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!z(e,n)&&b(e,n)&&b(n,e)&&M(e,n)}function g(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function d(e,n){return e.x===n.x&&e.y===n.y}function w(e,n,t,r){return!!(d(e,n)&&d(t,r)||d(e,r)&&d(t,n))||g(e,n,t)>0!=g(e,n,r)>0&&g(t,r,e)>0!=g(t,r,n)>0}function z(e,n){var t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&w(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function b(e,n){return g(e.prev,e,e.next)<0?g(e,n,e.next)>=0&&g(e,e.prev,n)>=0:g(e,n,e.prev)<0||g(e,e.next,n)<0}function M(e,n){var t=e,r=!1,x=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&x<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(r=!r),t=t.next}while(t!==e);return r}function k(e,n){var t=new q(e.i,e.x,e.y),r=new q(n.i,n.x,n.y),x=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=x,x.prev=t,r.next=t,t.prev=r,i.next=r,r.prev=i,r}function m(e,n,t,r){var x=new q(e,n,t);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function j(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function q(e,n,t){this.i=e,this.x=n,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(e,n,t,r){for(var x=0,i=n,u=t-r;i<t;i+=r)x+=(e[u]-e[i])*(e[i+1]+e[u+1]),u=i;return x}return e.deviation=function(e,n,t,r){var x=n&&n.length,i=x?n[0]*t:e.length,u=Math.abs(A(e,0,i,t));if(x)for(var v=0,f=n.length;v<f;v++){var y=n[v]*t,o=v<f-1?n[v+1]*t:e.length;u-=Math.abs(A(e,y,o,t))}var p=0;for(v=0;v<r.length;v+=3){var l=r[v]*t,a=r[v+1]*t,h=r[v+2]*t;p+=Math.abs((e[l]-e[h])*(e[a+1]-e[l+1])-(e[l]-e[a])*(e[h+1]-e[l+1]))}return 0===u&&0===p?0:Math.abs((p-u)/u)},e.flatten=function(e){for(var n=e[0][0].length,t={vertices:[],holes:[],dimensions:n},r=0,x=0;x<e.length;x++){for(var i=0;i<e[x].length;i++)for(var u=0;u<n;u++)t.vertices.push(e[x][i][u]);x>0&&(r+=e[x-1].length,t.holes.push(r))}return t},e});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./math/common\"],function(e,o,n){Object.defineProperty(o,\"__esModule\",{value:!0}),o.common=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function n(){var e=new Float32Array(6);return e[0]=1,e[3]=1,e}function t(e){var r=new Float32Array(6);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function a(e,r,n,t,a,o){var u=new Float32Array(6);return u[0]=e,u[1]=r,u[2]=n,u[3]=t,u[4]=a,u[5]=o,u}function o(e,r){return new Float32Array(e,r,6)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=n,r.clone=t,r.fromValues=a,r.createView=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(){return[1,0,0,1,0,0]}function t(e){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function u(e,n,r,t,u,o){return[e,n,r,t,u,o]}function o(e,n){return new Float64Array(e,n,6)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.create=r,n.clone=t,n.fromValues=u,n.createView=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function n(){var e=new Float32Array(9);return e[0]=1,e[4]=1,e[8]=1,e}function t(e){var r=new Float32Array(9);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function a(e,r,n,t,a,o,u,c,i){var f=new Float32Array(9);return f[0]=e,f[1]=r,f[2]=n,f[3]=t,f[4]=a,f[5]=o,f[6]=u,f[7]=c,f[8]=i,f}function o(e,r){return new Float32Array(e,r,9)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=n,r.clone=t,r.fromValues=a,r.createView=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function n(){var e=new Float32Array(16);return e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function t(e){var r=new Float32Array(16);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function a(e,r,n,t,a,o,u,c,i,f,l,w,y,v,A,F){var d=new Float32Array(16);return d[0]=e,d[1]=r,d[2]=n,d[3]=t,d[4]=a,d[5]=o,d[6]=u,d[7]=c,d[8]=i,d[9]=f,d[10]=l,d[11]=w,d[12]=y,d[13]=v,d[14]=A,d[15]=F,d}function o(e,r){return new Float32Array(e,r,16)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=n,r.clone=t,r.fromValues=a,r.createView=o,r.IDENTITY=n()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,r){function e(){return new Float32Array(2)}function t(n){var r=new Float32Array(2);return r[0]=n[0],r[1]=n[1],r}function u(n,r){var e=new Float32Array(2);return e[0]=n,e[1]=r,e}function o(n,r){return new Float32Array(n,r,2)}function i(){return e()}function a(){return u(1,1)}function c(){return u(1,0)}function f(){return u(0,1)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=e,r.clone=t,r.fromValues=u,r.createView=o,r.zeros=i,r.ones=a,r.unitX=c,r.unitY=f,r.ZEROS=i(),r.ONES=a(),r.UNIT_X=c(),r.UNIT_Y=f()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,r){function e(){return[0,0]}function t(n){return[n[0],n[1]]}function u(n,r){return[n,r]}function o(n){for(var r=e(),t=Math.min(2,n.length),u=0;u<t;++u)r[u]=n[u];return r}function i(n,r){return new Float64Array(n,r,2)}function f(){return e()}function c(){return u(1,1)}function a(){return u(1,0)}function l(){return u(0,1)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=e,r.clone=t,r.fromValues=u,r.fromArray=o,r.createView=i,r.zeros=f,r.ones=c,r.unitX=a,r.unitY=l,r.ZEROS=f(),r.ONES=c(),r.UNIT_X=a(),r.UNIT_Y=l()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,r){function e(){return[0,0,0]}function t(n){return[n[0],n[1],n[2]]}function u(n,r,e){return[n,r,e]}function o(n){for(var r=e(),t=Math.min(3,n.length),u=0;u<t;++u)r[u]=n[u];return r}function i(n,r){return new Float64Array(n,r,3)}function f(){return e()}function c(){return u(1,1,1)}function a(){return u(1,0,0)}function l(){return u(0,1,0)}function s(){return u(0,0,1)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=e,r.clone=t,r.fromValues=u,r.fromArray=o,r.createView=i,r.zeros=f,r.ones=c,r.unitX=a,r.unitY=l,r.unitZ=s,r.ZEROS=f(),r.ONES=c(),r.UNIT_X=a(),r.UNIT_Y=l(),r.UNIT_Z=s()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,r){function e(){return new Float32Array(4)}function t(n){var r=new Float32Array(4);return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r}function u(n,r,e,t){var u=new Float32Array(4);return u[0]=n,u[1]=r,u[2]=e,u[3]=t,u}function o(n,r){return new Float32Array(n,r,4)}function i(){return e()}function c(){return u(1,1,1,1)}function a(){return u(1,0,0,0)}function f(){return u(0,1,0,0)}function l(){return u(0,0,1,0)}function _(){return u(0,0,0,1)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.create=e,r.clone=t,r.fromValues=u,r.createView=o,r.zeros=i,r.ones=c,r.unitX=a,r.unitY=f,r.unitZ=l,r.unitW=_,r.ZEROS=i(),r.ONES=c(),r.UNIT_X=a(),r.UNIT_Y=f(),r.UNIT_Z=l(),r.UNIT_W=_()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./math/mat2d\"],function(e,t,d){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat2d=d});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/mat2df32\"],function(e,t,f){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat2df32=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/mat2df64\"],function(e,t,f){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat2df64=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./math/mat3\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat3=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/mat3f32\"],function(e,t,f){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat3f32=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/mat4f32\"],function(e,t,f){Object.defineProperty(t,\"__esModule\",{value:!0}),t.mat4f32=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){function a(e){return e*u}function n(e){return e*o}function r(e,a){return Math.abs(e-a)<=t.EPSILON*Math.max(1,Math.abs(e),Math.abs(a))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.EPSILON=1e-6,t.RANDOM=Math.random;var u=Math.PI/180,o=180/Math.PI;t.toRadian=a,t.toDegree=n,t.equals=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./common\"],function(t,a,n){function r(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t}function u(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function o(t,a,n,r,u,o,e){return t[0]=a,t[1]=n,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t}function e(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],M=n*o-r*u;return M?(M=1/M,t[0]=o*M,t[1]=-r*M,t[2]=-u*M,t[3]=n*M,t[4]=(u*i-o*e)*M,t[5]=(r*e-n*i)*M,t):null}function i(t){return t[0]*t[3]-t[1]*t[2]}function M(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],M=a[5],h=n[0],s=n[1],c=n[2],f=n[3],b=n[4],l=n[5];return t[0]=r*h+o*s,t[1]=u*h+e*s,t[2]=r*c+o*f,t[3]=u*c+e*f,t[4]=r*b+o*l+i,t[5]=u*b+e*l+M,t}function h(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],M=a[5],h=Math.sin(n),s=Math.cos(n);return t[0]=r*s+o*h,t[1]=u*s+e*h,t[2]=r*-h+o*s,t[3]=u*-h+e*s,t[4]=i,t[5]=M,t}function s(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],M=a[5],h=n[0],s=n[1];return t[0]=r*h,t[1]=u*h,t[2]=o*s,t[3]=e*s,t[4]=i,t[5]=M,t}function c(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],M=a[5],h=n[0],s=n[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=r*h+o*s+i,t[5]=u*h+e*s+M,t}function f(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=-n,t[3]=r,t[4]=0,t[5]=0,t}function b(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=a[1],t[4]=0,t[5]=0,t}function l(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=a[0],t[5]=a[1],t}function m(t){return\"mat2d(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\")\"}function p(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)}function d(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t}function v(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t}function S(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t}function x(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t}function E(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]}function O(t,a){var r=t[0],u=t[1],o=t[2],e=t[3],i=t[4],M=t[5],h=a[0],s=a[1],c=a[2],f=a[3],b=a[4],l=a[5];return Math.abs(r-h)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(u-s)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(s))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(e-f)<=n.EPSILON*Math.max(1,Math.abs(e),Math.abs(f))&&Math.abs(i-b)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(M-l)<=n.EPSILON*Math.max(1,Math.abs(M),Math.abs(l))}Object.defineProperty(a,\"__esModule\",{value:!0}),a.copy=r,a.identity=u,a.set=o,a.invert=e,a.determinant=i,a.multiply=M,a.rotate=h,a.scale=s,a.translate=c,a.fromRotation=f,a.fromScaling=b,a.fromTranslation=l,a.str=m,a.frob=p,a.add=d,a.subtract=v,a.multiplyScalar=S,a.multiplyScalarAndAdd=x,a.exactEquals=E,a.equals=O,a.mul=M,a.sub=v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./common\"],function(t,a,n){function r(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[4],t[4]=a[5],t[5]=a[6],t[6]=a[8],t[7]=a[9],t[8]=a[10],t}function u(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t}function o(t,a,n,r,u,o,e,M,h,i){return t[0]=a,t[1]=n,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t[6]=M,t[7]=h,t[8]=i,t}function e(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function M(t,a){if(t===a){var n=a[1],r=a[2],u=a[5];t[1]=a[3],t[2]=a[6],t[3]=n,t[5]=a[7],t[6]=r,t[7]=u}else t[0]=a[0],t[1]=a[3],t[2]=a[6],t[3]=a[1],t[4]=a[4],t[5]=a[7],t[6]=a[2],t[7]=a[5],t[8]=a[8];return t}function h(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],M=a[5],h=a[6],i=a[7],s=a[8],c=s*e-M*i,f=-s*o+M*h,b=i*o-e*h,l=n*c+r*f+u*b;return l?(l=1/l,t[0]=c*l,t[1]=(-s*r+u*i)*l,t[2]=(M*r-u*e)*l,t[3]=f*l,t[4]=(s*n-u*h)*l,t[5]=(-M*n+u*o)*l,t[6]=b*l,t[7]=(-i*n+r*h)*l,t[8]=(e*n-r*o)*l,t):null}function i(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],M=a[5],h=a[6],i=a[7],s=a[8];return t[0]=e*s-M*i,t[1]=u*i-r*s,t[2]=r*M-u*e,t[3]=M*h-o*s,t[4]=n*s-u*h,t[5]=u*o-n*M,t[6]=o*i-e*h,t[7]=r*h-n*i,t[8]=n*e-r*o,t}function s(t){var a=t[0],n=t[1],r=t[2],u=t[3],o=t[4],e=t[5],M=t[6],h=t[7],i=t[8];return a*(i*o-e*h)+n*(-i*u+e*M)+r*(h*u-o*M)}function c(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],M=a[4],h=a[5],i=a[6],s=a[7],c=a[8],f=n[0],b=n[1],l=n[2],m=n[3],p=n[4],v=n[5],d=n[6],S=n[7],x=n[8];return t[0]=f*r+b*e+l*i,t[1]=f*u+b*M+l*s,t[2]=f*o+b*h+l*c,t[3]=m*r+p*e+v*i,t[4]=m*u+p*M+v*s,t[5]=m*o+p*h+v*c,t[6]=d*r+S*e+x*i,t[7]=d*u+S*M+x*s,t[8]=d*o+S*h+x*c,t}function f(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],M=a[4],h=a[5],i=a[6],s=a[7],c=a[8],f=n[0],b=n[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=M,t[5]=h,t[6]=f*r+b*e+i,t[7]=f*u+b*M+s,t[8]=f*o+b*h+c,t}function b(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],M=a[4],h=a[5],i=a[6],s=a[7],c=a[8],f=Math.sin(n),b=Math.cos(n);return t[0]=b*r+f*e,t[1]=b*u+f*M,t[2]=b*o+f*h,t[3]=b*e-f*r,t[4]=b*M-f*u,t[5]=b*h-f*o,t[6]=i,t[7]=s,t[8]=c,t}function l(t,a,n){var r=n[0],u=n[1],o=n[2];return t[0]=r*a[0],t[1]=r*a[1],t[2]=r*a[2],t[3]=u*a[3],t[4]=u*a[4],t[5]=u*a[5],t[6]=o*a[6],t[7]=o*a[7],t[8]=o*a[8],t}function m(t,a,n){var r=n[0],u=n[1];return t[0]=r*a[0],t[1]=r*a[1],t[2]=r*a[2],t[3]=u*a[3],t[4]=u*a[4],t[5]=u*a[5],t}function p(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=a[0],t[7]=a[1],t[8]=1,t}function v(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function d(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=0,t[4]=a[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function S(t,a){return t[0]=a[0],t[1]=a[1],t[2]=0,t[3]=a[2],t[4]=a[3],t[5]=0,t[6]=a[4],t[7]=a[5],t[8]=1,t}function x(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=n+n,M=r+r,h=u+u,i=n*e,s=r*e,c=r*M,f=u*e,b=u*M,l=u*h,m=o*e,p=o*M,v=o*h;return t[0]=1-c-l,t[3]=s-v,t[6]=f+p,t[1]=s+v,t[4]=1-i-l,t[7]=b-m,t[2]=f-p,t[5]=b+m,t[8]=1-i-c,t}function E(t,a){var n=a[0],r=a[1],u=a[2],o=a[4],e=a[5],M=a[6],h=a[8],i=a[9],s=a[10],c=s*e-M*i,f=-s*o+M*h,b=i*o-e*h,l=n*c+r*f+u*b;if(!l)return null;var m=1/l;return t[0]=c*m,t[1]=(-s*r+u*i)*m,t[2]=(M*r-u*e)*m,t[3]=f*m,t[4]=(s*n-u*h)*m,t[5]=(-M*n+u*o)*m,t[6]=b*m,t[7]=(-i*n+r*h)*m,t[8]=(e*n-r*o)*m,t}function L(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],M=a[5],h=a[6],i=a[7],s=a[8],c=a[9],f=a[10],b=a[11],l=a[12],m=a[13],p=a[14],v=a[15],d=n*M-r*e,S=n*h-u*e,x=n*i-o*e,E=r*h-u*M,L=r*i-o*M,O=u*i-o*h,P=s*m-c*l,w=s*p-f*l,I=s*v-b*l,N=c*p-f*m,y=c*v-b*m,q=f*v-b*p,j=d*q-S*y+x*N+E*I-L*w+O*P;return j?(j=1/j,t[0]=(M*q-h*y+i*N)*j,t[1]=(h*I-e*q-i*w)*j,t[2]=(e*y-M*I+i*P)*j,t[3]=(u*y-r*q-o*N)*j,t[4]=(n*q-u*I+o*w)*j,t[5]=(r*I-n*y-o*P)*j,t[6]=(m*O-p*L+v*E)*j,t[7]=(p*x-l*O-v*S)*j,t[8]=(l*L-m*x+v*d)*j,t):null}function O(t,a,n){return t[0]=2/a,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function P(t){return\"mat3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\")\"}function w(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))}function I(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t}function N(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t}function y(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t}function q(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t}function j(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]}function g(t,a){var r=t[0],u=t[1],o=t[2],e=t[3],M=t[4],h=t[5],i=t[6],s=t[7],c=t[8],f=a[0],b=a[1],l=a[2],m=a[3],p=a[4],v=a[5],d=a[6],S=a[7],x=a[8];return Math.abs(r-f)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(u-b)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(o-l)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(l))&&Math.abs(e-m)<=n.EPSILON*Math.max(1,Math.abs(e),Math.abs(m))&&Math.abs(M-p)<=n.EPSILON*Math.max(1,Math.abs(M),Math.abs(p))&&Math.abs(h-v)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(v))&&Math.abs(i-d)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(s-S)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(c-x)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(x))}Object.defineProperty(a,\"__esModule\",{value:!0}),a.fromMat4=r,a.copy=u,a.set=o,a.identity=e,a.transpose=M,a.invert=h,a.adjoint=i,a.determinant=s,a.multiply=c,a.translate=f,a.rotate=b,a.scale=l,a.scaleByVec2=m,a.fromTranslation=p,a.fromRotation=v,a.fromScaling=d,a.fromMat2d=S,a.fromQuat=x,a.normalFromMat4Legacy=E,a.normalFromMat4=L,a.projection=O,a.str=P,a.frob=w,a.add=I,a.subtract=N,a.multiplyScalar=y,a.multiplyScalarAndAdd=q,a.exactEquals=j,a.equals=g,a.mul=c,a.sub=N});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./common\"],function(t,n,r){function a(t,n){return t[0]=n[0],t[1]=n[1],t}function u(t,n,r){return t[0]=n,t[1]=r,t}function e(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t}function o(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t}function i(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t}function c(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t}function f(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t}function s(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t}function M(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t}function h(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t}function v(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t}function d(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t}function l(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t}function m(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)}function q(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a}function b(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)}function x(t){var n=t[0],r=t[1];return n*n+r*r}function p(t,n){return t[0]=-n[0],t[1]=-n[1],t}function P(t,n){return t[0]=1/n[0],t[1]=1/n[1],t}function g(t,n){var r=n[0],a=n[1],u=r*r+a*a;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u),t}function I(t,n){return t[0]*n[0]+t[1]*n[1]}function L(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t}function O(t,n,r,a){var u=n[0],e=n[1];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t}function y(t,n){n=n||1;var a=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(a)*n,t[1]=Math.sin(a)*n,t}function A(t,n,r){var a=n[0],u=n[1];return t[0]=r[0]*a+r[2]*u,t[1]=r[1]*a+r[3]*u,t}function D(t,n,r){var a=n[0],u=n[1];return t[0]=r[0]*a+r[2]*u+r[4],t[1]=r[1]*a+r[3]*u+r[5],t}function E(t,n,r){var a=n[0],u=n[1];return t[0]=r[0]*a+r[3]*u+r[6],t[1]=r[1]*a+r[4]*u+r[7],t}function N(t,n,r){var a=n[0],u=n[1];return t[0]=r[0]*a+r[4]*u+r[12],t[1]=r[1]*a+r[5]*u+r[13],t}function S(t,n,r,a){var u=n[0]-r[0],e=n[1]-r[1],o=Math.sin(a),i=Math.cos(a);return t[0]=u*i-e*o+r[0],t[1]=u*o+e*i+r[1],t}function _(t,n){var r=t[0],a=t[1],u=n[0],e=n[1],o=r*r+a*a;o>0&&(o=1/Math.sqrt(o));var i=u*u+e*e;i>0&&(i=1/Math.sqrt(i));var c=(r*u+a*e)*o*i;return c>1?0:c<-1?Math.PI:Math.acos(c)}function j(t){return\"vec2(\"+t[0]+\", \"+t[1]+\")\"}function z(t,n){return t[0]===n[0]&&t[1]===n[1]}function R(t,n){var a=t[0],u=t[1],e=n[0],o=n[1];return Math.abs(a-e)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(e))&&Math.abs(u-o)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(o))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.copy=a,n.set=u,n.add=e,n.subtract=o,n.multiply=i,n.divide=c,n.ceil=f,n.floor=s,n.min=M,n.max=h,n.round=v,n.scale=d,n.scaleAndAdd=l,n.distance=m,n.squaredDistance=q,n.length=b,n.squaredLength=x,n.negate=p,n.inverse=P,n.normalize=g,n.dot=I,n.cross=L,n.lerp=O,n.random=y,n.transformMat2=A,n.transformMat2d=D,n.transformMat3=E,n.transformMat4=N,n.rotate=S,n.angle=_,n.str=j,n.exactEquals=z,n.equals=R,n.len=b,n.sub=o,n.mul=i,n.div=c,n.dist=m,n.sqrDist=q,n.sqrLen=x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../factories/vec3f64\",\"./common\"],function(t,n,r,a){function u(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)}function e(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t}function i(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function s(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function M(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function f(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function v(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t}function l(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t}function d(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function m(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t}function b(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t}function q(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return Math.sqrt(r*r+a*a+u*u)}function x(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return r*r+a*a+u*u}function O(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a}function P(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function p(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function I(t,n){var r=n[0],a=n[1],u=n[2],e=r*r+a*a+u*u;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e),t}function L(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function N(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[0],i=r[1],c=r[2];return t[0]=u*c-e*i,t[1]=e*o-a*c,t[2]=a*i-u*o,t}function g(t,n,r,a){var u=n[0],e=n[1],o=n[2];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t[2]=o+a*(r[2]-o),t}function A(t,n,r,a,u,e){var o=e*e,i=o*(2*e-3)+1,c=o*(e-2)+e,s=o*(e-1),M=o*(3-2*e);return t[0]=n[0]*i+r[0]*c+a[0]*s+u[0]*M,t[1]=n[1]*i+r[1]*c+a[1]*s+u[1]*M,t[2]=n[2]*i+r[2]*c+a[2]*s+u[2]*M,t}function D(t,n,r,a,u,e){var o=1-e,i=o*o,c=e*e,s=i*o,M=3*e*i,h=3*c*o,f=c*e;return t[0]=n[0]*s+r[0]*M+a[0]*h+u[0]*f,t[1]=n[1]*s+r[1]*M+a[1]*h+u[1]*f,t[2]=n[2]*s+r[2]*M+a[2]*h+u[2]*f,t}function E(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,u=2*a.RANDOM()-1,e=Math.sqrt(1-u*u)*n;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t[2]=u*n,t}function y(t,n,r){var a=n[0],u=n[1],e=n[2];return t[0]=r[0]*a+r[4]*u+r[8]*e+r[12],t[1]=r[1]*a+r[5]*u+r[9]*e+r[13],t[2]=r[2]*a+r[6]*u+r[10]*e+r[14],t}function S(t,n,r){var a=n[0],u=n[1],e=n[2];return t[0]=a*r[0]+u*r[3]+e*r[6],t[1]=a*r[1]+u*r[4]+e*r[7],t[2]=a*r[2]+u*r[5]+e*r[8],t}function z(t,n,r){var a=r[0],u=r[1],e=r[2],o=r[3],i=n[0],c=n[1],s=n[2],M=u*s-e*c,h=e*i-a*s,f=a*c-u*i,v=u*f-e*h,l=e*M-a*f,d=a*h-u*M,m=2*o;return M*=m,h*=m,f*=m,v*=2,l*=2,d*=2,t[0]=i+M+v,t[1]=c+h+l,t[2]=s+f+d,t}function R(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0],e[1]=u[1]*Math.cos(a)-u[2]*Math.sin(a),e[2]=u[1]*Math.sin(a)+u[2]*Math.cos(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function _(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[2]*Math.sin(a)+u[0]*Math.cos(a),e[1]=u[1],e[2]=u[2]*Math.cos(a)-u[0]*Math.sin(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function j(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0]*Math.cos(a)-u[1]*Math.sin(a),e[1]=u[0]*Math.sin(a)+u[1]*Math.cos(a),e[2]=u[2],t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Q(t,n){e(k,t),e(w,n),I(k,k),I(w,w);var r=L(k,w);return r>1?0:r<-1?Math.PI:Math.acos(r)}function X(t){return\"vec3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"}function Y(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function Z(t,n){var r=t[0],u=t[1],e=t[2],o=n[0],i=n[1],c=n[2];return Math.abs(r-o)<=a.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(u-i)<=a.EPSILON*Math.max(1,Math.abs(u),Math.abs(i))&&Math.abs(e-c)<=a.EPSILON*Math.max(1,Math.abs(e),Math.abs(c))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.length=u,n.copy=e,n.set=o,n.add=i,n.subtract=c,n.multiply=s,n.divide=M,n.ceil=h,n.floor=f,n.min=v,n.max=l,n.round=d,n.scale=m,n.scaleAndAdd=b,n.distance=q,n.squaredDistance=x,n.squaredLength=O,n.negate=P,n.inverse=p,n.normalize=I,n.dot=L,n.cross=N,n.lerp=g,n.hermite=A,n.bezier=D,n.random=E,n.transformMat4=y,n.transformMat3=S,n.transformQuat=z,n.rotateX=R,n.rotateY=_,n.rotateZ=j,n.angle=Q;var k=r.create(),w=r.create();n.str=X,n.exactEquals=Y,n.equals=Z,n.sub=c,n.mul=s,n.div=M,n.dist=q,n.sqrDist=x,n.len=u,n.sqrLen=O});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(e){return e instanceof Float32Array&&e.length>=2}function t(e){return Array.isArray(e)&&e.length>=2}function i(e){return r(e)||t(e)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.isVec2f32=r,n.isVec2f64=t,n.isVec2=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./math/vec2\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0}),r.vec2=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/vec2f32\"],function(e,f,r){Object.defineProperty(f,\"__esModule\",{value:!0}),f.vec2f32=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/vec2f64\"],function(e,f,r){Object.defineProperty(f,\"__esModule\",{value:!0}),f.vec2f64=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./math/vec3\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0}),r.vec3=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/vec3f64\"],function(e,f,r){Object.defineProperty(f,\"__esModule\",{value:!0}),f.vec3f64=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./factories/vec4f32\"],function(e,f,r){Object.defineProperty(f,\"__esModule\",{value:!0}),f.vec4f32=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * @license\n * Copyright 2000, Silicon Graphics, Inc. All Rights Reserved.\n * Copyright 2015, Google Inc. All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice including the dates of first publication and\n * either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/\n * shall be included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Original Code. The Original Code is: OpenGL Sample Implementation,\n * Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,\n * Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.\n * Copyright in any portions created by third parties is as indicated\n * elsewhere herein. All Rights Reserved.\n */\n\ndefine([],function(){\"use strict\";var e={};return e.DEBUG=!1,e.assert=function(t,s){if(e.DEBUG&&!t)throw new Error(\"Assertion failed\"+(s?\": \"+s:\"\"))},e.GLU_TESS_MAX_COORD=1e150,e.TRUE_PROJECT=!1,e.GLU_TESS_DEFAULT_TOLERANCE=0,e.windingRule={GLU_TESS_WINDING_ODD:100130,GLU_TESS_WINDING_NONZERO:100131,GLU_TESS_WINDING_POSITIVE:100132,GLU_TESS_WINDING_NEGATIVE:100133,GLU_TESS_WINDING_ABS_GEQ_TWO:100134},e.primitiveType={GL_LINE_LOOP:2,GL_TRIANGLES:4,GL_TRIANGLE_STRIP:5,GL_TRIANGLE_FAN:6},e.errorType={GLU_TESS_MISSING_BEGIN_POLYGON:100151,GLU_TESS_MISSING_END_POLYGON:100153,GLU_TESS_MISSING_BEGIN_CONTOUR:100152,GLU_TESS_MISSING_END_CONTOUR:100154,GLU_TESS_COORD_TOO_LARGE:100155,GLU_TESS_NEED_COMBINE_CALLBACK:100156},e.gluEnum={GLU_TESS_BEGIN:100100,GLU_TESS_VERTEX:100101,GLU_TESS_END:100102,GLU_TESS_ERROR:100103,GLU_TESS_EDGE_FLAG:100104,GLU_TESS_COMBINE:100105,GLU_TESS_BEGIN_DATA:100106,GLU_TESS_VERTEX_DATA:100107,GLU_TESS_END_DATA:100108,GLU_TESS_ERROR_DATA:100109,GLU_TESS_EDGE_FLAG_DATA:100110,GLU_TESS_COMBINE_DATA:100111,GLU_TESS_MESH:100112,GLU_TESS_TOLERANCE:100142,GLU_TESS_WINDING_RULE:100140,GLU_TESS_BOUNDARY_ONLY:100141,GLU_INVALID_ENUM:100900,GLU_INVALID_VALUE:100901},e.PQHandle,e.geom={},e.geom.vertEq=function(e,t){return e.s===t.s&&e.t===t.t},e.geom.vertLeq=function(e,t){return e.s<t.s||e.s===t.s&&e.t<=t.t},e.geom.edgeEval=function(t,s,r){e.assert(e.geom.vertLeq(t,s)&&e.geom.vertLeq(s,r));var i=s.s-t.s,n=r.s-s.s;return i+n>0?i<n?s.t-t.t+(t.t-r.t)*(i/(i+n)):s.t-r.t+(r.t-t.t)*(n/(i+n)):0},e.geom.edgeSign=function(t,s,r){e.assert(e.geom.vertLeq(t,s)&&e.geom.vertLeq(s,r));var i=s.s-t.s,n=r.s-s.s;return i+n>0?(s.t-r.t)*i+(s.t-t.t)*n:0},e.geom.transLeq=function(e,t){return e.t<t.t||e.t===t.t&&e.s<=t.s},e.geom.transEval=function(t,s,r){e.assert(e.geom.transLeq(t,s)&&e.geom.transLeq(s,r));var i=s.t-t.t,n=r.t-s.t;return i+n>0?i<n?s.s-t.s+(t.s-r.s)*(i/(i+n)):s.s-r.s+(r.s-t.s)*(n/(i+n)):0},e.geom.transSign=function(t,s,r){e.assert(e.geom.transLeq(t,s)&&e.geom.transLeq(s,r));var i=s.t-t.t,n=r.t-s.t;return i+n>0?(s.s-r.s)*i+(s.s-t.s)*n:0},e.geom.edgeGoesLeft=function(t){return e.geom.vertLeq(t.dst(),t.org)},e.geom.edgeGoesRight=function(t){return e.geom.vertLeq(t.org,t.dst())},e.geom.vertL1dist=function(e,t){return Math.abs(e.s-t.s)+Math.abs(e.t-t.t)},e.geom.vertCCW=function(e,t,s){return e.s*(t.t-s.t)+t.s*(s.t-e.t)+s.s*(e.t-t.t)>=0},e.geom.interpolate_=function(e,t,s,r){return e=e<0?0:e,s=s<0?0:s,e<=s?0===s?(t+r)/2:t+e/(e+s)*(r-t):r+s/(e+s)*(t-r)},e.geom.edgeIntersect=function(t,s,r,i,n){var o,a,l;e.geom.vertLeq(t,s)||(l=t,t=s,s=l),e.geom.vertLeq(r,i)||(l=r,r=i,i=l),e.geom.vertLeq(t,r)||(l=t,t=r,r=l,l=s,s=i,i=l),e.geom.vertLeq(r,s)?e.geom.vertLeq(s,i)?(o=e.geom.edgeEval(t,r,s),a=e.geom.edgeEval(r,s,i),o+a<0&&(o=-o,a=-a),n.s=e.geom.interpolate_(o,r.s,a,s.s)):(o=e.geom.edgeSign(t,r,s),a=-e.geom.edgeSign(t,i,s),o+a<0&&(o=-o,a=-a),n.s=e.geom.interpolate_(o,r.s,a,i.s)):n.s=(r.s+s.s)/2,e.geom.transLeq(t,s)||(l=t,t=s,s=l),e.geom.transLeq(r,i)||(l=r,r=i,i=l),e.geom.transLeq(t,r)||(l=t,t=r,r=l,l=s,s=i,i=l),e.geom.transLeq(r,s)?e.geom.transLeq(s,i)?(o=e.geom.transEval(t,r,s),a=e.geom.transEval(r,s,i),o+a<0&&(o=-o,a=-a),n.t=e.geom.interpolate_(o,r.t,a,s.t)):(o=e.geom.transSign(t,r,s),a=-e.geom.transSign(t,i,s),o+a<0&&(o=-o,a=-a),n.t=e.geom.interpolate_(o,r.t,a,i.t)):n.t=(r.t+s.t)/2},e.mesh={},e.mesh.makeEdge=function(t){var s=e.mesh.makeEdgePair_(t.eHead);return e.mesh.makeVertex_(s,t.vHead),e.mesh.makeVertex_(s.sym,t.vHead),e.mesh.makeFace_(s,t.fHead),s},e.mesh.meshSplice=function(t,s){var r=!1,i=!1;t!==s&&(s.org!==t.org&&(i=!0,e.mesh.killVertex_(s.org,t.org)),s.lFace!==t.lFace&&(r=!0,e.mesh.killFace_(s.lFace,t.lFace)),e.mesh.splice_(s,t),i||(e.mesh.makeVertex_(s,t.org),t.org.anEdge=t),r||(e.mesh.makeFace_(s,t.lFace),t.lFace.anEdge=t))},e.mesh.deleteEdge=function(t){var s=t.sym,r=!1;t.lFace!==t.rFace()&&(r=!0,e.mesh.killFace_(t.lFace,t.rFace())),t.oNext===t?e.mesh.killVertex_(t.org,null):(t.rFace().anEdge=t.oPrev(),t.org.anEdge=t.oNext,e.mesh.splice_(t,t.oPrev()),r||e.mesh.makeFace_(t,t.lFace)),s.oNext===s?(e.mesh.killVertex_(s.org,null),e.mesh.killFace_(s.lFace,null)):(t.lFace.anEdge=s.oPrev(),s.org.anEdge=s.oNext,e.mesh.splice_(s,s.oPrev())),e.mesh.killEdge_(t)},e.mesh.addEdgeVertex=function(t){var s=e.mesh.makeEdgePair_(t),r=s.sym;return e.mesh.splice_(s,t.lNext),s.org=t.dst(),e.mesh.makeVertex_(r,s.org),s.lFace=r.lFace=t.lFace,s},e.mesh.splitEdge=function(t){var s=e.mesh.addEdgeVertex(t),r=s.sym;return e.mesh.splice_(t.sym,t.sym.oPrev()),e.mesh.splice_(t.sym,r),t.sym.org=r.org,r.dst().anEdge=r.sym,r.sym.lFace=t.rFace(),r.winding=t.winding,r.sym.winding=t.sym.winding,r},e.mesh.connect=function(t,s){var r=!1,i=e.mesh.makeEdgePair_(t),n=i.sym;return s.lFace!==t.lFace&&(r=!0,e.mesh.killFace_(s.lFace,t.lFace)),e.mesh.splice_(i,t.lNext),e.mesh.splice_(n,s),i.org=t.dst(),n.org=s.org,i.lFace=n.lFace=t.lFace,t.lFace.anEdge=n,r||e.mesh.makeFace_(i,t.lFace),i},e.mesh.zapFace=function(t){var s,r=t.anEdge,i=r.lNext;do{if(s=i,i=s.lNext,s.lFace=null,null===s.rFace()){s.oNext===s?e.mesh.killVertex_(s.org,null):(s.org.anEdge=s.oNext,e.mesh.splice_(s,s.oPrev()));var n=s.sym;n.oNext===n?e.mesh.killVertex_(n.org,null):(n.org.anEdge=n.oNext,e.mesh.splice_(n,n.oPrev())),e.mesh.killEdge_(s)}}while(s!==r);var o=t.prev,a=t.next;a.prev=o,o.next=a},e.mesh.meshUnion=function(e,t){var s=e.fHead,r=e.vHead,i=e.eHead,n=t.fHead,o=t.vHead,a=t.eHead;return n.next!==n&&(s.prev.next=n.next,n.next.prev=s.prev,n.prev.next=s,s.prev=n.prev),o.next!==o&&(r.prev.next=o.next,o.next.prev=r.prev,o.prev.next=r,r.prev=o.prev),a.next!==a&&(i.sym.next.sym.next=a.next,a.next.sym.next=i.sym.next,a.sym.next.sym.next=i,i.sym.next=a.sym.next),e},e.mesh.deleteMesh=function(e){},e.mesh.makeEdgePair_=function(t){var s=new e.GluHalfEdge,r=new e.GluHalfEdge,i=t.sym.next;return r.next=i,i.sym.next=s,s.next=t,t.sym.next=r,s.sym=r,s.oNext=s,s.lNext=r,r.sym=s,r.oNext=r,r.lNext=s,s},e.mesh.splice_=function(e,t){var s=e.oNext,r=t.oNext;s.sym.lNext=t,r.sym.lNext=e,e.oNext=r,t.oNext=s},e.mesh.makeVertex_=function(t,s){var r=s.prev,i=new e.GluVertex(s,r);r.next=i,s.prev=i,i.anEdge=t;var n=t;do{n.org=i,n=n.oNext}while(n!==t)},e.mesh.makeFace_=function(t,s){var r=s.prev,i=new e.GluFace(s,r);r.next=i,s.prev=i,i.anEdge=t,i.inside=s.inside;var n=t;do{n.lFace=i,n=n.lNext}while(n!==t)},e.mesh.killEdge_=function(e){var t=e.next,s=e.sym.next;t.sym.next=s,s.sym.next=t},e.mesh.killVertex_=function(e,t){var s=e.anEdge,r=s;do{r.org=t,r=r.oNext}while(r!==s);var i=e.prev,n=e.next;n.prev=i,i.next=n},e.mesh.killFace_=function(e,t){var s=e.anEdge,r=s;do{r.lFace=t,r=r.lNext}while(r!==s);var i=e.prev,n=e.next;n.prev=i,i.next=n},e.normal={},e.normal.S_UNIT_X_=1,e.normal.S_UNIT_Y_=0,e.normal.projectPolygon=function(t,s,r,i){var n=!1,o=[s,r,i];0===s&&0===r&&0===i&&(e.normal.computeNormal_(t,o),n=!0);var a,l=e.normal.longAxis_(o),_=t.mesh.vHead;if(e.TRUE_PROJECT){e.normal.normalize_(o);var g=[0,0,0],d=[0,0,0];g[l]=0,g[(l+1)%3]=e.normal.S_UNIT_X_,g[(l+2)%3]=e.normal.S_UNIT_Y_;var h=e.normal.dot_(g,o);for(g[0]-=h*o[0],g[1]-=h*o[1],g[2]-=h*o[2],e.normal.normalize_(g),d[0]=o[1]*g[2]-o[2]*g[1],d[1]=o[2]*g[0]-o[0]*g[2],d[2]=o[0]*g[1]-o[1]*g[0],e.normal.normalize_(d),a=_.next;a!==_;a=a.next)a.s=e.normal.dot_(a.coords,g),a.t=e.normal.dot_(a.coords,d)}else{var c=(l+1)%3,u=(l+2)%3,p=o[l]>0?1:-1;for(a=_.next;a!==_;a=a.next)a.s=a.coords[c],a.t=p*a.coords[u]}n&&e.normal.checkOrientation_(t)},e.normal.dot_=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.normal.normalize_=function(t){var s=t[0]*t[0]+t[1]*t[1]+t[2]*t[2];e.assert(s>0),s=Math.sqrt(s),t[0]/=s,t[1]/=s,t[2]/=s},e.normal.longAxis_=function(e){var t=0;return Math.abs(e[1])>Math.abs(e[0])&&(t=1),Math.abs(e[2])>Math.abs(e[t])&&(t=2),t},e.normal.computeNormal_=function(t,s){var r,i=[-2*e.GLU_TESS_MAX_COORD,-2*e.GLU_TESS_MAX_COORD,-2*e.GLU_TESS_MAX_COORD],n=[2*e.GLU_TESS_MAX_COORD,2*e.GLU_TESS_MAX_COORD,2*e.GLU_TESS_MAX_COORD],o=[],a=[],l=t.mesh.vHead;for(r=l.next;r!==l;r=r.next)for(var _=0;_<3;++_){var g=r.coords[_];g<n[_]&&(n[_]=g,a[_]=r),g>i[_]&&(i[_]=g,o[_]=r)}var d=0;if(i[1]-n[1]>i[0]-n[0]&&(d=1),i[2]-n[2]>i[d]-n[d]&&(d=2),n[d]>=i[d])return s[0]=0,s[1]=0,void(s[2]=1);var h=0,c=a[d],u=o[d],p=[0,0,0],m=[c.coords[0]-u.coords[0],c.coords[1]-u.coords[1],c.coords[2]-u.coords[2]],E=[0,0,0];for(r=l.next;r!==l;r=r.next){E[0]=r.coords[0]-u.coords[0],E[1]=r.coords[1]-u.coords[1],E[2]=r.coords[2]-u.coords[2],p[0]=m[1]*E[2]-m[2]*E[1],p[1]=m[2]*E[0]-m[0]*E[2],p[2]=m[0]*E[1]-m[1]*E[0];var v=p[0]*p[0]+p[1]*p[1]+p[2]*p[2];v>h&&(h=v,s[0]=p[0],s[1]=p[1],s[2]=p[2])}h<=0&&(s[0]=s[1]=s[2]=0,s[e.normal.longAxis_(m)]=1)},e.normal.checkOrientation_=function(e){for(var t=0,s=e.mesh.fHead,r=s.next;r!==s;r=r.next){var i=r.anEdge;if(!(i.winding<=0))do{t+=(i.org.s-i.dst().s)*(i.org.t+i.dst().t),i=i.lNext}while(i!==r.anEdge)}if(t<0)for(var n=e.mesh.vHead,o=n.next;o!==n;o=o.next)o.t=-o.t},e.render={},e.render.renderMesh=function(t,s,r){for(var i=!1,n=-1,o=s.fHead.prev;o!==s.fHead;o=o.prev)if(o.inside){i||(t.callBeginCallback(e.primitiveType.GL_TRIANGLES),i=!0);var a=o.anEdge;e.assert(a.lNext.lNext.lNext===a,\"renderMesh called with non-triangulated mesh\");do{if(r){var l=a.rFace().inside?0:1;n!==l&&(n=l,t.callEdgeFlagCallback(!!n))}t.callVertexCallback(a.org.data),a=a.lNext}while(a!==o.anEdge)}i&&t.callEndCallback()},e.render.renderBoundary=function(t,s){for(var r=s.fHead.next;r!==s.fHead;r=r.next)if(r.inside){t.callBeginCallback(e.primitiveType.GL_LINE_LOOP);var i=r.anEdge;do{t.callVertexCallback(i.org.data),i=i.lNext}while(i!==r.anEdge);t.callEndCallback()}},e.sweep={},e.sweep.SENTINEL_COORD_=4*e.GLU_TESS_MAX_COORD,e.sweep.TOLERANCE_NONZERO_=!1,e.sweep.computeInterior=function(t){t.fatalError=!1,e.sweep.removeDegenerateEdges_(t),e.sweep.initPriorityQ_(t),e.sweep.initEdgeDict_(t);for(var s;null!==(s=t.pq.extractMin());){for(;;){var r=t.pq.minimum();if(null===r||!e.geom.vertEq(r,s))break;r=t.pq.extractMin(),e.sweep.spliceMergeVertices_(t,s.anEdge,r.anEdge)}e.sweep.sweepEvent_(t,s)}var i=t.dict.getMin().getKey();t.event=i.eUp.org,e.sweep.doneEdgeDict_(t),e.sweep.donePriorityQ_(t),e.sweep.removeDegenerateFaces_(t.mesh),t.mesh.checkMesh()},e.sweep.addWinding_=function(e,t){e.winding+=t.winding,e.sym.winding+=t.sym.winding},e.sweep.edgeLeq_=function(t,s,r){var i=t.event,n=s.eUp,o=r.eUp;return n.dst()===i?o.dst()===i?e.geom.vertLeq(n.org,o.org)?e.geom.edgeSign(o.dst(),n.org,o.org)<=0:e.geom.edgeSign(n.dst(),o.org,n.org)>=0:e.geom.edgeSign(o.dst(),i,o.org)<=0:o.dst()===i?e.geom.edgeSign(n.dst(),i,n.org)>=0:e.geom.edgeEval(n.dst(),i,n.org)>=e.geom.edgeEval(o.dst(),i,o.org)},e.sweep.deleteRegion_=function(t,s){s.fixUpperEdge&&e.assert(0===s.eUp.winding),s.eUp.activeRegion=null,t.dict.deleteNode(s.nodeUp),s.nodeUp=null},e.sweep.fixUpperEdge_=function(t,s){e.assert(t.fixUpperEdge),e.mesh.deleteEdge(t.eUp),t.fixUpperEdge=!1,t.eUp=s,s.activeRegion=t},e.sweep.topLeftRegion_=function(t){var s=t.eUp.org;do{t=t.regionAbove()}while(t.eUp.org===s);if(t.fixUpperEdge){var r=e.mesh.connect(t.regionBelow().eUp.sym,t.eUp.lNext);e.sweep.fixUpperEdge_(t,r),t=t.regionAbove()}return t},e.sweep.topRightRegion_=function(e){var t=e.eUp.dst();do{e=e.regionAbove()}while(e.eUp.dst()===t);return e},e.sweep.addRegionBelow_=function(t,s,r){var i=new e.ActiveRegion;return i.eUp=r,i.nodeUp=t.dict.insertBefore(s.nodeUp,i),r.activeRegion=i,i},e.sweep.isWindingInside_=function(t,s){switch(t.windingRule){case e.windingRule.GLU_TESS_WINDING_ODD:return 0!=(1&s);case e.windingRule.GLU_TESS_WINDING_NONZERO:return 0!==s;case e.windingRule.GLU_TESS_WINDING_POSITIVE:return s>0;case e.windingRule.GLU_TESS_WINDING_NEGATIVE:return s<0;case e.windingRule.GLU_TESS_WINDING_ABS_GEQ_TWO:return s>=2||s<=-2}return e.assert(!1),!1},e.sweep.computeWinding_=function(t,s){s.windingNumber=s.regionAbove().windingNumber+s.eUp.winding,s.inside=e.sweep.isWindingInside_(t,s.windingNumber)},e.sweep.finishRegion_=function(t,s){var r=s.eUp,i=r.lFace;i.inside=s.inside,i.anEdge=r,e.sweep.deleteRegion_(t,s)},e.sweep.finishLeftRegions_=function(t,s,r){for(var i=s,n=s.eUp;i!==r;){i.fixUpperEdge=!1;var o=i.regionBelow(),a=o.eUp;if(a.org!==n.org){if(!o.fixUpperEdge){e.sweep.finishRegion_(t,i);break}a=e.mesh.connect(n.lPrev(),a.sym),e.sweep.fixUpperEdge_(o,a)}n.oNext!==a&&(e.mesh.meshSplice(a.oPrev(),a),e.mesh.meshSplice(n,a)),e.sweep.finishRegion_(t,i),n=o.eUp,i=o}return n},e.sweep.addRightEdges_=function(t,s,r,i,n,o){var a=!0,l=r;do{e.assert(e.geom.vertLeq(l.org,l.dst())),e.sweep.addRegionBelow_(t,s,l.sym),l=l.oNext}while(l!==i);null===n&&(n=s.regionBelow().eUp.rPrev());for(var _,g=s,d=n;_=g.regionBelow(),l=_.eUp.sym,l.org===d.org;)l.oNext!==d&&(e.mesh.meshSplice(l.oPrev(),l),e.mesh.meshSplice(d.oPrev(),l)),_.windingNumber=g.windingNumber-l.winding,_.inside=e.sweep.isWindingInside_(t,_.windingNumber),g.dirty=!0,!a&&e.sweep.checkForRightSplice_(t,g)&&(e.sweep.addWinding_(l,d),e.sweep.deleteRegion_(t,g),e.mesh.deleteEdge(d)),a=!1,g=_,d=l;g.dirty=!0,e.assert(g.windingNumber-l.winding===_.windingNumber),o&&e.sweep.walkDirtyRegions_(t,g)},e.sweep.callCombine_=function(t,s,r,i,n){var o=[s.coords[0],s.coords[1],s.coords[2]];s.data=null,s.data=t.callCombineCallback(o,r,i),null===s.data&&(n?t.fatalError||(t.callErrorCallback(e.errorType.GLU_TESS_NEED_COMBINE_CALLBACK),t.fatalError=!0):s.data=r[0])},e.sweep.spliceMergeVertices_=function(t,s,r){var i=[null,null,null,null],n=[.5,.5,0,0];i[0]=s.org.data,i[1]=r.org.data,e.sweep.callCombine_(t,s.org,i,n,!1),e.mesh.meshSplice(s,r)},e.sweep.vertexWeights_=function(t,s,r,i,n){var o=e.geom.vertL1dist(s,t),a=e.geom.vertL1dist(r,t),l=n,_=n+1;i[l]=.5*a/(o+a),i[_]=.5*o/(o+a),t.coords[0]+=i[l]*s.coords[0]+i[_]*r.coords[0],t.coords[1]+=i[l]*s.coords[1]+i[_]*r.coords[1],t.coords[2]+=i[l]*s.coords[2]+i[_]*r.coords[2]},e.sweep.getIntersectData_=function(t,s,r,i,n,o){var a=[0,0,0,0],l=[r.data,i.data,n.data,o.data];s.coords[0]=s.coords[1]=s.coords[2]=0,e.sweep.vertexWeights_(s,r,i,a,0),e.sweep.vertexWeights_(s,n,o,a,2),e.sweep.callCombine_(t,s,l,a,!0)},e.sweep.checkForRightSplice_=function(t,s){var r=s.regionBelow(),i=s.eUp,n=r.eUp;if(e.geom.vertLeq(i.org,n.org)){if(e.geom.edgeSign(n.dst(),i.org,n.org)>0)return!1;e.geom.vertEq(i.org,n.org)?i.org!==n.org&&(t.pq.remove(i.org.pqHandle),e.sweep.spliceMergeVertices_(t,n.oPrev(),i)):(e.mesh.splitEdge(n.sym),e.mesh.meshSplice(i,n.oPrev()),s.dirty=r.dirty=!0)}else{if(e.geom.edgeSign(i.dst(),n.org,i.org)<0)return!1;s.regionAbove().dirty=s.dirty=!0,e.mesh.splitEdge(i.sym),e.mesh.meshSplice(n.oPrev(),i)}return!0},e.sweep.checkForLeftSplice_=function(t,s){var r,i=s.regionBelow(),n=s.eUp,o=i.eUp;if(e.assert(!e.geom.vertEq(n.dst(),o.dst())),e.geom.vertLeq(n.dst(),o.dst())){if(e.geom.edgeSign(n.dst(),o.dst(),n.org)<0)return!1;s.regionAbove().dirty=s.dirty=!0,r=e.mesh.splitEdge(n),e.mesh.meshSplice(o.sym,r),r.lFace.inside=s.inside}else{if(e.geom.edgeSign(o.dst(),n.dst(),o.org)>0)return!1;s.dirty=i.dirty=!0,r=e.mesh.splitEdge(o),e.mesh.meshSplice(n.lNext,o.sym),r.rFace().inside=s.inside}return!0},e.sweep.checkForIntersect_=function(t,s){var r=s.regionBelow(),i=s.eUp,n=r.eUp,o=i.org,a=n.org,l=i.dst(),_=n.dst(),g=new e.GluVertex;if(e.assert(!e.geom.vertEq(_,l)),e.assert(e.geom.edgeSign(l,t.event,o)<=0),e.assert(e.geom.edgeSign(_,t.event,a)>=0),e.assert(o!==t.event&&a!==t.event),e.assert(!s.fixUpperEdge&&!r.fixUpperEdge),o===a)return!1;if(Math.min(o.t,l.t)>Math.max(a.t,_.t))return!1;if(e.geom.vertLeq(o,a)){if(e.geom.edgeSign(_,o,a)>0)return!1}else if(e.geom.edgeSign(l,a,o)<0)return!1;e.geom.edgeIntersect(l,o,_,a,g),e.assert(Math.min(o.t,l.t)<=g.t),e.assert(g.t<=Math.max(a.t,_.t)),e.assert(Math.min(_.s,l.s)<=g.s),e.assert(g.s<=Math.max(a.s,o.s)),e.geom.vertLeq(g,t.event)&&(g.s=t.event.s,g.t=t.event.t);var d=e.geom.vertLeq(o,a)?o:a;if(e.geom.vertLeq(d,g)&&(g.s=d.s,g.t=d.t),e.geom.vertEq(g,o)||e.geom.vertEq(g,a))return e.sweep.checkForRightSplice_(t,s),!1;if(!e.geom.vertEq(l,t.event)&&e.geom.edgeSign(l,t.event,g)>=0||!e.geom.vertEq(_,t.event)&&e.geom.edgeSign(_,t.event,g)<=0){if(_===t.event)return e.mesh.splitEdge(i.sym),e.mesh.meshSplice(n.sym,i),s=e.sweep.topLeftRegion_(s),i=s.regionBelow().eUp,e.sweep.finishLeftRegions_(t,s.regionBelow(),r),e.sweep.addRightEdges_(t,s,i.oPrev(),i,i,!0),!0;if(l===t.event){e.mesh.splitEdge(n.sym),e.mesh.meshSplice(i.lNext,n.oPrev()),r=s,s=e.sweep.topRightRegion_(s);var h=s.regionBelow().eUp.rPrev();return r.eUp=n.oPrev(),n=e.sweep.finishLeftRegions_(t,r,null),e.sweep.addRightEdges_(t,s,n.oNext,i.rPrev(),h,!0),!0}return e.geom.edgeSign(l,t.event,g)>=0&&(s.regionAbove().dirty=s.dirty=!0,e.mesh.splitEdge(i.sym),i.org.s=t.event.s,i.org.t=t.event.t),e.geom.edgeSign(_,t.event,g)<=0&&(s.dirty=r.dirty=!0,e.mesh.splitEdge(n.sym),n.org.s=t.event.s,n.org.t=t.event.t),!1}return e.mesh.splitEdge(i.sym),e.mesh.splitEdge(n.sym),e.mesh.meshSplice(n.oPrev(),i),i.org.s=g.s,i.org.t=g.t,i.org.pqHandle=t.pq.insert(i.org),e.sweep.getIntersectData_(t,i.org,o,l,a,_),s.regionAbove().dirty=s.dirty=r.dirty=!0,!1},e.sweep.walkDirtyRegions_=function(t,s){for(var r=s.regionBelow();;){for(;r.dirty;)s=r,r=r.regionBelow();if(!s.dirty&&(r=s,null===(s=s.regionAbove())||!s.dirty))return;s.dirty=!1;var i=s.eUp,n=r.eUp;if(i.dst()!==n.dst()&&e.sweep.checkForLeftSplice_(t,s)&&(r.fixUpperEdge?(e.sweep.deleteRegion_(t,r),e.mesh.deleteEdge(n),r=s.regionBelow(),n=r.eUp):s.fixUpperEdge&&(e.sweep.deleteRegion_(t,s),e.mesh.deleteEdge(i),s=r.regionAbove(),i=s.eUp)),i.org!==n.org)if(i.dst()===n.dst()||s.fixUpperEdge||r.fixUpperEdge||i.dst()!==t.event&&n.dst()!==t.event)e.sweep.checkForRightSplice_(t,s);else if(e.sweep.checkForIntersect_(t,s))return;i.org===n.org&&i.dst()===n.dst()&&(e.sweep.addWinding_(n,i),e.sweep.deleteRegion_(t,s),e.mesh.deleteEdge(i),s=r.regionAbove())}},e.sweep.connectRightVertex_=function(t,s,r){var i=r.oNext,n=s.regionBelow(),o=s.eUp,a=n.eUp,l=!1;if(o.dst()!==a.dst()&&e.sweep.checkForIntersect_(t,s),e.geom.vertEq(o.org,t.event)&&(e.mesh.meshSplice(i.oPrev(),o),s=e.sweep.topLeftRegion_(s),i=s.regionBelow().eUp,e.sweep.finishLeftRegions_(t,s.regionBelow(),n),l=!0),e.geom.vertEq(a.org,t.event)&&(e.mesh.meshSplice(r,a.oPrev()),r=e.sweep.finishLeftRegions_(t,n,null),l=!0),l)return void e.sweep.addRightEdges_(t,s,r.oNext,i,i,!0);var _;_=e.geom.vertLeq(a.org,o.org)?a.oPrev():o,_=e.mesh.connect(r.lPrev(),_),e.sweep.addRightEdges_(t,s,_,_.oNext,_.oNext,!1),_.sym.activeRegion.fixUpperEdge=!0,e.sweep.walkDirtyRegions_(t,s)},e.sweep.connectLeftDegenerate_=function(t,s,r){var i=s.eUp;if(e.geom.vertEq(i.org,r))return e.assert(e.sweep.TOLERANCE_NONZERO_),void(e.sweep.TOLERANCE_NONZERO_&&e.sweep.spliceMergeVertices_(t,i,r.anEdge));if(!e.geom.vertEq(i.dst(),r))return e.mesh.splitEdge(i.sym),s.fixUpperEdge&&(e.mesh.deleteEdge(i.oNext),s.fixUpperEdge=!1),e.mesh.meshSplice(r.anEdge,i),void e.sweep.sweepEvent_(t,r);if(e.assert(e.sweep.TOLERANCE_NONZERO_),e.sweep.TOLERANCE_NONZERO_){s=e.sweep.topRightRegion_(s);var n=s.regionBelow(),o=n.eUp.sym,a=o.oNext,l=a;n.fixUpperEdge&&(e.assert(a!==o),e.sweep.deleteRegion_(t,n),e.mesh.deleteEdge(o),o=a.oPrev()),e.mesh.meshSplice(r.anEdge,o),e.geom.edgeGoesLeft(a)||(a=null),e.sweep.addRightEdges_(t,s,o.oNext,l,a,!0)}},e.sweep.connectLeftVertex_=function(t,s){var r=new e.ActiveRegion;r.eUp=s.anEdge.sym;var i=t.dict.search(r).getKey(),n=i.regionBelow(),o=i.eUp,a=n.eUp;if(0===e.geom.edgeSign(o.dst(),s,o.org))return void e.sweep.connectLeftDegenerate_(t,i,s);var l,_=e.geom.vertLeq(a.dst(),o.dst())?i:n;if(i.inside||_.fixUpperEdge){if(_===i)l=e.mesh.connect(s.anEdge.sym,o.lNext);else{l=e.mesh.connect(a.dNext(),s.anEdge).sym}_.fixUpperEdge?e.sweep.fixUpperEdge_(_,l):e.sweep.computeWinding_(t,e.sweep.addRegionBelow_(t,i,l)),e.sweep.sweepEvent_(t,s)}else e.sweep.addRightEdges_(t,i,s.anEdge,s.anEdge,null,!0)},e.sweep.sweepEvent_=function(t,s){t.event=s;for(var r=s.anEdge;null===r.activeRegion;)if((r=r.oNext)===s.anEdge)return void e.sweep.connectLeftVertex_(t,s);var i=e.sweep.topLeftRegion_(r.activeRegion),n=i.regionBelow(),o=n.eUp,a=e.sweep.finishLeftRegions_(t,n,null);a.oNext===o?e.sweep.connectRightVertex_(t,i,a):e.sweep.addRightEdges_(t,i,a.oNext,o,o,!0)},e.sweep.addSentinel_=function(t,s){var r=new e.ActiveRegion,i=e.mesh.makeEdge(t.mesh);i.org.s=e.sweep.SENTINEL_COORD_,i.org.t=s,i.dst().s=-e.sweep.SENTINEL_COORD_,i.dst().t=s,t.event=i.dst(),r.eUp=i,r.windingNumber=0,r.inside=!1,r.fixUpperEdge=!1,r.sentinel=!0,r.dirty=!1,r.nodeUp=t.dict.insert(r)},e.sweep.initEdgeDict_=function(t){t.dict=new e.Dict(t,e.sweep.edgeLeq_),e.sweep.addSentinel_(t,-e.sweep.SENTINEL_COORD_),e.sweep.addSentinel_(t,e.sweep.SENTINEL_COORD_)},e.sweep.doneEdgeDict_=function(t){for(var s,r=0;null!==(s=t.dict.getMin().getKey());)s.sentinel||(e.assert(s.fixUpperEdge),e.assert(1==++r)),e.assert(0===s.windingNumber),e.sweep.deleteRegion_(t,s);t.dict=null},e.sweep.removeDegenerateEdges_=function(t){for(var s,r=t.mesh.eHead,i=r.next;i!==r;i=s){s=i.next;var n=i.lNext;e.geom.vertEq(i.org,i.dst())&&i.lNext.lNext!==i&&(e.sweep.spliceMergeVertices_(t,n,i),e.mesh.deleteEdge(i),i=n,n=i.lNext),n.lNext===i&&(n!==i&&(n!==s&&n!==s.sym||(s=s.next),e.mesh.deleteEdge(n)),i!==s&&i!==s.sym||(s=s.next),e.mesh.deleteEdge(i))}},e.sweep.initPriorityQ_=function(t){var s=new e.PriorityQ;t.pq=s;var r,i=t.mesh.vHead;for(r=i.next;r!==i;r=r.next)r.pqHandle=s.insert(r);s.init()},e.sweep.donePriorityQ_=function(e){e.pq.deleteQ(),e.pq=null},e.sweep.removeDegenerateFaces_=function(t){for(var s,r=t.fHead.next;r!==t.fHead;r=s){s=r.next;var i=r.anEdge;e.assert(i.lNext!==i),i.lNext.lNext===i&&(e.sweep.addWinding_(i.oNext,i),e.mesh.deleteEdge(i))}},e.tessmono={},e.tessmono.tessellateMonoRegion_=function(t){var s=t.anEdge;for(e.assert(s.lNext!==s&&s.lNext.lNext!==s);e.geom.vertLeq(s.dst(),s.org);s=s.lPrev());for(;e.geom.vertLeq(s.org,s.dst());s=s.lNext);for(var r,i=s.lPrev();s.lNext!==i;)if(e.geom.vertLeq(s.dst(),i.org)){for(;i.lNext!==s&&(e.geom.edgeGoesLeft(i.lNext)||e.geom.edgeSign(i.org,i.dst(),i.lNext.dst())<=0);)r=e.mesh.connect(i.lNext,i),i=r.sym;i=i.lPrev()}else{for(;i.lNext!==s&&(e.geom.edgeGoesRight(s.lPrev())||e.geom.edgeSign(s.dst(),s.org,s.lPrev().org)>=0);)r=e.mesh.connect(s,s.lPrev()),s=r.sym;s=s.lNext}for(e.assert(i.lNext!==s);i.lNext.lNext!==s;)r=e.mesh.connect(i.lNext,i),i=r.sym},e.tessmono.tessellateInterior=function(t){for(var s,r=t.fHead.next;r!==t.fHead;r=s)s=r.next,r.inside&&e.tessmono.tessellateMonoRegion_(r)},e.tessmono.discardExterior=function(t){for(var s,r=t.fHead.next;r!==t.fHead;r=s)s=r.next,r.inside||e.mesh.zapFace(r)},e.tessmono.setWindingNumber=function(t,s,r){for(var i,n=t.eHead.next;n!==t.eHead;n=i)i=n.next,n.rFace().inside!==n.lFace.inside?n.winding=n.lFace.inside?s:-s:r?e.mesh.deleteEdge(n):n.winding=0},e.Dict=function(t,s){this.head_=new e.DictNode,this.frame_=t,this.leq_=s},e.Dict.prototype.deleteDict_=function(){},e.Dict.prototype.insertBefore=function(t,s){do{t=t.prev}while(null!==t.key&&!this.leq_(this.frame_,t.key,s));var r=new e.DictNode(s,t.next,t);return t.next.prev=r,t.next=r,r},e.Dict.prototype.insert=function(e){return this.insertBefore(this.head_,e)},e.Dict.prototype.deleteNode=function(e){e.next.prev=e.prev,e.prev.next=e.next},e.Dict.prototype.search=function(e){var t=this.head_;do{t=t.next}while(null!==t.key&&!this.leq_(this.frame_,e,t.key));return t},e.Dict.prototype.getMin=function(){return this.head_.next},e.Dict.prototype.getMax=function(){return this.head_.prev},e.DictNode=function(e,t,s){this.key=e||null,this.next=t||this,this.prev=s||this},e.DictNode.prototype.getKey=function(){return this.key},e.DictNode.prototype.getSuccessor=function(){return this.next},e.DictNode.prototype.getPredecessor=function(){return this.prev},e.GluTesselator=function(){this.state_=e.GluTesselator.tessState_.T_DORMANT,this.lastEdge_=null,this.mesh=null,this.errorCallback_=null,this.normal_=[0,0,0],this.windingRule=e.windingRule.GLU_TESS_WINDING_ODD,this.fatalError=!1,this.dict=null,this.pq=null,this.event=null,this.combineCallback_=null,this.boundaryOnly_=!1,this.beginCallback_=null,this.edgeFlagCallback_=null,this.vertexCallback_=null,this.endCallback_=null,this.meshCallback_=null,this.polygonData_=null},e.GluTesselator.tessState_={T_DORMANT:0,T_IN_POLYGON:1,T_IN_CONTOUR:2},e.GluTesselator.prototype.gluDeleteTess=function(){this.requireState_(e.GluTesselator.tessState_.T_DORMANT)},e.GluTesselator.prototype.gluTessProperty=function(t,s){switch(t){case e.gluEnum.GLU_TESS_TOLERANCE:return;case e.gluEnum.GLU_TESS_WINDING_RULE:var r=s;switch(r){case e.windingRule.GLU_TESS_WINDING_ODD:case e.windingRule.GLU_TESS_WINDING_NONZERO:case e.windingRule.GLU_TESS_WINDING_POSITIVE:case e.windingRule.GLU_TESS_WINDING_NEGATIVE:case e.windingRule.GLU_TESS_WINDING_ABS_GEQ_TWO:return void(this.windingRule=r)}break;case e.gluEnum.GLU_TESS_BOUNDARY_ONLY:return void(this.boundaryOnly_=!!s);default:return void this.callErrorCallback(e.gluEnum.GLU_INVALID_ENUM)}this.callErrorCallback(e.gluEnum.GLU_INVALID_VALUE)},e.GluTesselator.prototype.gluGetTessProperty=function(t){switch(t){case e.gluEnum.GLU_TESS_TOLERANCE:return 0;case e.gluEnum.GLU_TESS_WINDING_RULE:var s=this.windingRule;return e.assert(s===e.windingRule.GLU_TESS_WINDING_ODD||s===e.windingRule.GLU_TESS_WINDING_NONZERO||s===e.windingRule.GLU_TESS_WINDING_POSITIVE||s===e.windingRule.GLU_TESS_WINDING_NEGATIVE||s===e.windingRule.GLU_TESS_WINDING_ABS_GEQ_TWO),s;case e.gluEnum.GLU_TESS_BOUNDARY_ONLY:return e.assert(!0===this.boundaryOnly_||!1===this.boundaryOnly_),this.boundaryOnly_;default:this.callErrorCallback(e.gluEnum.GLU_INVALID_ENUM)}return!1},e.GluTesselator.prototype.gluTessNormal=function(e,t,s){this.normal_[0]=e,this.normal_[1]=t,this.normal_[2]=s},e.GluTesselator.prototype.gluTessCallback=function(t,s){var r=s||null;switch(t){case e.gluEnum.GLU_TESS_BEGIN:case e.gluEnum.GLU_TESS_BEGIN_DATA:return void(this.beginCallback_=r);case e.gluEnum.GLU_TESS_EDGE_FLAG:case e.gluEnum.GLU_TESS_EDGE_FLAG_DATA:return void(this.edgeFlagCallback_=r);case e.gluEnum.GLU_TESS_VERTEX:case e.gluEnum.GLU_TESS_VERTEX_DATA:return void(this.vertexCallback_=r);case e.gluEnum.GLU_TESS_END:case e.gluEnum.GLU_TESS_END_DATA:return void(this.endCallback_=r);case e.gluEnum.GLU_TESS_ERROR:case e.gluEnum.GLU_TESS_ERROR_DATA:return void(this.errorCallback_=r);case e.gluEnum.GLU_TESS_COMBINE:case e.gluEnum.GLU_TESS_COMBINE_DATA:return void(this.combineCallback_=r);case e.gluEnum.GLU_TESS_MESH:return void(this.meshCallback_=r);default:return void this.callErrorCallback(e.gluEnum.GLU_INVALID_ENUM)}},e.GluTesselator.prototype.gluTessVertex=function(t,s){var r=!1,i=[0,0,0];this.requireState_(e.GluTesselator.tessState_.T_IN_CONTOUR);for(var n=0;n<3;++n){var o=t[n];o<-e.GLU_TESS_MAX_COORD&&(o=-e.GLU_TESS_MAX_COORD,r=!0),o>e.GLU_TESS_MAX_COORD&&(o=e.GLU_TESS_MAX_COORD,r=!0),i[n]=o}r&&this.callErrorCallback(e.errorType.GLU_TESS_COORD_TOO_LARGE),this.addVertex_(i,s)},e.GluTesselator.prototype.gluTessBeginPolygon=function(t){this.requireState_(e.GluTesselator.tessState_.T_DORMANT),this.state_=e.GluTesselator.tessState_.T_IN_POLYGON,this.mesh=new e.GluMesh,this.polygonData_=t},e.GluTesselator.prototype.gluTessBeginContour=function(){this.requireState_(e.GluTesselator.tessState_.T_IN_POLYGON),this.state_=e.GluTesselator.tessState_.T_IN_CONTOUR,this.lastEdge_=null},e.GluTesselator.prototype.gluTessEndContour=function(){this.requireState_(e.GluTesselator.tessState_.T_IN_CONTOUR),this.state_=e.GluTesselator.tessState_.T_IN_POLYGON},e.GluTesselator.prototype.gluTessEndPolygon=function(){if(this.requireState_(e.GluTesselator.tessState_.T_IN_POLYGON),this.state_=e.GluTesselator.tessState_.T_DORMANT,e.normal.projectPolygon(this,this.normal_[0],this.normal_[1],this.normal_[2]),e.sweep.computeInterior(this),!this.fatalError){var t=this.mesh;if(this.boundaryOnly_?e.tessmono.setWindingNumber(t,1,!0):e.tessmono.tessellateInterior(t),this.mesh.checkMesh(),this.beginCallback_||this.endCallback_||this.vertexCallback_||this.edgeFlagCallback_)if(this.boundaryOnly_)e.render.renderBoundary(this,this.mesh);else{var s=!!this.edgeFlagCallback_;e.render.renderMesh(this,this.mesh,s)}if(this.meshCallback_)return e.tessmono.discardExterior(this.mesh),this.meshCallback_(this.mesh),this.mesh=null,void(this.polygonData_=null)}e.mesh.deleteMesh(this.mesh),this.polygonData_=null,this.mesh=null},e.GluTesselator.prototype.requireState_=function(e){this.state_!==e&&this.gotoState_(e)},e.GluTesselator.prototype.gotoState_=function(t){for(;this.state_!==t;)if(this.state_<t)switch(this.state_){case e.GluTesselator.tessState_.T_DORMANT:this.callErrorCallback(e.errorType.GLU_TESS_MISSING_BEGIN_POLYGON),this.gluTessBeginPolygon(null);break;case e.GluTesselator.tessState_.T_IN_POLYGON:this.callErrorCallback(e.errorType.GLU_TESS_MISSING_BEGIN_CONTOUR),this.gluTessBeginContour()}else switch(this.state_){case e.GluTesselator.tessState_.T_IN_CONTOUR:this.callErrorCallback(e.errorType.GLU_TESS_MISSING_END_CONTOUR),this.gluTessEndContour();break;case e.GluTesselator.tessState_.T_IN_POLYGON:this.callErrorCallback(e.errorType.GLU_TESS_MISSING_END_POLYGON),this.gluTessEndPolygon()}},e.GluTesselator.prototype.addVertex_=function(t,s){var r=this.lastEdge_;null===r?(r=e.mesh.makeEdge(this.mesh),e.mesh.meshSplice(r,r.sym)):(e.mesh.splitEdge(r),r=r.lNext),r.org.data=s,r.org.coords[0]=t[0],r.org.coords[1]=t[1],r.org.coords[2]=t[2],r.winding=1,r.sym.winding=-1,this.lastEdge_=r},e.GluTesselator.prototype.callBeginCallback=function(e){this.beginCallback_&&this.beginCallback_(e,this.polygonData_)},e.GluTesselator.prototype.callVertexCallback=function(e){this.vertexCallback_&&this.vertexCallback_(e,this.polygonData_)},e.GluTesselator.prototype.callEdgeFlagCallback=function(e){this.edgeFlagCallback_&&this.edgeFlagCallback_(e,this.polygonData_)},e.GluTesselator.prototype.callEndCallback=function(){this.endCallback_&&this.endCallback_(this.polygonData_)},e.GluTesselator.prototype.callCombineCallback=function(e,t,s){return this.combineCallback_?this.combineCallback_(e,t,s,this.polygonData_)||null:null},e.GluTesselator.prototype.callErrorCallback=function(e){this.errorCallback_&&this.errorCallback_(e,this.polygonData_)},e.GluFace=function(e,t){this.next=e||this,this.prev=t||this,this.anEdge=null,this.inside=!1},e.GluHalfEdge=function(e){this.next=e||this,this.sym=null,this.oNext=null,this.lNext=null,this.org=null,this.lFace=null,this.activeRegion=null,this.winding=0},e.GluHalfEdge.prototype.rFace=function(){return this.sym.lFace},e.GluHalfEdge.prototype.dst=function(){return this.sym.org},e.GluHalfEdge.prototype.oPrev=function(){return this.sym.lNext},e.GluHalfEdge.prototype.lPrev=function(){return this.oNext.sym},e.GluHalfEdge.prototype.dPrev=function(){return this.lNext.sym},e.GluHalfEdge.prototype.rPrev=function(){return this.sym.oNext},e.GluHalfEdge.prototype.dNext=function(){return this.rPrev().sym},e.GluHalfEdge.prototype.rNext=function(){return this.oPrev().sym},e.GluMesh=function(){this.vHead=new e.GluVertex,this.fHead=new e.GluFace,this.eHead=new e.GluHalfEdge,this.eHeadSym=new e.GluHalfEdge,this.eHead.sym=this.eHeadSym,this.eHeadSym.sym=this.eHead},e.GluMesh.prototype.checkMesh=function(){if(e.DEBUG){var t,s,r=this.fHead,i=this.vHead,n=this.eHead,o=r;for(o=r;(s=o.next)!==r;o=s){e.assert(s.prev===o),t=s.anEdge;do{e.assert(t.sym!==t),e.assert(t.sym.sym===t),e.assert(t.lNext.oNext.sym===t),e.assert(t.oNext.sym.lNext===t),e.assert(t.lFace===s),t=t.lNext}while(t!==s.anEdge)}e.assert(s.prev===o&&null===s.anEdge);var a,l=i;for(l=i;(a=l.next)!==i;l=a){e.assert(a.prev===l),t=a.anEdge;do{e.assert(t.sym!==t),e.assert(t.sym.sym===t),e.assert(t.lNext.oNext.sym===t),e.assert(t.oNext.sym.lNext===t),e.assert(t.org===a),t=t.oNext}while(t!==a.anEdge)}e.assert(a.prev===l&&null===a.anEdge&&null===a.data);var _=n;for(_=n;(t=_.next)!==n;_=t)e.assert(t.sym.next===_.sym),e.assert(t.sym!==t),e.assert(t.sym.sym===t),e.assert(null!==t.org),e.assert(null!==t.dst()),e.assert(t.lNext.oNext.sym===t),e.assert(t.oNext.sym.lNext===t);e.assert(t.sym.next===_.sym&&t.sym===this.eHeadSym&&t.sym.sym===t&&null===t.org&&null===t.dst()&&null===t.lFace&&null===t.rFace())}},e.GluVertex=function(e,t){\nthis.next=e||this,this.prev=t||this,this.anEdge=null,this.data=null,this.coords=[0,0,0],this.s=0,this.t=0,this.pqHandle=0},e.PriorityQ=function(){this.verts_=[],this.order_=null,this.size_=0,this.initialized_=!1,this.heap_=new e.PriorityQHeap},e.PriorityQ.prototype.deleteQ=function(){this.heap_=null,this.order_=null,this.verts_=null},e.PriorityQ.prototype.init=function(){this.order_=[];for(var t=0;t<this.size_;t++)this.order_[t]=t;var s=function(t){return function(s,r){return e.geom.vertLeq(t[s],t[r])?1:-1}}(this.verts_);if(this.order_.sort(s),this.initialized_=!0,this.heap_.init(),e.DEBUG){var r=0+this.size_-1;for(t=0;t<r;++t)e.assert(e.geom.vertLeq(this.verts_[this.order_[t+1]],this.verts_[this.order_[t]]))}},e.PriorityQ.prototype.insert=function(e){if(this.initialized_)return this.heap_.insert(e);var t=this.size_++;return this.verts_[t]=e,-(t+1)},e.PriorityQ.prototype.extractMin=function(){if(0===this.size_)return this.heap_.extractMin();var t=this.verts_[this.order_[this.size_-1]];if(!this.heap_.isEmpty()){var s=this.heap_.minimum();if(e.geom.vertLeq(s,t))return this.heap_.extractMin()}do{--this.size_}while(this.size_>0&&null===this.verts_[this.order_[this.size_-1]]);return t},e.PriorityQ.prototype.minimum=function(){if(0===this.size_)return this.heap_.minimum();var t=this.verts_[this.order_[this.size_-1]];if(!this.heap_.isEmpty()){var s=this.heap_.minimum();if(e.geom.vertLeq(s,t))return s}return t},e.PriorityQ.prototype.remove=function(t){if(t>=0)return void this.heap_.remove(t);for(t=-(t+1),e.assert(t<this.verts_.length&&null!==this.verts_[t]),this.verts_[t]=null;this.size_>0&&null===this.verts_[this.order_[this.size_-1]];)--this.size_},e.PriorityQHeap=function(){this.heap_=e.PriorityQHeap.reallocNumeric_([0],e.PriorityQHeap.INIT_SIZE_+1),this.verts_=[null,null],this.handles_=[0,0],this.size_=0,this.max_=e.PriorityQHeap.INIT_SIZE_,this.freeList_=0,this.initialized_=!1,this.heap_[1]=1},e.PriorityQHeap.INIT_SIZE_=32,e.PriorityQHeap.reallocNumeric_=function(e,t){for(var s=new Array(t),r=0;r<e.length;r++)s[r]=e[r];for(;r<t;r++)s[r]=0;return s},e.PriorityQHeap.prototype.init=function(){for(var e=this.size_;e>=1;--e)this.floatDown_(e);this.initialized_=!0},e.PriorityQHeap.prototype.insert=function(t){var s=++this.size_;2*s>this.max_&&(this.max_*=2,this.handles_=e.PriorityQHeap.reallocNumeric_(this.handles_,this.max_+1));var r;return 0===this.freeList_?r=s:(r=this.freeList_,this.freeList_=this.handles_[this.freeList_]),this.verts_[r]=t,this.handles_[r]=s,this.heap_[s]=r,this.initialized_&&this.floatUp_(s),r},e.PriorityQHeap.prototype.isEmpty=function(){return 0===this.size_},e.PriorityQHeap.prototype.minimum=function(){return this.verts_[this.heap_[1]]},e.PriorityQHeap.prototype.extractMin=function(){var e=this.heap_,t=this.verts_,s=this.handles_,r=e[1],i=t[r];return this.size_>0&&(e[1]=e[this.size_],s[e[1]]=1,t[r]=null,s[r]=this.freeList_,this.freeList_=r,--this.size_>0&&this.floatDown_(1)),i},e.PriorityQHeap.prototype.remove=function(t){var s=this.heap_,r=this.verts_,i=this.handles_;e.assert(t>=1&&t<=this.max_&&null!==r[t]);var n=i[t];if(s[n]=s[this.size_],i[s[n]]=n,n<=--this.size_)if(n<=1)this.floatDown_(n);else{var o=r[s[n]],a=r[s[n>>1]];e.geom.vertLeq(a,o)?this.floatDown_(n):this.floatUp_(n)}r[t]=null,i[t]=this.freeList_,this.freeList_=t},e.PriorityQHeap.prototype.floatDown_=function(t){for(var s=this.heap_,r=this.verts_,i=this.handles_,n=t,o=s[n];;){var a=n<<1;a<this.size_&&e.geom.vertLeq(r[s[a+1]],r[s[a]])&&(a+=1),e.assert(a<=this.max_);var l=s[a];if(a>this.size_||e.geom.vertLeq(r[o],r[l]))return s[n]=o,void(i[o]=n);s[n]=l,i[l]=n,n=a}},e.PriorityQHeap.prototype.floatUp_=function(t){for(var s=this.heap_,r=this.verts_,i=this.handles_,n=t,o=s[n];;){var a=n>>1,l=s[a];if(0===a||e.geom.vertLeq(r[l],r[o]))return s[n]=o,void(i[o]=n);s[n]=l,i[l]=n,n=a}},e.ActiveRegion=function(){this.eUp=null,this.nodeUp=null,this.windingNumber=0,this.inside=!1,this.sentinel=!1,this.dirty=!1,this.fixUpperEdge=!1},e.ActiveRegion.prototype.regionBelow=function(){return this.nodeUp.getPredecessor().getKey()},e.ActiveRegion.prototype.regionAbove=function(){return this.nodeUp.getSuccessor().getKey()},e});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/*!\n * PEP v0.4.4-pre | https://github.com/jquery/PEP\n * Copyright jQuery Foundation and other contributors | http://jquery.org/license\n */\n\ndefine([],function(){\"use strict\";function t(t,e){e=e||Object.create(null);var n=document.createEvent(\"Event\");n.initEvent(t,e.bubbles||!1,e.cancelable||!1);for(var i,r=2;r<v.length;r++)i=v[r],n[i]=e[i]||f[r];n.buttons=e.buttons||0;var o=0;return o=e.pressure&&n.buttons?e.pressure:n.buttons?.5:0,n.x=n.clientX,n.y=n.clientY,n.pointerId=e.pointerId||0,n.width=e.width||0,n.height=e.height||0,n.pressure=o,n.tiltX=e.tiltX||0,n.tiltY=e.tiltY||0,n.twist=e.twist||0,n.tangentialPressure=e.tangentialPressure||0,n.pointerType=e.pointerType||\"\",n.hwTimestamp=e.hwTimestamp||0,n.isPrimary=e.isPrimary||!1,n}function e(){this.array=[],this.size=0}function n(t,e,n,i){this.addCallback=t.bind(i),this.removeCallback=e.bind(i),this.changedCallback=n.bind(i),C&&(this.observer=new C(this.mutationWatcher.bind(this)))}function i(t){return\"body /shadow-deep/ \"+r(t)}function r(t){return'[touch-action=\"'+t+'\"]'}function o(t){return\"{ -ms-touch-action: \"+t+\"; touch-action: \"+t+\"; }\"}function a(){if(_){N.forEach(function(t){String(t)===t?(Y+=r(t)+o(t)+\"\\n\",D&&(Y+=i(t)+o(t)+\"\\n\")):(Y+=t.selectors.map(r)+o(t.rule)+\"\\n\",D&&(Y+=t.selectors.map(i)+o(t.rule)+\"\\n\"))});var t=document.createElement(\"style\");t.textContent=Y,document.head.appendChild(t)}}function s(){if(!window.PointerEvent){if(window.PointerEvent=t,window.navigator.msPointerEnabled){var e=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,\"maxTouchPoints\",{value:e,enumerable:!0}),w.registerSource(\"ms\",W)}else Object.defineProperty(window.navigator,\"maxTouchPoints\",{value:0,enumerable:!0}),w.registerSource(\"mouse\",F),void 0!==window.ontouchstart&&w.registerSource(\"touch\",j);w.register(document)}}function u(t){window.PointerEvent||(window.navigator.msPointerEnabled?w.registerSource(\"ms\",W):(w.registerSource(\"mouse\",F),void 0!==window.ontouchstart&&w.registerSource(\"touch\",j)),w.register(document))}function c(t){if(!w.pointermap.has(t)){var e=new Error(\"NotFoundError\");throw e.name=\"NotFoundError\",e}}function l(t){for(var e=t.parentNode;e&&e!==t.ownerDocument;)e=e.parentNode;if(!e){var n=new Error(\"InvalidStateError\");throw n.name=\"InvalidStateError\",n}}function h(t){return 0!==w.pointermap.get(t).buttons}function p(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:z},releasePointerCapture:{value:H},hasPointerCapture:{value:G}})}function d(t){window.Element&&!Element.prototype.setPointerCapture&&(t.setPointerCapture=z.bind(t),t.releasePointerCapture=H.bind(t),t.hasPointerCapture=G.bind(t))}var v=[\"bubbles\",\"cancelable\",\"view\",\"detail\",\"screenX\",\"screenY\",\"clientX\",\"clientY\",\"ctrlKey\",\"altKey\",\"shiftKey\",\"metaKey\",\"button\",\"relatedTarget\",\"pageX\",\"pageY\"],f=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],m=window.Map&&window.Map.prototype.forEach,E=m?Map:e;e.prototype={set:function(t,e){if(void 0===e)return this.delete(t);this.has(t)||this.size++,this.array[t]=e},has:function(t){return void 0!==this.array[t]},delete:function(t){this.has(t)&&(delete this.array[t],this.size--)},get:function(t){return this.array[t]},clear:function(){this.array.length=0,this.size=0},forEach:function(t,e){return this.array.forEach(function(n,i){t.call(e,n,i,this)},this)}};var b=[\"bubbles\",\"cancelable\",\"view\",\"detail\",\"screenX\",\"screenY\",\"clientX\",\"clientY\",\"ctrlKey\",\"altKey\",\"shiftKey\",\"metaKey\",\"button\",\"relatedTarget\",\"buttons\",\"pointerId\",\"width\",\"height\",\"pressure\",\"tiltX\",\"tiltY\",\"pointerType\",\"hwTimestamp\",\"isPrimary\",\"type\",\"target\",\"currentTarget\",\"which\",\"pageX\",\"pageY\",\"timeStamp\"],g=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,\"\",0,!1,\"\",null,null,0,0,0,0],T={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},y=\"undefined\"!=typeof SVGElementInstance,w={pointermap:new E,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(t,e){var n=e,i=n.events;i&&(i.forEach(function(t){n[t]&&(this.eventMap[t]=n[t].bind(n))},this),this.eventSources[t]=n,this.eventSourceList.push(n))},register:function(t){for(var e,n=this.eventSourceList.length,i=0;i<n&&(e=this.eventSourceList[i]);i++)e.register.call(e,t)},unregister:function(t){for(var e,n=this.eventSourceList.length,i=0;i<n&&(e=this.eventSourceList[i]);i++)e.unregister.call(e,t)},contains:function(t,e){try{return t.contains(e)}catch(t){return!1}},down:function(t){t.bubbles=!0,this.fireEvent(\"pointerdown\",t)},move:function(t){t.bubbles=!0,this.fireEvent(\"pointermove\",t)},up:function(t){t.bubbles=!0,this.fireEvent(\"pointerup\",t)},enter:function(t){t.bubbles=!1,this.fireEvent(\"pointerenter\",t)},leave:function(t){t.bubbles=!1,this.fireEvent(\"pointerleave\",t)},over:function(t){t.bubbles=!0,this.fireEvent(\"pointerover\",t)},out:function(t){t.bubbles=!0,this.fireEvent(\"pointerout\",t)},cancel:function(t){t.bubbles=!0,this.fireEvent(\"pointercancel\",t)},leaveOut:function(t){this.out(t),this.propagate(t,this.leave,!1)},enterOver:function(t){this.over(t),this.propagate(t,this.enter,!0)},eventHandler:function(t){if(!t._handledByPE){var e=t.type,n=this.eventMap&&this.eventMap[e];n&&n(t),t._handledByPE=!0}},listen:function(t,e){e.forEach(function(e){this.addEvent(t,e)},this)},unlisten:function(t,e){e.forEach(function(e){this.removeEvent(t,e)},this)},addEvent:function(t,e){t.addEventListener(e,this.boundHandler)},removeEvent:function(t,e){t.removeEventListener(e,this.boundHandler)},makeEvent:function(e,n){this.captureInfo[n.pointerId]&&(n.relatedTarget=null);var i=new t(e,n);return n.preventDefault&&(i.preventDefault=n.preventDefault),i._target=i._target||n.target,i},fireEvent:function(t,e){var n=this.makeEvent(t,e);return this.dispatchEvent(n)},cloneEvent:function(t){for(var e,n=Object.create(null),i=0;i<b.length;i++)e=b[i],n[e]=t[e]||g[i],!y||\"target\"!==e&&\"relatedTarget\"!==e||n[e]instanceof SVGElementInstance&&(n[e]=n[e].correspondingUseElement);return t.preventDefault&&(n.preventDefault=function(){t.preventDefault()}),n},getTarget:function(t){var e=this.captureInfo[t.pointerId];return e?t._target!==e&&t.type in T?void 0:e:t._target},propagate:function(t,e,n){for(var i=t.target,r=[];null!=i&&i!==document&&!i.contains(t.relatedTarget);)if(r.push(i),!(i=i.parentNode))return;n&&r.reverse(),r.forEach(function(n){t.target=n,e.call(this,t)},this)},setCapture:function(e,n,i){this.captureInfo[e]&&this.releaseCapture(e,i),this.captureInfo[e]=n,this.implicitRelease=this.releaseCapture.bind(this,e,i),document.addEventListener(\"pointerup\",this.implicitRelease),document.addEventListener(\"pointercancel\",this.implicitRelease);var r=new t(\"gotpointercapture\");r.pointerId=e,r._target=n,i||this.asyncDispatchEvent(r)},releaseCapture:function(e,n){var i=this.captureInfo[e];if(i){this.captureInfo[e]=void 0,document.removeEventListener(\"pointerup\",this.implicitRelease),document.removeEventListener(\"pointercancel\",this.implicitRelease);var r=new t(\"lostpointercapture\");r.pointerId=e,r._target=i,n||this.asyncDispatchEvent(r)}},dispatchEvent:function(t){var e=this.getTarget(t);if(e)return e.dispatchEvent(t)},asyncDispatchEvent:function(t){requestAnimationFrame(this.dispatchEvent.bind(this,t))}};w.boundHandler=w.eventHandler.bind(w);var P={shadow:function(t){if(t)return t.shadowRoot||t.webkitShadowRoot},canTarget:function(t){return t&&Boolean(t.elementFromPoint)},targetingShadow:function(t){var e=this.shadow(t);if(this.canTarget(e))return e},olderShadow:function(t){var e=t.olderShadowRoot;if(!e){var n=t.querySelector(\"shadow\");n&&(e=n.olderShadowRoot)}return e},allShadows:function(t){for(var e=[],n=this.shadow(t);n;)e.push(n),n=this.olderShadow(n);return e},searchRoot:function(t,e,n){if(t){var i,r,o=t.elementFromPoint(e,n);for(r=this.targetingShadow(o);r;){if(i=r.elementFromPoint(e,n)){var a=this.targetingShadow(i);return this.searchRoot(a,e,n)||i}r=this.olderShadow(r)}return o}},owner:function(t){for(var e=t;e.parentNode;)e=e.parentNode;return e.nodeType!==Node.DOCUMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(e=document),e},findTarget:function(t){var e=t.clientX,n=t.clientY,i=this.owner(t.target);return i.elementFromPoint(e,n)||(i=document),this.searchRoot(i,e,n)}},S=Array.prototype.forEach.call.bind(Array.prototype.forEach),O=Array.prototype.map.call.bind(Array.prototype.map),I=Array.prototype.slice.call.bind(Array.prototype.slice),M=Array.prototype.filter.call.bind(Array.prototype.filter),C=window.MutationObserver||window.WebKitMutationObserver,R={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:[\"touch-action\"]};n.prototype={watchSubtree:function(t){this.observer&&P.canTarget(t)&&this.observer.observe(t,R)},enableOnSubtree:function(t){this.watchSubtree(t),t===document&&\"complete\"!==document.readyState?this.installOnLoad():this.installNewSubtree(t)},installNewSubtree:function(t){S(this.findElements(t),this.addElement,this)},findElements:function(t){return t.querySelectorAll?t.querySelectorAll(\"[touch-action]\"):[]},removeElement:function(t){this.removeCallback(t)},addElement:function(t){this.addCallback(t)},elementChanged:function(t,e){this.changedCallback(t,e)},concatLists:function(t,e){return t.concat(I(e))},installOnLoad:function(){document.addEventListener(\"readystatechange\",function(){\"complete\"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(t){return t.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(t){var e=O(t,this.findElements,this);return e.push(M(t,this.isElement)),e.reduce(this.concatLists,[])},mutationWatcher:function(t){t.forEach(this.mutationHandler,this)},mutationHandler:function(t){if(\"childList\"===t.type){this.flattenMutationTree(t.addedNodes).forEach(this.addElement,this);this.flattenMutationTree(t.removedNodes).forEach(this.removeElement,this)}else\"attributes\"===t.type&&this.elementChanged(t.target,t.oldValue)}};var N=[\"none\",\"auto\",\"pan-x\",\"pan-y\",{rule:\"pan-x pan-y\",selectors:[\"pan-x pan-y\",\"pan-y pan-x\"]}],Y=\"\",_=window.PointerEvent||window.MSPointerEvent,D=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,L=w.pointermap,X=[1,4,2,8,16],A=!1;try{A=1===new MouseEvent(\"test\",{buttons:1}).buttons}catch(t){}var k,F={POINTER_ID:1,POINTER_TYPE:\"mouse\",events:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\"],register:function(t){w.listen(t,this.events)},unregister:function(t){w.unlisten(t,this.events)},lastTouches:[],isEventSimulatedFromTouch:function(t){for(var e,n=this.lastTouches,i=t.clientX,r=t.clientY,o=0,a=n.length;o<a&&(e=n[o]);o++){var s=Math.abs(i-e.x),u=Math.abs(r-e.y);if(s<=25&&u<=25)return!0}},prepareEvent:function(t){var e=w.cloneEvent(t),n=e.preventDefault;return e.preventDefault=function(){t.preventDefault(),n()},e.pointerId=this.POINTER_ID,e.isPrimary=!0,e.pointerType=this.POINTER_TYPE,e},prepareButtonsForMove:function(t,e){var n=L.get(this.POINTER_ID);0!==e.which&&n?t.buttons=n.buttons:t.buttons=0,e.buttons=t.buttons},mousedown:function(t){if(!this.isEventSimulatedFromTouch(t)){var e=L.get(this.POINTER_ID),n=this.prepareEvent(t);A||(n.buttons=X[n.button],e&&(n.buttons|=e.buttons),t.buttons=n.buttons),L.set(this.POINTER_ID,t),e&&0!==e.buttons?w.move(n):w.down(n)}},mousemove:function(t){if(!this.isEventSimulatedFromTouch(t)){var e=this.prepareEvent(t);A||this.prepareButtonsForMove(e,t),e.button=-1,L.set(this.POINTER_ID,t),w.move(e)}},mouseup:function(t){if(!this.isEventSimulatedFromTouch(t)){var e=L.get(this.POINTER_ID),n=this.prepareEvent(t);if(!A){var i=X[n.button];n.buttons=e?e.buttons&~i:0,t.buttons=n.buttons}L.set(this.POINTER_ID,t),n.buttons&=~X[n.button],0===n.buttons?w.up(n):w.move(n)}},mouseover:function(t){if(!this.isEventSimulatedFromTouch(t)){var e=this.prepareEvent(t);A||this.prepareButtonsForMove(e,t),e.button=-1,L.set(this.POINTER_ID,t),w.enterOver(e)}},mouseout:function(t){if(!this.isEventSimulatedFromTouch(t)){var e=this.prepareEvent(t);A||this.prepareButtonsForMove(e,t),e.button=-1,w.leaveOut(e)}},cancel:function(t){var e=this.prepareEvent(t);w.cancel(e),this.deactivateMouse()},deactivateMouse:function(){L.delete(this.POINTER_ID)}},K=w.captureInfo,x=P.findTarget.bind(P),B=P.allShadows.bind(P),U=w.pointermap,j={events:[\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],register:function(t){k.enableOnSubtree(t)},unregister:function(){},elementAdded:function(t){var e=t.getAttribute(\"touch-action\"),n=this.touchActionToScrollType(e);n&&(t._scrollType=n,w.listen(t,this.events),B(t).forEach(function(t){t._scrollType=n,w.listen(t,this.events)},this))},elementRemoved:function(t){t._scrollType=void 0,w.unlisten(t,this.events),B(t).forEach(function(t){t._scrollType=void 0,w.unlisten(t,this.events)},this)},elementChanged:function(t,e){var n=t.getAttribute(\"touch-action\"),i=this.touchActionToScrollType(n),r=this.touchActionToScrollType(e);i&&r?(t._scrollType=i,B(t).forEach(function(t){t._scrollType=i},this)):r?this.elementRemoved(t):i&&this.elementAdded(t)},scrollTypes:{EMITTER:\"none\",XSCROLLER:\"pan-x\",YSCROLLER:\"pan-y\",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(t){var e=t,n=this.scrollTypes;return\"none\"===e?\"none\":e===n.XSCROLLER?\"X\":e===n.YSCROLLER?\"Y\":n.SCROLLER.exec(e)?\"XY\":void 0},POINTER_TYPE:\"touch\",firstTouch:null,isPrimaryTouch:function(t){return this.firstTouch===t.identifier},setPrimaryTouch:function(t){(0===U.size||1===U.size&&U.has(1))&&(this.firstTouch=t.identifier,this.firstXY={X:t.clientX,Y:t.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(t){t.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var t=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(t,200)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(t){var e=0;return\"touchstart\"!==t&&\"touchmove\"!==t||(e=1),e},touchToPointer:function(t){var e=this.currentTouchEvent,n=w.cloneEvent(t),i=n.pointerId=t.identifier+2;n.target=K[i]||x(n),n.bubbles=!0,n.cancelable=!0,n.detail=this.clickCount,n.button=0,n.buttons=this.typeToButtons(e.type),n.width=2*(t.radiusX||t.webkitRadiusX||0),n.height=2*(t.radiusY||t.webkitRadiusY||0),n.pressure=t.force||t.webkitForce||.5,n.isPrimary=this.isPrimaryTouch(t),n.pointerType=this.POINTER_TYPE,n.altKey=e.altKey,n.ctrlKey=e.ctrlKey,n.metaKey=e.metaKey,n.shiftKey=e.shiftKey;var r=this;return n.preventDefault=function(){r.scrolling=!1,r.firstXY=null,e.preventDefault()},n},processTouches:function(t,e){var n=t.changedTouches;this.currentTouchEvent=t;for(var i,r=0;r<n.length;r++)i=n[r],e.call(this,this.touchToPointer(i))},shouldScroll:function(t){if(this.firstXY){var e,n=t.currentTarget._scrollType;if(\"none\"===n)e=!1;else if(\"XY\"===n)e=!0;else{var i=t.changedTouches[0],r=n,o=\"Y\"===n?\"X\":\"Y\",a=Math.abs(i[\"client\"+r]-this.firstXY[r]),s=Math.abs(i[\"client\"+o]-this.firstXY[o]);e=a>=s}return this.firstXY=null,e}},findTouch:function(t,e){for(var n,i=0,r=t.length;i<r&&(n=t[i]);i++)if(n.identifier===e)return!0},vacuumTouches:function(t){var e=t.touches;if(U.size>=e.length){var n=[];U.forEach(function(t,i){if(1!==i&&!this.findTouch(e,i-2)){var r=t.out;n.push(r)}},this),n.forEach(this.cancelOut,this)}},touchstart:function(t){this.vacuumTouches(t),this.setPrimaryTouch(t.changedTouches[0]),this.dedupSynthMouse(t),this.scrolling||(this.clickCount++,this.processTouches(t,this.overDown))},overDown:function(t){U.set(t.pointerId,{target:t.target,out:t,outTarget:t.target}),w.enterOver(t),w.down(t)},touchmove:function(t){this.scrolling||(this.shouldScroll(t)?(this.scrolling=!0,this.touchcancel(t)):(t.preventDefault(),this.processTouches(t,this.moveOverOut)))},moveOverOut:function(t){var e=t,n=U.get(e.pointerId);if(n){var i=n.out,r=n.outTarget;w.move(e),i&&r!==e.target&&(i.relatedTarget=e.target,e.relatedTarget=r,i.target=r,e.target?(w.leaveOut(i),w.enterOver(e)):(e.target=r,e.relatedTarget=null,this.cancelOut(e))),n.out=e,n.outTarget=e.target}},touchend:function(t){this.dedupSynthMouse(t),this.processTouches(t,this.upOut)},upOut:function(t){this.scrolling||(w.up(t),w.leaveOut(t)),this.cleanUpPointer(t)},touchcancel:function(t){this.processTouches(t,this.cancelOut)},cancelOut:function(t){w.cancel(t),w.leaveOut(t),this.cleanUpPointer(t)},cleanUpPointer:function(t){U.delete(t.pointerId),this.removePrimaryPointer(t)},dedupSynthMouse:function(t){var e=F.lastTouches,n=t.changedTouches[0];if(this.isPrimaryTouch(n)){var i={x:n.clientX,y:n.clientY};e.push(i);var r=function(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}.bind(null,e,i);setTimeout(r,2500)}}};k=new n(j.elementAdded,j.elementRemoved,j.elementChanged,j);var z,H,G,q=w.pointermap,V=window.MSPointerEvent&&\"number\"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,W={events:[\"MSPointerDown\",\"MSPointerMove\",\"MSPointerUp\",\"MSPointerOut\",\"MSPointerOver\",\"MSPointerCancel\",\"MSGotPointerCapture\",\"MSLostPointerCapture\"],register:function(t){w.listen(t,this.events)},unregister:function(t){w.unlisten(t,this.events)},POINTER_TYPES:[\"\",\"unavailable\",\"touch\",\"pen\",\"mouse\"],prepareEvent:function(t){var e=t;return V&&(e=w.cloneEvent(t),e.pointerType=this.POINTER_TYPES[t.pointerType]),e},cleanup:function(t){q.delete(t)},MSPointerDown:function(t){q.set(t.pointerId,t);var e=this.prepareEvent(t);w.down(e)},MSPointerMove:function(t){var e=this.prepareEvent(t);w.move(e)},MSPointerUp:function(t){var e=this.prepareEvent(t);w.up(e),this.cleanup(t.pointerId)},MSPointerOut:function(t){var e=this.prepareEvent(t);w.leaveOut(e)},MSPointerOver:function(t){var e=this.prepareEvent(t);w.enterOver(e)},MSPointerCancel:function(t){var e=this.prepareEvent(t);w.cancel(e),this.cleanup(t.pointerId)},MSLostPointerCapture:function(t){var e=w.makeEvent(\"lostpointercapture\",t);w.dispatchEvent(e)},MSGotPointerCapture:function(t){var e=w.makeEvent(\"gotpointercapture\",t);w.dispatchEvent(e)}},$=window.navigator;$.msPointerEnabled?(z=function(t){c(t),l(this),h(t)&&(w.setCapture(t,this,!0),this.msSetPointerCapture(t))},H=function(t){c(t),w.releaseCapture(t,!0),this.msReleasePointerCapture(t)}):(z=function(t){c(t),l(this),h(t)&&w.setCapture(t,this)},H=function(t){c(t),w.releaseCapture(t)}),G=function(t){return!!w.captureInfo[t]};var J=window.PointerEvent||window.MSPointerEvent;return{dispatcher:w,Installer:n,PointerEvent:t,PointerMap:E,targetFinding:P,applyGlobal:function(){a(),s(),p()},applyLocal:function(t){J||(u(t),d(t),t.getAttribute(\"touch-action\")||t.setAttribute(\"touch-action\",\"none\"))}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/generatorHelper\",\"./tsSupport/awaiterHelper\",\"./asyncUtils\",\"./Collection\",\"./Loadable\"],function(r,t,n,e,o,i,l){function a(r,t){return e(this,void 0,void 0,function(){return n(this,function(n){switch(n.label){case 0:return[4,r.load()];case 1:return n.sent(),[2,u(r,t)]}})})}function u(r,t){return e(this,void 0,void 0,function(){var a,u,c,d=this;return n(this,function(f){switch(f.label){case 0:return a=[],u=function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];for(var n=0,e=r;n<e.length;n++){var o=e[n];o&&(Array.isArray(o)?u.apply(void 0,o):i.isCollection(o)?o.forEach(function(r){return u(r)}):l.isLoadable(o)&&a.push(o))}},t(u),c=null,[4,o.map(a,function(r){return e(d,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return[4,o.result(s(r)?r.loadAll():r.load())];case 1:return t=n.sent(),!1!==t.ok||c||(c=r),[2]}})})})];case 1:if(f.sent(),c)throw c.loadError;return[2,r]}})})}function s(r){return\"loadAll\"in r&&\"function\"==typeof r.loadAll}Object.defineProperty(t,\"__esModule\",{value:!0}),t.loadAll=a,t.loadAllChildren=u,t.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){function e(n){--n;for(var t=1;t<32;t<<=1)n|=n>>t;return n+1}function r(n,t,e){return n<t?t:n>e?e:n}function i(n){return 0==(n&n-1)}function a(n){return Math.pow(10,Math.ceil(Math.LOG10E*Math.log(n)))}function u(n,t,e){return n+(t-n)*e}function o(n){return n*Math.PI/180}function f(n){return 180*n/Math.PI}function s(n){return Math.acos(r(n,-1,1))}function c(n){return Math.asin(r(n,-1,1))}function M(n,e,r){if(void 0===r&&(r=1e-6),t.isNaN(n)||t.isNaN(e))return!1;if(n===e)return!0;var i=Math.abs(n-e),a=Math.abs(n),u=Math.abs(e);if(0===n||0===e||a<1e-12&&u<1e-12){if(i>.01*r)return!1}else if(i/(a+u)>r)return!1;return!0}function l(n,e,r){return void 0===r&&(r=1e-6),!t.isNaN(n)&&!t.isNaN(e)&&(n>e?n-e:e-n)<=r}function h(n){return N(Math.max(-t.NUMBER_MAX_FLOAT32,Math.min(n,t.NUMBER_MAX_FLOAT32)))}function N(n){return d[0]=n,d[0]}Object.defineProperty(t,\"__esModule\",{value:!0});var d=new Float32Array(1);t.isFinite=Number.isFinite||function(n){return\"number\"==typeof n&&window.isFinite(n)},t.isNaN=Number.isNaN||function(n){return n!==n},t.nextHighestPowerOfTwo=e,t.clamp=r,t.isPowerOfTwo=i,t.nextHighestPowerOfTen=a,t.sign=Math.sign||function(n){return+(n>0)-+(n<0)||+n},t.log2=Math.log2||function(n){return Math.log(n)/Math.LN2},t.lerp=u,t.deg2rad=o,t.rad2deg=f,t.acosClamped=s,t.asinClamped=c,t.floatEqualRelative=M,t.floatEqualAbsolute=l,t.clampFloat32=h,t.NUMBER_MAX_FLOAT32=N(3.4028234663852886e38)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./has\"],function(n,r,e){function u(n){return null!=n}function t(n){return null==n}function o(n,r){return u(n)?r(n):null}function a(n){return n}function f(n,r){return u(n)?n:\"function\"==typeof r?r():r}function l(n){return t(n)&&(e(\"dojo-debug-messages\")||e(\"esri-2d-debug\"))&&console.error(\"Expected value to not be null\",(new Error).stack),n}function i(n,r){var e=new Array;return n.forEach(function(n){var t=r(n);u(t)&&e.push(t)}),e}function c(n,r){for(var e=new Array,u=0,t=n;u<t.length;u++){var o=t[u];e.push(s(o,null,r))}return e}function p(n,r){for(var e=0,u=n;e<u.length;e++){s(u[e],null,r)}}function s(n,r,e){return u(n)?e(n):r}function h(n,r){return u(n)?r(n):null}function v(n,r){for(var e=0,t=n;e<t.length;e++){var o=t[e],a=r(o);if(u(a))return a}return null}function m(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];for(var u=n,t=0;t<r.length&&u;)u=u[r[t++]];return u}Object.defineProperty(r,\"__esModule\",{value:!0}),r.isSome=u,r.isNone=t,r.applySome=o,r.unwrap=a,r.unwrapOr=f,r.expect=l,r.mapSome=i,r.mapMany=c,r.forEachSome=p,r.mapOr=s,r.andThen=h,r.mapSomeFirst=v,r.get=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./global\"],function(e,t,n){function r(){if(n.postMessage&&!n.importScripts){var e=n.onmessage,t=!0;return n.onmessage=function(){t=!1},n.postMessage(\"\",\"*\"),n.onmessage=e,t}return!1}function s(e){u.push(e),1===u.length&&o(function(){for(var e=0,t=f;e<t.length;e++){(0,t[e])()}var n=u.slice();u.length=0;for(var r=0,s=n;r<s.length;r++){(0,s[r])()}})}var i=n.MutationObserver||n.WebKitMutationObserver,o=function(){if(n.process&&n.process.nextTick)return function(e){n.process.nextTick(e)};if(n.Promise)return function(e){n.Promise.resolve().then(e)};if(i){var e=[],t=document.createElement(\"div\");return new i(function(){for(;e.length>0;)e.shift()()}).observe(t,{attributes:!0}),function(n){e.push(n),t.setAttribute(\"queueStatus\",\"1\")}}if(r()){var s=[];return n.addEventListener(\"message\",function(e){if(e.source===n&&\"esri-nexttick-message\"===e.data)for(e.stopPropagation();s.length;)s.shift()()},!0),function(e){s.push(e),n.postMessage(\"esri-nexttick-message\",\"*\")}}return n.setImmediate?function(e){return n.setImmediate(e)}:function(e){return n.setTimeout(e,0)}}(),u=[],f=[];return function(e){function t(e){return f.push(e),{remove:function(){f=f.filter(function(t){return t!==e})}}}e.before=t}(s||(s={})),s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./global\"],function(n,r,t){return function(){var n=t.performance||{};if(n){if(n.now)return function(){return n.now()};if(n.webkitNow)return function(){return n.webkitNow()};if(n.mozNow)return function(){return n.mozNow()};if(n.msNow)return function(){return n.msNow()};if(n.oNow)return function(){return n.oNow()}}var r;return r=n.timing&&n.timing.navigationStart?n.timing.navigationStart:Date.now(),function(){return Date.now()-r}}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function r(e,n){if(null!=n)return n[e]||u(e.split(\".\"),!1,n)}function t(e,n,r){var t=e.split(\".\"),i=t.pop(),f=u(t,!0,r);f&&i&&(f[i]=n)}function u(e,n,r){for(var t=r,u=0,i=e;u<i.length;u++){var f=i[u];if(null==t)return;if(!(f in t)){if(!n)return;t[f]={}}t=t[f]}return t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getDeepValue=r,n.setDeepValue=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./has\",\"./ObjectPool\"],function(t,e,i,o){var r=i(\"esri-text-decoder\")?new TextDecoder(\"utf-8\"):null,s=i(\"safari\")||i(\"ios\")?6:i(\"ff\")?12:32;return function(){function t(t,e,i,o){void 0===i&&(i=0),void 0===o&&(o=t?t.byteLength:0),this._tag=0,this._dataType=99,this.init(t,e,i,o)}return t.prototype.init=function(t,e,i,o){this._data=t,this._dataView=e,this._pos=i,this._end=o},t.prototype.clone=function(){return new t(this._data,this._dataView,this._pos,this._end)},t.prototype.pos=function(){return this._pos},t.prototype.next=function(t){for(;;){if(this._pos===this._end)return!1;var e=this._decodeVarint();if(this._tag=e>>3,this._dataType=7&e,!t||t===this._tag)break;this.skip()}return!0},t.prototype.empty=function(){return this._pos>=this._end},t.prototype.tag=function(){return this._tag},t.prototype.getInt32=function(){return this._decodeVarint()},t.prototype.getInt64=function(){return this._decodeVarint()},t.prototype.getUInt32=function(){var t=4294967295;return t=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128?t:(t=(t|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128?t:(t=(t|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128?t:(t=(t|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128?t:(t=(t|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128?t:void 0))))},t.prototype.getUInt64=function(){return this._decodeVarint()},t.prototype.getSInt32=function(){var t=this.getUInt32();return t>>>1^-(1&t)|0},t.prototype.getSInt64=function(){return this._decodeSVarint()},t.prototype.getBool=function(){var t=0!==this._data[this._pos];return this._skip(1),t},t.prototype.getEnum=function(){return this._decodeVarint()},t.prototype.getFixed64=function(){var t=this._dataView,e=this._pos,i=t.getUint32(e,!0)+4294967296*t.getUint32(e+4,!0);return this._skip(8),i},t.prototype.getSFixed64=function(){var t=this._dataView,e=this._pos,i=t.getUint32(e,!0)+4294967296*t.getInt32(e+4,!0);return this._skip(8),i},t.prototype.getDouble=function(){var t=this._dataView.getFloat64(this._pos,!0);return this._skip(8),t},t.prototype.getFixed32=function(){var t=this._dataView.getUint32(this._pos,!0);return this._skip(4),t},t.prototype.getSFixed32=function(){var t=this._dataView.getInt32(this._pos,!0);return this._skip(4),t},t.prototype.getFloat=function(){var t=this._dataView.getFloat32(this._pos,!0);return this._skip(4),t},t.prototype.getString=function(){var t=this._getLength(),e=this._pos,i=this._toString(this._data,e,e+t);return this._skip(t),i},t.prototype.getBytes=function(){var t=this._getLength(),e=this._pos,i=this._toBytes(this._data,e,e+t);return this._skip(t),i},t.prototype.processMessageWithArgs=function(t,e,i,o){var r=this.getMessage(),s=t(r,e,i,o);return r.release(),s},t.prototype.processMessage=function(t){var e=this.getMessage(),i=t(e);return e.release(),i},t.prototype.getMessage=function(){var e=this._getLength(),i=t.pool.acquire();return i.init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),i},t.prototype.release=function(){t.pool.release(this)},t.prototype.skip=function(){switch(this._dataType){case 0:this._decodeVarint();break;case 1:this._skip(8);break;case 2:this._skip(this._getLength());break;case 5:this._skip(4);break;default:throw new Error(\"Invalid data type!\")}},t.prototype._skip=function(t){if(this._pos+t>this._end)throw new Error(\"Attempt to skip past the end of buffer!\");this._pos+=t},t.prototype._decodeVarint=function(){var t,e=this._data,i=this._pos,o=0;if(this._end-i>=10)do{if(t=e[i++],o|=127&t,0==(128&t))break;if(t=e[i++],o|=(127&t)<<7,0==(128&t))break;if(t=e[i++],o|=(127&t)<<14,0==(128&t))break;if(t=e[i++],o|=(127&t)<<21,0==(128&t))break;if(t=e[i++],o+=268435456*(127&t),0==(128&t))break;if(t=e[i++],o+=34359738368*(127&t),0==(128&t))break;if(t=e[i++],o+=4398046511104*(127&t),0==(128&t))break;if(t=e[i++],o+=562949953421312*(127&t),0==(128&t))break;if(t=e[i++],o+=72057594037927940*(127&t),0==(128&t))break;if(t=e[i++],o+=0x8000000000000000*(127&t),0==(128&t))break;throw new Error(\"Varint too long!\")}while(!1);else{for(var r=1;i!==this._end&&0!=(128&(t=e[i]));)++i,o+=(127&t)*r,r*=128;if(i===this._end)throw new Error(\"Varint overrun!\");++i,o+=t*r}return this._pos=i,o},t.prototype._decodeSVarint=function(){var t=this._decodeVarint();return t%2?-(t+1)/2:t/2},t.prototype._getLength=function(){if(2!==this._dataType)throw new Error(\"Not a delimited data type!\");return this._decodeVarint()},t.prototype._toString=function(t,e,i){if((i=Math.min(this._end,i))-e>s&&r){var o=t.subarray(e,i);return r.decode(o)}for(var n=\"\",a=\"\",p=e;p<i;++p){var h=t[p];128&h?a+=\"%\"+h.toString(16):(n+=decodeURIComponent(a)+String.fromCharCode(h),a=\"\")}return a.length&&(n+=decodeURIComponent(a)),n},t.prototype._toBytes=function(t,e,i){return i=Math.min(this._end,i),new Uint8Array(t.buffer,e,i-e)},t.pool=new o(t,!1,function(t){t._data=null,t._dataView=null}),t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/AbortController\",\"dojo/Deferred\",\"dojo/promise/all\",\"./Error\",\"./events\",\"./maybe\",\"./has\",\"./clock\",\"@dojo/framework/shim/Promise\"],function(r,n,e,t,o,i,u,c,f,a){function l(r){return f(\"esri-native-promise\")?Promise.all(r):o(r)}function s(r,n){var e=r.slice();return l(r.map(function(r,e){return n(r,e)})).then(function(r){return e.filter(function(n,e){return r[e]})})}function v(r,n){if(f(\"esri-native-promise\"))return new Promise(r);var e=new t(n);try{r(function(r){return S(r).then(e.resolve)},e.reject)}catch(r){e.reject(r)}return e.promise}function m(r){void 0===r&&(r=\"Aborted\");var n=new i(\"AbortError\",r);return n.dojoType=\"cancel\",n}function h(){return new e.default}function p(r){if(b(r))throw m()}function d(r){return c.isSome(r)?\"aborted\"in r?r:r.signal:r}function b(r){var n=d(r);return c.isSome(n)&&n.aborted}function w(r){if(A(r))throw r}function j(r,n){var e=d(r);if(!c.isNone(e))return e.aborted?void n(m()):u.once(e,\"abort\",function(){return n(m())})}function y(r,n){var e=d(r);if(!c.isNone(e))return p(e),u.once(e,\"abort\",function(){return n(m())})}function A(r){return r&&(\"AbortError\"===r.name||\"cancel\"===r.dojoType)}function E(r){var n=null,e=v(function(r,e){n={resolve:r,reject:e}},r);return n.promise=e,n.cancel=function(){n.reject(m())},n}function T(r){if(r){if(\"function\"!=typeof r.forEach){var n=Object.keys(r);return T(n.map(function(n){return r[n]})).then(function(r){var e={};return n.forEach(function(n,t){return e[n]=r[t]}),e})}var e=r,t=null,o=C;return v(function(r,n){var i=[],u=e.length;0===u&&r(i),e.forEach(function(e){var c={promise:e||o(e)};i.push(c),c.promise.then(function(r){c.value=r}).catch(function(r){c.error=r}).then(function(){0===--u&&(t?n(m()):r(i))})})},function(r){t=r||\"Invocation cancellation\",e.forEach(function(n){\"cancel\"in n&&n.cancel(r)})})}}function P(r){return T(r).then(function(r){return r.filter(function(r){return!!r.value}).map(function(r){return r.value})})}function g(r){return r&&r.length?v(function(n,e){for(var t=0,o=r;t<o.length;t++){o[t].then(n,e)}}):C()}function k(r){if(f(\"esri-native-promise\"))return Promise.reject(r);var n=new t;return n.reject(r),n.promise}function C(r){if(void 0===r&&(r=void 0),f(\"esri-native-promise\"))return Promise.resolve(r);var n=new t;return n.resolve(r),n.promise}function I(r,n,e){void 0===n&&(n=void 0);var t=h();return j(e,function(){return t.abort()}),v(function(e){var o=setTimeout(function(){o=0,e(n)},r);j(t,function(){o&&(clearTimeout(o),k(m()))})},function(){return t.abort()})}function O(r,n,e,t){var o=e&&\"abort\"in e?e:null;null!=t||o||(t=e);var u=setTimeout(function(){u=0,o&&o.abort()},n),c=function(){throw t||new i(\"promiseUtils:timeout\",\"The wrapped promise did not resolve within \"+n+\" ms\")};return r.then(function(r){if(0===u)throw c();return clearTimeout(u),r},function(r){throw clearTimeout(u),0===u?c():r})}function D(r){var n=!1;return v(function(){r(function(r){n||C(r)})},function(){return n=!0})}function N(r){return r&&\"function\"==typeof r.then}function S(r){return r&&\"object\"==typeof r&&\"then\"in r&&\"function\"==typeof r.then?r:C(r)}function _(r,n){void 0===n&&(n=-1);var e,t,o,i,u=null,c=function(){for(var f=[],a=0;a<arguments.length;a++)f[a]=arguments[a];if(e){t=f,i&&i.reject(m()),i=E();var l=i.promise;if(u){var s=u;u=null,s.abort()}return l}if(o=i||E(),i=null,n>0){var v=h();e=S(r.apply(void 0,f.concat([v.signal])));var p=e;I(n).then(function(){e===p&&(i?v.abort():u=v)})}else e=1,e=S(r.apply(void 0,f));var d=function(){var r=t;t=o=e=u=null,null!=r&&c.apply(void 0,r)},b=e,w=o;return b.then(d,d),b.then(w.resolve,w.reject),w.promise};return c}function q(r){var n,e,t=v(function(r,t){n=r,e=t},r),o=function(r){n(r)};return o.resolve=function(r){return n(r)},o.reject=function(r){return e(r)},o.timeout=function(r,n){return a.default.setTimeout(function(){return o.reject(n)},r)},o.promise=t,o}function x(r,n){return r.then(n,n)}Object.defineProperty(n,\"__esModule\",{value:!0}),f.add(\"esri-native-promise\",!1),n.all=l,n.filter=s,n.create=v,n.createAbortError=m,n.createAbortController=h,n.throwIfAborted=p,n.isAborted=b,n.throwIfAbortError=w,n.onAbort=j,n.onAbortOrThrow=y,n.isAbortError=A,n.createDeferred=E,n.eachAlways=T,n.eachAlwaysValues=P,n.first=g,n.reject=k,n.resolve=C,n.after=I,n.timeout=O,n.wrapCallback=D,n.isPromiseLike=N,n.when=S,n.debounce=_,n.createResolver=q,n.always=x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./global\",\"./now\"],function(e,n,t,r){var i=r(),o=t.requestAnimationFrame;if(!o){for(var a=[\"ms\",\"moz\",\"webkit\",\"o\"],u=0;u<a.length&&!o;++u)o=t[a[u]+\"RequestAnimationFrame\"];o||(o=function(e){var n=r(),o=Math.max(0,16-(n-i)),a=t.setTimeout(function(){e(r())},o);return i=n+o,a})}return o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./deprecate\",\"./Logger\",\"./promiseUtils\"],function(e,r,t,n,i){function o(e,r){return t.deprecatedFunction(s,\"when\",{moduleName:\"requireUtils\",replacement:\"Use `promiseUtils.create()` instead.\",version:\"4.10\",warnOnce:!0}),Array.isArray(r)?i.create(function(t){e(r,function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];t(e)})}):o(e,[r]).then(function(e){return e[0]})}function c(e,r,t){return r.toAbsMid?r.toAbsMid(e):t.id.replace(/\\/[^\\/]*$/gi,\"/\")+e}Object.defineProperty(r,\"__esModule\",{value:!0});var s=n.getLogger(\"esri.core.requireUtils\");r.when=o,r.getAbsMid=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./nextTick\",\"./now\",\"./PooledArray\",\"./promiseUtils\",\"./requestAnimationFrame\"],function(e,t,r,n,a,i,o){function u(e){var n=new g(e);return y.push(n),t.debug.willDispatch||(t.debug.willDispatch=!0,r(h)),n}function s(e){var r=new b(e);return D.push(r),t.debug.rafId||(w=-1,t.debug.rafId=m()),new q(r)}function c(e){void 0===e&&(e=!1),D.forEach(function(e){e.removed=!0}),e&&p()}function d(e){F=Math.max(0,e)}function f(e){if(void 0===e&&(e=t.now()),t.debug.rafId=null,D.length>0&&(t.debug.rafId=m()),w>0){var r=e-w;T=Math.min(r,T)}t.debug.executeFrameTasks(e)}function l(e){void 0===e&&(e=t.now()),w<0&&(w=e);var r=e-w,n=F>0?F:T,a=Math.max(0,r-n);w=e;for(var i=0;i<A.length;i++)!function(i){var o=A[i];D.forEach(function(u){if(!u.paused&&!u.removed){0===i&&u.ticks++;u.phases[o]&&(x.time=e,x.deltaTime=0===u.ticks?0:r,x.elapsedFrameTime=t.now()-e,x.frameDuration=n-a,u.phases[o].call(u,x))}})}(i);p()}function m(){return t.debug.requestNextFrame?t.debug.requestNextFrame(v):v()}function p(){D.forEach(function(e){e.removed&&_.push(e)}),D.removeUnorderedMany(_.data,_.length),_.clear()}function h(){for(;y.length;){var e=y.shift();e.isActive&&(e.isActive=!1,e.callback())}t.debug.willDispatch=!1}function v(){return o(f)}function k(e,t){void 0===e&&(e=1);var n=i.createResolver(),a=function(){i.isAborted(t)?n.reject(i.createAbortError()):0===e?n():(--e,r(function(){return a()}))};return a(),n.promise}Object.defineProperty(t,\"__esModule\",{value:!0}),t.now=n;var b=function(){function e(e){this.phases=e,this.paused=!1,this.ticks=-1,this.removed=!1}return e}(),g=function(){function e(e){this.callback=e,this.isActive=!0}return e.prototype.remove=function(){this.isActive=!1},e}(),w=-1,F=0,T=1e3,x={time:0,deltaTime:0,elapsedFrameTime:0,frameDuration:0},A=[\"prepare\",\"preRender\",\"render\",\"postRender\",\"update\"],y=[],D=new a,q=function(){function e(e){this._task=e}return e.prototype.remove=function(){this._task.removed=!0},e.prototype.pause=function(){this._task.paused=!0},e.prototype.resume=function(){this._task.paused=!1},e}();t.FrameTaskHandle=q,t.debug={frameTasks:D,rafId:null,requestNextFrame:null,willDispatch:!1,clearFrameTasks:c,dispatch:h,executeFrameTasks:l},t.schedule=u,t.addFrameTask=s,t.setFrameDuration=d,t.requestNextFrame=m;var _=new a;t.waitTicks=k});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./compilerUtils\"],function(e,r,n){function t(e){return e?e/72*g:0}function c(e){return e?72*e/g:0}function i(e){if(\"string\"==typeof e){if(A.test(e)){var r=e.match(A),n=Number(r[1]),t=r[3]&&r[3].toLowerCase(),i=\"-\"===e.charAt(0),o=\"px\"===t?c(n):n;return i?-o:o}return console.warn(T),null}return e}function o(e,r){return void 0===e&&(e=0),void 0===r&&(r=0),{x:e,y:r}}function a(e,r){return void 0===e&&(e=0),void 0===r&&(r=0),[e,r]}function u(e,r){return void 0===e&&(e=0),void 0===r&&(r=0),{x:e,y:r}}function s(e,r){return void 0===e&&(e=0),void 0===r&&(r=0),v([e,r])}function d(e,r,n){return void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),f([e,r,n])}function v(e){return e}function f(e){return e}function p(e){return e}function y(e,r,n){var t,c;switch(e.type){case\"2d\":var i=window.devicePixelRatio||1;t=r.x*i,c=r.y*i;break;case\"3d\":w(r,E),e.state.camera.screenToRender(E,k),t=k[0],c=k[1]}return n?(n.x=t,n.y=c,n):u(t,c)}function l(e,r,n){var t,c;switch(e.type){case\"2d\":var i=window.devicePixelRatio||1;t=r.x/i,c=r.y/i;break;case\"3d\":w(r,k),e.state.camera.renderToScreen(k,E),t=E[0],c=E[1]}return n?(n.x=t,n.y=c,n):o(t,c)}function P(e,r,n){var t,c;switch(e.type){case\"2d\":var i=window.devicePixelRatio||1;t=r[0]*i,c=r[1]*i;break;case\"3d\":e.state.camera.screenToRender(r,k),t=k[0],c=k[1]}return n?(n[0]=t,n[1]=c,n.length>2&&(n[2]=0),n):s(t,c)}function x(e,r,n){var t,c;switch(e.type){case\"2d\":var i=window.devicePixelRatio||1;t=r[0]/i,c=r[0]/i;break;case\"3d\":e.state.camera.renderToScreen(r,E),t=E[0],c=E[1]}return n?(n[0]=t,n[1]=c,n):a(t,c)}function S(e,r){return r?(r.x=e[0],r.y=e[1],r):{x:e[0],y:e[1]}}function w(e,r){return r?(r[0]=e.x,r[1]=e.y,r.length>2&&(r[2]=0),r):[e.x,e.y]}function m(e){return o(e.x,e.y)}function R(e,r){var n=(e instanceof HTMLElement?e:e.surface).getBoundingClientRect();return o(r.clientX-n.left,r.clientY-n.top)}function h(e,r){return r instanceof Event?R(e,r):m(r)}function b(e){if(e instanceof Event)return!0;if(\"object\"==typeof e&&\"type\"in e){var r=e.type;switch(r){case\"click\":case\"double-click\":case\"pointer-down\":case\"pointer-drag\":case\"pointer-enter\":case\"pointer-leave\":case\"pointer-up\":case\"pointer-move\":case\"immediate-click\":case\"hold\":case\"drag\":case\"mouse-wheel\":return!0;case\"key-down\":case\"key-up\":case\"gamepad\":case\"focus\":case\"blur\":return!1;default:return n.neverReachedSilent(r),!1}}return!1}Object.defineProperty(r,\"__esModule\",{value:!0});var A=/^-?(\\d+(\\.\\d+)?)\\s*((px)|(pt))?$/i,T=\"screenUtils.toPt: input not recognized!\",g=96;r.pt2px=t,r.px2pt=c,r.toPt=i,r.createScreenPoint=o,r.createScreenPointArray=a,r.createRenderScreenPoint=u,r.createRenderScreenPointArray=s,r.createRenderScreenPointArray3=d,r.castRenderScreenPointArray=v,r.castRenderScreenPointArray3=f,r.castScreenPointArray=p,r.screenToRender=y,r.renderToScreen=l,r.screenArrayToRender=P,r.renderArrayToScreen=x,r.screenPointArrayToObject=S,r.screenPointObjectToArray=w,r.createScreenPointFromEvent=m,r.createScreenPointFromNativeEvent=R,r.createScreenPointFromSupportedEvent=h,r.isSupportedScreenPointEvent=b;var k=s(),E=a()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./object\",\"@dojo/framework/shim/string\"],function(e,t,r,n){function i(e,t){return e.replace(c,\"object\"==typeof t?function(e,n){return r.getDeepValue(n,t)}:function(e,r){return t(r)})}function o(e){return e.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+\\-^])/g,function(e){return\"\\\\\"+e})}function u(e){for(var t=0,r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}Object.defineProperty(t,\"__esModule\",{value:!0});var c=/\\{([^\\}]+)\\}/g;t.endsWith=n.endsWith,t.startsWith=n.startsWith,t.replace=i,t.escapeRegExpString=o,t.numericHash=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){return Object.assign||function(n){for(var r,t=1,e=arguments.length;t<e;t++){r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])}return n}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"../promiseUtils\"],function(n){function t(t,e,c,u){function i(n){o&&o.cancel&&o.cancel(n)}var o=null;return n.create(function(c,i){function r(n){try{f(u.next(n))}catch(n){i(n)}}function a(n){try{f(u.throw(n))}catch(n){i(n)}}function f(t){t.done?(o=n.when(t.value),o.then(c,i)):(o=n.when(t.value),o.then(r,a))}f((u=u.apply(t,e||[])).next())},i)}return t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,_){function n(e,_){e.__bases__=_.__bases__}return n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){return function(e,t,r,n){var c,f=arguments.length,o=f<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(c=e[l])&&(o=(f<3?c(o):f>3?c(t,r,o):c(t,r))||o);return f>3&&o&&Object.defineProperty(t,r,o),o}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){return function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var n in o)o.hasOwnProperty(n)&&(t[n]=o[n])};return function(o,n){function r(){this.constructor=o}t(o,n),o.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){return function(e,n){function r(e){return function(n){return t([e,n])}}function t(r){if(o)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(o=1,l&&(a=2&r[0]?l.return:r[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,r[1])).done)return a;switch(l=0,a&&(r=[2&r[0],a.value]),r[0]){case 0:case 1:a=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,l=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(a=i.trys,!(a=a.length>0&&a[a.length-1])&&(6===r[0]||2===r[0])){i=0;continue}if(3===r[0]&&(!a||r[1]>a[0]&&r[1]<a[3])){i.label=r[1];break}if(6===r[0]&&i.label<a[1]){i.label=a[1],a=r;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(r);break}a[2]&&i.ops.pop(),i.trys.pop();continue}r=n.call(e,i)}catch(e){r=[6,e],l=0}finally{o=a=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}var o,l,a,u,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return u={next:r(0),throw:r(1),return:r(2)},\"function\"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){return function(n,t){return function(u,e){t(u,e,n)}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(r,n){function t(r,n){if(r.forEach)r.forEach(n);else for(var t=0;t<r.length;t++)n(r[t],t,r)}function o(r,n,t){if(r.slice)return r.slice(n,t);void 0===n?n=0:(n<0&&(n+=r.length),n=Math.min(r.length,Math.max(0,n))),void 0===t?t=r.length:(t<0&&(t+=r.length),t=Math.min(r.length,Math.max(0,t)));for(var o=Math.max(0,t-n),a=r.constructor,c=new a(o),e=0;e<o;e++)c[e]=r[n+e];return c}function a(r){return r instanceof ArrayBuffer||r&&r.constructor&&\"ArrayBuffer\"===r.constructor.name}function c(r){return r instanceof Int8Array||r&&r.constructor&&\"Int8Array\"===r.constructor.name}function e(r){return r instanceof Uint8Array||r&&r.constructor&&\"Uint8Array\"===r.constructor.name}function i(r){return r instanceof Uint8ClampedArray||r&&r.constructor&&\"Uint8ClampedArray\"===r.constructor.name}function u(r){return r instanceof Int16Array||r&&r.constructor&&\"Int16Array\"===r.constructor.name}function s(r){return r instanceof Uint16Array||r&&r.constructor&&\"Uint16Array\"===r.constructor.name}function f(r){return r instanceof Int32Array||r&&r.constructor&&\"Int32Array\"===r.constructor.name}function y(r){return r instanceof Uint32Array||r&&r.constructor&&\"Uint32Array\"===r.constructor.name}function A(r){return r instanceof Float32Array||r&&r.constructor&&\"Float32Array\"===r.constructor.name}function l(r){return r instanceof Float64Array||r&&r.constructor&&\"Float64Array\"===r.constructor.name}function m(r){for(var n=new Array(r.length),t=0;t<r.length;t++)n[t]=r[t];return n}function h(r){return r?128+r.buffer.byteLength+64:0}Object.defineProperty(n,\"__esModule\",{value:!0}),n.forEach=t,n.slice=o,n.isArrayBuffer=a,n.isInt8Array=c,n.isUint8Array=e,n.isUint8ClampedArray=i,n.isInt16Array=u,n.isUint16Array=s,n.isInt32Array=f,n.isUint32Array=y,n.isFloat32Array=A,n.isFloat64Array=l,n.toArray=m,n.estimateSize=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./compilerUtils\",\"./iteratorUtils\",\"./jsonMap\",\"./wgs84Constants\",\"../geometry/support/WKIDUnitConversion\"],function(e,s,t,r,i,n,a){function u(e,s,t){return e*E[t].units[s].inBaseUnits}function c(e,s,t){return e/E[t].units[s].inBaseUnits}function o(e){var s=A[e];if(s)return s;throw new Error(\"unknown measure\")}function l(e){return E[e].baseUnit}function f(e){return l(o(e))}function m(e,s){return void 0===s&&(s=null),s=s||o(e),E[s].baseUnit===e}function U(e,s,t){if(s===t)return e;var r=o(s);if(r!==o(t))throw new Error(\"incompatible units\");var i=m(s,r)?e:u(e,s,r);return m(t,r)?i:c(i,t,r)}function d(e,s){return U(e,s,\"meters\")<3e3?\"meters\":\"kilometers\"}function B(e,s){return U(e,s,\"meters\")<1e5?\"meters\":\"kilometers\"}function h(e,s){return U(e,s,\"feet\")<1e3?\"feet\":\"miles\"}function k(e,s){return U(e,s,\"feet\")<1e5?\"feet\":\"miles\"}function b(e,s){return U(e,s,\"square-meters\")<3e6?\"square-meters\":\"square-kilometers\"}function g(e,s){return U(e,s,\"square-feet\")<1e6?\"square-feet\":\"square-miles\"}function p(e,s,t){return void 0===t&&(t=n.wgs84Radius),U(e,s,\"meters\")/(t*Math.PI/180)}function y(e){return L.fromJSON(e.toLowerCase())||null}function q(e){return L.toJSON(e)||null}function v(e){var s=w(e);return s>1e5?1:s}function _(e){return w(e)>1e5?\"meters\":M(e)}function w(e,s){return void 0===s&&(s=R),S(e,!0)||s}function S(e,s){void 0===s&&(s=!1);var t,r,i;if(null!=e&&(\"object\"==typeof e?(t=e.wkid,r=e.wkt):\"number\"==typeof e?t=e:\"string\"==typeof e&&(r=e)),t)!(i=O.values[O[t]])&&s&&J.has(t)&&(i=F);else if(r&&-1!==r.search(/^PROJCS/i)){var n=I.exec(r);n&&n[1]&&(i=parseFloat(n[1].split(\",\")[1]))}return i}function M(e){var s,t,r;if(null!=e&&(\"object\"==typeof e?(s=e.wkid,t=e.wkt):\"number\"==typeof e?s=e:\"string\"==typeof e&&(t=e)),s)r=O.units[O[s]];else if(t&&-1!==t.search(/^PROJCS/i)){var i=I.exec(t);i&&i[1]&&(i=/[\\\\\"\\\\']{1}([^\\\\\"\\\\']+)/.exec(i[1]),r=i&&i[1])}return r?y(r):null}function P(e){if(!e)return null;var s=M(e);switch(s){case\"feet\":case\"us-feet\":case\"clarke-feet\":case\"clarke-yards\":case\"clarke-links\":case\"sears-yards\":case\"sears-feet\":case\"sears-chains\":case\"benoit-1895-b-chains\":case\"indian-yards\":case\"indian-1937-yards\":case\"gold-coast-feet\":case\"sears-1922-truncated-chains\":return\"imperial\";case\"50-kilometers\":case\"150-kilometers\":case\"meters\":return\"metric\";case null:case void 0:return null;default:t.neverReached(s)}return null}Object.defineProperty(s,\"__esModule\",{value:!0}),s.inchesPerMeter=39.37;var R=n.wgs84Radius*Math.PI/180,F=n.wgs84Radius*Math.PI/200,I=/UNIT\\[([^\\]]+)\\]\\]$/i,O=a,J=r.createSetFromValues([4261,4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104139,104140]),L=i.strict()({meter:\"meters\",foot:\"feet\",foot_us:\"us-feet\",foot_clarke:\"clarke-feet\",yard_clarke:\"clarke-yards\",link_clarke:\"clarke-links\",yard_sears:\"sears-yards\",foot_sears:\"sears-feet\",chain_sears:\"sears-chains\",chain_benoit_1895_b:\"benoit-1895-b-chains\",yard_indian:\"indian-yards\",yard_indian_1937:\"indian-1937-yards\",foot_gold_coast:\"gold-coast-feet\",chain_sears_1922_truncated:\"sears-1922-truncated-chains\",\"50_kilometers\":\"50-kilometers\",\"150_kilometers\":\"150-kilometers\"}),C={millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},decimeters:{inBaseUnits:.1},meters:{inBaseUnits:1},kilometers:{inBaseUnits:1e3},inches:{inBaseUnits:.0254},feet:{inBaseUnits:.3048},yards:{inBaseUnits:.9144},miles:{inBaseUnits:1609.344},\"nautical-miles\":{inBaseUnits:1852},\"us-feet\":{inBaseUnits:1200/3937}},N=function(e){return e*e},T={\"square-millimeters\":{inBaseUnits:N(.001)},\"square-centimeters\":{inBaseUnits:N(.01)},\"square-decimeters\":{inBaseUnits:N(.1)},\"square-meters\":{inBaseUnits:1},\"square-kilometers\":{inBaseUnits:N(1e3)},\"square-inches\":{inBaseUnits:N(.0254)},\"square-feet\":{inBaseUnits:N(.3048)},\"square-yards\":{inBaseUnits:N(.9144)},\"square-miles\":{inBaseUnits:N(1609.344)},\"square-us-feet\":{inBaseUnits:N(1200/3937)},acres:{inBaseUnits:.0015625*N(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}},V=function(e){return e*e*e},j={liters:{inBaseUnits:1},\"cubic-millimeters\":{inBaseUnits:1e3*V(.001)},\"cubic-centimeters\":{inBaseUnits:1e3*V(.01)},\"cubic-decimeters\":{inBaseUnits:1e3*V(.1)},\"cubic-meters\":{inBaseUnits:1e3},\"cubic-kilometers\":{inBaseUnits:1e3*V(1e3)},\"cubic-inches\":{inBaseUnits:1e3*V(.0254)},\"cubic-feet\":{inBaseUnits:1e3*V(.3048)},\"cubic-yards\":{inBaseUnits:1e3*V(.9144)},\"cubic-miles\":{inBaseUnits:1e3*V(1609.344)}},x={radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}},E={length:{baseUnit:\"meters\",units:C},area:{baseUnit:\"square-meters\",units:T},volume:{baseUnit:\"liters\",units:j},angle:{baseUnit:\"radians\",units:x}},A=function(){var e={};for(var s in E)for(var t in E[s].units)e[t]=s;return e}();s.measurementAreaUnits=[\"metric\",\"imperial\",\"square-inches\",\"square-feet\",\"square-yards\",\"square-miles\",\"square-us-feet\",\"square-meters\",\"square-kilometers\",\"acres\",\"ares\",\"hectares\"],s.measurementLengthUnits=[\"metric\",\"imperial\",\"inches\",\"feet\",\"yards\",\"miles\",\"nautical-miles\",\"us-feet\",\"meters\",\"kilometers\"],s.measureForUnit=o,s.baseUnitForMeasure=l,s.baseUnitForUnit=f,s.isBaseUnit=m,s.convertUnit=U,s.preferredMetricLengthUnit=d,s.preferredMetricVerticalLengthUnit=B,s.preferredImperialLengthUnit=h,s.preferredImperialVerticalLengthUnit=k,s.preferredMetricAreaUnit=b,s.preferredImperialAreaUnit=g,s.lengthToDegrees=p,s.unitFromRESTJSON=y,s.unitToRESTJSON=q,s.getMetersPerVerticalUnitForSR=v,s.getVerticalUnitStringForSR=_,s.getMetersPerUnitForSR=w,s.getMetersPerUnit=S,s.getUnitString=M,s.getDefaultUnitSystem=P});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tsSupport/assignHelper\",\"../config\",\"../kernel\",\"./Error\",\"./global\",\"./Logger\",\"./string\"],function(e,r,t,n,i,o,a,u,l){function s(e){var r={path:null,query:null},t=new Se(e),n=e.indexOf(\"?\");return null===t.query?r.path=e:(r.path=e.substring(0,n),r.query=c(t.query)),t.fragment&&(r.hash=t.fragment,null===t.query&&(r.path=r.path.substring(0,r.path.length-(t.fragment.length+1)))),r}function c(e){for(var r=e.split(\"&\"),t={},n=0,i=r;n<i.length;n++){var o=i[n];if(o){var a=o.indexOf(\"=\"),u=void 0,l=void 0;a<0?(u=decodeURIComponent(o),l=\"\"):(u=decodeURIComponent(o.slice(0,a)),l=decodeURIComponent(o.slice(a+1)));var s=t[u];\"string\"==typeof s&&(s=t[u]=[s]),Array.isArray(s)?s.push(l):t[u]=l}}return t}function f(e){return e&&\"object\"==typeof e&&\"toJSON\"in e&&\"function\"==typeof e.toJSON}function p(e,r){return e?r&&\"function\"==typeof r?Object.keys(e).map(function(t){return encodeURIComponent(t)+\"=\"+encodeURIComponent(r(t,e[t]))}).join(\"&\"):Object.keys(e).map(function(t){var n=e[t];if(null==n)return\"\";var i=encodeURIComponent(t)+\"=\",o=r&&r[t];return o?i+encodeURIComponent(o(n)):Array.isArray(n)?n.map(function(e){return f(e)?i+encodeURIComponent(JSON.stringify(e)):i+encodeURIComponent(e)}).join(\"&\"):f(n)?i+encodeURIComponent(JSON.stringify(n)):i+encodeURIComponent(n)}).filter(function(e){return e}).join(\"&\"):\"\"}function h(e){void 0===e&&(e=!1);var r,t=ge.proxyUrl;if(\"string\"==typeof e){r=E(e);var n=g(e);n&&(t=n.proxyUrl)}else r=!!e;if(!t)throw ye.warn(Ue),new o(\"urlutils:proxy-not-set\",Ue);return r&&_()&&(t=F(t)),s(t)}function v(e){var r,n,i=g(e);if(i){var o=d(i.proxyUrl);r=o.path,n=o.query?c(o.query):null}if(r){var a=s(e);e=r+\"?\"+a.path;var u=p(t({},n,a.query));u&&(e=e+\"?\"+u)}return e}function d(e){var r=e.indexOf(\"?\");return-1!==r?(Ie.path=e.slice(0,r),Ie.query=e.slice(r+1)):(Ie.path=e,Ie.query=null),Ie}function m(e){return e=d(e).path,e=Y(e),e=G(e,!0),e=e.toLowerCase()}function y(e){for(var r={proxyUrl:e.proxyUrl,urlPrefix:m(e.urlPrefix)},t=ge.proxyRules,n=r.urlPrefix,i=t.length,o=0;o<t.length;o++){var a=t[o].urlPrefix;if(0===n.indexOf(a)){if(n.length===a.length)return-1;i=o;break}0===a.indexOf(n)&&(i=o+1)}return t.splice(i,0,r),i}function g(e){for(var r=ge.proxyRules,t=m(e),n=0;n<r.length;n++)if(0===t.indexOf(r[n].urlPrefix))return r[n]}function U(e,r){return e=x(e),r=x(r),G(e)===G(r)}function x(e){e=q(e);var r=e.indexOf(\"/sharing\");return r>0?e.substring(0,r):e.replace(/\\/+$/,\"\")}function O(e){var r=function(r){return null==r||r instanceof RegExp&&r.test(e)||\"string\"==typeof r&&l.startsWith(e,r)},t=ge.interceptors;if(t)for(var n=0,i=t;n<i.length;n++){var o=i[n];if(Array.isArray(o.urls)){var a=o.urls.some(r);if(a)return o}else if(r(o.urls))return o}return null}function w(e,r,t){void 0===t&&(t=!1);var n=ie(e),i=ie(r);return!(!t&&n.scheme!==i.scheme)&&(n.host.toLowerCase()===i.host.toLowerCase()&&n.port===i.port)}function b(e){if(\"string\"==typeof e){if(!L(e))return!0;e=ie(e)}if(w(e,r.appUrl))return!0;for(var t=ge.trustedServers||[],n=0;n<t.length;n++)for(var i=t[n],o=R(i),a=0;a<o.length;a++)if(w(e,o[a]))return!0;return!1}function R(e){return r.trustedServersUrlCache[e]||(D(e)||Q(e)?r.trustedServersUrlCache[e]=[new Se(C(e))]:r.trustedServersUrlCache[e]=[new Se(\"http://\"+e),new Se(\"https://\"+e)]),r.trustedServersUrlCache[e]}function C(e,t,n){return void 0===t&&(t=r.appBaseUrl),Q(e)?n&&n.preserveProtocolRelative?e:\"http\"===r.appUrl.scheme&&r.appUrl.authority===I(e).slice(2)?\"http:\"+e:\"https:\"+e:D(e)?e:S(\"/\"===e[0]?V(t):t,e)}function P(e,t,n){if(void 0===t&&(t=r.appBaseUrl),!L(e))return e;var i=q(e),o=i.toLowerCase(),a=q(t).toLowerCase().replace(/\\/+$/,\"\"),u=n?q(n).toLowerCase().replace(/\\/+$/,\"\"):null;if(u&&0!==a.indexOf(u))return e;for(var l=function(e,r,t){return t=e.indexOf(r,t),-1===t?e.length:t},s=l(o,\"/\",o.indexOf(\"//\")+2),c=-1;o.slice(0,s+1)===a.slice(0,s)+\"/\"&&(c=s+1,s!==o.length);)s=l(o,\"/\",s+1);if(-1===c)return e;if(u&&c<u.length)return e;e=i.slice(c);var f=a.slice(c-1).replace(/[^\\/]+/g,\"\").length;if(f>0)for(var p=0;p<f;p++)e=\"../\"+e;else e=\"./\"+e;return e}function q(e){return e=e.trim(),e=C(e),e=ee(e),e=re(e),e=te(e)}function S(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(e&&e.length){var t=[];if(L(e[0])){var n=e[0],i=n.indexOf(\"//\");-1!==i&&(t.push(n.slice(0,i+1)),z(e[0])&&(t[0]+=\"/\"),e[0]=n.slice(i+2))}else\"/\"===e[0][0]&&t.push(\"\");for(var o=e.reduce(function(e,r){return r?e.concat(r.split(\"/\")):e},[]),a=0;a<o.length;a++){var u=o[a];\"..\"===u&&t.length>0&&\"..\"!==t[t.length-1]?t.pop():(!u&&a===o.length-1||u&&(\".\"!==u||0===t.length))&&t.push(u)}return t.join(\"/\")}}function I(e,r){if(void 0===r&&(r=!1),T(e)||j(e))return null;var t=e.indexOf(\"://\");if(-1===t&&Q(e))t=2;else{if(-1===t)return null;t+=3}var n=e.indexOf(\"/\",t);return-1!==n&&(e=e.slice(0,n)),r&&(e=G(e,!0)),e}function L(e){return Q(e)||D(e)}function T(e){return\"blob:\"===e.slice(0,5)}function j(e){return\"data:\"===e.slice(0,5)}function k(e){var r=B(e);if(!r||!r.isBase64)return null;for(var t=atob(r.data),n=new Uint8Array(t.length),i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n.buffer}function B(e){var r=e.match(Le);return r?{mediaType:r[1],isBase64:!!r[2],data:r[3]}:null}function A(e){return e.isBase64?\"data:\"+e.mediaType+\";base64,\"+e.data:\"data:\"+e.mediaType+\",\"+e.data}function $(e){var r=k(e);if(!r)return null;var t=B(e);return new Blob([r],{type:t.mediaType})}function H(e,r){J(e,r)||N(e,r)}function J(e,r){var t=document.createElement(\"a\");if(!(\"download\"in t))return!1;var n=null;if(a.URL&&a.URL.createObjectURL){var i=$(e);if(!i)return!1;n=a.URL.createObjectURL(i)}t.download=r,t.href=n||e,t.style.display=\"none\",document.body.appendChild(t),t.click(),document.body.removeChild(t),n&&a.URL.revokeObjectURL(n)}function N(e,r){return!!window.navigator.msSaveOrOpenBlob&&window.navigator.msSaveOrOpenBlob($(e),r)}function Q(e){return e&&\"/\"===e[0]&&\"/\"===e[1]}function D(e){return xe.test(e)}function E(e){return we.test(e)||\"https\"===r.appUrl.scheme&&Q(e)}function K(e){return Oe.test(e)||\"http\"===r.appUrl.scheme&&Q(e)}function z(e){return be.test(e)}function W(e){return Q(e)?\"http:\"+e:e.replace(we,\"http:\")}function F(e){return Q(e)?\"https:\"+e:e.replace(Oe,\"https:\")}function M(){return\"http\"===r.appUrl.scheme}function _(){return\"https\"===r.appUrl.scheme}function G(e,r){return void 0===r&&(r=!1),Q(e)?e.slice(2):(e=e.replace(xe,\"\"),r&&e.length>1&&\"/\"===e[0]&&\"/\"===e[1]&&(e=e.slice(2)),e)}function V(e){var r=e.indexOf(\"//\"),t=e.indexOf(\"/\",r+2);return-1===t?e:e.slice(0,t)}function X(e){var r=0;if(L(e)){var t=e.indexOf(\"//\");-1!==t&&(r=t+2)}var n=e.lastIndexOf(\"/\");return n<r?e:e.slice(0,n+1)}function Y(e){return e&&\"/\"===e[e.length-1]?e:e+\"/\"}function Z(e){return e.replace(/\\/+$/,\"\")}function ee(e){if(/^https?:\\/\\//i.test(e)){var r=d(e);e=r.path.replace(/\\/{2,}/g,\"/\"),e=e.replace(\"/\",\"//\"),r.query&&(e+=\"?\"+r.query)}return e}function re(e){return e.replace(/^(https?:\\/\\/)(arcgis\\.com)/i,\"$1www.$2\")}function te(e){var t=ge.httpsDomains;if(!K(e))return e;var n,i=e.indexOf(\"/\",7);if(n=-1===i?e:e.slice(0,i),n=n.toLowerCase().slice(7),Re.test(n)){if(!l.endsWith(n,\":80\"))return e;n=n.slice(0,-3),e=e.replace(\":80\",\"\")}return M()&&n===r.appUrl.authority&&!Ce.test(e)?e:((_()&&n===r.appUrl.authority||t&&t.some(function(e){return n===e||l.endsWith(n,\".\"+e)})||_()&&!g(e))&&(e=F(e)),e)}function ne(e,r,t){if(!(r&&t&&e&&L(e)))return e;var n=e.indexOf(\"//\"),i=e.indexOf(\"/\",n+2),o=e.indexOf(\":\",n+2),a=Math.min(i<0?e.length:i,o<0?e.length:o);return e.slice(n+2,a).toLowerCase()!==r.toLowerCase()?e:\"\"+e.slice(0,n+2)+t+e.slice(a)}function ie(e){return\"string\"==typeof e?new Se(C(e)):(e.scheme||(e.scheme=r.appUrl.scheme),e)}function oe(e,r){return r&&!r.isPortal&&r.urlKey&&r.customBaseUrl?ne(e,r.urlKey+\".\"+r.customBaseUrl,r.portalHostname):e}function ae(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;var n=t.urlKey+\".\"+t.customBaseUrl;return w(r.appUrl,r.appUrl.scheme+\"://\"+n)?ne(e,t.portalHostname,n):ne(e,n,t.portalHostname)}function ue(e,r){var t=r&&r.url&&r.url.path;return e&&t&&(e=C(e,t,{preserveProtocolRelative:!0})),ae(e,r&&r.portal)}function le(e,r,t){return ue(e,t)}function se(e,r){if(!e)return e;!L(e)&&r&&r.blockedRelativeUrls&&r.blockedRelativeUrls.push(e);var t=C(e);if(r){var n=r.verifyItemRelativeUrls&&r.verifyItemRelativeUrls.rootPath||r.url&&r.url.path;n&&(t=P(t,n,n))!==e&&r.verifyItemRelativeUrls&&r.verifyItemRelativeUrls.writtenUrls.push(t)}return t=oe(t,r&&r.portal),L(t)&&(t=q(t)),t}function ce(e,r,t,n){var i=se(e,n);i&&(r[t]=i)}function fe(e){return Te.test(e)}function pe(e,r){var t=s(e),n=Object.keys(t.query||{});return n.length>0&&r&&r.warn(\"removeQueryParameters()\",\"Url query parameters are not supported, the following parameters have been removed: \"+n.join(\", \")+\".\"),t.path}function he(e,r,t){var n=s(e),i=n.query||{};return i[r]=String(t),n.path+\"?\"+p(i)}function ve(e,r){var t=s(e),n=t.query||{};for(var i in r)n[i]=r[i];var o=p(n);return o?t.path+\"?\"+o:t.path}function de(e,r){var t=s(e),n=t.path,i=t.query;if(!i)return e;delete i[r];var o=p(i);return o?n+\"?\"+o:n}function me(e){var r=i.id&&i.id.findCredential(e);return r&&r.token?he(e,\"token\",r.token):e}Object.defineProperty(r,\"__esModule\",{value:!0});var ye=u.getLogger(\"esri.core.urlUtils\"),ge=n.request,Ue=\"esri/config: esriConfig.request.proxyUrl is not set.\",xe=/^\\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,Oe=/^\\s*http:/i,we=/^\\s*https:/i,be=/^\\s*file:/i,Re=/:\\d+$/,Ce=/^https?:\\/\\/[^\\/]+\\.arcgis.com\\/sharing(\\/|$)/i,Pe=new RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?$\"),qe=new RegExp(\"^((([^\\\\[:]+):)?([^@]+)@)?(\\\\[([^\\\\]]+)\\\\]|([^\\\\[:]*))(:([0-9]+))?$\"),Se=function(){function e(e){void 0===e&&(e=\"\"),this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;var r=this.uri.match(Pe);this.scheme=r[2]||(r[1]?\"\":null),this.authority=r[4]||(r[3]?\"\":null),this.path=r[5],this.query=r[7]||(r[6]?\"\":null),this.fragment=r[9]||(r[8]?\"\":null),null!=this.authority&&(r=this.authority.match(qe),this.user=r[3]||null,this.password=r[4]||null,this.host=r[6]||r[7],this.port=r[9]||null)}return e.prototype.toString=function(){return this.uri},e}();r.Url=Se,r.appUrl=new Se(n.applicationUrl),r.trustedServersUrlCache={},r.appBaseUrl=function(){var e=r.appUrl.path,t=e.substring(0,e.lastIndexOf(e.split(\"/\")[e.split(\"/\").length-1]));return r.appUrl.scheme+\"://\"+r.appUrl.host+(null!=r.appUrl.port?\":\"+r.appUrl.port:\"\")+t}(),r.urlToObject=s,r.queryToObject=c,r.objectToQuery=p,r.getProxyUrl=h,r.addProxy=v;var Ie={path:\"\",query:\"\"};r.addProxyRule=y,r.getProxyRule=g,r.hasSamePortal=U,r.getInterceptor=O,r.hasSameOrigin=w,r.isTrustedServer=b,r.makeAbsolute=C,r.makeRelative=P,r.normalize=q,r.join=S,r.getOrigin=I,r.isAbsolute=L,r.isBlobProtocol=T,r.isDataProtocol=j,r.dataToArrayBuffer=k;var Le=/^data:(.*?)(;base64)?,(.*)$/;r.dataComponents=B,r.makeData=A,r.dataToBlob=$,r.downloadDataAsFile=H,r.isProtocolRelative=Q,r.hasProtocol=D,r.toHTTP=W,r.toHTTPS=F,r.isAppHTTPS=_,r.removeFile=X,r.removeTrailingSlash=Z,r.changeDomain=ne,r.fromJSON=ue,r.read=le,r.toJSON=se,r.write=ce,r.isSVG=fe,r.removeQueryParameters=pe,r.addQueryParameter=he,r.addQueryParameters=ve,r.removeQueryParameter=de,r.addTokenParameter=me;var Te=/(^data:image\\/svg|\\.svg$)/i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./events\",\"./has\",\"./lang\",\"./promiseUtils\"],function(n,e,r,t,u,o){function c(n,e,r,t,u){var o=n.watch(e,function(e,u,o,c){r&&!r(e)||t.call(n,e,u,o,c)},u);if(Array.isArray(e))for(var c=0,i=e;c<i.length;c++){var a=i[c],f=n.get(a);r&&r(f)&&t.call(n,f,f,e,n)}else{var f=n.get(e);r&&r(f)&&t.call(n,f,f,e,n)}return o}function i(n,e,r,u,i){function a(){h&&(h.remove(),h=null)}var f=\"function\"==typeof u?u:null,l=\"object\"==typeof u?u:null;\"boolean\"==typeof u&&(i=u);var h,v=!1,s=o.createDeferred(a);o.onAbort(l,function(){a(),s.reject(o.createAbortError())});var d=t(\"esri-native-promise\")?{then:s.promise.then.bind(s.promise),catch:s.promise.catch.bind(s.promise),remove:a}:{cancel:s.cancel,then:s.promise.then.bind(s.promise),catch:s.promise.catch.bind(s.promise),remove:a};return Object.freeze(d),h=c(n,e,r,function(e,r,t,u){v=!0,a(),f&&f.call(n,e,r,t,u),s.resolve({value:e,oldValue:r,propertyName:t,target:u})},i),v&&a(),d}function a(n){return!!n}function f(n){return!n}function l(n){return!0===n}function h(n){return!1===n}function v(n){return void 0!==n}function s(n){return void 0===n}function d(n,e,r,t){for(var u=Array.isArray(e)?e:e.indexOf(\",\")>-1?e.split(\",\"):[e],o=m(n,e,r,t),c=0,i=u;c<i.length;c++){var a=i[c],f=a.trim().replace($,\"$1\"),l=n.get(f);r.call(n,l,l,f,n)}return o}function m(n,e,r,t){return n.watch(e,r,t)}function p(n,e,r,t){return i(n,e,null,r,t)}function w(n,e,r,t){return c(n,e,a,r,t)}function b(n,e,r,t){return i(n,e,a,r,t)}function g(n,e,r,t){return c(n,e,f,r,t)}function O(n,e,r,t){return i(n,e,f,r,t)}function y(n,e,r,t){return c(n,e,l,r,t)}function A(n,e,r,t){return i(n,e,l,r,t)}function q(n,e,r,t){return c(n,e,h,r,t)}function j(n,e,r,t){return i(n,e,h,r,t)}function E(n,e,r,t){return c(n,e,v,r,t)}function D(n,e,r,t){return i(n,e,v,r,t)}function N(n,e,r,t){return c(n,e,s,r,t)}function T(n,e,r,t){return i(n,e,s,r,t)}function U(n,e,r,t,o){return c(n,e,function(n){return u.equals(r,n)},t,o)}function x(n,e,r,t,o){return i(n,e,function(n){return u.equals(r,n)},t,o)}function F(n,e,r,t){var u=!1,o=n.watch(e,function(e,t,o,c){u||r.call(n,e,t,o,c)},t);return{remove:function(){o.remove()},pause:function(){u=!0},resume:function(){u=!1}}}function V(n,e,t,u,o,c,i){function a(e){var r=f[e];r&&(c&&c(r.target,e,n,t),r.handle.remove(),delete f[e])}var f={},l=d(n,e,function(e,c,i){a(i),r.isEventTarget(e)&&(f[i]={handle:r.on(e,t,u),target:e},o&&o(e,i,n,t))},i);return{remove:function(){l.remove();for(var n in f)a(n)}}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.whenValidOnce=i;var $=/\\?(\\.|$)/g;e.init=d,e.watch=m,e.once=p,e.when=w,e.whenOnce=b,e.whenNot=g,e.whenNotOnce=O,e.whenTrue=y,e.whenTrueOnce=A,e.whenFalse=q,e.whenFalseOnce=j,e.whenDefined=E,e.whenDefinedOnce=D,e.whenUndefined=N,e.whenUndefinedOnce=T,e.whenEqual=U,e.whenEqualOnce=x,e.pausable=F,e.on=V});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.wgs84Radius=6378137,n.wgs84InverseFlattening=298.257223563,n.wgs84Flattening=1/n.wgs84InverseFlattening,n.wgs84PolarRadius=n.wgs84Radius*(1-n.wgs84Flattening),n.wgs84Eccentricity=.0818191908426215});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./workers/workers\"],function(e,r,o){Object.defineProperty(r,\"__esModule\",{value:!0}),function(e){for(var o in e)r.hasOwnProperty(o)||(r[o]=e[o])}(o)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Logger\",\"../promiseUtils\",\"../accessorSupport/utils\"],function(t,e,n,r,i){var o=n.getLogger(\"esri.core.workers.Connection\");return function(){function t(t){this._clientIdx=0,this._clients=t}return t.prototype.broadcast=function(t,e,n){for(var r=[],i=0,o=this._clients;i<o.length;i++){var s=o[i];r.push(s.invoke(t,e,n))}return r},t.prototype.close=function(){for(var t=0,e=this._clients;t<e.length;t++){e[t].close()}this._clients=[]},t.prototype.getAvailableClient=function(){var t;return this._clients.some(function(e){return!e.isBusy()&&(t=e,!0)})||(this._clientIdx=(this._clientIdx+1)%this._clients.length,t=this._clients[this._clientIdx]),t},t.prototype.invoke=function(t,e,n){var i=null;return Array.isArray(n)?(o.warn(\"invoke()\",\"The transferList parameter is deprecated, use the options object instead\"),i={transferList:n}):i=n,this._clients&&this._clients.length?this.getAvailableClient().invoke(t,e,i):r.reject(new Error(\"Connection closed\"))},t.prototype.on=function(t,e){var n=this._clients.map(function(n){return n.on(t,e)});return i.handlesGroup(n)},t.prototype.openPorts=function(){return this._clients.map(function(t){return t.openPort()})},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Error\",\"../events\",\"../promiseUtils\",\"./utils\",\"../../views/support/Scheduler\"],function(e,t,s,o,n,r,i){function a(e,t){e.delete(t)}var p=r.MessageType.CLOSE,h=r.MessageType.ABORT,c=r.MessageType.INVOKE,u=r.MessageType.RESPONSE,l=r.MessageType.OPEN_PORT,_=r.MessageType.ON,f=function(){function e(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}return e.prototype.push=function(e){e.type===r.MessageType.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))},e.prototype.clear=function(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null},e.prototype._process=function(){this._timer=null;for(var e=0,t=this._invokeMessages;e<t.length;e++){var s=t[e];this._cancelledJobIds.has(s.jobId)||this._invoke(s)}this._cancelledJobIds.clear(),this._invokeMessages.length=0},e}();return function(){function e(e,t,s){var o=this;this._port=e,this._client=t,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new f(function(e){return o._onInvokeMessage(e)}),this._responseQueue=[],this._onMessage=this._onMessage.bind(this),this._channel=s.channel,s.scheduler&&(this._frameTask=s.scheduler.registerTask(i.Task.REMOTE_CLIENT,function(e){return o._update(e)},function(){return o._responseQueue.length>0})),this._port.addEventListener(\"message\",this._onMessage),this._port.start()}return e.connect=function(t){var s,o=new MessageChannel;return s=\"function\"==typeof t?new t:\"default\"in t&&\"function\"==typeof t.default?new t.default:t,s.remoteClient=new e(o.port1,s,{channel:o}),o.port2},e.prototype.close=function(){this._post({type:p}),this._close()},e.prototype.isBusy=function(){return this._outJobs.size>0},e.prototype.invoke=function(e,t,o){var i=this,p=o&&o.signal,u=o&&o.transferList;if(!this._port)return n.reject(new s(\"remote-client:port-closed\",\"Can't invoke(), port is closed\"));var l=r.newJobId(),_=function(){var e=i._outJobs.get(l);e&&(a(i._outJobs,l),i._post({type:h,jobId:l}),e.reject(n.createAbortError()))};return n.create(function(s,o){n.onAbortOrThrow(p,function(){_(),o(n.createAbortError())});var r={resolve:s,reject:o};i._outJobs.set(l,r),i._post({type:c,jobId:l,methodName:e,abortable:!0},t,u)},_)},e.prototype.on=function(e,t){function s(e){t(e.data)}var o=new MessageChannel;return this._port.postMessage({type:r.MessageType.ON,eventType:e,port:o.port2},[o.port2]),o.port1.addEventListener(\"message\",s),o.port1.start(),{remove:function(){o.port1.postMessage({type:r.MessageType.CLOSE}),o.port1.close(),o.port1.removeEventListener(\"message\",s)}}},e.prototype.openPort=function(){var e=new MessageChannel;return this._post({type:l,port:e.port2}),e.port1},e.prototype._close=function(){this._channel&&(this._channel=null),this._port.removeEventListener(\"message\",this._onMessage),this._port.close(),this._outJobs.forEach(function(e){return e.reject(n.createAbortError(\"Abort job: worker closing\"))}),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=this._client=null,this._frameTask&&this._frameTask.remove(),this._frameTask=null,this._responseQueue=null},e.prototype._onMessage=function(e){var t=r.receiveMessage(e);if(t)switch(t.type){case u:this._onResponseMessage(t);break;case c:this._invokeQueue.push(t);break;case h:this._onAbortMessage(t);break;case p:this._onCloseMessage();break;case l:this._onOpenPortMessage(t);break;case _:this._onOnMessage(t)}},e.prototype._onAbortMessage=function(e){var t=this._inJobs,s=e.jobId,o=t.get(s);this._invokeQueue.push(e),o&&(o.controller&&o.controller.abort(),a(t,s))},e.prototype._onCloseMessage=function(){var e=this._client;this._close(),e&&e.remoteClient===this&&\"destroy\"in e&&e.destroy(),e.remoteClient=null},e.prototype._onInvokeMessage=function(e){var t,s=this,o=e.methodName,i=e.jobId,p=e.data,h=e.abortable,c=h?n.createAbortController():null,l=this._inJobs,_=this._client,f=_[o];try{if(!f&&o&&-1!==o.indexOf(\".\"))for(var g=o.split(\".\"),d=0;d<g.length-1;d++)_=_[g[d]],f=_[g[d+1]];if(\"function\"!=typeof f)throw new TypeError(o+\" is not a function\");t=f.call(_,p,{client:this,signal:c?c.signal:null})}catch(e){return void this._post({type:u,jobId:i,error:r.toInvokeError(e)})}n.isPromiseLike(t)?(l.set(i,{controller:c,promise:t}),c&&\"cancel\"in t&&n.onAbort(c.signal,function(){return t.cancel()}),t.then(function(e){l.has(i)&&(a(l,i),s._post({type:u,jobId:i},e))},function(e){l.has(i)&&(a(l,i),n.isAbortError(e)||s._post({type:u,jobId:i,error:r.toInvokeError(e||{message:\"Error encountered at method \"+o})}))})):this._post({type:u,jobId:i},t)},e.prototype._onOpenPortMessage=function(t){new e(t.port,this._client,{})},e.prototype._onOnMessage=function(e){var t=e.port,s=this._client.on(e.eventType,function(e){delete e.target,t.postMessage(e)}),n=o.on(e.port,\"message\",function(e){r.receiveMessage(e).type===r.MessageType.CLOSE&&(n.remove(),s.remove(),t.close())})},e.prototype._onResponseMessage=function(e){this._frameTask?this._responseQueue.push(e):this._handleResponse(e)},e.prototype._update=function(e){for(;!e.done&&this._responseQueue.length>0;)this._handleResponse(this._responseQueue.shift()),e.madeProgress()},e.prototype._handleResponse=function(e){var t=e.jobId,o=e.error,n=e.data,r=this._outJobs;if(r.has(t)){var i=r.get(t);a(r,t),o?i.reject(s.fromJSON(JSON.parse(o))):i.resolve(n)}},e.prototype._post=function(e,t,s){return r.postMessage(this._port,e,t,s)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/generatorHelper\",\"../tsSupport/awaiterHelper\",\"../global\",\"../has\",\"../promiseUtils\",\"./utils\",\"@dojo/framework/shim/Promise\"],function(e,r,t,s,n,i,o,a){var c=function(){function e(){var e=this,r=document.createDocumentFragment();[\"addEventListener\",\"dispatchEvent\",\"removeEventListener\"].forEach(function(t){e[t]=function(){for(var e=[],s=0;s<arguments.length;s++)e[s]=arguments[s];return r[t].apply(r,e)}})}return e}(),u=n.MutationObserver||n.WebKitMutationObserver,d=function(){var e;if(n.process&&n.process.nextTick)e=function(e){n.process.nextTick(e)};else if(n.Promise)e=function(e){n.Promise.resolve().then(e)};else if(u){var r=[],t=document.createElement(\"div\"),s=new u(function(){for(;r.length>0;)r.shift()()});s.observe(t,{attributes:!0}),e=function(e){r.push(e),t.setAttribute(\"queueStatus\",\"1\")}}return e}(),p=function(){var e=n.MessageEvent;try{new e(\"message\",{data:null})}catch(e){return function(e,r){void 0===r&&(r={});var t=r.data,s=r.bubbles,n=void 0!==s&&s,i=r.cancelable,o=void 0!==i&&i,a=document.createEvent(\"Event\");return a.initEvent(e,n,o),a.data=t,a}}return function(r,t){return new e(r,t)}}();return function(){function r(){this._dispatcher=new c,this._isInitialized=!1,this._workerPostMessage({type:a.MessageType.HANDSHAKE})}return r.prototype.terminate=function(){},Object.defineProperty(r.prototype,\"onmessage\",{get:function(){return this._onmessageHandler},set:function(e){this._onmessageHandler&&this.removeEventListener(\"message\",this._onmessageHandler),this._onmessageHandler=e,e&&this.addEventListener(\"message\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"onerror\",{get:function(){return this._onerrorHandler},set:function(e){this._onerrorHandler&&this.removeEventListener(\"error\",this._onerrorHandler),this._onerrorHandler=e,e&&this.addEventListener(\"error\",e)},enumerable:!0,configurable:!0}),r.prototype.postMessage=function(e){var r=this;d(function(){r._workerMessageHandler(p(\"message\",{data:e}))})},r.prototype.dispatchEvent=function(e){return this._dispatcher.dispatchEvent(e)},r.prototype.addEventListener=function(e,r,t){this._dispatcher.addEventListener(e,r,t)},r.prototype.removeEventListener=function(e,r,t){this._dispatcher.removeEventListener(e,r,t)},r.prototype._workerPostMessage=function(e){var r=this;d(function(){r.dispatchEvent(p(\"message\",{data:e}))})},r.prototype._workerMessageHandler=function(r){return s(this,void 0,void 0,function(){var s,n,c,u,d,p,l,v,f=this;return t(this,function(t){switch(t.label){case 0:if(!(s=a.receiveMessage(r)))return[2];switch(n=s.type){case a.MessageType.CONFIGURE:return[3,1];case a.MessageType.OPEN:return[3,2]}return[3,27];case 1:return this._isInitialized||this._workerPostMessage({type:a.MessageType.CONFIGURED}),[3,27];case 2:return c=s.modulePath,(u=s.jobId,i(\"esri-webpack\"))?(d=void 0,[4,new Promise(function(r,t){e([\"esri/core/workers/RemoteClient\"],r,t)})]):[3,25];case 3:switch(p=t.sent(),l=c){case\"esri/tasks/operations/PBFWorker\":return[3,4];case\"esri/views/2d/engine/vectorTiles/WorkerTileHandler\":return[3,6];case\"esri/views/2d/layers/features/Pipeline\":return[3,8];case\"esri/views/3d/layers/PointCloudWorker\":return[3,10];case\"esri/views/3d/layers/SceneLayerWorker\":return[3,12];case\"esri/layers/graphics/sources/support/CSVSourceWorker\":return[3,14];case\"esri/layers/support/LercWorker\":return[3,16];case\"esri/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker\":return[3,18];case\"esri/geometry/support/meshUtils/ElevationSamplerWorker\":return[3,20]}return[3,22];case 4:return[4,new Promise(function(r,t){e([\"esri/tasks/operations/PBFWorker\"],r,t)})];case 5:return d=t.sent(),[3,24];case 6:return[4,new Promise(function(r,t){e([\"esri/views/2d/engine/vectorTiles/WorkerTileHandler\"],r,t)})];case 7:return d=t.sent(),[3,24];case 8:return[4,new Promise(function(r,t){e([\"esri/views/2d/layers/features/Pipeline\"],r,t)})];case 9:return d=t.sent(),[3,24];case 10:return[4,new Promise(function(r,t){e([\"esri/views/3d/layers/PointCloudWorker\"],r,t)})];case 11:return d=t.sent(),[3,24];case 12:return[4,new Promise(function(r,t){e([\"esri/views/3d/layers/SceneLayerWorker\"],r,t)})];case 13:return d=t.sent(),[3,24];case 14:return[4,new Promise(function(r,t){e([\"esri/layers/graphics/sources/support/CSVSourceWorker\"],r,t)})];case 15:return d=t.sent(),[3,24];case 16:return[4,new Promise(function(r,t){e([\"esri/layers/support/LercWorker\"],r,t)})];case 17:return d=t.sent(),[3,24];case 18:return[4,new Promise(function(r,t){e([\"esri/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker\"],r,t)})];case 19:return d=t.sent(),[3,24];case 20:return[4,new Promise(function(r,t){e([\"esri/geometry/support/meshUtils/ElevationSamplerWorker\"],r,t)})];case 21:return d=t.sent(),[3,24];case 22:return[4,o.create(function(r){return e([c],r)})];case 23:d=t.sent(),t.label=24;case 24:return v=p.connect(d),this._workerPostMessage({type:a.MessageType.OPENED,jobId:u,data:v}),[3,26];case 25:e([\"esri/core/workers/RemoteClient\",c],function(e,r){var t=e.connect(r);f._workerPostMessage({type:a.MessageType.OPENED,jobId:u,data:t})}),t.label=26;case 26:return[3,27];case 27:return[2]}})})},r}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/generatorHelper\",\"../tsSupport/awaiterHelper\",\"../../kernel\",\"../Error\",\"../Logger\",\"../promiseUtils\",\"./utils\",\"./workerFactory\"],function(e,t,o,r,s,n,i,a,p,u){function c(e,t){e.delete(t)}var h=i.getLogger(\"esri.core.workers\"),d=p.MessageType.ABORT,l=p.MessageType.INVOKE,b=p.MessageType.OPEN,g=p.MessageType.OPENED,f=p.MessageType.RESPONSE;return function(){function e(e,t){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=t,e.addEventListener(\"message\",this._onMessage.bind(this)),e.addEventListener(\"error\",function(e){e.preventDefault(),h.error(e)})}return e.create=function(t){return r(this,void 0,void 0,function(){var r;return o(this,function(o){switch(o.label){case 0:return[4,u.createWorker()];case 1:return r=o.sent(),[2,new e(r,t)]}})})},e.prototype.terminate=function(){this.worker.terminate()},e.prototype.open=function(e,t){return void 0===t&&(t={}),r(this,void 0,void 0,function(){var r,s,n=this;return o(this,function(o){return r=t.signal,s=p.newJobId(),[2,a.create(function(t,o){var i={resolve:t,reject:o};a.onAbortOrThrow(r,function(){c(n._outJobs,s),n._post({type:d,jobId:s})}),n._outJobs.set(s,i),n._post({type:b,jobId:s,modulePath:e})})]})})},e.prototype._onMessage=function(e){var t=p.receiveMessage(e);if(t)switch(t.type){case g:this._onOpenedMessage(t);break;case f:this._onResponseMessage(t);break;case d:this._onAbortMessage(t);break;case l:this._onInvokeMessage(t)}},e.prototype._onAbortMessage=function(e){var t=this._inJobs,o=e.jobId,r=t.get(o);r&&(r.controller&&r.controller.abort(),c(t,o))},e.prototype._onInvokeMessage=function(e){var t,o=this,r=e.methodName,n=e.jobId,i=e.data,u=e.abortable,h=u?a.createAbortController():null,d=this._inJobs,l=s.workerMessages[r];try{if(\"function\"!=typeof l)throw new TypeError(r+\" is not a function\");t=l.call(null,i,{signal:h?h.signal:null})}catch(e){return void this._post({type:f,jobId:n,error:p.toInvokeError(e)})}a.isPromiseLike(t)?(d.set(n,{controller:h,promise:t}),h&&\"cancel\"in t&&a.onAbort(h.signal,function(){return t.cancel()}),t.then(function(e){d.has(n)&&(c(d,n),o._post({type:f,jobId:n},e))},function(e){d.has(n)&&(c(d,n),e||(e={message:\"Error encountered at method\"+r}),a.isAbortError(e)||o._post({type:f,jobId:n,error:p.toInvokeError(e||{message:\"Error encountered at method \"+r})}))})):this._post({type:f,jobId:n},t)},e.prototype._onOpenedMessage=function(e){var t=e.jobId,o=e.data,r=this._outJobs.get(t);r&&(c(this._outJobs,t),r.resolve(o))},e.prototype._onResponseMessage=function(e){var t=e.jobId,o=e.error,r=e.data,s=this._outJobs.get(t);s&&(c(this._outJobs,t),o?s.reject(n.fromJSON(JSON.parse(o))):s.resolve(r))},e.prototype._post=function(e,t,o){return p.postMessage(this.worker,e,t,o)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/assignHelper\",\"../has\",\"../urlUtils\"],function(e,a,s,t,n){function r(a){return n.removeQueryParameters(e.toUrl(a))}function l(e,a){for(var t=0,l=e;t<l.length;t++){if(l[t].name===a.name)return}var o=s({},a),i=r(o.name+\"/x.js\"),m=i.slice(0,i.length-5);o.location=n.makeAbsolute(m),e.push(o)}function o(e){var t={async:e.async,isDebug:e.isDebug,locale:e.locale,baseUrl:e.baseUrl,has:s({},e.has),map:s({},e.map),packages:e.packages&&e.packages.concat()||[],paths:s({},e.paths)};e.hasOwnProperty(\"async\")||(t.async=!0),e.hasOwnProperty(\"isDebug\")||(t.isDebug=!1),e.baseUrl||(t.baseUrl=a.DEFAULT_CONFIG.baseUrl),a.DEFAULT_CONFIG.packages.forEach(function(e){l(t.packages,e)});for(var n=t.map=t.map||{},r=0,o=Object.keys(a.DEFAULT_CONFIG.map);r<o.length;r++){var i=o[r];n[i]||(n[i]=a.DEFAULT_CONFIG.map[i])}return t}Object.defineProperty(a,\"__esModule\",{value:!0});var i=t(\"esri-built\")?\"dojo/dojo-lite.js\":\"dojo/dojo.js\";a.DEFAULT_LOADER_URL=n.makeAbsolute(r(i)),a.DEFAULT_CONFIG={baseUrl:function(){var e=r(\"dojo/x.js\");return n.makeAbsolute(e.slice(0,e.length-5))}(),packages:[{name:\"esri\"},{name:\"dojo\"},{name:\"dojox\"},{name:\"dstore\"},{name:\"moment\",main:\"moment\"},{name:\"@dojo\"},{name:\"cldrjs\",main:\"dist/cldr\"},{name:\"globalize\",main:\"dist/globalize\"},{name:\"maquette-css-transitions\",main:\"dist/maquette-css-transitions.umd\"},{name:\"maquette-jsx\",main:\"dist/maquette-jsx.umd\"},{name:\"tslib\",main:\"tslib\"}],map:{globalize:{cldr:\"cldrjs/dist/cldr\",\"cldr/event\":\"cldrjs/dist/cldr/event\",\"cldr/supplemental\":\"cldrjs/dist/cldr/supplemental\",\"cldr/unresolved\":\"cldrjs/dist/cldr/unresolved\"}}},a.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../has\"],function(e,r,t){function n(){return E++}function s(e){return e&&\"object\"==typeof e&&(\"result\"in e||\"transferList\"in e)}function a(e){return e?e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details,stack:e.stack}):null}function u(e,r,t,n){if(r.type===O.OPEN_PORT)return void e.postMessage(r,[r.port]);if(r.type!==O.INVOKE&&r.type!==O.RESPONSE)return void e.postMessage(r);var a;s(t)?(a=o(t.transferList),r.data=t.result):(a=o(n),r.data=t),a?e.postMessage(r,a):e.postMessage(r)}function i(e){if(!e)return null;var r=e.data;return r?\"string\"==typeof r?JSON.parse(r):r:null}function o(e){if(!e||!e.length)return null;if(t(\"esri-workers-arraybuffer-transfer\"))return e;var r=e.filter(function(e){return!f(e)});return r.length?r:null}function f(e){return e instanceof ArrayBuffer||e&&e.constructor&&\"ArrayBuffer\"===e.constructor.name}Object.defineProperty(r,\"__esModule\",{value:!0});var O;!function(e){e[e.HANDSHAKE=0]=\"HANDSHAKE\",e[e.CONFIGURE=1]=\"CONFIGURE\",e[e.CONFIGURED=2]=\"CONFIGURED\",e[e.OPEN=3]=\"OPEN\",e[e.OPENED=4]=\"OPENED\",e[e.RESPONSE=5]=\"RESPONSE\",e[e.INVOKE=6]=\"INVOKE\",e[e.ABORT=7]=\"ABORT\",e[e.CLOSE=8]=\"CLOSE\",e[e.OPEN_PORT=9]=\"OPEN_PORT\",e[e.ON=10]=\"ON\"}(O=r.MessageType||(r.MessageType={}));var E=0;r.newJobId=n,r.isTranferableResult=s,r.toInvokeError=a,r.postMessage=u,r.receiveMessage=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/assignHelper\",\"../tsSupport/generatorHelper\",\"../tsSupport/awaiterHelper\",\"dojo/_base/kernel\",\"../../config\",\"../has\",\"../Logger\",\"../promiseUtils\",\"./loaderConfig\",\"./utils\",\"./WorkerFallback\"],function(e,r,t,a,o,s,n,i,f,d,u,g,c){function l(){return o(this,void 0,void 0,function(){var e;return a(this,function(r){if(!i(\"esri-workers\"))return[2,v(new c)];if(m)try{e=new Worker(m)}catch(r){b.warn(j,event),e=new c}else b.warn(j,event),e=new c;return[2,v(e)]})})}function v(e){return o(this,void 0,void 0,function(){return a(this,function(r){return[2,d.create(function(r){function t(o){var s=g.receiveMessage(o);if(s)switch(s.type){case w:p(e);break;case E:e.removeEventListener(\"message\",t),e.removeEventListener(\"error\",a),r(e)}}function a(r){r.preventDefault(),e.removeEventListener(\"message\",t),e.removeEventListener(\"error\",a),b.warn(\"Failed to create Worker. Fallback to execute module in main thread\",r),e=new c,e.addEventListener(\"message\",t),e.addEventListener(\"error\",a)}e.addEventListener(\"message\",t),e.addEventListener(\"error\",a)})]})})}function p(e){var r,a=n.workers.loaderUrl||u.DEFAULT_LOADER_URL;if(null!=n.default){var o=t({},n);delete o.default,r=JSON.parse(JSON.stringify(o))}else r=JSON.parse(JSON.stringify(n));var f=n.workers.loaderConfig,d=u.default({baseUrl:f.baseUrl,locale:s.locale,has:t({\"config-deferredInstrumentation\":0,\"csp-restrictions\":i(\"csp-restrictions\"),\"dojo-test-sniff\":0,\"esri-native-promise\":i(\"esri-native-promise\"),\"esri-secure-context\":i(\"esri-secure-context\"),\"esri-workers-arraybuffer-transfer\":i(\"esri-workers-arraybuffer-transfer\"),\"events-keypress-typed\":0,\"host-webworker\":1,\"esri-webgl-texture-float\":i(\"esri-webgl-texture-float\"),\"esri-shared-array-buffer\":i(\"esri-shared-array-buffer\"),\"esri-atomics\":i(\"esri-atomics\"),\"esri-2d-debug\":i(\"esri-2d-debug\"),\"esri-webgl-max-texture-size\":i(\"esri-webgl-max-texture-size\")},f.has),map:t({},f.map),paths:t({},f.paths),packages:f.packages||[]});e.postMessage({type:y,configure:{esriConfig:r,loaderUrl:a,loaderConfig:d}})}Object.defineProperty(r,\"__esModule\",{value:!0});var b=f.getLogger(\"esri.core.workers\");i.add(\"esri-workers-arraybuffer-transfer\",!i(\"safari\")||i(\"safari\")>=12);var m,E=g.MessageType.CONFIGURED,y=g.MessageType.CONFIGURE,w=g.MessageType.HANDSHAKE;try{m=URL.createObjectURL(new Blob(['var globalId=0;var outgoing=new Map;var configured=false;var HANDSHAKE=0;var CONFIGURE=1;var CONFIGURED=2;var OPEN=3;var OPENED=4;var RESPONSE=5;var INVOKE=6;var ABORT=7;function mapDelete(map,key){map[\"delete\"](key)}function createAbortError(){var error=new Error(\"AbortError\");error.dojoType=\"cancel\";return error}function receiveMessage(event){if(!event||!event.data){return null}if(typeof event.data===\"string\"){return JSON.parse(event.data)}return event.data}function invokeStaticMessage(methodName,data,options){var signal=options&&options.signal;var Deferred=require(\"dojo/Deferred\");var jobId=globalId++;var abort=function(){var outJob=outgoing.get(jobId);if(!outJob){return}mapDelete(outgoing,jobId);self.postMessage({type:ABORT,jobId:jobId});outJob.reject(createAbortError())};var deferred=new Deferred(abort);if(signal){if(signal.aborted){return deferred.reject(createAbortError())}signal.addEventListener(\"abort\",function(){abort();deferred.reject(createAbortError())})}outgoing.set(jobId,deferred);self.postMessage({type:INVOKE,jobId:jobId,methodName:methodName,abortable:true,data:data});return deferred.promise}function messageHandler(event){var message=receiveMessage(event);if(!message){return}var jobId=message.jobId;switch(message.type){case CONFIGURE:var configuration=message.configure;if(configured){return}self.dojoConfig=configuration.loaderConfig;self.importScripts(configuration.loaderUrl);if(typeof require.config===\"function\"){require.config(configuration.loaderConfig)}require([\"esri/config\"],function(esriConfig){for(var name in configuration.esriConfig){if(Object.prototype.hasOwnProperty.call(configuration.esriConfig,name)){esriConfig[name]=configuration.esriConfig[name]}}self.postMessage({type:CONFIGURED})});break;case OPEN:var modulePath=message.modulePath;require([\"esri/core/workers/RemoteClient\",modulePath],function(RemoteClient,Module){var port=RemoteClient.connect(Module);self.postMessage({type:OPENED,jobId:jobId,data:port},[port])});break;case RESPONSE:if(outgoing.has(jobId)){var deferred=outgoing.get(jobId);mapDelete(outgoing,jobId);if(message.error){deferred.reject(JSON.parse(message.error))}else{deferred.resolve(message.data)}}break}}self.addEventListener(\"message\",messageHandler);self.postMessage({type:HANDSHAKE});'],{type:\"text/javascript\"}))}catch(e){}var j=\"Failed to create Worker. Fallback to execute module in main thread\";r.createWorker=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../tsSupport/generatorHelper\",\"../tsSupport/awaiterHelper\",\"../Error\",\"../has\",\"../promiseUtils\",\"./Connection\",\"./RemoteClient\",\"./WorkerOwner\"],function(e,n,t,r,o,i,u,a,c,s){function l(){h()}function f(e,t){return new n.Connection(e.map(function(e){return new n.RemoteClient(e,t,{})}))}function d(a,c){return void 0===c&&(c={}),r(this,void 0,void 0,function(){var r,s,l,f,d,w,d,v;return t(this,function(t){switch(t.label){case 0:if(\"string\"!=typeof a)throw new o(\"workers:undefined-module\",\"modulePath is missing\");return r=c.signal,s=c.strategy||\"distributed\",i(\"host-webworker\")&&!i(\"esri-workers\")&&(s=\"local\"),\"local\"!==s?[3,2]:[4,u.create(function(n){return e([a],n)})];case 1:return l=t.sent(),u.throwIfAborted(r),f=c.client||l,d=n.RemoteClient.connect(l),[2,new n.Connection([new n.RemoteClient(d,f,c)])];case 2:return[4,h()];case 3:return t.sent(),(u.throwIfAborted(r),\"dedicated\"!==s)?[3,5]:(w=m++,m%=p,[4,C[w].open(a,c)]);case 4:return d=t.sent(),[2,new n.Connection([new n.RemoteClient(d,c.client,c)])];case 5:return[4,u.all(C.map(function(e){return e.open(a,c)}))];case 6:return v=t.sent(),[2,new n.Connection(v.map(function(e){return new n.RemoteClient(e,c.client,c)}))]}})})}function w(){b&&(v.abort(),b=null);for(var e=0;e<C.length;e++)C[e]&&C[e].terminate();C.length=0}function h(){return r(this,void 0,void 0,function(){var e,n,r;return t(this,function(t){if(b)return[2,b];for(v=u.createAbortController(),e=[],n=function(n){var t=s.create(n).then(function(e){return C[n]=e,e});e.push(t)},r=0;r<p;r++)n(r);return b=u.all(e),[2,b]})})}Object.defineProperty(n,\"__esModule\",{value:!0}),n.Connection=a,n.RemoteClient=c;var p=i(\"esri-workers-debug\")?1:i(\"host-browser\")?navigator.hardwareConcurrency-1:0;p||(p=i(\"safari\")&&i(\"mac\")||i(\"trident\")?7:2);var m=0,C=[];n.initialize=l,n.openWithPorts=f,n.open=d,n.terminate=w;var v,b=null});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/jsonMap\",\"./core/accessorSupport/ensureType\",\"./geometry/Extent\",\"./geometry/Geometry\",\"./geometry/Multipoint\",\"./geometry/Point\",\"./geometry/Polygon\",\"./geometry/Polyline\",\"./geometry/SpatialReference\",\"./geometry/support/jsonUtils\"],function(e,o,t,n,i,r,y,l,p,m,s,u){function a(e){return e instanceof o.BaseGeometry}function g(e){return\"point\"===e||\"multipoint\"===e||\"polyline\"===e||\"polygon\"===e}Object.defineProperty(o,\"__esModule\",{value:!0}),o.Extent=i,o.BaseGeometry=r,o.Multipoint=y,o.Point=l,o.Polygon=p,o.Polyline=m,o.SpatialReference=s,o.isGeometry=a,o.fromJSON=u.fromJSON,o.typeKebabDictionary=t.strict()({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryEnvelope:\"extent\",mesh:\"mesh\"}),o.isFeatureGeometryType=g,o.featureGeometryTypeKebabDictionary=t.strict()({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\"}),o.geometryTypes={base:o.BaseGeometry,key:\"type\",typeMap:{extent:o.Extent,multipoint:o.Multipoint,point:o.Point,polyline:o.Polyline,polygon:o.Polygon}},o.ensureType=n.ensureOneOfType(o.geometryTypes)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/unitUtils\",\"../core/accessorSupport/decorators\",\"./Point\",\"./Polygon\",\"./support/geodesicUtils\",\"./support/webMercatorUtils\",\"./support/WKIDUnitConversion\"],function(e,r,t,i,o,s,n,a,c,p,u,d){return function(e){function r(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];var i=e.apply(this,r)||this;return i.center=null,i.geodesic=!1,i.numberOfPoints=60,i.radius=1e3,i.radiusUnit=\"meters\",i}i(r,e),l=r,r.prototype.normalizeCtorArgs=function(e,r){var i;if(e&&e.center)i=e;else{if(e&&e.rings)return this.inherited(arguments);i={center:e}}return t({},this.inherited(arguments,[]),i,r)},r.prototype.initialize=function(){var e=this.center,r=this.numberOfPoints;if(this.hasZ=e&&e.hasZ,0===this.rings.length&&e){var t,i=s.convertUnit(this.radius,this.radiusUnit,\"meters\"),o=e.spatialReference,n=\"geographic\";if(o.isWebMercator?n=\"webMercator\":(null!=d[o.wkid]||o.wkt&&0===o.wkt.indexOf(\"PROJCS\"))&&(n=\"projected\"),this.geodesic){var a=void 0;switch(n){case\"webMercator\":a=u.webMercatorToGeographic(e);break;case\"projected\":console.error(\"Creating a geodesic circle requires the center to be specified in web mercator or geographic coordinate system\");break;case\"geographic\":a=e}t=this._createGeodesicCircle(a,i,r),\"webMercator\"===n&&(t=u.geographicToWebMercator(t))}else{var c=void 0;\"webMercator\"===n||\"projected\"===n?c=i/this._convert2Meters(1,e.spatialReference):\"geographic\"===n&&(c=s.lengthToDegrees(i,\"meters\")),t=this._createPlanarCircle(e,c,r)}this.spatialReference=t.spatialReference,this.addRing(t.rings[0])}},r.prototype.clone=function(){var e=this,r=e.center,t=e.numberOfPoints,i=e.radius,o=e.radiusUnit,s=e.geodesic;return new l({center:r.clone(),numberOfPoints:t,radius:i,radiusUnit:o,geodesic:s})},r.prototype._createGeodesicCircle=function(e,r,t){for(var i=0,o=[];i<360;){var s=[0,0],n=[e.x,e.y];p.directGeodeticSolver(s,n,i,r),this.hasZ&&s.push(e.z),o.push(s),i+=360/t}return o.push(o[0]),new c(o)},r.prototype._createPlanarCircle=function(e,r,t){for(var i=0,o=[];i<2*Math.PI;){var s=[e.x+Math.cos(-i)*r,e.y+Math.sin(-i)*r];this.hasZ&&s.push(e.z),o.push(s),i+=Math.PI/(t/2)}return o.push(o[0]),new c({spatialReference:e.spatialReference,rings:[o]})},r.prototype._convert2Meters=function(e,r){var t;if(null!=d[r.wkid])t=d.values[d[r.wkid]];else{var i=r.wkt,o=i.lastIndexOf(\",\")+1,s=i.lastIndexOf(\"]]\");t=parseFloat(i.substring(o,s))}return e*t};var l;return o([n.property({type:a})],r.prototype,\"center\",void 0),o([n.property()],r.prototype,\"geodesic\",void 0),o([n.property()],r.prototype,\"numberOfPoints\",void 0),o([n.property()],r.prototype,\"radius\",void 0),o([n.property()],r.prototype,\"radiusUnit\",void 0),r=l=o([n.subclass(\"esri.geometry.Circle\")],r)}(n.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/maybe\",\"../core/string\",\"../core/accessorSupport/decorators\",\"./Geometry\",\"./Point\",\"./SpatialReference\",\"./support/contains\",\"./support/intersects\",\"./support/spatialReferenceUtils\",\"./support/webMercatorUtils\"],function(t,e,i,n,r,a,s,m,o,h,p,x,c,l){function u(t){return t&&(\"esri.geometry.SpatialReference\"===t.declaredClass||null!=t.wkid)}function y(t,e,i){return null==e?i:null==i?e:t(e,i)}var f=function(t){function e(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=t.apply(this,e)||this;return n.type=\"extent\",n.xmin=0,n.ymin=0,n.mmin=void 0,n.zmin=void 0,n.xmax=0,n.ymax=0,n.mmax=void 0,n.zmax=void 0,n}i(e,t),m=e,e.prototype.normalizeCtorArgs=function(t,e,i,n,r){return u(t)?{spatialReference:t,xmin:0,ymin:0,xmax:0,ymax:0}:\"object\"==typeof t?(t.spatialReference=null==t.spatialReference?h.WGS84:t.spatialReference,t):{xmin:t,ymin:e,xmax:i,ymax:n,spatialReference:null==r?h.WGS84:r}},e.fromBounds=function(t,e){return new m({xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3],spatialReference:e})},Object.defineProperty(e.prototype,\"center\",{get:function(){var t=new o({x:.5*(this.xmin+this.xmax),y:.5*(this.ymin+this.ymax),spatialReference:this.spatialReference});return this.hasZ&&(t.z=.5*(this.zmin+this.zmax)),this.hasM&&(t.m=.5*(this.mmin+this.mmax)),t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"extent\",{get:function(){return this.clone()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasM\",{get:function(){return null!=this.mmin&&null!=this.mmax},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasZ\",{get:function(){return null!=this.zmin&&null!=this.zmax},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return Math.abs(this.ymax-this.ymin)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return Math.abs(this.xmax-this.xmin)},enumerable:!0,configurable:!0}),e.prototype.centerAt=function(t){var e=this.center;return null!=t.z&&this.hasZ?this.offset(t.x-e.x,t.y-e.y,t.z-e.z):this.offset(t.x-e.x,t.y-e.y)},e.prototype.clone=function(){var t=new m;return t.xmin=this.xmin,t.ymin=this.ymin,t.xmax=this.xmax,t.ymax=this.ymax,t.spatialReference=this.spatialReference,null!=this.zmin&&(t.zmin=this.zmin,t.zmax=this.zmax),null!=this.mmin&&(t.mmin=this.mmin,t.mmax=this.mmax),t},e.prototype.contains=function(t){if(!t)return!1;var e=this.spatialReference,i=t.spatialReference;return e&&i&&!e.equals(i)&&l.canProject(e,i)&&(t=e.isWebMercator?l.geographicToWebMercator(t):l.webMercatorToGeographic(t,!0)),\"point\"===t.type?p.extentContainsPoint(this,t):\"extent\"===t.type&&p.extentContainsExtent(this,t)},e.prototype.equals=function(t){if(!t)return!1;var e=this.spatialReference,i=t.spatialReference;return e&&i&&!e.equals(i)&&l.canProject(e,i)&&(t=e.isWebMercator?l.geographicToWebMercator(t):l.webMercatorToGeographic(t,!0)),this.xmin===t.xmin&&this.ymin===t.ymin&&this.zmin===t.zmin&&this.mmin===t.mmin&&this.xmax===t.xmax&&this.ymax===t.ymax&&this.zmax===t.zmax&&this.mmax===t.mmax},e.prototype.expand=function(t){var e=.5*(1-t),i=this.width*e,n=this.height*e;if(this.xmin+=i,this.ymin+=n,this.xmax-=i,this.ymax-=n,this.hasZ){var r=(this.zmax-this.zmin)*e;this.zmin+=r,this.zmax-=r}if(this.hasM){var a=(this.mmax-this.mmin)*e;this.mmin+=a,this.mmax-=a}return this},e.prototype.intersects=function(t){if(r.isNone(t))return!1;var e=this.spatialReference,i=t.spatialReference;e&&i&&!e.equals(i)&&l.canProject(e,i)&&(t=e.isWebMercator?l.geographicToWebMercator(t):l.webMercatorToGeographic(t,!0));var n=x.getExtentIntersector(t.type);return\"mesh\"!==t.type?n(this,t):n(this,t.extent)},e.prototype.normalize=function(){var t=this._normalize(!1,!0);return Array.isArray(t)?t:[t]},e.prototype.offset=function(t,e,i){return this.xmin+=t,this.ymin+=e,this.xmax+=t,this.ymax+=e,null!=i&&(this.zmin+=i,this.zmax+=i),this},e.prototype.shiftCentralMeridian=function(){return this._normalize(!0)},e.prototype.union=function(t){return this.xmin=Math.min(this.xmin,t.xmin),this.ymin=Math.min(this.ymin,t.ymin),this.xmax=Math.max(this.xmax,t.xmax),this.ymax=Math.max(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=y(Math.min,this.zmin,t.zmin),this.zmax=y(Math.max,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=y(Math.min,this.mmin,t.mmin),this.mmax=y(Math.max,this.mmax,t.mmax)),this},e.prototype.intersection=function(t){return this.intersects(t)?(this.xmin=Math.max(this.xmin,t.xmin),this.ymin=Math.max(this.ymin,t.ymin),this.xmax=Math.min(this.xmax,t.xmax),this.ymax=Math.min(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=y(Math.max,this.zmin,t.zmin),this.zmax=y(Math.min,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=y(Math.max,this.mmin,t.mmin),this.mmax=y(Math.min,this.mmax,t.mmax)),this):null},e.prototype.toJSON=function(t){return this.write(null,t)},e.prototype._shiftCM=function(t){if(void 0===t&&(t=c.getInfo(this.spatialReference)),!t||!this.spatialReference)return this;var e=this.spatialReference,i=this._getCM(t);if(i){var n=e.isWebMercator?l.webMercatorToGeographic(i):i;this.xmin-=i.x,this.xmax-=i.x,e.isWebMercator||(n.x=this._normalizeX(n.x,t).x),this.spatialReference=new h(a.replace(e.isWGS84?t.altTemplate:t.wkTemplate,{Central_Meridian:n.x}))}return this},e.prototype._getCM=function(t){var e=null,i=t.valid,n=i[0],r=i[1],a=this.xmin,s=this.xmax,m=a>=n&&a<=r,o=s>=n&&s<=r;return m&&o||(e=this.center),e},e.prototype._normalize=function(t,e,i){var n=this.spatialReference;if(!n)return this;if(!(i=i||c.getInfo(n)))return this;var r=this._getParts(i).map(function(t){return t.extent});if(r.length<2)return r[0]||this;if(r.length>2)return t?this._shiftCM(i):this.set({xmin:i.valid[0],xmax:i.valid[1]});if(t)return this._shiftCM(i);if(e)return r;var a=!0,s=!0;return r.forEach(function(t){t.hasZ||(a=!1),t.hasM||(s=!1)}),{rings:r.map(function(t){var e=[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]];if(a)for(var i=(t.zmax-t.zmin)/2,n=0;n<e.length;n++)e[n].push(i);if(s)for(var r=(t.mmax-t.mmin)/2,n=0;n<e.length;n++)e[n].push(r);return e}),hasZ:a,hasM:s,spatialReference:n}},e.prototype._getParts=function(t){var e=this.cache._parts;if(!e){e=[];var i=this,n=i.ymin,r=i.ymax,a=i.spatialReference,s=this.width,o=this.xmin,h=this.xmax,p=void 0;t=t||c.getInfo(a);var x=t.valid,l=x[0],u=x[1];p=this._normalizeX(this.xmin,t);var y=p.x,f=p.frameId;p=this._normalizeX(this.xmax,t);var d=p.x,v=p.frameId,b=y===d&&s>0;if(s>2*u){var z=new m(o<h?y:d,n,u,r,a),M=new m(l,n,o<h?d:y,r,a),g=new m(0,n,u,r,a),w=new m(l,n,0,r,a),R=[],O=[];z.contains(g)&&R.push(f),z.contains(w)&&O.push(f),M.contains(g)&&R.push(v),M.contains(w)&&O.push(v);for(var j=f+1;j<v;j++)R.push(j),O.push(j);e.push({extent:z,frameIds:[f]},{extent:M,frameIds:[v]},{extent:g,frameIds:R},{extent:w,frameIds:O})}else y>d||b?e.push({extent:new m(y,n,u,r,a),frameIds:[f]},{extent:new m(l,n,d,r,a),frameIds:[v]}):e.push({extent:new m(y,n,d,r,a),frameIds:[f]});this.cache._parts=e}var P=this.hasZ,_=this.hasM;if(P||_){var I={};P&&(I.zmin=this.zmin,I.zmax=this.zmax),_&&(I.mmin=this.mmin,I.mmax=this.mmax);for(var N=0;N<e.length;N++)e[N].extent.set(I)}return e},e.prototype._normalizeX=function(t,e){var i,n=e.valid,r=n[0],a=n[1],s=2*a,m=0;return t>a?(i=Math.ceil(Math.abs(t-a)/s),t-=i*s,m=i):t<r&&(i=Math.ceil(Math.abs(t-r)/s),t+=i*s,m=-i),{x:t,frameId:m}};var m;return n([s.property({dependsOn:[\"xmin\",\"ymin\",\"zmin\",\"mmin\",\"xmax\",\"ymax\",\"zmax\",\"mmax\",\"spatialReference\"]})],e.prototype,\"cache\",void 0),n([s.property({readOnly:!0,dependsOn:[\"cache\"]})],e.prototype,\"center\",null),n([s.property({readOnly:!0,dependsOn:[\"cache\"]})],e.prototype,\"extent\",null),n([s.property({readOnly:!0,dependsOn:[\"mmin\",\"mmax\"],json:{write:{enabled:!1,overridePolicy:null}}})],e.prototype,\"hasM\",null),n([s.property({readOnly:!0,dependsOn:[\"zmin\",\"zmax\"],json:{write:{enabled:!1,overridePolicy:null}}})],e.prototype,\"hasZ\",null),n([s.property({readOnly:!0,dependsOn:[\"ymin\",\"ymax\"]})],e.prototype,\"height\",null),n([s.property({readOnly:!0,dependsOn:[\"xmin\",\"xmax\"]})],e.prototype,\"width\",null),n([s.property({type:Number,json:{type:[Number,String],write:{enabled:!0,allowNull:!0}}})],e.prototype,\"xmin\",void 0),n([s.property({type:Number,json:{write:!0}})],e.prototype,\"ymin\",void 0),n([s.property({type:Number,json:{origins:{\"web-scene\":{write:!1}},write:{overridePolicy:function(){return{enabled:this.hasM}}}}})],e.prototype,\"mmin\",void 0),n([s.property({type:Number,json:{origins:{\"web-scene\":{write:!1}},write:{overridePolicy:function(){return{enabled:this.hasZ}}}}})],e.prototype,\"zmin\",void 0),n([s.property({type:Number,json:{write:!0}})],e.prototype,\"xmax\",void 0),n([s.property({type:Number,json:{write:!0}})],e.prototype,\"ymax\",void 0),n([s.property({type:Number,json:{origins:{\"web-scene\":{write:!1}},write:{overridePolicy:function(){return{enabled:this.hasM}}}}})],e.prototype,\"mmax\",void 0),n([s.property({type:Number,json:{origins:{\"web-scene\":{write:!1}},write:{overridePolicy:function(){return{enabled:this.hasZ}}}}})],e.prototype,\"zmax\",void 0),e=m=n([s.subclass(\"esri.geometry.Extent\")],e)}(s.declared(m));return f.prototype.toJSON.isDefaultToJSON=!0,f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\",\"./SpatialReference\"],function(e,r,t,o,n,p,a){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=null,t.extent=null,t.hasM=!1,t.hasZ=!1,t.spatialReference=a.WGS84,t}return t(r,e),Object.defineProperty(r.prototype,\"cache\",{get:function(){return{}},enumerable:!0,configurable:!0}),r.prototype.readSpatialReference=function(e,r){if(e instanceof a)return e;if(null!=e){var t=new a;return t.read(e,r),t}return e},r.prototype.clone=function(){return console.warn(\".clone() is not implemented for \"+this.declaredClass),null},r.prototype.clearCache=function(){this.notifyChange(\"cache\")},r.prototype.getCacheValue=function(e){return this.cache[e]},r.prototype.setCacheValue=function(e,r){this.cache[e]=r},o([p.property()],r.prototype,\"type\",void 0),o([p.property({readOnly:!0,dependsOn:[\"spatialReference\"]})],r.prototype,\"cache\",null),o([p.property({readOnly:!0,dependsOn:[\"spatialReference\"]})],r.prototype,\"extent\",void 0),o([p.property({type:Boolean,json:{write:{overridePolicy:function(e){return{enabled:e}}}}})],r.prototype,\"hasM\",void 0),o([p.property({type:Boolean,json:{write:{overridePolicy:function(e){return{enabled:e}}}}})],r.prototype,\"hasZ\",void 0),o([p.property({type:a,json:{write:!0}})],r.prototype,\"spatialReference\",void 0),o([p.reader(\"spatialReference\")],r.prototype,\"readSpatialReference\",null),r=o([p.subclass(\"esri.geometry.Geometry\")],r)}(p.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/arrayUtils\",\"../core/jsonMap\",\"../core/JSONSupport\",\"../core/unitUtils\",\"../core/Warning\",\"../core/accessorSupport/decorators\"],function(e,t,r,i,o,n,s,a,l,h,d){function p(e,t){return new h(\"height-unit:unsupported\",\"Height unit of value '\"+e+\"' is not supported\",t)}function c(e,t){return new h(\"height-model:unsupported\",\"Height model of value '\"+e+\"' is not supported\",t)}var u=s.strict()({orthometric:\"gravity-related-height\",gravity_related_height:\"gravity-related-height\",ellipsoidal:\"ellipsoidal\"}),g=u.jsonValues.slice();n.removeUnordered(g,\"orthometric\");var y=s.strict()({meter:\"meters\",foot:\"feet\",\"us-foot\":\"us-feet\",\"clarke-foot\":\"clarke-feet\",\"clarke-yard\":\"clarke-yards\",\"clarke-link\":\"clarke-links\",\"sears-yard\":\"sears-yards\",\"sears-foot\":\"sears-feet\",\"sears-chain\":\"sears-chains\",\"benoit-1895-b-chain\":\"benoit-1895-b-chains\",\"indian-yard\":\"indian-yards\",\"indian-1937-yard\":\"indian-1937-yards\",\"gold-coast-foot\":\"gold-coast-feet\",\"sears-1922-truncated-chain\":\"sears-1922-truncated-chains\",\"50-kilometers\":\"50-kilometers\",\"150-kilometers\":\"150-kilometers\"});return function(e){function t(t){var r=e.call(this,t)||this;return r.heightModel=\"gravity-related-height\",r.heightUnit=\"meters\",r.vertCRS=null,r}i(t,e),n=t,t.prototype.writeHeightModel=function(e,t,r){return u.write(e,t,r)},t.prototype.readHeightModel=function(e,t,r){var i=u.read(e);return i||(r&&r.messages&&r.messages.push(c(e,{context:r})),null)},t.prototype.readHeightUnit=function(e,t,r){var i=y.read(e);return i||(r&&r.messages&&r.messages.push(p(e,{context:r})),null)},t.prototype.readHeightUnitService=function(e,t,r){var i=l.unitFromRESTJSON(e)||y.read(e);return i||(r&&r.messages&&r.messages.push(p(e,{context:r})),null)},t.prototype.readVertCRS=function(e,t){return t.vertCRS||t.ellipsoid||t.geoid},t.prototype.clone=function(){return new n({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})},t.prototype.equals=function(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)},t.deriveUnitFromSR=function(e,t){var r=l.getVerticalUnitStringForSR(t);return new n({heightModel:e.heightModel,heightUnit:r,vertCRS:e.vertCRS})},t.prototype.write=function(e,t){return t=r({origin:\"web-scene\"},t),this.inherited(arguments,[e,t])},t.fromJSON=function(e){if(!e)return null;var t=new n;return t.read(e,{origin:\"web-scene\"}),t};var n;return o([d.property({type:u.apiValues,constructOnly:!0,json:{origins:{\"web-scene\":{type:g,default:\"ellipsoidal\"}}}})],t.prototype,\"heightModel\",void 0),o([d.writer(\"web-scene\",\"heightModel\")],t.prototype,\"writeHeightModel\",null),o([d.reader([\"web-scene\",\"service\"],\"heightModel\")],t.prototype,\"readHeightModel\",null),o([d.property({type:y.apiValues,constructOnly:!0,json:{origins:{\"web-scene\":{type:y.jsonValues,write:y.write}}}})],t.prototype,\"heightUnit\",void 0),o([d.reader(\"web-scene\",\"heightUnit\")],t.prototype,\"readHeightUnit\",null),o([d.reader(\"service\",\"heightUnit\")],t.prototype,\"readHeightUnitService\",null),o([d.property({type:String,constructOnly:!0,json:{origins:{\"web-scene\":{write:!0}}}})],t.prototype,\"vertCRS\",void 0),o([d.reader(\"service\",\"vertCRS\",[\"vertCRS\",\"ellipsoid\",\"geoid\"])],t.prototype,\"readVertCRS\",null),t=n=o([d.subclass(\"esri.geometry.HeightModelInfo\")],t)}(d.declared(a.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./Extent\",\"./Geometry\",\"./Point\",\"./support/zmUtils\"],function(t,e,n,r,i,s,o,a,p,l){function h(t){return function(e,n){return null==e?n:null==n?e:t(e,n)}}function u(t){return t&&(\"esri.geometry.SpatialReference\"===t.declaredClass||null!=t.wkid)}var c=function(t){function e(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=t.apply(this,e)||this;return r.points=[],r.type=\"multipoint\",r}n(e,t),a=e,e.prototype.normalizeCtorArgs=function(t,e){if(!t&&!e)return null;var n={};Array.isArray(t)?(n.points=t,n.spatialReference=e):u(t)?n.spatialReference=t:(t.points&&(n.points=t.points),t.spatialReference&&(n.spatialReference=t.spatialReference),t.hasZ&&(n.hasZ=t.hasZ),t.hasM&&(n.hasM=t.hasM));var r=n.points&&n.points[0];return r&&(void 0===n.hasZ&&void 0===n.hasM?(n.hasZ=r.length>2,n.hasM=!1):void 0===n.hasZ?n.hasZ=r.length>3:void 0===n.hasM&&(n.hasM=r.length>3)),n},Object.defineProperty(e.prototype,\"extent\",{get:function(){var t=this.points;if(!t.length)return null;for(var e,n,r,i,s=new o,a=this.hasZ,p=this.hasM,l=a?3:2,u=t[0],c=h(Math.min),f=h(Math.max),y=u[0],d=u[1],m=u[0],v=u[1],g=0,x=t.length;g<x;g++){var M=t[g],R=M[0],Z=M[1];if(y=c(y,R),d=c(d,Z),m=f(m,R),v=f(v,Z),a&&M.length>2){var w=M[2];e=c(e,w),r=f(r,w)}if(p&&M.length>l){var P=M[l];n=c(n,P),i=f(i,P)}}return s.xmin=y,s.ymin=d,s.xmax=m,s.ymax=v,s.spatialReference=this.spatialReference,a?(s.zmin=e,s.zmax=r):(s.zmin=null,s.zmax=null),p?(s.mmin=n,s.mmax=i):(s.mmin=null,s.mmax=null),s},enumerable:!0,configurable:!0}),e.prototype.writePoints=function(t,e){e.points=i.clone(this.points)},e.prototype.addPoint=function(t){return this.clearCache(),l.updateSupportFromPoint(this,t),Array.isArray(t)?this.points.push(t):this.points.push(t.toArray()),this},e.prototype.clone=function(){var t={points:i.clone(this.points),spatialReference:this.spatialReference};return this.hasZ&&(t.hasZ=!0),this.hasM&&(t.hasM=!0),new a(t)},e.prototype.getPoint=function(t){if(!this._validateInputs(t))return null;var e=this.points[t],n={x:e[0],y:e[1],spatialReference:this.spatialReference},r=2;return this.hasZ&&(n.z=e[2],r=3),this.hasM&&(n.m=e[r]),new p(n)},e.prototype.removePoint=function(t){return this._validateInputs(t)?(this.clearCache(),new p(this.points.splice(t,1)[0],this.spatialReference)):null},e.prototype.setPoint=function(t,e){return this._validateInputs(t)?(this.clearCache(),l.updateSupportFromPoint(e),this.points[t]=e.toArray(),this):this},e.prototype.toJSON=function(t){return this.write(null,t)},e.prototype._validateInputs=function(t){return null!=t&&t>=0&&t<this.points.length};var a;return r([s.property({dependsOn:[\"points\",\"hasZ\",\"hasM\",\"spatialReference\"]})],e.prototype,\"cache\",void 0),r([s.property({dependsOn:[\"cache\"]})],e.prototype,\"extent\",null),r([s.property({type:[[Number]],json:{write:{isRequired:!0}}})],e.prototype,\"points\",void 0),r([s.writer(\"points\")],e.prototype,\"writePoints\",null),e=a=r([s.subclass(\"esri.geometry.Multipoint\")],e)}(s.declared(a));return c.prototype.toJSON.isDefaultToJSON=!0,c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Logger\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"./Geometry\",\"./SpatialReference\",\"./support/offset\",\"./support/spatialReferenceUtils\",\"./support/webMercatorUtils\"],function(e,t,r,i,o,n,s,a,l,u,p,c){function y(e){return e&&(\"esri.geometry.SpatialReference\"===e.declaredClass||null!=e.wkid)}var d=[0,0],h=o.getLogger(\"esri.geometry.Point\"),f=function(e){function t(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var i=e.apply(this,t)||this;return i.x=0,i.y=0,i.z=void 0,i.m=void 0,i.type=\"point\",i}r(t,e),o=t,t.copy=function(e,t){t._set(\"x\",e._get(\"x\")),t._set(\"y\",e._get(\"y\")),t._set(\"z\",e._get(\"z\")),t._set(\"m\",e._get(\"m\"));var r=e._get(\"spatialReference\");t._set(\"spatialReference\",Object.isFrozen(r)?r:r.clone())},t.distance=function(e,t){var r=e.x-t.x,i=e.y-t.y,o=e.hasZ&&t.hasZ?e.z-t.z:0;return Math.sqrt(r*r+i*i+o*o)},t.prototype.normalizeCtorArgs=function(e,t,r,i,o){var n;if(Array.isArray(e))n=e,o=t,e=n[0],t=n[1],r=n[2],i=n[3];else if(e&&\"object\"==typeof e){if(n=e,e=null!=n.x?n.x:n.longitude,t=null!=n.y?n.y:n.latitude,r=null!=n.z?n.z:n.altitude,i=n.m,o=n.spatialReference,o&&\"esri.geometry.SpatialReference\"!==o.declaredClass&&(o=new l(o)),null!=n.longitude||null!=n.latitude)if(null==n.longitude)h.warn(\".longitude=\",\"Latitude was defined without longitude\");else if(null==n.latitude)h.warn(\".latitude=\",\"Longitude was defined without latitude\");else if(!n.declaredClass&&o&&o.isWebMercator){var s=c.lngLatToXY(n.longitude,n.latitude,d);e=s[0],t=s[1]}}else y(r)?(o=r,r=null):y(i)&&(o=i,i=null);var a={x:e,y:t};return null==a.x&&null!=a.y?h.warn(\".y=\",\"Y coordinate was defined without an X coordinate\"):null==a.y&&null!=a.x&&h.warn(\".x=\",\"X coordinate was defined without a Y coordinate\"),null!=o&&(a.spatialReference=o),null!=r&&(a.z=r),null!=i&&(a.m=i),a},Object.defineProperty(t.prototype,\"hasM\",{get:function(){return void 0!==this.m},set:function(e){e!==this.hasM&&(this._set(\"m\",e?0:void 0),this._set(\"hasM\",e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hasZ\",{get:function(){return void 0!==this.z},set:function(e){e!==this.hasZ&&(this._set(\"z\",e?0:void 0),this._set(\"hasZ\",e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"latitude\",{get:function(){var e=this._get(\"spatialReference\");if(e){if(e.isWebMercator)return c.xyToLngLat(this.x,this.y,d)[1];if(e.isGeographic)return this._get(\"y\")}return null},set:function(e){var t=this._get(\"spatialReference\");t&&(t.isWebMercator?this._set(\"y\",c.lngLatToXY(this.x,e,d)[1]):t.isGeographic&&this._set(\"y\",e),this._set(\"latitude\",e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"longitude\",{get:function(){var e=this._get(\"spatialReference\");if(e){if(e.isWebMercator)return c.xyToLngLat(this._get(\"x\"),this._get(\"y\"),d)[0];if(e.isGeographic)return this._get(\"x\")}return null},set:function(e){var t=this._get(\"spatialReference\");t&&(t.isWebMercator?this._set(\"x\",c.lngLatToXY(e,this._get(\"y\"),d)[0]):t.isGeographic&&this._set(\"x\",e),this._set(\"longitude\",e))},enumerable:!0,configurable:!0}),t.prototype.writeX=function(e,t,r){t[r]=isNaN(e)?\"NaN\":e},t.prototype.readX=function(e){return\"string\"==typeof e?NaN:e},t.prototype.clone=function(){var e=new o;return e.x=this.x,e.y=this.y,e.z=this.z,e.m=this.m,e.spatialReference=this.spatialReference,e},t.prototype.copy=function(e){return o.copy(e,this),this},t.prototype.equals=function(e){var t,r;if(!e)return!1;var i=this,o=i.x,n=i.y,s=i.z,a=i.m,l=i.spatialReference,u=e.z,p=e.m,y=e.x,d=e.y,h=e.spatialReference;if(!l.equals(h))if(l.isWebMercator&&h.isWGS84)t=c.lngLatToXY(y,d),y=t[0],d=t[1],h=l;else{if(!l.isWGS84||!h.isWebMercator)return!1;r=c.xyToLngLat(y,d),y=r[0],d=r[1],h=l}return o===y&&n===d&&s===u&&a===p&&l.wkid===h.wkid},t.prototype.offset=function(e,t,r){return u.offsetPoint(this,e,t,r)},t.prototype.normalize=function(){if(!this.spatialReference)return this;var e=p.getInfo(this.spatialReference);if(!e)return this;var t,r=this.x,i=e.valid,o=i[0],n=i[1],s=2*n;return r>n?(t=Math.ceil(Math.abs(r-n)/s),r-=t*s):r<o&&(t=Math.ceil(Math.abs(r-o)/s),r+=t*s),this._set(\"x\",r),this},t.prototype.distance=function(e){return o.distance(this,e)},t.prototype.toArray=function(){var e=this.hasZ,t=this.hasM;return e&&t?[this.x,this.y,this.z,this.m]:e?[this.x,this.y,this.z]:t?[this.x,this.y,this.m]:[this.x,this.y]},t.prototype.toJSON=function(e){return this.write(null,e)};var o;return i([n.property({dependsOn:[\"x\",\"y\",\"z\",\"m\",\"spatialReference\"]})],t.prototype,\"cache\",void 0),i([n.property({type:Boolean,dependsOn:[\"m\"],json:{read:!1,write:{enabled:!1,overridePolicy:null}}})],t.prototype,\"hasM\",null),i([n.property({type:Boolean,dependsOn:[\"z\"],json:{read:!1,write:{enabled:!1,overridePolicy:null}}})],t.prototype,\"hasZ\",null),i([n.property({type:Number,dependsOn:[\"y\"]})],t.prototype,\"latitude\",null),i([n.property({type:Number,dependsOn:[\"x\"]})],t.prototype,\"longitude\",null),i([n.property({type:Number,json:{type:[Number,String],write:{isRequired:!0,allowNull:!0}}}),n.cast(function(e){return isNaN(e)?e:s.ensureNumber(e)})],t.prototype,\"x\",void 0),i([n.writer(\"x\")],t.prototype,\"writeX\",null),i([n.reader(\"x\")],t.prototype,\"readX\",null),i([n.property({type:Number,json:{write:!0}})],t.prototype,\"y\",void 0),i([n.property({type:Number,json:{write:{overridePolicy:function(){return{enabled:this.hasZ}}}}})],t.prototype,\"z\",void 0),i([n.property({type:Number,json:{write:{overridePolicy:function(){return{enabled:this.hasM}}}}})],t.prototype,\"m\",void 0),t=o=i([n.subclass(\"esri.geometry.Point\")],t)}(n.declared(a));return f.prototype.toJSON.isDefaultToJSON=!0,f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./Extent\",\"./Geometry\",\"./Point\",\"./SpatialReference\",\"./support/centroid\",\"./support/contains\",\"./support/coordsUtils\",\"./support/extentUtils\",\"./support/intersects\",\"./support/webMercatorUtils\",\"./support/zmUtils\"],function(e,t,r,n,i,s,o,a,p,l,u,c,h,f,y,g,d){function m(e){return!Array.isArray(e[0])}var v=function(e){function t(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=e.apply(this,t)||this;return n.rings=[],n.type=\"polygon\",n}r(t,e),a=t,t.fromExtent=function(e){var t=e.clone().normalize(),r=e.spatialReference,n=!1,i=!1;t.map(function(e){e.hasZ&&(n=!0),e.hasM&&(i=!0)});var s={rings:t.map(function(e){var t=[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]];if(n&&e.hasZ)for(var r=e.zmin+.5*(e.zmax-e.zmin),s=0;s<t.length;s++)t[s].push(r);if(i&&e.hasM)for(var o=e.mmin+.5*(e.mmax-e.mmin),s=0;s<t.length;s++)t[s].push(o);return t}),spatialReference:r};return n&&(s.hasZ=!0),i&&(s.hasM=!0),new a(s)},t.prototype.normalizeCtorArgs=function(e,t){var r,n,i=null,s=null;return e&&!Array.isArray(e)?(i=e.rings?e.rings:null,t||(e.spatialReference?t=e.spatialReference:e.rings||(t=e)),r=e.hasZ,n=e.hasM):i=e,i=i||[],t=t||l.WGS84,i.length&&i[0]&&null!=i[0][0]&&\"number\"==typeof i[0][0]&&(i=[i]),s=i[0]&&i[0][0],s&&(void 0===r&&void 0===n?(r=s.length>2,n=!1):void 0===r?r=!n&&s.length>3:void 0===n&&(n=!r&&s.length>3)),{rings:i,spatialReference:t,hasZ:r,hasM:n}},Object.defineProperty(t.prototype,\"centroid\",{get:function(){var e=u.polygonCentroid(this);if(!e||isNaN(e[0])||isNaN(e[1])||this.hasZ&&isNaN(e[2]))return null;var t=new p;return t.x=e[0],t.y=e[1],t.spatialReference=this.spatialReference,this.hasZ&&(t.z=e[2]),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"extent\",{get:function(){var e=this.spatialReference,t=f.getPolygonExtent(this);if(!t)return null;var r=new o(t);return r.spatialReference=e,r},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isSelfIntersecting\",{get:function(){return y.isSelfIntersecting(this.rings)},enumerable:!0,configurable:!0}),t.prototype.writePaths=function(e,t){t.rings=i.clone(this.rings)},t.prototype.addRing=function(e){if(e){this.clearCache();var t=this.rings,r=t.length;if(m(e)){for(var n=[],i=0,s=e.length;i<s;i++)n[i]=e[i].toArray();t[r]=n}else t[r]=e.concat();return this}},t.prototype.clone=function(){var e=new a;return e.spatialReference=this.spatialReference,e.rings=i.clone(this.rings),e.hasZ=this.hasZ,e.hasM=this.hasM,e},t.prototype.contains=function(e){return!!e&&(g.canProject(e,this.spatialReference)&&(e=g.project(e,this.spatialReference)),c.polygonContainsPoint(this,e))},t.prototype.isClockwise=function(e){var t,r=this;return t=m(e)?e.map(function(e){return r.hasZ?r.hasM?[e.x,e.y,e.z,e.m]:[e.x,e.y,e.z]:[e.x,e.y]}):e,h.isClockwise(t,this.hasM,this.hasZ)},t.prototype.getPoint=function(e,t){if(!this._validateInputs(e,t))return null;var r=this.rings[e][t],n=this.hasZ,i=this.hasM;return n&&!i?new p(r[0],r[1],r[2],void 0,this.spatialReference):i&&!n?new p(r[0],r[1],void 0,r[2],this.spatialReference):n&&i?new p(r[0],r[1],r[2],r[3],this.spatialReference):new p(r[0],r[1],this.spatialReference)},t.prototype.insertPoint=function(e,t,r){return this._validateInputs(e,t,!0)?(this.clearCache(),d.updateSupportFromPoint(this,r),Array.isArray(r)||(r=r.toArray()),this.rings[e].splice(t,0,r),this):this},t.prototype.removePoint=function(e,t){return this._validateInputs(e,t)?(this.clearCache(),new p(this.rings[e].splice(t,1)[0],this.spatialReference)):null},t.prototype.removeRing=function(e){if(!this._validateInputs(e,null))return null;this.clearCache();var t=this.rings.splice(e,1)[0],r=this.spatialReference;return t.map(function(e){return new p(e,r)})},t.prototype.setPoint=function(e,t,r){return this._validateInputs(e,t)?(this.clearCache(),d.updateSupportFromPoint(this,r),Array.isArray(r)||(r=r.toArray()),this.rings[e][t]=r,this):this},t.prototype._validateInputs=function(e,t,r){if(void 0===r&&(r=!1),null==e||e<0||e>=this.rings.length)return!1;if(null!=t){var n=this.rings[e];if(r&&(t<0||t>n.length))return!1;if(!r&&(t<0||t>=n.length))return!1}return!0},t.prototype.toJSON=function(e){return this.write(null,e)};var a;return n([s.property({dependsOn:[\"hasM\",\"hasZ\",\"rings\"]})],t.prototype,\"cache\",void 0),n([s.property({readOnly:!0,dependsOn:[\"cache\"]})],t.prototype,\"centroid\",null),n([s.property({dependsOn:[\"cache\"],readOnly:!0})],t.prototype,\"extent\",null),n([s.property({dependsOn:[\"cache\"],readOnly:!0})],t.prototype,\"isSelfIntersecting\",null),n([s.property({type:[[[Number]]],json:{write:{isRequired:!0}}})],t.prototype,\"rings\",void 0),n([s.writer(\"rings\")],t.prototype,\"writePaths\",null),t=a=n([s.subclass(\"esri.geometry.Polygon\")],t)}(s.declared(a));return v.prototype.toJSON.isDefaultToJSON=!0,v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./Extent\",\"./Geometry\",\"./Point\",\"./SpatialReference\",\"./support/extentUtils\",\"./support/zmUtils\"],function(t,e,r,n,i,a,s,o,p,h,l,u){function c(t){return!Array.isArray(t[0])}var f=function(t){function e(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var n=t.apply(this,e)||this;return n.paths=[],n.type=\"polyline\",n}r(e,t),o=e,e.prototype.normalizeCtorArgs=function(t,e){var r,n,i=null,a=null;return t&&!Array.isArray(t)?(i=t.paths?t.paths:null,e||(t.spatialReference?e=t.spatialReference:t.paths||(e=t)),r=t.hasZ,n=t.hasM):i=t,i=i||[],e=e||h.WGS84,i.length&&i[0]&&null!=i[0][0]&&\"number\"==typeof i[0][0]&&(i=[i]),a=i[0]&&i[0][0],a&&(void 0===r&&void 0===n?(r=a.length>2,n=!1):void 0===r?r=!n&&a.length>3:void 0===n&&(n=!r&&a.length>3)),{paths:i,spatialReference:e,hasZ:r,hasM:n}},Object.defineProperty(e.prototype,\"extent\",{get:function(){var t=this.spatialReference,e=l.getPolylineExtent(this);if(!e)return null;var r=new s(e);return r.spatialReference=t,r},enumerable:!0,configurable:!0}),e.prototype.writePaths=function(t,e){e.paths=i.clone(this.paths)},e.prototype.addPath=function(t){if(t){this.clearCache();var e=this.paths,r=e.length;if(c(t)){for(var n=[],i=0,a=t.length;i<a;i++)n[i]=t[i].toArray();e[r]=n}else e[r]=t.concat();return this}},e.prototype.clone=function(){var t=new o;return t.spatialReference=this.spatialReference,t.paths=i.clone(this.paths),t.hasZ=this.hasZ,t.hasM=this.hasM,t},e.prototype.getPoint=function(t,e){if(!this._validateInputs(t,e))return null;var r=this.paths[t][e],n=this.hasZ,i=this.hasM;return n&&!i?new p(r[0],r[1],r[2],void 0,this.spatialReference):i&&!n?new p(r[0],r[1],void 0,r[2],this.spatialReference):n&&i?new p(r[0],r[1],r[2],r[3],this.spatialReference):new p(r[0],r[1],this.spatialReference)},e.prototype.insertPoint=function(t,e,r){return this._validateInputs(t,e,!0)?(this.clearCache(),u.updateSupportFromPoint(this,r),Array.isArray(r)||(r=r.toArray()),this.paths[t].splice(e,0,r),this):this},e.prototype.removePath=function(t){if(!this._validateInputs(t,null))return null;this.clearCache();var e=this.paths.splice(t,1)[0],r=this.spatialReference;return e.map(function(t){return new p(t,r)})},e.prototype.removePoint=function(t,e){return this._validateInputs(t,e)?(this.clearCache(),new p(this.paths[t].splice(e,1)[0],this.spatialReference)):null},e.prototype.setPoint=function(t,e,r){return this._validateInputs(t,e)?(this.clearCache(),u.updateSupportFromPoint(this,r),Array.isArray(r)||(r=r.toArray()),this.paths[t][e]=r,this):this},e.prototype._validateInputs=function(t,e,r){if(void 0===r&&(r=!1),null==t||t<0||t>=this.paths.length)return!1;if(null!=e){var n=this.paths[t];if(r&&(e<0||e>n.length))return!1;if(!r&&(e<0||e>=n.length))return!1}return!0},e.prototype.toJSON=function(t){return this.write(null,t)};var o;return n([a.property({dependsOn:[\"hasM\",\"hasZ\",\"paths\"]})],e.prototype,\"cache\",void 0),n([a.property({dependsOn:[\"cache\"],readOnly:!0})],e.prototype,\"extent\",null),n([a.property({type:[[[Number]]],json:{write:{isRequired:!0}}})],e.prototype,\"paths\",void 0),n([a.writer(\"paths\")],e.prototype,\"writePaths\",null),e=o=n([a.subclass(\"esri.geometry.Polyline\")],e)}(a.declared(o));return f.prototype.toJSON.isDefaultToJSON=!0,f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./support/spatialReferenceUtils\"],function(e,t,r,i,o,n,s,p,a){var l=function(e){function t(t){var r=e.call(this,t)||this;return r.latestWkid=null,r.wkid=null,r.wkt=null,r.imageCoordinateSystem=null,r}i(t,e),r=t,t.fromJSON=function(e){if(!e)return null;if(e.wkid){if(102100===e.wkid)return r.WebMercator;if(4326===e.wkid)return r.WGS84}var t=new r;return t.read(e),t},t.prototype.normalizeCtorArgs=function(e){var t;if(e&&\"object\"==typeof e)return e;var r=\"string\"==typeof e?\"wkt\":\"wkid\";return t={},t[r]=e,t},Object.defineProperty(t.prototype,\"isWGS84\",{get:function(){return a.isWGS84(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isWebMercator\",{get:function(){return a.isWebMercator(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isGeographic\",{get:function(){return a.isGeographic(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isWrappable\",{get:function(){return a.isWrappable(this)},enumerable:!0,configurable:!0}),t.prototype.writeWkt=function(e,t){this.wkid||(t.wkt=e)},t.prototype.clone=function(){if(this===r.WGS84)return r.WGS84;if(this===r.WebMercator)return r.WebMercator;var e=new r;return null!=this.wkid?(e.wkid=this.wkid,null!=this.latestWkid&&(e.latestWkid=this.latestWkid),null!=this.vcsWkid&&(e.vcsWkid=this.vcsWkid),null!=this.latestVcsWkid&&(e.latestVcsWkid=this.latestVcsWkid)):null!=this.wkt&&(e.wkt=this.wkt),this.imageCoordinateSystem&&(e.imageCoordinateSystem=s.clone(this.imageCoordinateSystem)),e},t.prototype.equals=function(e){if(null==e)return!1;if(this.imageCoordinateSystem||e.imageCoordinateSystem){if(null==this.imageCoordinateSystem||null==e.imageCoordinateSystem)return!1;var t=e.imageCoordinateSystem,r=t.id,i=t.referenceServiceName,o=e.imageCoordinateSystem.geodataXform,n=this.imageCoordinateSystem;return null==r||o?JSON.stringify(n)===JSON.stringify(e.imageCoordinateSystem):i?n.id===r&&n.referenceServiceName===i:n.id===r}return a.equals(this,e)},t.prototype.toJSON=function(e){return this.write(null,e)};var r;return t.GCS_NAD_1927=null,t.WGS84=null,t.WebMercator=null,o([p.property({dependsOn:[\"wkid\"],readOnly:!0})],t.prototype,\"isWGS84\",null),o([p.property({dependsOn:[\"wkid\"],readOnly:!0})],t.prototype,\"isWebMercator\",null),o([p.property({dependsOn:[\"wkid\",\"wkt\"],readOnly:!0})],t.prototype,\"isGeographic\",null),o([p.property({dependsOn:[\"wkid\"],readOnly:!0})],t.prototype,\"isWrappable\",null),o([p.property({type:Number,json:{write:!0}})],t.prototype,\"latestWkid\",void 0),o([p.property({type:Number,json:{write:!0,origins:{\"web-scene\":{write:{overridePolicy:function(){return{isRequired:null===this.wkt}}}}}}})],t.prototype,\"wkid\",void 0),o([p.property({type:String,json:{origins:{\"web-scene\":{write:{overridePolicy:function(){return{isRequired:null===this.wkid}}}}}}})],t.prototype,\"wkt\",void 0),o([p.writer(\"wkt\"),p.writer(\"web-scene\",\"wkt\")],t.prototype,\"writeWkt\",null),o([p.property({type:Number,json:{write:!0}})],t.prototype,\"vcsWkid\",void 0),o([p.property({type:Number,json:{write:!0}})],t.prototype,\"latestVcsWkid\",void 0),o([p.property()],t.prototype,\"imageCoordinateSystem\",void 0),t=r=o([p.subclass(\"esri.geometry.SpatialReference\")],t)}(p.declared(n.JSONSupport));return l.prototype.toJSON.isDefaultToJSON=!0,l.GCS_NAD_1927=new l({wkid:4267,wkt:'GEOGCS[\"GCS_North_American_1927\",DATUM[\"D_North_American_1927\",SPHEROID[\"Clarke_1866\",6378206.4,294.9786982]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]]'}),l.WGS84=new l(a.WGS84),l.WebMercator=new l(a.WebMercator),Object.freeze&&(Object.freeze(l.GCS_NAD_1927),Object.freeze(l.WGS84),Object.freeze(l.WebMercator)),l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine(\"require exports esri/kernel esri/geometry/Geometry esri/geometry/Polygon esri/geometry/Polyline esri/geometry/Point esri/geometry/Extent esri/geometry/Multipoint dojo/_base/lang\".split(\" \"),function(pa,za,ua,ca,ja,ka,ha,la,ma,qa){function W(c){if(void 0===ha.fromJson){if(void 0!==c.x&&void 0!==c.y)return new ha(c);if(void 0!==c.paths)return new ka(c);if(void 0!==c.rings)return new ja(c);if(void 0!==c.points)return new ma(c);if(void 0!==c.xmin&&void 0!==c.ymin&&void 0!==c.xmax&&void 0!==c.ymax)return new la(c)}else{if(void 0!==\nc.x&&void 0!==c.y)return ha.fromJson(c);if(void 0!==c.paths)return ka.fromJson(c);if(void 0!==c.rings)return ja.fromJson(c);if(void 0!==c.points)return ma.fromJson(c);if(void 0!==c.xmin&&void 0!==c.ymin&&void 0!==c.xmax&&void 0!==c.ymax)return la.fromJson(c)}}function Y(c){if(void 0===ha.fromJson){if(void 0!==c.x&&void 0!==c.y)return new ha(c);if(void 0!==c.paths)return new ka(c);if(void 0!==c.rings)return new ja(c);if(void 0!==c.points)return new ma(c);if(void 0!==c.xmin&&void 0!==c.ymin&&void 0!==\nc.xmax&&void 0!==c.ymax)return new la(c)}else{if(void 0!==c.x&&void 0!==c.y)return ha.fromJSON(c);if(void 0!==c.paths)return ka.fromJSON(c);if(void 0!==c.rings)return ja.fromJSON(c);if(void 0!==c.points)return ma.fromJSON(c);if(void 0!==c.xmin&&void 0!==c.ymin&&void 0!==c.xmax&&void 0!==c.ymax)return la.fromJSON(c)}}function X(c,n){var g;if(null==c||void 0===c)return c;if(\"number\"===typeof c)return c;var b=c.toString();if(\"\"===b)return null;if(2==n){if(g=va[b],void 0!==g)return g}else if(0==n){g=\nra[b];if(void 0!==g)return g;g=sa[c];if(void 0!==g)return g}else if(3==n&&(g=ra[b],void 0!==g))return g;if(1==n&&(g=sa[c],void 0!==g))return g;if(!0===/^\\d+$/.test(b))return parseInt(b);throw Error(\"Unrecognised Unit Type\");}function na(c){if(void 0!==c&&null!==c)switch(c){case \"loxodrome\":return 1;case \"great-elliptic\":return 2;case \"normal-section\":return 3;case \"shape-preserving\":return 4}return 0}function Q(c,n){if(null===c||void 0===c||c.u())return null;switch(c.G()){case r.Fj.Point:var g=new ha(c.Be(),\nc.nf(),n);if(N){var b=c.hasAttribute(r.Wc.M);c.hasAttribute(r.Wc.Z)&&g.set(\"z\",c.rH());b&&g.set(\"m\",c.aH())}return g;case r.Fj.Polygon:var g=c.hasAttribute(r.Wc.Z),b=c.hasAttribute(r.Wc.M),a=oa(c,g,b),g=new ja({rings:a,hasZ:g,hasM:b});N?g.set(\"spatialReference\",n):g.setSpatialReference(n);g.setCacheValue(\"_geVersion\",c);return g;case r.Fj.Polyline:return g=c.hasAttribute(r.Wc.Z),b=c.hasAttribute(r.Wc.M),a=oa(c,g,b),g=new ka({paths:a,hasZ:g,hasM:b}),N?g.set(\"spatialReference\",n):g.setSpatialReference(n),\ng.setCacheValue(\"_geVersion\",c),g;case r.Fj.MultiPoint:var g=c.hasAttribute(r.Wc.Z),b=c.hasAttribute(r.Wc.M),d=a=null;g&&(a=c.Pa(r.Wc.Z));b&&(d=c.Pa(r.Wc.M));var f=new r.b,e=c.D(),h=new ma(n);N&&(h.set(\"hasZ\",g),h.set(\"hasM\",b));for(var l=0;l<e;l++){c.w(l,f);var k=[f.x,f.y];g&&k.push(a.get(l));b&&k.push(d.get(l));h.addPoint(k)}h.setCacheValue(\"_geVersion\",c);return h;case r.Fj.Envelope:return a=c.hasAttribute(r.Wc.Z),g=c.hasAttribute(r.Wc.M),b=new la(c.R.o,c.R.A,c.R.v,c.R.B,n),N&&(a&&(a=c.xf(r.Wc.Z,\n0),b.set(\"zmin\",a.ca),b.set(\"zmax\",a.ha)),g&&(a=c.xf(r.Wc.M,0),b.set(\"mmin\",a.ca),b.set(\"mmax\",a.ha))),b.setCacheValue(\"_geVersion\",c),b}return null}function oa(c,n,g){var b=[],a=c.aa(),d=null,f=null;n&&(d=c.Pa(r.Wc.Z));g&&(f=c.Pa(r.Wc.M));for(var e=new r.b,h=0;h<a;h++){for(var l=c.wa(h),k=c.La(h),m=0,w=0,p=NaN,q=NaN,t=NaN,u=NaN,z=c.Qb(h),v=[],x=l;x<l+k;x++){c.w(x,e);var u=t=NaN,B=[e.x,e.y];n&&(t=d.get(x),B.push(t));g&&(u=f.get(x),B.push(u));x==l&&z&&(m=e.x,w=e.y,p=t,q=u);v.push(B)}!z||m==e.x&&w==\ne.y&&(!n||isNaN(p)&&isNaN(t)||p==t)&&(!g||isNaN(q)&&isNaN(u)||q==u)||v.push(v[0].slice(0));b.push(v)}return b}function aa(c){var n=c._geVersion;if(null==n||void 0==n){if(Object.freeze&&Object.isFrozen(c))return 102100===c.wkid?wa:4326===c.wkid?xa:n=r.Sd.create(c.wkid);-1!=c.wkid&&null!==c.wkid&&void 0!==c.wkid?(n=r.Sd.create(c.wkid),c._geVersion=n):\"\"!==c.wkt&&void 0!==c.wkt&&null!==c.wkt&&(n=r.Sd.qR(c.wkt),c._geVersion=n)}return n}function J(c){if(null==c)return null;if(void 0===c.getCacheValue){var n=\nc._geVersion;if(null==n||void 0==n)n=r.cc.dG(c),c._geVersion=n}else if(n=c.getCacheValue(\"_geVersion\"),null==n||void 0==n)n=r.cc.dG(c),c.setCacheValue(\"_geVersion\",n);return n}function M(c){return null===c.spatialReference?null:aa(c.spatialReference)}function ea(c){return\"[object Array]\"===Object.prototype.toString.call(c)}function ya(c){if(null===c||void 0===c||c.u())return null;switch(c.G()){case r.Fj.Point:var n={};n.x=c.Be();n.y=c.nf();if(N){var g=c.hasAttribute(r.Wc.M);c.hasAttribute(r.Wc.Z)&&\n(n.z=c.rH());g&&(n.m=c.aH())}return n;case r.Fj.Polygon:return n=c.hasAttribute(r.Wc.Z),g=c.hasAttribute(r.Wc.M),{rings:oa(c,n,g),hasZ:n,hasM:g};case r.Fj.Polyline:return n=c.hasAttribute(r.Wc.Z),g=c.hasAttribute(r.Wc.M),{paths:oa(c,n,g),hasZ:n,hasM:g};case r.Fj.MultiPoint:var n=c.hasAttribute(r.Wc.Z),g=c.hasAttribute(r.Wc.M),b=null,a=null;n&&(b=c.Pa(r.Wc.Z));g&&(a=c.Pa(r.Wc.M));var d=new r.b,f=c.D(),e={points:[]};N&&(e.hasZ=n,e.hasM=g);for(var h=0;h<f;h++){c.w(h,d);var l=[d.x,d.y];n&&l.push(b.get(h));\ng&&l.push(a.get(h));e.points.push(l)}return e;case r.Fj.Envelope:return b=c.hasAttribute(r.Wc.Z),n=c.hasAttribute(r.Wc.M),g={},g.xmin=c.R.o,g.ymin=c.R.A,g.xmax=c.R.v,g.ymax=c.R.B,N&&(b&&(b=c.xf(r.Wc.Z,0),g.zmin=b.ca,g.zmax=b.ha),n&&(b=c.xf(r.Wc.M,0),g.mmin=b.ca,g.mmax=b.ha)),g}return null}var O=this&&this.__extends||function(c,n){function g(){this.constructor=c}for(var b in n)n.hasOwnProperty(b)&&(c[b]=n[b]);c.prototype=null===n?Object.create(n):(g.prototype=n.prototype,new g)},r;(function(c){var n=\nfunction(){function b(){}b.Bm=!1;b.jw=!1;b.yz=\"\";return b}();c.Xh=n;if(\"undefined\"!==typeof window)c.Xh.yz=\"browser\",\"Float64Array\"in window&&(c.Xh.jw=!0),\"ArrayBuffer\"in window&&(c.Xh.Bm=!0);else if(\"undefined\"!==typeof process)n.yz=\"node\",c.Xh.Bm=!0,c.Xh.jw=!0;else{n.yz=\"browser\";try{var g=new ArrayBuffer(0);new Uint8Array(g);c.Xh.Bm=!0;c.Xh.jw=!0}catch(b){c.Xh.Bm=!1}}})(r||(r={}));(function(c){(function(c){c[c.Unknown=0]=\"Unknown\";c[c.Point=33]=\"Point\";c[c.Line=322]=\"Line\";c[c.Envelope=197]=\"Envelope\";\nc[c.MultiPoint=550]=\"MultiPoint\";c[c.Polyline=1607]=\"Polyline\";c[c.Polygon=1736]=\"Polygon\"})(c.Fj||(c.Fj={}));(function(c){c[c.enumMild=0]=\"enumMild\";c[c.enumMedium=1]=\"enumMedium\";c[c.enumHot=2]=\"enumHot\"})(c.uM||(c.uM={}));var n=function(){function g(){this.description=null;this.CB=0}g.prototype.G=function(){return 0};g.prototype.tb=function(){return-1};g.prototype.Fg=function(b){this.Bc();b!=this.description&&this.mo(b)};g.prototype.mo=function(){};g.prototype.om=function(b){this.Bc();b!=this.description&&\n(b=c.ye.wT(this.description,b),b!=this.description&&this.mo(b))};g.prototype.hasAttribute=function(b){return this.description.hasAttribute(b)};g.prototype.Ud=function(b){this.Bc();this.description.hasAttribute(b)||(b=c.ye.vT(this.description,b),this.mo(b))};g.prototype.xf=function(){return null};g.prototype.Qn=function(){};g.prototype.s=function(){};g.prototype.Cp=function(){};g.prototype.ac=function(b){this.s(b)};g.prototype.u=function(){return!0};g.prototype.Oa=function(){};g.prototype.Xc=function(){};\ng.prototype.Ka=function(){return null};g.prototype.copyTo=function(){};g.prototype.hf=function(){return 0};g.prototype.Rb=function(){return 0};g.prototype.uH=function(){return this.hasAttribute(1)};g.lf=function(b){return((b&192)>>6)+1>>1};g.Jo=function(b){return 0!=(b&32)};g.l_=function(b){return 0!=(b&64)};g.PU=function(b){return 0!=(b&128)};g.Oc=function(b){return 0!=(b&256)};g.gh=function(b){return 0!=(b&512)};g.Ic=function(b){return 0!=(b&1024)};g.prototype.Vf=function(){var b=this.Ka();this.copyTo(b);\nreturn b};g.prototype.Gg=function(){return null};g.oe=function(b){var a=b.Ka();b.copyTo(a);return a};g.prototype.Bc=function(){0<=this.CB&&(this.CB+=2147483649)};g.gy=function(b){var a=b.G();if(g.gh(a))return b.D();if(b.u())return 0;if(197==a)return 4;if(33==a)return 1;if(g.Oc(a))return 2;throw c.g.X(\"missing type\");};return g}();c.T=n})(r||(r={}));(function(c){var n=function(){function g(){this.y=this.x=0}g.pa=function(b,a){var d=new g;d.x=b;d.y=a;return d};g.El=function(b){var a=new g;a.x=b.x;a.y=\nb.y;return a};g.prototype.ka=function(b,a){this.x=b;this.y=a};g.prototype.L=function(b){this.x=b.x;this.y=b.y};g.prototype.Uq=function(b,a){return this.x===b&&this.y===a};g.prototype.xA=function(b){return 2.220446049250313E-16>=Math.abs(this.x-b.x)&&2.220446049250313E-16>=Math.abs(this.y-b.y)};g.prototype.ub=function(b){return this.x===b.x&&this.y===b.y};g.prototype.Eb=function(b){return b==this?!0:b instanceof g?this.x==b.x&&this.y==b.y:!1};g.prototype.sub=function(b){this.x-=b.x;this.y-=b.y};g.prototype.zc=\nfunction(b,a){this.x=b.x-a.x;this.y=b.y-a.y};g.prototype.add=function(b,a){void 0!==a?(this.x=b.x+a.x,this.y=b.y+a.y):(this.x+=b.x,this.y+=b.y)};g.prototype.Lr=function(){this.x=-this.x;this.y=-this.y};g.prototype.bu=function(b){this.x=-b.x;this.y=-b.y};g.prototype.JU=function(b,a,d){this.x=b.x*(1-d)+a.x*d;this.y=b.y*(1-d)+a.y*d};g.prototype.ru=function(b,a){this.x=this.x*b+a.x;this.y=this.y*b+a.y};g.prototype.FX=function(b,a,d){this.x=a.x*b+d.x;this.y=a.y*b+d.y};g.prototype.scale=function(b){this.x*=\nb;this.y*=b};g.prototype.compare=function(b){return this.y<b.y?-1:this.y>b.y?1:this.x<b.x?-1:this.x>b.x?1:0};g.prototype.normalize=function(){var b=this.length();0==b&&(this.x=1,this.y=0);this.x/=b;this.y/=b};g.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)};g.prototype.qk=function(){return this.x*this.x+this.y*this.y};g.Cb=function(b,a){return Math.sqrt(this.sc(b,a))};g.xz=function(b,a,d,f){b-=d;a-=f;return Math.sqrt(b*b+a*a)};g.prototype.oi=function(b){return this.x*b.x+\nthis.y*b.y};g.prototype.zE=function(b){return Math.abs(this.x*b.x)+Math.abs(this.y*b.y)};g.prototype.Ui=function(b){return this.x*b.y-this.y*b.x};g.prototype.qu=function(b,a){var d=-this.x*a+this.y*b;this.x=this.x*b+this.y*a;this.y=d};g.prototype.uw=function(){var b=this.x;this.x=-this.y;this.y=b};g.prototype.aI=function(b){this.x=-b.y;this.y=b.x};g.prototype.Ur=function(){var b=this.x;this.x=this.y;this.y=-b};g.prototype.dv=function(){this.y=this.x=NaN};g.prototype.Hy=function(){return isNaN(this.x)};\ng.prototype.$u=function(){return 0<this.x?0<=this.y?1:4:0<this.y?2:0==this.x?4:3};g.vs=function(b,a){var d=b.$u(),f=a.$u();return f==d?(d=b.Ui(a),0>d?1:0<d?-1:0):d<f?-1:1};g.AZ=function(b,a){return g.vs(b,a)};g.sc=function(b,a){var d=b.x-a.x,f=b.y-a.y;return d*d+f*f};g.prototype.toString=function(){return\"(\"+this.x+\" , \"+this.y+\")\"};g.prototype.$c=function(){this.y=this.x=NaN};g.prototype.isNaN=function(){return isNaN(this.x)||isNaN(this.y)};g.prototype.SO=function(){return this.Hy()?NaN:Math.abs(this.x)>=\nMath.abs(this.y)?Math.abs(this.x):Math.abs(this.y)};g.prototype.offset=function(b,a){var d=g.Cb(b,a),f=g.pa(this.x,this.y);if(0==d)return g.Cb(f,b);var e=new g;e.L(a);e.sub(b);f.sub(b);return f.Ui(e)/d};g.zp=function(b,a,d){var f=new c.Xb;f.set(a.x);f.sub(b.x);var e=new c.Xb;e.set(d.y);e.sub(b.y);var h=new c.Xb;h.set(a.y);h.sub(b.y);var l=new c.Xb;l.set(d.x);l.sub(b.x);f.Vg(e);h.Vg(l);f.sub(h);if(!f.lt())return d=f.value(),0>d?-1:0<d?1:0;f=new c.Tp(a.x);e=new c.Tp(b.x);h=new c.Tp(b.y);f=f.Zt(e);b=\nnew c.Tp(d.y);b=b.Zt(h);a=new c.Tp(a.y);a=a.Zt(h);d=new c.Tp(d.x);d=d.Zt(e);f=f.ds(b);a=a.ds(d);f=f.ds(a);return f.pV()?-1:f.aU()?1:0};g.prototype.jc=function(){return c.J.Zi(c.J.Zi())};return g}();c.b=n})(r||(r={}));(function(c){var n=function(){function c(b){this.kz=this.Au=0;this.IY=b}c.prototype.reset=function(){this.kz=this.Au=0};c.prototype.add=function(b){b-=this.kz;var a=this.Au+b;this.kz=a-this.Au-b;this.Au=a};c.prototype.sub=function(b){this.add(-b)};c.prototype.en=function(){return this.IY+\nthis.Au};return c}();c.ry=n;n=function(){function c(){}c.Fl=function(b,a){return 0<=a?Math.abs(b):-Math.abs(b)};c.sign=function(b){return 0>b?-1:0<b?1:0};c.hM=function(b){return b-360*Math.floor(b/360)};c.round=function(b){return Math.floor(b+.5)};c.Yx=function(b){return b*b};c.Xq=function(b,a,d){var f;.5>=d?f=b+(a-b)*d:f=a-(a-b)*(1-d);return f};c.cI=function(b,a,d,f){.5>=d?(f.x=b.x+(a.x-b.x)*d,f.y=b.y+(a.y-b.y)*d):(f.x=a.x-(a.x-b.x)*(1-d),f.y=a.y-(a.y-b.y)*(1-d))};c.nV=function(b,a,d,f,e,h){.5>=\ne?(h.x=b+(d-b)*e,h.y=a+(f-a)*e):(h.x=d-(d-b)*(1-e),h.y=f-(f-a)*(1-e))};return c}();c.Ub=n})(r||(r={}));(function(c){var n=function(g){function b(){g.call(this);this.oa=this.sa=this.ra=this.ua=0;this.la=null}O(b,g);b.prototype.ec=function(){return c.b.pa(this.ua,this.ra)};b.prototype.Oq=function(a){a.x=this.ua;a.y=this.ra};b.prototype.Mc=function(a){this.Qm(0,a)};b.prototype.xC=function(a,d){this.Qm(0,c.b.pa(a,d))};b.prototype.Dp=function(a){this.BE(0,a)};b.prototype.setStart=function(a){this.LE(0,\na)};b.prototype.dt=function(a,d){return this.ae(0,a,d)};b.prototype.Tx=function(a,d,f){this.oo(0,a,d,f)};b.prototype.Cc=function(){return c.b.pa(this.sa,this.oa)};b.prototype.Ps=function(a){a.x=this.sa;a.y=this.oa};b.prototype.Zc=function(a){this.Qm(1,a)};b.prototype.vm=function(a,d){this.Qm(1,c.b.pa(a,d))};b.prototype.Bp=function(a){this.BE(1,a)};b.prototype.setEnd=function(a){this.LE(1,a)};b.prototype.Os=function(a,d){return this.ae(1,a,d)};b.prototype.Lx=function(a,d,f){this.oo(1,a,d,f)};b.prototype.tb=\nfunction(){return 1};b.prototype.u=function(){return this.Hc()};b.prototype.Oa=function(){};b.prototype.hf=function(){return 0};b.prototype.Ma=function(a,d,f,b,h){return this.QO(a,d,f,b,h)};b.prototype.Yb=function(a,d){return 0!=this.ys(a,d,!1)};b.prototype.mt=function(a,d){return this.av(a,d,!1)};b.prototype.av=function(){return null};b.prototype.Hc=function(){return!1};b.prototype.Jy=function(a){this.Bc();if(null==this.la&&0<a)this.la=c.J.gf(2*a);else if(null!=this.la&&this.la.length<2*a){for(var d=\nthis.la.slice(0),f=this.la.length;f<2*a;f++)d[f]=0;this.la=d}};b.cX=function(a,d,f){if(0<f)var b=0;for(var h=0;h<f;h++)d[0+b]=a[0],b++};b.prototype.Qm=function(a,d){0!=a?(this.sa=d.x,this.oa=d.y):(this.ua=d.x,this.ra=d.y)};b.prototype.mo=function(a){if(null!=this.la){for(var d=c.ye.vx(a,this.description),f=[],e=b.vl(this.description,0),h=b.vl(this.description,1),l=b.vl(a,0),k=b.vl(a,1),m=0,g=1,p=a.Ga;g<p;g++){var q=a.rd(g),t=c.ma.Xa(q);if(-1==d[g])for(var u=c.ma.de(q),q=0;q<t;q++)f[l+m]=u,f[k+m]=\nu,m++;else for(u=this.description.xk(d[g])-2,q=0;q<t;q++)f[l+m]=this.la[e+u],f[k+m]=this.la[h+u],m++,u++}this.la=f}this.description=a};b.prototype.BE=function(a,d){if(this.Hc())throw c.g.X(\"empty geometry\");d.Fg(this.description);d.Hc()&&d.nq();for(var f=0;f<this.description.Ga;f++)for(var b=this.description.Td(f),h=0,l=c.ma.Xa(b);h<l;h++){var k=this.ae(a,b,h);d.setAttribute(b,h,k)}};b.prototype.LE=function(a,d){this.Bc();if(d.Hc())throw c.g.X(\"empty geometry\");for(var f=d.description,b=0,h=f.Ga;b<\nh;b++)for(var l=f.Td(b),k=c.ma.Xa(l),m=0;m<k;m++){var g=d.Yc(l,m);this.oo(a,l,m,g)}};b.prototype.ae=function(a,d,f){if(this.Hc())throw c.g.X(\"This operation was performed on an Empty Geometry.\");if(0==d)return 0!=a?0!=f?this.oa:this.sa:0!=f?this.ra:this.ua;if(f>=c.ma.Xa(d))throw c.g.wd();var e=this.description.mg(d);return 0<=e?(null!=this.la&&this.Jy(this.description.af.length-2),this.la[b.vl(this.description,a)+this.description.xk(e)-2+f]):c.ma.de(d)};b.prototype.oo=function(a,d,f,e){this.Bc();\nif(f>=c.ma.Xa(d))throw c.g.wd();var h=this.description.mg(d);0>h&&(this.Ud(d),h=this.description.mg(d));0==d?0!=a?0!=f?this.oa=e:this.sa=e:0!=f?this.ra=e:this.ua=e:(null==this.la&&this.Jy(this.description.af.length-2),this.la[b.vl(this.description,a)+this.description.xk(h)-2+f]=e)};b.prototype.copyTo=function(a){if(a.G()!=this.G())throw c.g.F();a.description=this.description;a.Jy(this.description.af.length-2);b.cX(this.la,a.la,2*(this.description.af.length-2));a.ua=this.ua;a.ra=this.ra;a.sa=this.sa;\na.oa=this.oa;a.Bc();this.iq(a)};b.prototype.xf=function(a,d){var f=new c.Ac;if(this.Hc())return f.Oa(),f;f.ca=this.ae(0,a,d);f.ha=f.ca;f.ml(this.ae(1,a,d));return f};b.prototype.SJ=function(a){this.Hc()?a.Oa():(a.ca=this.ae(0,0,0),a.ha=a.ca,a.ml(this.ae(1,0,0)))};b.prototype.Fx=function(a,d){d.Fg(this.description);d.rb(this.gc(a));for(var f=1,b=this.description.Ga;f<b;f++)for(var h=this.description.Td(f),l=c.ma.Xa(h),k=0;k<l;k++){var m=this.Yc(a,h,k);d.setAttribute(h,k,m)}};b.prototype.NO=function(a){if(this.description!=\na.description||this.ua!=a.ua||this.sa!=a.sa||this.ra!=a.ra||this.oa!=a.oa)return!1;for(var d=0;d<2*(this.description.af.length-2);d++)if(this.la[d]!=a.la[d])return!1;return!0};b.prototype.OH=function(){return this.ua==this.sa&&this.ra==this.oa};b.prototype.reverse=function(){var a=this.ua;this.ua=this.sa;this.sa=a;a=this.ra;this.ra=this.oa;this.oa=a;for(var a=1,d=this.description.Ga;a<d;a++)for(var f=this.description.rd(a),b=0,h=c.ma.Xa(f);b<h;b++){var l=this.ae(0,f,b),k=this.ae(1,f,b);this.oo(0,\nf,b,k);this.oo(1,f,b,l)}};b.prototype.ys=function(a,d,f){var b=a.G();switch(this.G()){case 322:if(322==b)return c.Hb.RO(this,a,d,f);throw c.g.za();default:throw c.g.za();}};b.prototype.QO=function(a,d,f,b,h){var l=a.G();switch(this.G()){case 322:if(322==l)return c.Hb.Gy(this,a,d,f,b,h);throw c.g.za();default:throw c.g.za();}};b.prototype.Cy=function(){return null};b.vl=function(a,d){return d*(a.af.length-2)};b.prototype.gc=function(a,d){if(void 0===d){var f=new c.b;this.gc(a,f);return f}c.Ub.nV(this.ua,\nthis.ra,this.sa,this.oa,a,d)};b.prototype.pe=function(){return null};b.prototype.qH=function(){return null};b.prototype.Tq=function(){return null};b.prototype.fh=function(){return null};b.prototype.Go=function(){return null};b.prototype.Eg=function(){return null};b.prototype.Dy=function(a,d){return void 0!==d?this.cy(d)-this.cy(a):this.cy(a)};b.prototype.iq=function(){};b.prototype.Hl=function(){return null};b.prototype.yh=function(){};b.prototype.Yc=function(){return null};b.prototype.pf=function(){return null};\nb.prototype.cy=function(){return null};b.prototype.bI=function(){return null};b.prototype.Cb=function(a,d){if(!d&&0!=this.ys(a,0,!1))return 0;var f=1.7976931348623157E308,b,h;b=this.ec();h=a.pe(b,!1);b.sub(a.gc(h));b=b.length();b<f&&(f=b);b=this.Cc();h=a.pe(b,!1);b.sub(a.gc(h));b=b.length();b<f&&(f=b);b=a.ec();h=this.pe(b,!1);b.sub(this.gc(h));b=b.length();b<f&&(f=b);b=a.Cc();h=this.pe(b,!1);b.sub(this.gc(h));b=b.length();b<f&&(f=b);return f};b.prototype.Gg=function(){return c.Pi.Rm(this,null)};return b}(c.T);\nc.dE=n})(r||(r={}));new r.b;(function(c){(function(c){c[c.Unknown=-1]=\"Unknown\";c[c.Not=0]=\"Not\";c[c.Weak=1]=\"Weak\";c[c.Strong=2]=\"Strong\"})(c.wM||(c.wM={}));(function(c){c[c.DirtyIsKnownSimple=1]=\"DirtyIsKnownSimple\";c[c.IsWeakSimple=2]=\"IsWeakSimple\";c[c.IsStrongSimple=4]=\"IsStrongSimple\";c[c.DirtyOGCFlags=8]=\"DirtyOGCFlags\";c[c.DirtyVerifiedStreams=32]=\"DirtyVerifiedStreams\";c[c.DirtyExactIntervals=64]=\"DirtyExactIntervals\";c[c.DirtyLooseIntervals=128]=\"DirtyLooseIntervals\";c[c.DirtyIntervals=\n192]=\"DirtyIntervals\";c[c.DirtyIsEnvelope=256]=\"DirtyIsEnvelope\";c[c.DirtyLength2D=512]=\"DirtyLength2D\";c[c.DirtyRingAreas2D=1024]=\"DirtyRingAreas2D\";c[c.DirtyCoordinates=1993]=\"DirtyCoordinates\";c[c.DirtyAllInternal=65535]=\"DirtyAllInternal\";c[c.DirtyAll=16777215]=\"DirtyAll\"})(c.aM||(c.aM={}));var n=function(g){function b(){g.call(this);this.tn=65535;this.qa=0;this.lh=-1;this.ob=null}O(b,g);b.prototype.iq=function(){};b.prototype.Iy=function(){};b.prototype.Py=function(){};b.prototype.D=function(){return this.qa};\nb.prototype.u=function(){return this.Hc()};b.prototype.Hc=function(){return 0==this.qa};b.prototype.yk=function(a){return 0!=(this.tn&a)};b.prototype.lg=function(a,d){this.tn=d?this.tn|a:this.tn&~a};b.prototype.wc=function(){this.yk(32)&&this.$O()};b.prototype.Cu=function(){if(this.Hc())throw c.g.X(\"This operation was performed on an Empty Geometry.\");};b.prototype.Ae=function(a,d){if(0>a||a>=this.qa)throw c.g.X(\"index out of bounds\");this.wc();d.Fg(this.description);d.u()&&d.nq();for(var f=0;f<this.description.Ga;f++)for(var b=\nthis.description.Td(f),h=0,l=c.ma.Xa(b);h<l;h++){var k=this.ya[f].Of(l*a+h);d.setAttribute(b,h,k)}};b.prototype.vu=function(a,d){this.wc();for(var f=d.description,b=0;b<f.Ga;b++)for(var h=f.Td(b),l=c.ma.Xa(h),k=0;k<l;k++){var m=d.Yc(h,k);this.setAttribute(h,a,k,m)}};b.prototype.w=function(a,d){if(0>a||a>=this.D())throw c.g.wd();this.wc();this.ya[0].fc(2*a,d)};b.prototype.Ba=function(a){var d=new c.b;this.w(a,d);return d};b.prototype.Nc=function(a,d){this.ya[0].fc(2*a,d)};b.prototype.rb=function(a,\nd,f){if(0>a||a>=this.qa)throw c.g.wd();this.wc();var b=this.ya[0];void 0!==f?(b.write(2*a,d),b.write(2*a+1,f)):b.fo(2*a,d);this.Dc(1993)};b.prototype.mA=function(a){if(0>a||a>=this.D())throw c.g.wd();this.wc();var d=this.ya[0],f=new c.qd;f.x=d.read(2*a);f.y=d.read(2*a+1);f.z=this.hasAttribute(1)?this.ya[1].Of(a):c.ma.de(1);return f};b.prototype.CC=function(a,d){if(0>a||a>=this.D())throw c.g.wd();this.Ud(1);this.wc();this.Dc(1993);var f=this.ya[0];f.write(2*a,d.x);f.write(2*a+1,d.y);this.ya[1].Dm(a,\nd.z)};b.prototype.Yc=function(a,d,f){if(0>d||d>=this.qa)throw c.g.wd();var b=c.ma.Xa(a);if(f>=b)throw c.g.wd();this.wc();var h=this.description.mg(a);return 0<=h?this.ya[h].Of(d*b+f):c.ma.de(a)};b.prototype.KG=function(a,d,f){return this.Yc(a,d,f)};b.prototype.setAttribute=function(a,d,f,b){if(0>d||d>=this.qa)throw c.g.wd();var h=c.ma.Xa(a);if(f>=h)throw c.g.wd();this.Ud(a);this.wc();a=this.description.mg(a);this.Dc(1993);this.ya[a].Dm(d*h+f,b)};b.prototype.Pa=function(a){this.Cu();this.Ud(a);this.wc();\nreturn this.ya[this.description.mg(a)]};b.prototype.Yn=function(a,d){if(null!=d&&c.ma.si(a)!=d.si())throw c.g.F();this.Ud(a);var f=this.description.mg(a);null==this.ya&&(this.ya=c.Uc.JB(this.description.Ga));this.ya[f]=d;this.Dc(16777215)};b.prototype.mo=function(a){var d=null;if(null!=this.ya)for(var f=c.ye.vx(a,this.description),d=[],b=0,h=a.Ga;b<h;b++)-1!=f[b]&&(d[b]=this.ya[f[b]]);this.description=a;this.ya=d;this.lh=-1;this.Dc(16777215)};b.prototype.QE=function(a){this.fv(!0);a instanceof c.h?\nthis.R.s(a):this.R.Cp(a)};b.prototype.ZO=function(a){this.fv(!1);a instanceof c.h?this.R.s(a):this.R.Cp(a)};b.prototype.Qn=function(a){this.fv(!0);this.R.copyTo(a)};b.prototype.s=function(a){this.QE(a)};b.prototype.Cp=function(a){this.QE(a)};b.prototype.ac=function(a){this.ZO(a)};b.prototype.xf=function(a,d){var f=new c.Ac;if(this.Hc())return f.Oa(),f;this.fv(!0);return this.R.xf(a,d)};b.prototype.jc=function(){var a=this.description.jc();if(!this.Hc())for(var d=this.D(),f=0,b=this.description.Ga;f<\nb;f++)a=this.ya[f].Ak(a,0,d*c.ma.Xa(this.description.Td(f)));return a};b.prototype.Eb=function(a){if(a==this)return!0;if(!(a instanceof b&&this.description.Eb(a.description))||this.Hc()!=a.Hc())return!1;if(this.Hc())return!0;var d=this.D();if(d!=a.D())return!1;for(var f=0;f<this.description.Ga;f++){var e=this.description.rd(f),h=this.Pa(e),l=a.Pa(e);if(!h.Eb(l,0,d*c.ma.Xa(e)))return!1}return!0};b.prototype.copyTo=function(a){if(a.G()!=this.G())throw c.g.F();this.yE(a)};b.prototype.yE=function(a){this.wc();\na.description=this.description;a.ya=null;var d=this.description.Ga,f=null;if(null!=this.ya)for(var f=[],b=0;b<d;b++)null!=this.ya[b]&&(f[b]=this.ya[b].Tr(this.D()*c.ma.Xa(this.description.Td(b))));null!=this.R?(a.R=this.R.Ka(),this.R.copyTo(a.R)):a.R=null;a.qa=this.qa;a.tn=this.tn;a.ya=f;try{this.iq(a)}catch(h){throw a.Oa(),c.g.UN();}};b.prototype.NE=function(){this.qa=0;this.lh=-1;this.ya=null;this.Dc(16777215)};b.prototype.Dc=function(a){16777215==a&&(this.lh=-1,this.Iy());this.tn|=a;this.EO();\nthis.Bc()};b.prototype.fv=function(a){this.wc();if(this.yk(192))if(null==this.R?this.R=new c.ci(this.description):this.R.Fg(this.description),this.u())this.R.Oa();else{this.Oy(a);for(var d=1;d<this.description.Ga;d++)for(var f=this.description.Td(d),b=c.ma.Xa(f),h=this.ya[d],l=0;l<b;l++){var k=new c.Ac;k.Oa();for(var m=0;m<this.qa;m++){var g=h.Of(m*b+l);k.Nb(g)}this.R.setInterval(f,l,k)}a&&this.lg(192,!1)}};b.prototype.Oy=function(){this.R.Oa();for(var a=this.ya[0],d=new c.b,f=0;f<this.qa;f++)a.fc(2*\nf,d),this.R.Nb(d)};b.prototype.uo=function(a){a.Oa();for(var d=this.ya[0],f=new c.b,b=0;b<this.qa;b++)d.fc(2*b,f),a.Nb(f)};b.prototype.$O=function(){if(this.lh<this.qa){null==this.ya&&(this.ya=c.Uc.JB(this.description.Ga));this.lh=2147483647;for(var a=0;a<this.description.Ga;a++){var d=this.description.Td(a);if(null!=this.ya[a]){var f=c.ma.Xa(d),b=c.J.truncate(this.ya[a].size/f);b<this.qa&&(b=c.J.truncate(this.lh>this.qa+5?(5*this.qa+3)/4:this.qa),this.ya[a].resize(b*f,c.ma.de(d)));b<this.lh&&(this.lh=\nb)}else this.ya[a]=c.Uc.qz(d,this.qa),this.lh=this.qa}}this.Py();this.lg(32,!1)};b.prototype.zl=function(a){if(0>a)throw c.g.F();a!=this.qa&&(this.qa=a,this.Dc(65535))};b.prototype.Lk=function(a){if(!this.yk(1)){if(!this.yk(2))return 0;if(this.PV>=a)return this.yk(8)?1:2}return-1};b.prototype.Zg=function(a,d){this.PV=d;if(-1==a)this.lg(1,!0),this.lg(8,!0);else if(this.lg(1,!1),this.lg(8,!0),0==a)this.lg(2,!1),this.lg(4,!1);else if(1==a)this.lg(2,!0),this.lg(4,!1);else if(2==a)this.lg(2,!0),this.lg(4,\n!0);else throw c.g.X(\"internal error.\");};b.prototype.EO=function(){null!=this.ob&&(this.ob=null)};b.prototype.EE=function(a,d,f,b){if(0>a||a>=this.qa)throw c.g.X(\"index out of bounds\");if(0>d||d>=this.qa)throw c.g.X(\"index out of bounds\");this.wc();b.Fg(this.description);b.u()&&b.nq();for(var h=0;h<this.description.Ga;h++)for(var l=this.description.Td(h),k=0,m=c.ma.Xa(l);k<m;k++){var g=this.ya[h].Of(m*a+k),p=this.ya[h].Of(m*d+k);b.setAttribute(l,k,c.Ub.Xq(g,p,f))}};b.prototype.xs=function(a,d){var f=\nthis.ya[0].f,b=f[2*a]-f[2*d],f=f[2*a+1]-f[2*d+1];return Math.sqrt(b*b+f*f)};b.prototype.Yh=function(a,d){if(0>a||a>=this.qa)throw c.g.wd();if(d.u())throw c.g.F();this.wc();for(var f=d.description,b=0;b<f.Ga;b++)for(var h=f.rd(b),l=c.ma.Xa(h),k=0;k<l;k++){var m=d.Yc(h,k);this.setAttribute(h,a,k,m)}};b.prototype.Xu=function(){return null};b.prototype.Hj=function(){return null};return b}(c.T);c.Mu=n})(r||(r={}));(function(c){var n=function(){function g(){this.pb=this.Oo=null;this.Gn=124234251;this.Dw=\n!0;this.qf=-1;this.pb=new c.ad(7);this.Oo=null}g.prototype.Ep=function(b){this.Oo=b};g.prototype.PR=function(){this.Dw=!1};g.prototype.Qe=function(b){this.pb.Qe(b)};g.prototype.Ks=function(b){var a=this.pb.Pe();this.nY(a);this.qY(b,a);return a};g.prototype.JR=function(b){this.pb.kd(b)};g.prototype.addElement=function(b,a){var d;-1==a?(-1==this.qf&&(this.qf=this.Ks(-1)),d=this.qf):d=a;return this.XE(b,0,d)};g.prototype.aF=function(b){-1==this.qf&&(this.qf=this.Ks(-1));return this.XE(b,1,this.qf)};\ng.prototype.ro=function(b){var a;-1==this.qf&&(this.qf=this.Ks(-1));a=this.qf;var d=this.pb.f;if(-1==a||-1==d[7*a])return b=this.pb.nl([-1,-1,-1,b,this.Ll(),-1,-1]),d=this.pb.f,d[7*a]=b,this.pq(-1,b,a,d),b;var f=-1==a?-1:d[7*a+2];b=this.pb.nl([-1,-1,f,b,this.Ll(),-1,-1]);d=this.pb.f;d[7*f+1]=b;this.Vy(b,d);-1===d[7*b+2]&&(d[7*a]=b);this.pq(-1,b,a,d);return b};g.prototype.jv=function(b,a,d,f){var e=-1;-1==e&&(-1==this.qf&&(this.qf=this.Ks(-1)),e=this.qf);var h=this.pb.f;if(-1==e||-1==h[7*e])return d=\nthis.pb.nl([-1,-1,-1,d,this.Ll(),-1,-1]),h=this.pb.f,h[7*e]=d,this.pq(-1,d,e,h),d;var l;f?(f=-1!=a?this.Oo.compare(this,d,a):-1,l=-1!=b?this.Oo.compare(this,d,b):1):(f=-1,l=1);if(0==f||0==l)return h[7*e+3]=0==f?a:b,-1;(-1!=a&&-1!=b?this.Gn>c.J.IB(this.Gn)>>1:-1!=a)?b=a:f=l;for(a=!0;;){if(0>f)if(l=h[7*b],-1!=l)b=l;else{f=b;d=this.pb.nl([-1,-1,b,d,this.Ll(),-1,-1]);h=this.pb.f;h[7*b]=d;break}else if(l=h[7*b+1],-1!=l)b=l;else{f=h[7*b+6];d=this.pb.nl([-1,-1,b,d,this.Ll(),-1,-1]);h=this.pb.f;h[7*b+1]=\nd;break}a&&(f*=-1,a=!1)}this.Vy(d,h);-1===h[7*d+2]&&(h[7*e]=d);this.pq(f,d,e,h);return d};g.prototype.QG=function(){return this.aT(this.qf)};g.prototype.Kd=function(b,a){var d;d=-1==a?this.qf:a;this.Dw?this.IR(b,d):this.gZ(b,d)};g.prototype.search=function(b,a){for(var d=this.fw(a);-1!=d;){var f=this.Oo.compare(this,b,d);if(0==f)return d;d=0>f?this.Pl(d):this.Nq(d)}return-1};g.prototype.IX=function(b){for(var a=this.fw(-1),d=-1;-1!=a;){var f=b.compare(this,a);if(0==f)return a;0>f?a=this.Pl(a):(d=\na,a=this.Nq(a))}return d};g.prototype.lK=function(b){for(var a=this.fw(-1),d=-1;-1!=a;){var f=b.compare(this,a);if(0==f)return a;0>f?(d=a,a=this.Pl(a)):a=this.Nq(a)}return d};g.prototype.ja=function(b){return this.pb.S(b,3)};g.prototype.Pl=function(b){return this.pb.S(b,0)};g.prototype.Nq=function(b){return this.pb.S(b,1)};g.prototype.getParent=function(b){return this.pb.S(b,2)};g.prototype.nb=function(b){return this.pb.S(b,6)};g.prototype.Ve=function(b){return this.pb.S(b,5)};g.prototype.xc=function(b){return-1==\nb?this.Ol(this.qf):this.Ol(b)};g.prototype.Fc=function(b){return-1==b?this.Zs(this.qf):this.Zs(b)};g.prototype.TT=function(b){return-1==b?this.nH(this.qf):this.nH(b)};g.prototype.kk=function(b,a){this.oC(b,a)};g.prototype.fw=function(b){return-1==b?this.iH(this.qf):this.iH(b)};g.prototype.clear=function(){this.pb.Vi(!1);this.qf=-1};g.prototype.size=function(b){return-1==b?this.kH(this.qf):this.kH(b)};g.prototype.PP=function(b,a){for(var d=a[7*b],f=a[7*b+1],e=a[7*b+4];-1!=d||-1!=f;){var h=-1!=d?a[7*\nd+4]:2147483647,f=-1!=f?a[7*f+4]:2147483647;if(e<=Math.min(h,f))break;h<=f?this.iK(d,a):this.hK(b,a);d=a[7*b];f=a[7*b+1]}};g.prototype.Vy=function(b,a){if(this.Dw)for(var d=a[7*b+4],f=a[7*b+2];-1!=f&&a[7*f+4]>d;)a[7*f]==b?this.iK(b,a):this.hK(f,a),f=a[7*b+2]};g.prototype.hK=function(b,a){var d=a[7*b+1],f;a[7*d+2]=a[7*b+2];a[7*b+2]=d;f=a[7*d];a[7*b+1]=f;-1!=f&&(a[7*f+2]=b);a[7*d]=b;f=a[7*d+2];-1!=f&&(a[7*f]==b?a[7*f]=d:a[7*f+1]=d)};g.prototype.iK=function(b,a){var d=a[7*b+2],f;a[7*b+2]=a[7*d+2];a[7*\nd+2]=b;f=a[7*b+1];a[7*d]=f;-1!=f&&(a[7*f+2]=d);a[7*b+1]=d;f=a[7*b+2];-1!=f&&(a[7*f]===d?a[7*f]=b:a[7*f+1]=b)};g.prototype.sl=function(b,a){this.pb.P(b,2,a)};g.prototype.sC=function(b,a){this.pb.P(b,0,a)};g.prototype.wC=function(b,a){this.pb.P(b,1,a)};g.prototype.vC=function(b,a){this.pb.P(b,5,a)};g.prototype.Qx=function(b,a){this.pb.P(b,6,a)};g.prototype.OK=function(b,a){this.pb.P(a,0,b)};g.prototype.nY=function(b){this.pb.P(b,4,0)};g.prototype.qY=function(b,a){this.pb.P(a,5,b)};g.prototype.iH=function(b){return-1==\nb?-1:this.pb.S(b,0)};g.prototype.Ol=function(b){return-1==b?-1:this.pb.S(b,1)};g.prototype.Zs=function(b){return-1==b?-1:this.pb.S(b,2)};g.prototype.aT=function(b){return-1==b?-1:this.pb.S(b,3)};g.prototype.kH=function(b){return-1==b?0:this.pb.S(b,4)};g.prototype.nH=function(b){return this.pb.S(b,5)};g.prototype.Bx=function(b){return this.pb.nl([-1,-1,-1,b,this.Ll(),-1,-1])};g.prototype.Kl=function(b){-1!=b&&this.pb.kd(b)};g.prototype.Ll=function(){this.Gn=c.J.IB(this.Gn);return this.Gn&1073741823};\ng.prototype.XE=function(b,a,d){var f=this.pb.f;if(-1==d||-1==f[7*d])return b=this.pb.nl([-1,-1,-1,b,this.Ll(),-1,-1]),f=this.pb.f,f[7*d]=b,this.pq(-1,b,d,f),b;for(var e=-1==d?-1:f[7*d];;){var h=-1==a?1:this.Oo.compare(this,b,e);if(0>h)if(h=this.Pl(e),-1!=h)e=h;else{a=e;b=this.pb.nl([-1,-1,e,b,this.Ll(),-1,-1]);f=this.pb.f;f[7*e]=b;break}else{if(1==a&&0==h)return f[7*d+3]=e,-1;h=f[7*e+1];if(-1!=h)e=h;else{a=f[7*e+6];b=this.pb.nl([-1,-1,e,b,this.Ll(),-1,-1]);f=this.pb.f;f[7*e+1]=b;break}}}this.Vy(b,\nf);-1===f[7*b+2]&&(f[7*d]=b);this.pq(a,b,d,f);return b};g.prototype.pq=function(b,a,d,f){var e;-1!=b?(e=f[7*b+5],f[7*b+5]=a):e=-1==d?-1:f[7*d+2];f[7*a+5]=e;-1!=e&&(f[7*e+6]=a);f[7*a+6]=b;b==(-1==d?-1:f[7*d+1])&&(f[7*d+1]=a);-1==b&&(f[7*d+2]=a);f[7*d+4]=(-1==d?0:f[7*d+4])+1};g.prototype.aC=function(b,a){var d=this.pb.f,f=d[7*b+5],e=d[7*b+6];-1!=f?d[7*f+6]=e:d[7*a+1]=e;-1!=e?d[7*e+5]=f:d[7*a+2]=f;d[7*a+4]=-1===a?-1:d[7*a+4]-1};g.prototype.gZ=function(b,a){this.aC(b,a);var d=this.Pl(b),f=this.Nq(b),\ne=this.getParent(b),h=b;if(-1!=d&&-1!=f){this.Gn=c.J.IB(this.Gn);var l;l=1073741823<this.Gn?this.nb(b):this.Ve(b);var k=this.getParent(l)==b;this.pb.ay(b,l,0);this.pb.ay(b,l,1);this.pb.ay(b,l,2);-1!=e?this.Pl(e)==b?this.sC(e,l):this.wC(e,l):this.OK(l,a);k?(d==l?(this.sC(l,b),this.sl(f,l)):f==l&&(this.wC(l,b),this.sl(d,l)),this.sl(b,l),e=l):(this.sl(d,l),this.sl(f,l),e=this.getParent(b),h=l);d=this.Pl(b);f=this.Nq(b);-1!=d&&this.sl(d,b);-1!=f&&this.sl(f,b)}d=-1!=d?d:f;-1==e?this.OK(d,a):this.Pl(e)==\nh?this.sC(e,d):this.wC(e,d);-1!=d&&this.sl(d,e);this.Kl(b,a)};g.prototype.IR=function(b,a){var d=this.pb.f;d[7*b+4]=2147483647;var f=-1,e=-1,h=-1===a?-1:d[7*a],c=h==b;if(c&&(f=d[7*h],e=d[7*h+1],-1==f&&-1==e)){this.aC(h,a);this.Kl(h,a);d[7*a]=-1;return}this.PP(b,d);h=d[7*b+2];-1!=h&&(d[7*h]==b?d[7*h]=-1:d[7*h+1]=-1);this.aC(b,a);this.Kl(b,a);c&&(d[7*a]=-1==f||-1!=d[7*f+2]?e:f)};g.prototype.oC=function(b,a){this.pb.P(b,3,a)};return g}();c.uk=n})(r||(r={}));(function(c){var n=function(){function g(b,\na){void 0!==b&&this.I(b,a)}g.prototype.I=function(b,a){this.ca=b;this.ha=a;this.normalize()};g.prototype.Yb=function(b){return this.ca<=b.ca?this.ha>=b.ca:b.ha>=this.ca};g.prototype.move=function(b){this.u()||(this.ca+=b,this.ha+=b)};g.prototype.normalize=function(){if(!isNaN(this.ca)){if(this.ca>this.ha){var b=this.ca;this.ca=this.ha;this.ha=b}isNaN(this.ha)&&this.Oa()}};g.prototype.Oa=function(){this.ha=this.ca=NaN};g.prototype.u=function(){return isNaN(this.ca)};g.prototype.Nb=function(b){\"number\"===\ntypeof b?this.u()?this.ha=this.ca=b:this.ml(b):b.u()||(this.u()?(this.ca=b.ca,this.ha=b.ha):(this.ca>b.ca&&(this.ca=b.ca),this.ha<b.ha&&(this.ha=b.ha),this.ca>this.ha&&this.Oa()))};g.prototype.ml=function(b){b<this.ca?this.ca=b:b>this.ha&&(this.ha=b)};g.prototype.contains=function(b){return\"number\"===typeof b?b>=this.ca&&b<=this.ha:b.ca>=this.ca&&b.ha<=this.ha};g.prototype.Ma=function(b){this.u()||b.u()?this.Oa():(this.ca<b.ca&&(this.ca=b.ca),this.ha>b.ha&&(this.ha=b.ha),this.ca>this.ha&&this.Oa())};\ng.prototype.O=function(b){this.u()||(this.ca-=b,this.ha+=b,this.ha<this.ca&&this.Oa())};g.prototype.no=function(){return this.u()?2.220446049250313E-14:2.220446049250313E-14*(Math.abs(this.ca)+Math.abs(this.ha)+1)};g.prototype.lC=function(b,a){b>a?(this.ca=a,this.ha=b):(this.ca=b,this.ha=a)};g.prototype.wu=function(b){return c.J.pk(b,this.ca,this.ha)};g.prototype.N=function(){return this.ha-this.ca};g.prototype.Wf=function(){return.5*(this.ca+this.ha)};g.prototype.Eb=function(b){return b==this?!0:\nb instanceof g?this.u()&&b.u()?!0:this.ca!=b.ca||this.ha!=b.ha?!1:!0:!1};g.prototype.jc=function(){return c.J.Zi(c.J.Zi())};return g}();c.Ac=n})(r||(r={}));(function(c){var n=new c.Ac,g=new c.Ac,b=function(){return function(){this.Le=null;this.qb=-1;this.wb=new c.Hb;this.ZA=55555555;this.Fw=this.Iw=!1;this.rg=new c.Ac;this.rg.lC(0,0)}}();c.k_=b;var a=function(){function a(d,e,h){this.a=d;this.il=NaN;this.aJ=this.Ar=0;this.bJ=NaN;this.ta=e;this.Dr=10*e;this.cJ=this.dJ=NaN;this.Ng=!1;this.rn=this.Yt=\nthis.vp=this.St=this.Rt=-1;this.QA=h;this.AB=new b;this.kJ=new b;c.J.truncate(3*d.vd/2)}a.prototype.AH=function(a,d,b,c){a.Le=null===c?null:c[b[5*d]];a.Fw=null!=a.Le;a.Fw||(c=b[5*d+2],-1!==c&&this.a.hX(b[5*d],b[5*c],a.wb),a.Le=a.wb,a.rg.lC(a.wb.ua,a.wb.sa),a.rg.ha+=this.ta,a.wb.BJ(),a.Iw=a.wb.oa==a.wb.ra,a.Iw||(a.ZA=(a.wb.sa-a.wb.ua)/(a.wb.oa-a.wb.ra)))};a.prototype.SQ=function(a,d){var b=a.ys(d,this.ta,!0);if(0!=b)return 2==b?this.Az():this.Wi();a.Oq(da);a.Ps(fa);d.Oq(ga);d.Ps(ia);P.ka(this.Ar,this.il);\nda.ub(ga)&&this.il==da.y?0>fa.compare(ia)?P.L(fa):P.L(ia):da.ub(ia)&&this.il==da.y?0>fa.compare(ga)?P.L(fa):P.L(ga):ga.ub(fa)&&this.il==ga.y?0>da.compare(ia)?P.L(da):P.L(ia):fa.ub(ia)&&this.il==fa.y&&(0>da.compare(ga)?P.L(da):P.L(ga));return a.pf(P.y,P.x)<d.pf(P.y,P.x)?-1:1};a.prototype.QQ=function(a,d){if(a.wb.ra==d.wb.ra&&a.wb.ua==d.wb.ua)return a.wb.oa==d.wb.oa&&a.wb.sa==d.wb.sa?this.QA?this.Az():0:this.WF(a,d);if(a.wb.oa==d.wb.oa&&a.wb.sa==d.wb.sa)return this.VF(a,d);var b=this.VF(a,d),c=this.WF(a,\nd);return 0>b&&0>c?-1:0<b&&0<c?1:this.Wi()};a.prototype.MQ=function(a,d){if(a.sa>d.sa){if(d.sa>d.ua&&d.oa-d.ra<2*this.ta&&a.Si(d.sa,d.oa,this.ta))return this.Wi()}else if((d.oa-d.ra)/(d.sa-d.ua)*(a.sa-a.ua)<this.Dr&&d.Si(a.sa,a.oa,this.ta))return this.Wi();return 1};a.prototype.NQ=function(a,d){if(a.ua<d.ua){if(d.sa>d.ua&&d.oa-d.ra<2*this.ta&&a.Si(d.sa,d.oa,this.ta))return this.Wi()}else if((d.oa-d.ra)/(d.sa-d.ua)*(a.ua-a.sa)<this.Dr&&d.Si(a.ua,a.ra,this.ta))return this.Wi();return-1};a.prototype.OQ=\nfunction(a,d){var b=new c.b;b.zc(d.Cc(),d.ec());b.Ur();b.normalize();var l=new c.b;l.zc(a.ec(),d.ec());var k=new c.b;k.zc(a.Cc(),d.ec());var l=l.oi(b),b=k.oi(b),k=Math.abs(l),m=Math.abs(b);if(k<m){if(k<this.Dr&&d.Si(a.ua,a.ra,this.ta))return this.Wi()}else if(m<this.Dr&&d.Si(a.sa,a.oa,this.ta))return this.Wi();return 0>l&&0>b?-1:0<l&&0<b?1:this.Wi()};a.prototype.UF=function(a,d){return a.ra==d.ra&&a.ua==d.ua?this.MQ(a,d):a.oa==d.oa&&a.sa==d.sa?this.NQ(a,d):this.OQ(a,d)};a.prototype.PQ=function(a,\nd){return a.oa==d.oa&&a.sa==d.sa&&a.ra==d.ra&&a.ua==d.ua?this.QA?this.Az():0:this.Wi()};a.prototype.VF=function(a,d){var b=1;if(a.wb.ra<d.wb.ra){var b=-1,c=a;a=d;d=c}var c=a.wb,k=d.wb,m=c.ua-k.ua,g=d.ZA*(c.ra-k.ra),p=this.Dr;return m<g-p?-b:m>g+p?b:k.Si(c.ua,c.ra,this.ta)?this.Wi():m<g?-b:b};a.prototype.WF=function(a,d){var b=1;if(d.wb.oa<a.wb.oa){var b=-1,c=a;a=d;d=c}var c=a.wb,k=d.wb,m=c.sa-k.ua,g=d.ZA*(c.oa-k.ra),p=this.Dr;return m<g-p?-b:m>g+p?b:k.Si(c.sa,c.oa,this.ta)?this.Wi():m<g?-b:b};a.prototype.Az=\nfunction(){this.Ng=!0;this.mj=new c.$d(5,this.vp,this.Yt);return-1};a.prototype.Wi=function(){this.Ng=!0;this.QA?this.mj=new c.$d(4,this.vp,this.Yt):this.Yt=this.vp=this.St=this.Rt=-1;return-1};a.prototype.RQ=function(a,d,b,c){if(this.Ng)return-1;var k=this.bJ==this.il&&this.aJ==this.Ar,m;k&&a==this.Rt?m=this.cJ:(m=NaN,this.Rt=-1);k&&d==this.St?k=this.dJ:(k=NaN,this.St=-1);b.Le.SJ(n);c.Le.SJ(g);if(n.ha<g.ca)return-1;if(g.ha<n.ca)return 1;this.bJ=this.il;this.aJ=this.Ar;isNaN(m)&&(this.Rt=a,this.cJ=\nm=a=b.Le.pf(this.il,this.Ar));isNaN(k)&&(this.St=d,this.dJ=k=a=c.Le.pf(this.il,this.Ar));return Math.abs(m-k)<=this.ta?this.SQ(b.Le,c.Le):m<k?-1:m>k?1:0};a.prototype.Gs=function(){this.Ng=!1};a.prototype.en=function(){return this.mj};a.prototype.QK=function(a,d){this.il=a;this.Ar=d;this.Yt=this.vp=this.St=this.Rt=-1};a.prototype.compare=function(a,d,b){if(this.Ng)return-1;a=a.ja(b);this.rn=b;return this.YF(d,d,a,a)};a.prototype.YF=function(a,d,b,c){var k;this.vp==d?k=this.AB:(this.vp=d,k=this.AB,\nthis.AB.qb=a,this.AH(k,d,this.a.Dd.f,this.a.wf));var m;null==m&&(this.Yt=c,m=this.kJ,this.kJ.qb=b,this.AH(m,c,this.a.Dd.f,this.a.wf));if(k.Fw||m.Fw)return this.RQ(d,c,k,m);if(k.rg.ha<m.rg.ca)return-1;if(m.rg.ha<k.rg.ca)return 1;a=k.Iw?1:0;a|=m.Iw?2:0;return 0==a?this.QQ(k,m):1==a?this.UF(k.wb,m.wb):2==a?-1*this.UF(m.wb,k.wb):this.PQ(k.wb,m.wb)};return a}();c.gE=a})(r||(r={}));(function(c){var n=function(){function g(b,a){this.a=b;this.ta=a;this.Ng=!1;this.vp=-1;this.rg=new c.Ac;this.wr=new c.b;this.wr.$c();\nthis.Fe=new c.Hb;this.rn=-1;this.iB=1.7976931348623157E308}g.prototype.Gs=function(){this.Ng=!1;this.iB=1.7976931348623157E308};g.prototype.Yh=function(b){this.wr.L(b)};g.prototype.compare=function(b,a){return this.ZF(a,b.ja(a))};g.prototype.ZF=function(b,a){var d=null!=this.a.ic(a);d||(this.a.pd(a,this.Fe),this.rg.lC(this.Fe.ua,this.Fe.sa));if(d)throw c.g.X(\"not implemented\");if(this.wr.x+this.ta<this.rg.ca)return-1;if(this.wr.x-this.ta>this.rg.ha)return 1;if(this.Fe.ra==this.Fe.oa)return this.rn=\nb,this.Ng=!0,0;this.Fe.BJ();var f=this.Fe.ec(),d=new c.b;d.zc(this.Fe.Cc(),f);d.Ur();var e=new c.b;e.zc(this.wr,f);f=d.oi(e);f/=d.length();return f<10*-this.ta?-1:f>10*this.ta?1:this.Fe.mt(this.wr,this.ta)&&(d=Math.abs(f),d<this.iB&&(this.rn=b,this.iB=d),this.Ng=!0,d<.25*this.ta)?0:0>f?-1:1};return g}();c.bO=n})(r||(r={}));(function(c){function n(b,a,d,f){d=new Float64Array(b.subarray(d,f));b.set(d,a)}var g=function(){function b(a){this.xa=this.Ce=!1;this.f=[];var d=a;2>d&&(d=2);this.f=c.J.gf(d,b.Bb);\nthis.size=a}b.prototype.rotate=function(a,d,f){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>f||a>f)throw c.g.F();a!=d&&f!=d&&(this.Zd(a,d-a,1),this.Zd(d,f-d,1),this.Zd(a,f-a,1))};b.zd=function(a,d){b.Bb=d;var f=new b(a);b.Bb=0;return f};b.Bk=function(a){var d=new b(0);d.f=a.f.slice(0);d.size=a.size;return d};b.$=function(a,d){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);f.f=a.f.slice(0,f.size);return f};b.prototype.yb=function(){};b.prototype.read=function(a){return this.f[a]};b.prototype.fc=\nfunction(a,d){d.x=this.f[a];d.y=this.f[a+1]};b.prototype.pX=function(a,d){d.x=this.f[a];d.y=this.f[a+1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=\nfunction(a){return this.read(a)};b.prototype.resize=function(a,d){void 0===d&&(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");if(a<=this.size){if(c.J.truncate(5*a/4)<this.f.length){var f=this.f.slice(0,a);this.f=f}}else if(a>this.f.length){c.J.truncate(64>a?Math.max(2*a,4):5*a/4);for(var f=this.f.slice(0),b=this.f.length;b<a;b++)f[b]=d;this.f=f}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");\nthis.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=function(a,d,f){for(var b=this.size;d<b&&d<f;d++)a=c.J.Zi(this.read(d));return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=a.read(d))return!1;return!0};b.prototype.Sq=function(a,d,f,b,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*b>this.f.length?this.resize(this.size+2*b):this.size+=2*b;l-=\na;for(var k=this.f.slice(a,a+l),m=0;m<l;m++)this.f[a+2*b+m]=k[m];if(h)for(h=0;h<b;h++)l=d[f++],this.f[a++]=l.x,this.f[a++]=l.y;else for(h=0,k=b-1;h<b;++h)l=d[f+k],this.f[a++]=l.x,this.f[a++]=l.y,k--};b.prototype.Rk=function(a,d,f,b,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=b%l))throw c.g.F();var m=this.size-k;m<b&&this.resize(this.size+b-m);for(m=0;m<k-a;m++)this.f[a+b+m]=this.f[a+m];this.f==d.f&&a<f&&(f+=b);if(h)for(m=0;m<b;m++)this.f[m+a]=d.f[f+m];else for(h=b,k=0;k<b;k+=l)for(h-=l,m=0;m<\nl;m++)this.f[a+k+m]=d.f[f+h+m]};b.prototype.Vj=function(a,d,f,b){if(this.xa)throw c.g.Da();b-=a;for(var h=this.f.slice(a,a+b),l=0;l<b;l++)this.f[a+f+l]=h[l];for(b=0;b<f;b++)this.f[a+b]=d};b.prototype.eh=function(a,d,f){if(this.xa)throw c.g.Da();for(var b=this.f.slice(a,a+(f-a)),h=0;h<f-a;h++)this.f[h+a+2]=b[h];this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(f.length<b+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),h)for(h=0;h<d;h++)this.f[a+\nh]=f[b+h];else for(h||(a+=d-1),d=b+d;b<d;b++)this.f[a]=f[b],a--};b.prototype.ho=function(a,d,f,b,h,l){if(0>a||0>d||0>b)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();if(f.size<b+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),f==this)this.Ij(a,d,b,h,l);else if(h)for(h=0;h<d;h++)this.f[a]=f.f[b],a++,b++;else if(b=b+d-l,1==l)for(h=0;h<d;h++)this.f[a]=f.f[b],a++,b--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=f.f[b+k];a+=l;b-=l}};b.prototype.Fk=function(a,\nd,f){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();if(0<f-(a+d)){f-=a+d;for(var b=this.f.slice(a+d,a+f+d),h=0;h<f;h++)this.f[a+h]=b[h]}this.size-=d};b.prototype.Zd=function(a,d,f){if(this.xa)throw c.g.Da();if(1>f||0!=d%f)throw c.g.Da();for(var b=d>>1,h=0;h<b;h+=f){d-=f;for(var l=0;l<f;l++){var k=this.f[a+h+l];this.f[a+h+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,f){if(0>d||0>f||0>d||f+d>this.size)throw c.g.F();for(var b=d;b<d+f;b++)this.f[b]=a};b.prototype.Ij=function(a,\nd,f,b,h){if(!b||a!=f){for(var l=0;l<d;l++)this.f[a+l]=this.f[f+l];if(!b)for(f=a,a=a+d-h,b=0,d=c.J.truncate(d/2);b<d;b++){for(l=0;l<h;l++){var k=this.f[f+l];this.f[f+l]=this.f[a+l];this.f[a+l]=k}f+=h;a-=h}}};b.prototype.ks=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=b;b<d;b++)this.f[a]=f[b].x,this.f[a+1]=f[b].y,a+=h};b.prototype.hy=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(0!=d)for(this.size<(d<<1)+\na&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=b;b<d;b++)this.f[a]=f[b][0],this.f[a+1]=f[b][1],a+=h};b.prototype.pl=function(a,d,f,b,h){if(0>a||0>d||0>b||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)f[b+h]=this.f[a+h];else for(b=b+d-1;a<d;a++)f[b]=this.f[a],b--};b.prototype.Hx=function(a,d,f,b,h){if(0>a||0>d||0>b||this.size<(d>>1)+a)throw c.g.F();if(0!=d)for(h||(a+=d-1),h=h?2:-2,d=b+d;b<d;b++)f[b][0]=this.f[a],f[b][1]=this.f[a+1],a+=h};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};\nb.prototype.Mp=function(){this.Ce=this.xa=!0};b.prototype.Gd=function(a,d,f){var b=this.f.slice(0,a),h=this.f.slice(d);a=this.f.slice(a,d).sort(f);this.f.length=0;this.f.push.apply(this.f,b.concat(a).concat(h))};b.prototype.si=function(){return 1};b.Bb=0;return b}();c.Rd=g;g=function(){function b(a){this.xa=this.Ce=!1;this.f=null;var d=a;2>d&&(d=2);this.f=new Float64Array(d);this.size=a}b.prototype.rotate=function(a,d,f){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>f||a>f)throw c.g.F();a!=d&&\nf!=d&&(this.Zd(a,d-a,1),this.Zd(d,f-d,1),this.Zd(a,f-a,1))};b.zd=function(a,d){var f=new b(a),e=a,h=f.f;2>e&&(e=2);if(0!==d)for(var c=0;c<e;c++)h[c]=d;return f};b.Bk=function(a){var d=new b(0);d.f=new Float64Array(a.f);d.size=a.size;return d};b.$=function(a,d){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);var e=f.size;2>e&&(e=2);f.f=new Float64Array(e);f.f.set(a.f.length<=e?a.f:a.f.subarray(0,e),0);return f};b.prototype.yb=function(a){0>=a||(null==this.f?this.f=new Float64Array(a):a<=this.f.length||\n(0<this.f.length?(a=new Float64Array(a),a.set(this.f),this.f=a):this.f=new Float64Array(a)))};b.prototype.read=function(a){return this.f[a]};b.prototype.fc=function(a,d){d.x=this.f[a];d.y=this.f[a+1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+\n1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=function(a){return this.read(a)};b.prototype.resize=function(a,d){void 0===d&&(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");if(a<=this.size){if(30<this.f.length&&5*a/4<this.f.length){var f=new Float64Array(this.f,0,a);this.f=f}}else{a>this.f.length&&(f=c.J.truncate(64>a?Math.max(2*a,4):5*a/4),f=new Float64Array(f),f.set(this.f),this.f=f);for(var f=this.f,b=this.size;b<\na;b++)f[b]=d}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=function(a,d,f){for(var b=this.size;d<b&&d<f;d++)a=c.J.Zi(this.read(d));return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=\na.read(d))return!1;return!0};b.prototype.Rk=function(a,d,f,b,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=b%l))throw c.g.F();var m=this.size-k;m<b&&this.resize(this.size+b-m);n(this.f,a+b,a,a+(k-a));this.f==d.f&&a<f&&(f+=b);if(h)this.f.set(d.f.subarray(f,f+b),a);else for(h=b,k=0;k<b;k+=l)for(h-=l,m=0;m<l;m++)this.f[a+k+m]=d.f[f+h+m]};b.prototype.Sq=function(a,d,f,b,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*b>this.f.length?this.resize(this.size+2*b):this.size+=2*b;n(this.f,\na+2*b,a,a+(l-a));if(h)for(h=0;h<b;h++)l=d[f++],this.f[a++]=l.x,this.f[a++]=l.y;else{h=0;for(var k=b-1;h<b;++h)l=d[f+k],this.f[a++]=l.x,this.f[a++]=l.y,k--}};b.prototype.Vj=function(a,d,f,b){if(this.xa)throw c.g.Da();b-=a;n(this.f,a+b,a,a+b);for(b=0;b<f;b++)this.f[a+b]=d};b.prototype.eh=function(a,d,f){if(this.xa)throw c.g.Da();n(this.f,a+2,a,a+(f-a));this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(f.length<b+d)throw c.g.F();if(0!=d)if(this.size<\nd+a&&this.resize(d+a),h)this.f.set(f.subarray(b,d),a);else for(h||(a+=d-1),d=b+d;b<d;b++)this.f[a]=f[b],a--};b.prototype.ho=function(a,d,f,b,h,l){if(0>a||0>d||0>b)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();if(f.size<b+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),f==this)this.Ij(a,d,b,h,l);else if(h)for(h=0;h<d;h++)this.f[a]=f.f[b],a++,b++;else if(b=b+d-l,1==l)for(h=0;h<d;h++)this.f[a]=f.f[b],a++,b--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=f.f[b+\nk];a+=l;b-=l}};b.prototype.Fk=function(a,d,f){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();0<f-(a+d)&&n(this.f,a,a+d,a+(f-(a+d))+d);this.size-=d};b.prototype.Zd=function(a,d,f){if(this.xa)throw c.g.Da();if(1>f||0!=d%f)throw c.g.Da();for(var b=d>>1,h=0;h<b;h+=f){d-=f;for(var l=0;l<f;l++){var k=this.f[a+h+l];this.f[a+h+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,f){if(0>d||0>f||0>d||f+d>this.size)throw c.g.F();for(var b=d;b<d+f;b++)this.f[b]=a};b.prototype.Ij=function(a,\nd,f,b,h){if(!b||a!=f)if(this.f.set(this.f.subarray(f,f+d),a),!b)for(f=a,a=a+d-h,b=0,d=c.J.truncate(d/2);b<d;b++){for(var l=0;l<h;l++){var k=this.f[f+l];this.f[f+l]=this.f[a+l];this.f[a+l]=k}f+=h;a-=h}};b.prototype.ks=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=b;b<d;b++)this.f[a]=f[b].x,this.f[a+1]=f[b].y,a+=h};b.prototype.hy=function(a,d,f,b,h){if(0>a||0>d||0>b)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<\n1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=b;b<d;b++)this.f[a]=f[b][0],this.f[a+1]=f[b][1],a+=h};b.prototype.pl=function(a,d,f,b,h){if(0>a||0>d||0>b||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)f[b+h]=this.f[a+h];else for(b=b+d-1;a<d;a++)f[b]=this.f[a],b--};b.prototype.Hx=function(a,d,f,b,h){if(0>a||0>d||0>b||this.size<(d>>1)+a)throw c.g.F();if(0!=d)for(h||(a+=d-1),h=h?2:-2,d=b+d;b<d;b++)f[b][0]=this.f[a],f[b][1]=this.f[a+1],a+=h};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};b.prototype.Mp=\nfunction(){this.Ce=this.xa=!0};b.prototype.Gd=function(a,d,f){Array.prototype.sort.call(this.f.subarray(a,d),f)};b.prototype.si=function(){return 1};return b}();c.LL=g})(r||(r={}));!0===r.Xh.Bm&&!0===r.Xh.jw&&(r.Rd=r.LL);(function(c){function n(b,a,d,f){d=new Int32Array(b.subarray(d,f));b.set(d,a)}c.BZ=function(){return function(){this.random=1973}}();var g=function(){function b(a){this.xa=this.Ce=!1;this.f=[];var d=a;2>d&&(d=2);this.f=this.f=c.J.gf(d,b.Bb);this.size=a}b.prototype.rotate=function(a,\nd,f){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>f||a>f)throw c.g.F();a!=d&&f!=d&&(this.Zd(a,d-a,1),this.Zd(d,f-d,1),this.Zd(a,f-a,1))};b.zd=function(a,d){b.Bb=d;var f=new b(a);b.Bb=0;return f};b.Bk=function(a){var d=new b(0);d.f=a.f.slice(0);d.size=a.size;return d};b.$=function(a,d){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);f.f=a.f.slice(0,f.size);return f};b.prototype.yb=function(){};b.prototype.read=function(a){return this.f[a]};b.prototype.fc=function(a,d){d.x=this.f[a];d.y=this.f[a+\n1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=function(a){return this.read(a)};b.prototype.resize=function(a,d){void 0===d&&(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");\nif(a<=this.size){if(c.J.truncate(5*a/4)<this.f.length){var f=this.f.slice(0,a);this.f=f}}else if(a>this.f.length){c.J.truncate(64>a?Math.max(2*a,4):5*a/4);for(var f=this.f.slice(0),b=this.f.length;b<a;b++)f[b]=d;this.f=f}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=function(a,d,f){for(var b=this.size;d<\nb&&d<f;d++)a=c.J.dh(this.read(d),a);return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=a.read(d))return!1;return!0};b.prototype.Rk=function(a,d,f,b,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=b%l))throw c.g.F();for(var m=0;m<k-a;m++)this.f[a+b+m]=this.f[a+m];this.f==d.f&&a<f&&(f+=b);if(h)for(m=0;m<b;m++)this.f[m+a]=d.f[f+m];else for(h=b,k=0;k<b;k+=l)for(h-=l,m=0;m<l;m++)this.f[a+\nk+m]=d.f[f+h+m]};b.prototype.Sq=function(a,d,f,b,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*b>this.f.length?this.resize(this.size+2*b):this.size+=2*b;l-=a;for(var k=this.f.slice(a,a+l),m=0;m<l;m++)this.f[a+2*b+m]=k[m];if(h)for(h=0;h<b;h++)l=d[f++],this.f[a++]=l.x,this.f[a++]=l.y;else for(h=0,k=b-1;h<b;++h)l=d[f+k],this.f[a++]=l.x,this.f[a++]=l.y,k--};b.prototype.Vj=function(a,d,f,b){if(this.xa)throw c.g.Da();b-=a;for(var h=this.f.slice(a,a+b),l=0;l<b;l++)this.f[a+f+l]=h[l];for(b=\n0;b<f;b++)this.f[a+b]=d};b.prototype.eh=function(a,d,b){if(this.xa)throw c.g.Da();for(var e=this.f.slice(a,a+(b-a)),h=0;h<b-a;h++)this.f[h+a+2]=e[h];this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(b.length<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),h)for(h=0;h<d;h++)this.f[a+h]=b[e+h];else for(h||(a+=d-1),d=e+d;e<d;e++)this.f[a]=b[e],a--};b.prototype.ho=function(a,d,b,e,h,l){if(0>a||0>d||0>e)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();\nif(b.size<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),b==this)this.Ij(a,d,e,h,l);else if(h)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e++;else if(e=e+d-l,1==l)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=b.f[e+k];a+=l;e-=l}};b.prototype.Fk=function(a,d,b){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();if(0<b-(a+d)){b-=a+d;for(var e=this.f.slice(a+d,a+b+d),h=0;h<b;h++)this.f[a+h]=e[h]}this.size-=d};b.prototype.Zd=\nfunction(a,d,b){if(this.xa)throw c.g.Da();if(1>b||0!=d%b)throw c.g.Da();for(var e=d>>1,h=0;h<e;h+=b){d-=b;for(var l=0;l<b;l++){var k=this.f[a+h+l];this.f[a+h+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,b){if(0>d||0>b||0>d||b+d>this.size)throw c.g.F();for(var e=d;e<d+b;e++)this.f[e]=a};b.prototype.Ij=function(a,d,b,e,h){if(!e||a!=b){for(var l=0;l<d;l++)this.f[a+l]=this.f[b+l];if(!e)for(b=a,a=a+d-h,e=0,d=c.J.truncate(d/2);e<d;e++){for(l=0;l<h;l++){var k=this.f[b+l];this.f[b+l]=this.f[a+\nl];this.f[a+l]=k}b+=h;a-=h}}};b.prototype.ks=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=e;e<d;e++)this.f[a]=b[e].x,this.f[a+1]=b[e].y,a+=h};b.prototype.pl=function(a,d,b,e,h){if(0>a||0>d||0>e||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)b[e+h]=this.f[a+h];else for(e=e+d-1;a<d;a++)b[e]=this.f[a],e--};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};b.prototype.Mp=function(){this.Ce=this.xa=!0};b.prototype.Gd=\nfunction(a,d,b){var e=this.f.slice(0,a),h=this.f.slice(d);a=this.f.slice(a,d).sort(b);this.f.length=0;this.f.push.apply(this.f,e.concat(a).concat(h))};b.prototype.si=function(){return 2};b.prototype.Fc=function(){return this.f[this.size-1]};b.prototype.Pf=function(){this.resize(this.size-1)};b.prototype.CK=function(a){this.f[this.size-1]=a};b.prototype.HJ=function(a){a<this.size-1&&(this.f[a]=this.f[this.size-1]);this.resize(this.size-1)};b.prototype.Ov=function(a){for(var d=0,b=this.size;d<b;d++)if(this.f[d]==\na)return d;return-1};b.prototype.oA=function(a){return 0<=this.Ov(a)};b.Bb=0;return b}();c.ia=g;g=function(){function b(a){this.xa=this.Ce=!1;this.f=null;var d=a;2>d&&(d=2);this.f=new Int32Array(d);this.size=a}b.prototype.rotate=function(a,d,b){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>b||a>b)throw c.g.F();a!=d&&b!=d&&(this.Zd(a,d-a,1),this.Zd(d,b-d,1),this.Zd(a,b-a,1))};b.zd=function(a,d){var f=new b(a),e=a,h=f.f;2>e&&(e=2);if(0!==d)for(var c=0;c<e;c++)h[c]=d;return f};b.Bk=function(a){var d=\nnew b(0);d.f=new Int32Array(a.f);d.size=a.size;return d};b.$=function(a,d){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);var e=f.size;2>e&&(e=2);f.f=new Int32Array(e);f.f.set(a.f.length<=e?a.f:a.f.subarray(0,e),0);return f};b.prototype.yb=function(a){0>=a||(null==this.f?this.f=new Int32Array(a):a<=this.f.length||(0<this.f.length?(a=new Int32Array(a),a.set(this.f),this.f=a):this.f=new Int32Array(a)))};b.prototype.read=function(a){return this.f[a]};b.prototype.fc=function(a,d){d.x=this.f[a];d.y=\nthis.f[a+1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=function(a){return this.read(a)};b.prototype.resize=function(a,d){void 0===d&&\n(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");if(a<=this.size){if(30<this.f.length&&5*a/4<this.f.length){var b=new Int32Array(this.f,0,a);this.f=b}}else{a>this.f.length&&(b=c.J.truncate(64>a?Math.max(2*a,4):5*a/4),b=new Int32Array(b),b.set(this.f),this.f=b);for(var b=this.f,e=this.size;e<a;e++)b[e]=d}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");\nthis.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=function(a,d,b){for(var e=this.size;d<e&&d<b;d++)a=c.J.dh(this.read(d),a);return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=a.read(d))return!1;return!0};b.prototype.Rk=function(a,d,b,e,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=e%l))throw c.g.F();n(this.f,a+e,a,a+(k-a));this.f==d.f&&a<b&&(b+=e);if(h)this.f.set(d.f.subarray(b,\nb+e),a);else for(h=e,k=0;k<e;k+=l){h-=l;for(var m=0;m<l;m++)this.f[a+k+m]=d.f[b+h+m]}};b.prototype.Sq=function(a,d,b,e,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*e>this.f.length?this.resize(this.size+2*e):this.size+=2*e;n(this.f,a+2*e,a,a+(l-a));if(h)for(h=0;h<e;h++)l=d[b++],this.f[a++]=l.x,this.f[a++]=l.y;else{h=0;for(var k=e-1;h<e;++h)l=d[b+k],this.f[a++]=l.x,this.f[a++]=l.y,k--}};b.prototype.Vj=function(a,d,b,e){if(this.xa)throw c.g.Da();e-=a;n(this.f,a+e,a,a+e);for(e=0;e<b;e++)this.f[a+\ne]=d};b.prototype.eh=function(a,d,b){if(this.xa)throw c.g.Da();n(this.f,a+2,a,a+(b-a));this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(b.length<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),h)this.f.set(b.subarray(e,d),a);else for(h||(a+=d-1),d=e+d;e<d;e++)this.f[a]=b[e],a--};b.prototype.ho=function(a,d,b,e,h,l){if(0>a||0>d||0>e)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();if(b.size<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&\nthis.resize(d+a),b==this)this.Ij(a,d,e,h,l);else if(h)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e++;else if(e=e+d-l,1==l)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=b.f[e+k];a+=l;e-=l}};b.prototype.Fk=function(a,d,b){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();0<b-(a+d)&&n(this.f,a,a+d,a+(b-(a+d))+d);this.size-=d};b.prototype.Zd=function(a,d,b){if(this.xa)throw c.g.Da();if(1>b||0!=d%b)throw c.g.Da();for(var e=d>>1,h=0;h<\ne;h+=b){d-=b;for(var l=0;l<b;l++){var k=this.f[a+h+l];this.f[a+h+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,b){if(0>d||0>b||0>d||b+d>this.size)throw c.g.F();for(var e=d;e<d+b;e++)this.f[e]=a};b.prototype.Ij=function(a,d,b,e,h){if(!e||a!=b)if(this.f.set(this.f.subarray(b,b+d),a),!e)for(b=a,a=a+d-h,e=0,d=c.J.truncate(d/2);e<d;e++){for(var l=0;l<h;l++){var k=this.f[b+l];this.f[b+l]=this.f[a+l];this.f[a+l]=k}b+=h;a-=h}};b.prototype.ks=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();\nif(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=e;e<d;e++)this.f[a]=b[e].x,this.f[a+1]=b[e].y,a+=h};b.prototype.pl=function(a,d,b,e,h){if(0>a||0>d||0>e||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)b[e+h]=this.f[a+h];else for(e=e+d-1;a<d;a++)b[e]=this.f[a],e--};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};b.prototype.Mp=function(){this.Ce=this.xa=!0};b.prototype.Gd=function(a,d,f){10>d-a?b.ul(this.f,a,d,f):b.Oi(this.f,a,d-1,f)};b.prototype.si=function(){return 2};\nb.prototype.Fc=function(){return this.f[this.size-1]};b.prototype.Pf=function(){this.resize(this.size-1)};b.prototype.CK=function(a){this.f[this.size-1]=a};b.prototype.HJ=function(a){a<this.size-1&&(this.f[a]=this.f[this.size-1]);this.resize(this.size-1)};b.prototype.Ov=function(a){for(var d=0,b=this.size;d<b;d++)if(this.f[d]==a)return d;return-1};b.prototype.oA=function(a){return 0<=this.Ov(a)};b.ul=function(a,d,b,e){for(var h=d;h<b;h++){for(var c=a[h],k=h-1;k>=d&&0<e(a[k],c);)a[k+1]=a[k],k--;a[k+\n1]=c}};b.Wg=function(a,d,b){var e=a[b];a[b]=a[d];a[d]=e};b.Oi=function(a,d,f,e){if(!(d>=f))for(;;){if(9>f-d){b.ul(a,d,f+1,e);break}var h=a[d];b.Wg(a,d,f);for(var c=d,k=d;k<f;k++)0>=e(a[k],h)&&(b.Wg(a,c,k),c+=1);b.Wg(a,c,f);c-d<f-c?(b.Oi(a,d,c-1,e),d=c+1):(b.Oi(a,c+1,f,e),f=c-1)}};return b}();c.jy=g})(r||(r={}));!0===r.Xh.Bm&&(r.ia=r.jy);(function(c){function n(b,a,d,f){d=new Int8Array(b.subarray(d,f));b.set(d,a)}var g=function(){function b(a){this.xa=this.Ce=!1;this.f=[];var d=a;2>d&&(d=2);this.f=\nc.J.gf(d,b.Bb);this.size=a}b.prototype.rotate=function(a,d,b){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>b||a>b)throw c.g.F();a!=d&&b!=d&&(this.Zd(a,d-a,1),this.Zd(d,b-d,1),this.Zd(a,b-a,1))};b.zd=function(a,d){b.Bb=d;var f=new b(a);b.Bb=0;return f};b.Bk=function(a){var d=new b(0);d.f=a.f.slice(0);d.size=a.size;return d};b.$=function(a,d){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);f.f=a.f.slice(0,f.size);return f};b.prototype.yb=function(){};b.prototype.read=function(a){return this.f[a]};\nb.prototype.fc=function(a,d){d.x=this.f[a];d.y=this.f[a+1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=function(a){return this.read(a)};\nb.prototype.resize=function(a,d){void 0===d&&(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");if(a<=this.size){if(c.J.truncate(5*a/4)<this.f.length){var b=this.f.slice(0,a);this.f=b}}else if(a>this.f.length){c.J.truncate(64>a?Math.max(2*a,4):5*a/4);for(var b=this.f.slice(0),e=this.f.length;e<a;e++)b[e]=d;this.f=b}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");\nthis.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=function(a,d,b){for(var e=this.size;d<e&&d<b;d++)a=c.J.dh(this.read(d),a);return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=a.read(d))return!1;return!0};b.prototype.Rk=function(a,d,b,e,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=e%l))throw c.g.F();for(var m=0;m<k-a;m++)this.f[a+e+m]=this.f[a+m];this.f==\nd.f&&a<b&&(b+=e);if(h)for(m=0;m<e;m++)this.f[m+a]=d.f[b+m];else for(h=e,k=0;k<e;k+=l)for(h-=l,m=0;m<l;m++)this.f[a+k+m]=d.f[b+h+m]};b.prototype.Sq=function(a,d,b,e,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*e>this.f.length?this.resize(this.size+2*e):this.size+=2*e;l-=a;for(var k=this.f.slice(a,a+l),m=0;m<l;m++)this.f[a+2*e+m]=k[m];if(h)for(h=0;h<e;h++)l=d[b++],this.f[a++]=l.x,this.f[a++]=l.y;else for(h=0,k=e-1;h<e;++h)l=d[b+k],this.f[a++]=l.x,this.f[a++]=l.y,k--};b.prototype.Vj=\nfunction(a,d,b,e){if(this.xa)throw c.g.Da();e-=a;for(var h=this.f.slice(a,a+e),l=0;l<e;l++)this.f[a+b+l]=h[l];for(e=0;e<b;e++)this.f[a+e]=d};b.prototype.eh=function(a,d,b){if(this.xa)throw c.g.Da();for(var e=this.f.slice(a,a+(b-a)),h=0;h<b-a;h++)this.f[h+a+2]=e[h];this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(b.length<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),h)for(h=0;h<d;h++)this.f[a+h]=b[e+h];else for(h||(a+=d-1),d=e+d;e<\nd;e++)this.f[a]=b[e],a--};b.prototype.ho=function(a,d,b,e,h,l){if(0>a||0>d||0>e)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();if(b.size<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),b==this)this.Ij(a,d,e,h,l);else if(h)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e++;else if(e=e+d-l,1==l)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=b.f[e+k];a+=l;e-=l}};b.prototype.Fk=function(a,d,b){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();\nif(0<b-(a+d)){b-=a+d;for(var e=this.f.slice(a+d,a+b+d),h=0;h<b;h++)this.f[a+h]=e[h]}this.size-=d};b.prototype.Zd=function(a,d,b){if(this.xa)throw c.g.Da();if(1>b||0!=d%b)throw c.g.Da();for(var e=d>>1,h=0;h<e;h+=b){d-=b;for(var l=0;l<b;l++){var k=this.f[a+h+l];this.f[a+h+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,b){if(0>d||0>b||0>d||b+d>this.size)throw c.g.F();for(var e=d;e<d+b;e++)this.f[e]=a};b.prototype.Ij=function(a,d,b,e,h){if(!e||a!=b){for(var l=0;l<d;l++)this.f[a+l]=this.f[b+\nl];if(!e)for(b=a,a=a+d-h,e=0,d=c.J.truncate(d/2);e<d;e++){for(l=0;l<h;l++){var k=this.f[b+l];this.f[b+l]=this.f[a+l];this.f[a+l]=k}b+=h;a-=h}}};b.prototype.ks=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||(a+=d-1<<1),h=h?2:-2,d+=e;e<d;e++)this.f[a]=b[e].x,this.f[a+1]=b[e].y,a+=h};b.prototype.pl=function(a,d,b,e,h){if(0>a||0>d||0>e||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)b[e+h]=this.f[a+h];else for(e=e+d-1;a<d;a++)b[e]=this.f[a],\ne--};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};b.prototype.Mp=function(){this.Ce=this.xa=!0};b.prototype.Gd=function(a,d,b){var e=this.f.slice(0,a),h=this.f.slice(d);a=this.f.slice(a,d).sort(b);this.f.length=0;this.f.push.apply(this.f,e.concat(a).concat(h))};b.prototype.si=function(){return 1};b.prototype.jC=function(a,d){if(this.xa)throw c.g.X(\"invalid call. Attribute Stream is read only.\");this.f[a]|=d};b.prototype.fz=function(a,d){if(this.xa)throw c.g.X(\"invalid call. Attribute Stream is read only.\");\nthis.f[a]&=~d};b.Bb=0;return b}();c.Fm=g;g=function(){function b(a){this.f=null;var d=a;2>d&&(d=2);this.f=new Int8Array(d);this.size=a}b.prototype.rotate=function(a,d,b){if(this.xa)throw c.g.X(\"invalid_call\");if(d<a||d>b||a>b)throw c.g.F();a!=d&&b!=d&&(this.Zd(a,d-a,1),this.Zd(d,b-d,1),this.Zd(a,b-a,1))};b.zd=function(a,d){var f=new b(a),e=a,h=f.f;2>e&&(e=2);if(0!==d)for(var c=0;c<e;c++)h[c]=d;return f};b.Bk=function(a){var d=new b(0);d.f=new Int8Array(a.f);d.size=a.size;return d};b.$=function(a,\nd){var f=new b(0);f.size=a.size;f.size>d&&(f.size=d);var e=f.size;2>e&&(e=2);f.f=new Int8Array(e);f.f.set(a.f.length<=e?a.f:a.f.subarray(0,e),0);return f};b.prototype.yb=function(a){0>=a||(null==this.f?this.f=new Int8Array(a):a<=this.f.length||(0<this.f.length?(a=new Int8Array(a),a.set(this.f),this.f=a):this.f=new Int8Array(a)))};b.prototype.read=function(a){return this.f[a]};b.prototype.fc=function(a,d){d.x=this.f[a];d.y=this.f[a+1]};b.prototype.get=function(a){return this.f[a]};b.prototype.write=\nfunction(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.set=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d};b.prototype.fo=function(a,d){if(this.xa)throw c.g.Da();this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.add=function(a){this.resize(this.size+1);this.f[this.size-1]=a};b.prototype.Tr=function(a){return b.$(this,a)};b.prototype.Of=function(a){return this.read(a)};b.prototype.resize=function(a,d){void 0===d&&(d=0);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");\nif(a<=this.size){if(30<this.f.length&&5*a/4<this.f.length){var b=new Int8Array(this.f,0,a);this.f=b}}else{a>this.f.length&&(b=c.J.truncate(64>a?Math.max(2*a,4):5*a/4),b=new Int8Array(b),b.set(this.f),this.f=b);for(var b=this.f,e=this.size;e<a;e++)b[e]=d}this.size=a};b.prototype.yf=function(a){(null==this.f||a>this.f.length)&&this.resize(a);if(this.Ce)throw c.g.X(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=a};b.prototype.Dm=function(a,d){this.write(a,d)};b.prototype.Ak=\nfunction(a,d,b){for(var e=this.size;d<e&&d<b;d++)a=c.J.dh(this.read(d),a);return a};b.prototype.Eb=function(a,d,f){if(null==a||!(a instanceof b))return!1;var e=this.size,h=a.size;if(f>e||f>h&&e!=h)return!1;for(f>e&&(f=e);d<f;d++)if(this.read(d)!=a.read(d))return!1;return!0};b.prototype.Rk=function(a,d,b,e,h,l,k){if(this.xa)throw c.g.Da();if(!h&&(1>l||0!=e%l))throw c.g.F();n(this.f,a+e,a,a+(k-a));this.f==d.f&&a<b&&(b+=e);if(h)this.f.set(d.f.subarray(b,b+e),a);else for(h=e,k=0;k<e;k+=l){h-=l;for(var m=\n0;m<l;m++)this.f[a+k+m]=d.f[b+h+m]}};b.prototype.Vj=function(a,d,b,e){if(this.xa)throw c.g.Da();e-=a;n(this.f,a+e,a,a+e);for(e=0;e<b;e++)this.f[a+e]=d};b.prototype.Sq=function(a,d,b,e,h,l){if(this.xa)throw c.g.Da();0>l&&(l=this.size);this.size+2*e>this.f.length?this.resize(this.size+2*e):this.size+=2*e;n(this.f,a+2*e,a,a+(l-a));if(h)for(h=0;h<e;h++)l=d[b++],this.f[a++]=l.x,this.f[a++]=l.y;else{h=0;for(var k=e-1;h<e;++h)l=d[b+k],this.f[a++]=l.x,this.f[a++]=l.y,k--}};b.prototype.eh=function(a,d,b){if(this.xa)throw c.g.Da();\nn(this.f,a+2,a,a+(b-a));this.f[a]=d.x;this.f[a+1]=d.y};b.prototype.js=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(b.length<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),h)this.f.set(b.subarray(e,d),a);else for(h||(a+=d-1),d=e+d;e<d;e++)this.f[a]=b[e],a--};b.prototype.ho=function(a,d,b,e,h,l){if(0>a||0>d||0>e)throw c.g.F();if(!h&&(0>=l||0!=d%l))throw c.g.F();if(b.size<e+d)throw c.g.F();if(0!=d)if(this.size<d+a&&this.resize(d+a),b==this)this.Ij(a,d,e,h,l);else if(h)for(h=0;h<\nd;h++)this.f[a]=b.f[e],a++,e++;else if(e=e+d-l,1==l)for(h=0;h<d;h++)this.f[a]=b.f[e],a++,e--;else for(h=0,d=c.J.truncate(d/l);h<d;h++){for(var k=0;k<l;k++)this.f[a+k]=b.f[e+k];a+=l;e-=l}};b.prototype.Fk=function(a,d,b){if(this.xa)throw c.g.Da();if(a+d>this.size)throw c.g.Da();0<b-(a+d)&&n(this.f,a,a+d,a+(b-(a+d))+d);this.size-=d};b.prototype.Zd=function(a,d,b){if(this.xa)throw c.g.Da();if(1>b||0!=d%b)throw c.g.Da();for(var e=d>>1,h=0;h<e;h+=b){d-=b;for(var l=0;l<b;l++){var k=this.f[a+h+l];this.f[a+\nh+l]=this.f[a+d+l];this.f[a+d+l]=k}}};b.prototype.Zh=function(a,d,b){if(0>d||0>b||0>d||b+d>this.size)throw c.g.F();for(var e=d;e<d+b;e++)this.f[e]=a};b.prototype.Ij=function(a,d,b,e,h){if(!e||a!=b)if(this.f.set(this.f.subarray(b,b+d),a),!e)for(b=a,a=a+d-h,e=0,d=c.J.truncate(d/2);e<d;e++){for(var l=0;l<h;l++){var k=this.f[b+l];this.f[b+l]=this.f[a+l];this.f[a+l]=k}b+=h;a-=h}};b.prototype.ks=function(a,d,b,e,h){if(0>a||0>d||0>e)throw c.g.F();if(0!=d)for(this.size<(d<<1)+a&&this.resize((d<<1)+a),h||\n(a+=d-1<<1),h=h?2:-2,d+=e;e<d;e++)this.f[a]=b[e].x,this.f[a+1]=b[e].y,a+=h};b.prototype.pl=function(a,d,b,e,h){if(0>a||0>d||0>e||this.size<d+a)throw c.g.F();if(h)for(h=0;h<d;h++)b[e+h]=this.f[a+h];else for(e=e+d-1;a<d;a++)b[e]=this.f[a],e--};b.prototype.clear=function(a){a?this.resize(0):this.yf(0)};b.prototype.Mp=function(){this.Ce=this.xa=!0};b.prototype.Gd=function(a,d,b){d=this.f.subarray(a,d);Array.prototype.sort.call(d,b);this.f.set(d,a)};b.prototype.jC=function(a,d){if(this.xa)throw c.g.X(\"invalid call. Attribute Stream is read only.\");\nthis.f[a]|=d};b.prototype.fz=function(a,d){if(this.xa)throw c.g.X(\"invalid call. Attribute Stream is read only.\");this.f[a]&=~d};b.prototype.si=function(){return 1};return b}();c.ky=g})(r||(r={}));!0===r.Xh.Bm&&(r.Fm=r.ky);(function(c){var n=function(){function g(){}g.vq=function(b,a){return c.Fm.zd(b,a)};g.Um=function(b,a){return c.Rd.zd(b,a)};g.pz=function(b,a,d){switch(b){case 1:b=c.Rd.zd(a,d);break;case 2:b=c.ia.zd(a,d);break;case 4:b=c.Fm.zd(a,d);break;default:throw c.g.za();}return b};g.qz=\nfunction(b,a){return g.pz(c.ma.si(b),a*c.ma.Xa(b),c.ma.de(b))};g.wh=function(b,a){return c.ia.zd(b,a)};g.JB=function(b){var a,d=[];for(a=0;a<b;a++)d.push(null);return d};return g}();c.Uc=n})(r||(r={}));(function(c){var n=function(){function g(){}g.vq=function(b,a){return c.ky.zd(b,a)};g.Um=function(b,a){return c.Rd.zd(b,a)};g.pz=function(b,a,d){switch(b){case 1:b=c.Rd.zd(a,d);break;case 2:b=c.jy.zd(a,d);break;case 4:b=c.ky.zd(a,d);break;default:throw c.g.za();}return b};g.qz=function(b,a){return c.Uc.pz(c.ma.si(b),\na*c.ma.Xa(b),c.ma.de(b))};g.wh=function(b,a){return c.jy.zd(b,a)};g.JB=function(b){var a,d=[];for(a=0;a<b;a++)d.push(null);return d};return g}();c.ML=n})(r||(r={}));!0===r.Xh.Bm&&(r.Uc=r.ML);(function(c){c.ea=function(){return function(c){void 0===c&&(c=0);this.j=c}}()})(r||(r={}));(function(c){var n=function(){function g(){}g.bind=function(b){c.Vc=b.PeDefs;c.Tf=b.PeFactory;c.RD=b.PeVertcs;c.OD=b.PeCoordsys;c.fi=b.PeCSTransformations;c.QD=b.PeGTTransformations;c.zN=b.PeGeogtran;c.yN=b.PeFactoryCodechange;\nc.PD=b.PeGCSExtent;c.Bg=b.PePCSInfo;c.AN=b.PeHorizon;c.OD=b.PeCoordsys;c.fq=b.PeGTlistExtended;c.fq.PE_GTLIST_OPTS_USE_DEFAULT=128;c.Tf.initialize(null);c.wy=b.PeGTlistExtendedEntry;g.RY=c.Tf.fromString(c.Vc.PE_TYPE_UNIT,'UNIT[\"Meter\",1.0]')};g.w_=function(){};g.RY=null;return g}();c.BN=n;c.Tf=null;c.RD=null;c.OD=null;c.AN=null;c.Bg=null;c.fq=null;c.wy=null;c.PD=null;c.yN=null;c.zN=null;c.Vc=null;c.QD=null;c.fi=null})(r||(r={}));(function(c){var n=function(){function b(){}b.Ab=function(a,d){return 0<=\nd?b.K(a):-b.K(a)};b.K=function(a){return 0>a?-a:a};b.Qi=function(a){return 3.552713678800501E-15>a};b.ND=function(a,d,f){return b.K(a-d)<=f*(1+(b.K(a)+b.K(d))/2)};b.W=function(a,d){return b.ND(a,d,3.552713678800501E-15)};b.kW=function(a){return 3.552713678800501E-15>=b.K(a)};b.xd=function(a){return b.kW(a)};return b}();c.l=n;var g=function(){function b(){}b.Sp=function(a,d){var b=n.K(a),e=n.K(d),h=0;0!=b+e&&(b>e?(h=e/b,h=b*Math.sqrt(1+h*h)):(h=b/e,h=e*Math.sqrt(1+h*h)));return h};b.Or=function(a,\nd,f,e,h){for(var c=[0,0,0],k=[0,0,0],m=0;2>=m;m++)d[m]-=a[m],f[m]-=d[m];f=c[1]*k[2]-c[2]*k[1];d=c[2]*k[0]-c[0]*k[2];c=c[0]*k[1]-c[1]*k[0];a=-1*(f*a[0]+d*a[1]+c*a[2]);e[0]=f;e[1]=d;e[2]=c;e[3]=a;k=b.eo(e);e[0]/=k;e[1]/=k;e[2]/=k;e[3]/=k;0!=h&&(k=n.xd(c)?n.xd(a)?n.Ab(1,d):-n.Ab(1,a):n.Ab(1,c),k*=n.Ab(1,h),e[0]*=k,e[1]*=k,e[2]*=k,e[3]*=k)};b.fy=function(a,d,b){b[0]=a[1]*d[2]-d[1]*a[2];b[1]=a[2]*d[0]-d[2]*a[0];b[2]=a[0]*d[1]-d[0]*a[1]};b.Eu=function(a,d){return a[0]*d[0]+a[1]*d[1]+a[2]*d[2]};b.eo=function(a){return b.Sp(b.Sp(a[0],\na[1]),a[2])};b.Dk=function(a,d,f,e,h,c,k,m){a=b.n(a,d,f);var g=Math.cos(f);c.j=(a+h)*g*Math.cos(e);k.j=(a+h)*g*Math.sin(e);m.j=(a*(1-d)+h)*Math.sin(f)};b.kQ=function(a,d,f,e,h,c,k){var m=b.Sp(d,f),g=1*Math.sqrt(1-a),p=g/1;if(n.W(m,0))c.j=0,h.j=n.Ab(1.570796326794897,e),k.j=n.K(e)-g;else{c.j=Math.atan2(f,d);f=Math.atan2(1*e,g*m);c=Math.cos(f);var q=Math.sin(f);d=g*a/(1-a);a=1*a;f=Math.atan2(e+d*q*q*q,m-a*c*c*c);3.141592653589793<n.K(f)&&(f=n.Ab(3.141592653589793,f)-f);f=Math.atan(p*Math.tan(f));q=\nMath.sin(f);c=Math.cos(f);h.j=Math.atan2(e+d*q*q*q,m-a*c*c*c);1.570796326794897<n.K(h.j)&&(h.j=n.Ab(3.141592653589793,h.j)-h.j);f=Math.atan(p*Math.tan(h.j));q=Math.sin(f);c=Math.cos(f);k.j=(e-g*q)*Math.sin(h.j)+(m-1*c)*Math.cos(h.j)}};b.n=function(a,d,b){b=Math.sin(b);return a/Math.sqrt(1-d*b*b)};b.du=function(a,d){return Math.atan2(Math.sin(d)*(1-a),Math.cos(d))};b.ik=function(a,d){return Math.atan2(Math.sin(d),Math.cos(d)*(1-a))};b.xp=function(a,d){if(n.Qi(a)||0==d||n.W(n.K(d),1.570796326794897))return d;\nvar f,e,h,c,k,m,g,p,q;if(.006884661117170036>a){c=Math.sqrt(1-a);k=(1-c)/(1+c);m=k*k;g=k*m;p=k*g;f=k*p;q=k*f;e=k*q;h=1.572916666666667*g-3.2578125*f+4.295068359375*e;c=2.142578125*p-6.071484375*q;var t=3.129296875*f-11.249837239583334*e,u=4.775276692708333*q,z=7.958636765252976*e,v=Math.cos(2*d);return d+Math.sin(2*d)*(1.5*k-.84375*g+.525390625*f-.2688395182291667*e-h+t-z+v*(2*(1.3125*m-1.71875*p+1.650146484375*q)-4*c+6*u+v*(4*h-12*t+24*z+v*(8*c-32*u+v*(16*t-80*z+v*(32*u+64*v*z))))))}c=1-a;k=a/2;\nm=n.K(d);g=m*b.Tu(a)/(1.570796326794897*c);p=9999;q=m;for(m=0;1E-16<p&&50>m;m++)e=b.Cm(a,q),f=(b.EG(q,a)-k*Math.sin(2*q)/e)/c-g,e=1/(e*e*e),h=f/e,f=q-h,p=n.K(h),q=f;return 0<=d?q:-q};b.qX=function(a,d){return n.Qi(d)?a:a*b.Tu(d)/1.570796326794897};b.da=function(a){a=b.rG(a,6.283185307179586);return 0>a?a+6.283185307179586:3.141592653589793>n.K(a)||n.W(n.K(a),3.141592653589793)?a:a-6.283185307179586};b.rG=function(a,d){return a-Math.floor(a/d)*d};b.Yg=function(a,d){if(.006884661117170036>d){var f=\nMath.sqrt(1-d),f=(1-f)/(1+f),e=f*f,h=e*e;return a/(1+f)*(1+.25*e+.015625*h+.00390625*e*h)*1.570796326794897}return a*b.Tu(d)};b.Nr=function(a,d){var f=n.Ab(1,Math.sin(d)),e=n.K(b.rG(d,3.141592653589793));d=1.570796326794897>=e?e:3.141592653589793-e;var h;n.W(d,1.570796326794897)?h=d:h=Math.atan(Math.sqrt(1-a)*Math.tan(d));return h*f};b.q=function(a,d,f){if(.006884661117170036>d){d=Math.sqrt(1-d);d=(1-d)/(1+d);var e=d*d,h=d*e,c=d*h,k=d*c,m=d*k,g=d*m,p=-.7291666666666666*h+.2278645833333333*k+.03987630208333334*\ng,q=.615234375*c-.21533203125*m,t=-.54140625*k+.20302734375*g,u=.48876953125*m,z=-.4488699776785715*g,n=Math.cos(2*f);return a/(1+d)*((1+.25*e+.015625*c+.00390625*m)*f+Math.sin(2*f)*(-1.5*d+.1875*h+.0234375*k+.00732421875*g-p+t-z+n*(2*(.9375*e-.234375*c-.03662109375*m)-4*q+6*u+n*(4*p-12*t+24*z+n*(8*q-32*u+n*(16*t-80*z+n*(32*u+64*n*z)))))))}return a*(b.EG(f,d)-.5*d*Math.sin(2*f)/b.Cm(d,f))};b.Cm=function(a,d){var b=Math.sin(d);return Math.sqrt(1-a*b*b)};b.Tu=function(a){return n.ND(a,1,2.220446049250313E-16)?\n1:1>a?b.Lv(0,1-a)-a/3*b.Iv(0,1-a):NaN};b.EG=function(a,d){var f=n.Ab(1,a);a=n.K(a);var e=Math.floor(a/1.570796326794897),h;if(1<d)h=0==a?0:NaN;else if(n.xd(e))h=b.sin(a),h=h*b.Lv(1-h*h,1-d*h*h)-d/3*h*h*h*b.Iv(1-h*h,1-d*h*h);else{h=c.J.truncate(e%2);var l=b.Tu(d);0<h?(h=Math.sin(1.570796326794897*(e+1)-a),h=h*b.Lv(1-h*h,1-d*h*h)-d/3*h*h*h*b.Iv(1-h*h,1-d*h*h),h=l*(e+1)-h):(h=Math.sin(a-1.570796326794897*e),h=h*b.Lv(1-h*h,1-d*h*h)-d/3*h*h*h*b.Iv(1-h*h,1-d*h*h),h=l*e+h)}return h*f};b.sin=function(a){a=\nb.da(a);var d=n.Ab(1,a);a=n.K(a);return n.W(a,3.141592653589793)?0:n.W(a,1.570796326794897)?1*d:Math.sin(a)*d};b.Iv=function(a,d){for(var b=a,e=d,h=1,c=0,k=1,m,g,p,q;;){m=.2*(b+e+3*h);g=(m-b)/m;p=(m-e)/m;q=(m-h)/m;if(1E-4>n.K(g)&&1E-4>n.K(p)&&1E-4>n.K(q))break;q=Math.sqrt(e);m=Math.sqrt(h);q=Math.sqrt(b)*(q+m)+q*m;c+=k/(m*(h+q));k*=.25;b=.25*(b+q);e=.25*(e+q);h=.25*(h+q)}b=g*p;h=q*q;e=b-h;h=b-6*h;g=h+e+e;return 3*c+k*(1+h*(-.2142857142857143+.10227272727272728*h-.1730769230769231*q*g)+q*(.1666666666666667*\ng+q*(-.4090909090909091*e+.1153846153846154*q*b)))/(m*Math.sqrt(m))};b.Lv=function(a,d){for(var b=a,e=d,h,c,k,m,g=1;;g=.25*(g+h)){h=(b+e+g)/3;c=2-(h+b)/h;k=2-(h+e)/h;m=2-(h+g)/h;if(1E-4>n.K(c)&&1E-4>n.K(k)&&1E-4>n.K(m))break;h=Math.sqrt(e);c=Math.sqrt(g);h=Math.sqrt(b)*(h+c)+h*c;b=.25*(b+h);e=.25*(e+h)}b=c*k-m*m;e=c*k*m;return(1+(.04166666666666666*b-.1-.06818181818181818*e)*b+.07142857142857142*e)/Math.sqrt(h)};b.Cx=function(a,d){if(n.Qi(a)||0==d||n.W(n.K(d),1.570796326794897))return d;var b,e,h;\nif(.006884661117170036>a){b=a*a;e=a*b;h=a*e;var c=a*h,k=a*c,m=a*k,g=-(.02708333333333333*e+.03430059523809524*h+.03149181547619048*c+.02634359154541446*k+.02156896735835538*m),p=.007669890873015873*h+.01299603174603175*c+.0148051353064374*k+.01454454953803912*m,q=-(.002275545634920635*c+.004830845032667949*k+.006558395368616723*m),t=6.957236677288761E-4*k+.001775193002406544*m,u=-(2.17324089394402E-4*m),z=Math.cos(2*d);return d+Math.sin(2*d)*(-(.5*a+.2083333333333333*b+.09375*e+.04878472222222222*\nh+.02916666666666667*c+.01938905423280423*k+.01388255931712963*m)-g+q-u+z*(2*(.1041666666666667*b+.0875*e+.06050347222222222*h+.04151785714285714*c+.02958958540013228*k+.02203667534722222*m)-4*p+6*t+z*(4*g-12*q+24*u+z*(8*p-32*t+z*(16*q-80*u+z*(32*t+64*z*u))))))}0==d||n.W(n.K(d),1.570796326794897)?b=d:(e=Math.sqrt(a),h=e*Math.sin(d),b=Math.tan(.7853981633974483+d/2)*Math.pow((1-h)/(1+h),e/2),b=2*Math.atan(b)-1.570796326794897);return b};b.CQ=function(a,d){if(n.Qi(a)||0==d||n.W(n.K(d),1.570796326794897))return d;\nvar b,e;if(.006884661117170036>a){z=a*a;q=a*z;t=a*q;b=a*t;u=a*b;e=a*u;var h=.05833333333333333*q+.07232142857142858*t+.05634300595238095*b+.0355325796406526*u+.020235546186067*e,c=.02653149801587302*t+.04379960317460317*b+.0429211791776896*u+.03255384637546096*e,k=.01294022817460318*b+.02668104344536636*u+.03155651254609588*e,m=.00659454790965208*u+.0163075268674227*e,g=.003463473736911237*e,p=Math.cos(2*d);return d+Math.sin(2*d)*(.5*a+.2083333333333333*z+.08333333333333333*q+.03611111111111111*t+\n.01875*b+.01195601851851852*u+.008863673941798942*e-h+k-g+p*(2*(.1458333333333333*z+.1208333333333333*q+.07039930555555556*t+.03616071428571429*b+.01839451058201058*u+.01017113095238095*e)-4*c+6*m+p*(4*h-12*k+24*g+p*(8*c-32*m+p*(16*k-80*g+p*(32*m+64*p*g))))))}for(var q=Math.sqrt(a),t=q/2,u=Math.tan(.7853981633974483+d/2),h=0,c=1,z=d;0!=c;z=e)if(b=q*Math.sin(z),e=u*Math.pow((1+b)/(1-b),t),e=2*Math.atan(e)-1.570796326794897,h++,n.W(e,z)||3E4<h)c=0;return z};return b}();c.C=g})(r||(r={}));(function(c){var n=\nfunction(){function g(b){this.Zl=this.Pt=null;this.vw=!1;this.nB=this.oB=0;this.lB=new c.b;this.yB=new c.b;this.ix=!1;this.kr=new c.h;this.II=this.fx=0;this.gx=null;this.al=!1;this.Fr=null;this.LA=0;this.uf=b;this.wt=c.Ib.iw(this.uf,0,!0);this.lB.$c();this.yB.$c();this.eJ=NaN;var a=b.getCode();0<a?(this.ll=a,c.Tf.getCode(b)):this.ll=c.Tf.getCode(b);0>this.ll&&(this.ll=0);var d=this.uf.getType();this.vI=d==c.Vc.PE_TYPE_PROJCS?2:1;if(d==c.Vc.PE_TYPE_PROJCS&&!b.loadConstants())throw c.g.F(\"PeProjcs.loadConstants failed\");\na=d==c.Vc.PE_TYPE_GEOGCS?this.uf:this.uf.getGeogcs();d!=c.Vc.PE_TYPE_GEOGCS&&c.Tf.getCode(a);this.Fr=b.getUnit();this.eJ=a.getPrimem().getLongitude();this.II=b=a.getUnit().getUnitFactor();b=Math.PI/(180*b);1E-10>Math.abs(b-1)&&(b=1);this.nB=b;0!=(d&c.Vc.PE_TYPE_PROJCS)?(a=this.uf,this.oB=1/a.getUnit().getUnitFactor(),this.fx=.001/this.uf.getUnit().getUnitFactor(),this.gx=c.Bg.generate(a,c.Bg.PE_PCSINFO_OPTION_NONE),this.al=this.gx.isPannableRectangle(),this.LA=c.Ib.rP(this.gx.getCentralMeridian(),\nthis.nB)):(this.ix=this.al=!0,this.oB=0,d=1/a.getUnit().getUnitFactor(),this.fx=.001/a.getDatum().getSpheroid().getAxis()*d,this.LA=0);this.al&&(this.dy(),this.uL(),this.vL(),this.tL(),this.jZ(),this.kZ())}g.prototype.$s=function(){return this.ll};g.prototype.Sj=function(){return this.gx};g.zz=function(b,a){return b==a?!0:null!=b&&null!=a&&0==b.ll&&0==a.ll?b.wt===a.wt:!1};g.prototype.Jc=function(){return this.al};g.prototype.Bh=function(b){b.I(this.gp)};g.prototype.bw=function(){return this.gp.o};\ng.prototype.aw=function(){return this.gp.v};g.prototype.AT=function(b){b.I(this.hx)};g.prototype.jZ=function(){var b=this.uf.getType();if(b==c.Vc.PE_TYPE_PROJCS){var b=this.uf,a=this.Sj().getCentralMeridian(),d=b.getGeogcs();if(null==d)throw c.g.X(\"internal error\");d=1/d.getUnit().getUnitFactor()*Math.PI;a=[[a+d,0]];c.fi.geogToProj(b,1,a);var a=a[0][0],d=b.getParameters()[c.Vc.PE_PARM_X0].getValue(),f=this.Mk(),b=new c.h;f.s(b);var f=Math.abs(a-d),a=f+d,d=-1*f+d,f=b.B,b=b.A,e=new c.h;e.I(d,b,a,f);\nnull==this.gp&&(this.gp=e)}else if(b==c.Vc.PE_TYPE_GEOGCS)d=1/this.uf.getUnit().getUnitFactor()*Math.PI,b=new c.h,b.I(-d,-d/2,d,d/2),null==this.gp&&(this.gp=b);else throw c.g.X(\"internal error\");};g.prototype.kZ=function(){var b=this.uf.getType();if(b==c.Vc.PE_TYPE_PROJCS){var a=this.uf,b=this.Sj().getCentralMeridian(),a=a.getGeogcs();if(null==a)throw c.g.X(\"internal error\");var a=1/a.getUnit().getUnitFactor()*Math.PI,d=this.Vs(),f=new c.h;d.s(f);d=new c.h;d.I(b-a,f.A,b+a,f.B);null==this.hx&&(this.hx=\nd)}else if(b==c.Vc.PE_TYPE_GEOGCS)a=1/this.uf.getUnit().getUnitFactor()*Math.PI,b=new c.h,b.I(-a,-a/2,a,a/2),null==this.hx&&(this.hx=b);else throw c.g.X(\"internal error\");};g.prototype.ee=function(){return this.nB};g.prototype.bn=function(){return this.oB};g.prototype.Vs=function(){if(this.al)return this.Zl;var b=this.Zl;if(null!=b)return b;this.dy();return this.Zl};g.prototype.Ws=function(){if(this.al)return null;if(null!=this.Zl)return this.hI;this.dy();return this.hI};g.prototype.dy=function(){if(this.uf.getType()==\nc.Vc.PE_TYPE_PROJCS){var b;b=this.uf;var a=b.getGeogcs(),d=b.horizonGcsGenerate();if(null!=d){var f=d[0].getNump(),e=d[0].getKind();b=0<d[0].getInclusive();var h=this.ee(),l=90*h,k=360*h,m=370*h,g=180*h*c.Vc.PE_HORIZON_DELTA/Math.PI,p=new c.h,q=null;if(1<f)for(var t=1;t<f;t++)if(d[t].getKind()==c.Vc.PE_HORIZON_LINE){null==q&&(q=new c.Ua);var u=d[t].getCoord();q.$x(u[0][0],u[0][1]);q.Xj(u[1][0],u[1][1])}if(e==c.Vc.PE_HORIZON_RECT)d=d[0].getCoord(),p.I(d[0][0],d[0][1]),p.Nb(d[1][0],d[1][1]),Math.abs(p.B-\nl)<1E-7*g&&(p.B=l),Math.abs(p.A+l)<1E-7*g&&(p.A=-l),p.N()>m&&(d=-400*h,p.I(d,p.A,d+5*k,p.B)),d=new c.ci(p),null==this.Zl&&(this.Zl=d,this.vw=b);else{m=new c.Ja;k=this.Sj().isGcsHorizonMultiOverlap();p=c.Ou.jG(a,c.ts.Integer64);if(k){m=new c.RM;g=c.ei.local().V(m,p,null);for(t=0;t<f;t++)if(d[t].getKind()==c.Vc.PE_HORIZON_POLY){a=d[t].getSize();h=d[t].getCoord();e=[];for(l=0;l<a;l++)e[l]=c.b.pa(h[l][0],h[l][1]);d[t].getInclusive();k&&(h=new c.Ja,h.Bl(e,a-1),m.TY(h),g.Re())}m=g.next()}else for(t=0;t<\nf;t++)if(d[t].getKind()==c.Vc.PE_HORIZON_POLY){a=d[t].getSize();h=d[t].getCoord();k=[];for(l=0;l<a;l++)k[l]=c.b.pa(h[l][0],h[l][1]);d[t].getInclusive();m.Bl(k,a-1)}b?c.tk.local().qo(m,p,1):c.cq.local().qo(m,p,1);c.Gj.local().qo(m,p,1);null==this.Zl&&(this.Zl=m,this.vw=b,this.hI=q)}}}};g.prototype.Uv=function(){if(this.al)return this.vw;null==this.Zl&&this.dy();return this.vw};g.prototype.uL=function(){if(2==this.vI){var b=this.uf.horizonPcsGenerate();if(null!=b){var a=b[0].getKind();b[0].getInclusive();\nvar d=b[0].getNump(),f=!1;if(a==c.Vc.PE_HORIZON_RECT)b=b[0].getCoord(),d=new c.h,d.I(b[0][0],b[0][1]),d.Nb(b[1][0],b[1][1]),b=new c.ci(d);else{a=-1;for(f=0;f<d;f++)b[f].getKind()==c.Vc.PE_HORIZON_POLY&&(a=f);f=b[a].getSize()-1;b=b[a].getCoord();d=[];for(a=0;a<f;a++)d[a]=c.b.pa(b[a][0],b[a][1]);b=a=new c.Ja;a.Bl(d,f);f=!0}this.Sj().isDensificationNeeded()&&(d=1E5*this.bn(),b=c.Jm.local().V(b,d,null));f&&(f=new c.ci,b.Qn(f),b.hf(),b.Rb(),b.hT(),c.tk.local().qo(b,null,1));null==this.Pt&&(this.Pt=b)}}};\ng.prototype.Mk=function(){if(this.al)return this.Pt;var b=this.Pt;if(null!=b)return b;this.uL();return this.Pt};g.prototype.vL=function(){if(this.uf.getType()==c.Vc.PE_TYPE_PROJCS){var b=90*this.ee(),b=[[0,b],[0,-b]];c.fi.geogToProj(this.uf,2,b);var a=this.Sj(),d=a.getNorthPoleLocation()!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY,a=a.getSouthPoleLocation()!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY;this.ix||(d&&this.lB.ka(b[0][0],b[0][1]),a&&this.yB.ka(b[1][0],b[1][1]))}this.ix=!0};g.prototype.eA=function(b,a){this.al||\nthis.ix||this.vL();b?a.L(this.yB):a.L(this.lB)};g.prototype.tL=function(){if(1==this.vI){var b=400*this.ee();this.kr.I(-b,-b,b,b)}else b=c.Bg.generate(this.uf,c.Bg.PE_PCSINFO_OPTION_DOMAIN),b=c.h.pa(b.getDomainMinx(),b.getDomainMiny(),b.getDomainMaxx(),b.getDomainMaxy()),this.kr.u()&&this.kr.I(b)};g.prototype.$S=function(b){this.al&&b.I(this.kr);this.kr.u()&&this.tL();b.I(this.kr)};g.prototype.dn=function(){return this.eJ};g.prototype.pi=function(){return this.LA};g.prototype.Nd=function(){return this.Fr};\ng.prototype.Xs=function(){return this.II};return g}();c.UD=n})(r||(r={}));(function(c){var n=function(){function g(b){this.JV=b;this.wt=c.Ib.iw(b,0,!0);var a=b.getCode();this.nt=0<a?a:c.Tf.getCode(b);0>this.nt&&(this.nt=0);this.Fr=a=this.JV.getUnit();this.XI=1/a.getUnitFactor();c.Tf.getCode(b)}g.zz=function(b,a){return b==a?!0:null!=b&&null!=a&&0==b.nt&&0==a.nt?b.wt===a.wt:!1};g.prototype.$s=function(){return this.nt};return g}();c.GN=n})(r||(r={}));(function(c){var n=function(){function g(){}g.Cb=\nfunction(b,a,d,f,e,h,l,k){if(null!=h||null!=l||null!=k){f=c.C.da(f);a=c.C.da(a);d=c.C.da(d);e=c.C.da(e);1.570796326794897<c.l.K(d)&&(d=c.l.Ab(3.141592653589793,d)-d,a=c.C.da(a+3.141592653589793));1.570796326794897<c.l.K(e)&&(e=c.l.Ab(3.141592653589793,e)-e,f=c.C.da(f+3.141592653589793));var m=c.C.da(f-a);if(c.l.W(d,e)&&(c.l.W(a,f)||c.l.W(c.l.K(d),1.570796326794897)))null!=h&&(h.j=0),null!=l&&(l.j=0),null!=k&&(k.j=0);else{if(c.l.W(d,-e)){if(c.l.W(c.l.K(d),1.570796326794897)){null!=h&&(h.j=3.141592653589793*\nb);null!=l&&(l.j=0<d?c.C.da(3.141592653589793-c.C.da(f)):c.C.da(f));null!=k&&(k.j=0<d?c.C.da(f):c.C.da(3.141592653589793-c.C.da(f)));return}if(c.l.W(c.l.K(m),3.141592653589793)){null!=h&&(h.j=3.141592653589793*b);null!=l&&(l.j=0);null!=k&&(k.j=0);return}}var g=1.570796326794897==c.l.K(d)?0:Math.cos(d),p=Math.sin(d),q=1.570796326794897==c.l.K(e)?0:Math.cos(e),t=Math.sin(e),u=1.570796326794897==c.l.K(m)?0:Math.cos(m),z=3.141592653589793==c.l.K(m)?0:Math.sin(m);if(null!=h){var n=Math.sin((e-d)/2),m=\nMath.sin(m/2);h.j=2*Math.asin(Math.sqrt(n*n+g*q*m*m))*b}null!=l&&(c.l.W(c.l.K(d),1.570796326794897)?l.j=0>d?f:c.C.da(3.141592653589793-f):l.j=Math.atan2(q*z,g*t-p*q*u));null!=k&&(c.l.W(c.l.K(e),1.570796326794897)?k.j=0>e?a:c.C.da(3.141592653589793-a):(k.j=Math.atan2(g*z,t*g*u-q*p),k.j=c.C.da(k.j+3.141592653589793)))}}};g.Uf=function(b,a,d,f,e,h,l){if(null!=h||null!=l){a=c.C.da(a);d=c.C.da(d);1.570796326794897<c.l.K(d)&&(d=c.l.Ab(3.141592653589793,d)-d,a=c.C.da(a+3.141592653589793));c.l.W(c.l.K(d),\n1.570796326794897)&&(a=0);e=c.C.da(e);var k=c.l.W(c.l.K(e),1.570796326794897)?0:Math.cos(e),m=c.l.W(c.l.K(e),3.141592653589793)?0:Math.sin(e),g=c.l.W(c.l.K(d),1.570796326794897)?0:Math.cos(d),p=Math.sin(d);b=f/b;f=c.l.W(c.l.K(b),1.570796326794897)?0:Math.cos(b);var q=c.l.W(c.l.K(b),3.141592653589793)?0:Math.sin(b),t=Math.asin(p*f+g*q*k);null!=l&&(l.j=t);null!=h&&(h.j=c.l.W(c.l.K(t),1.570796326794897)?c.l.W(d,-t)?0>t?e:c.C.da(3.141592653589793-e):a:c.l.W(c.l.K(d),1.570796326794897)&&c.l.W(b,3.141592653589793)?\n0>d?e:c.C.da(3.141592653589793-e):c.C.da(a+Math.atan2(q*m,g*f-p*q*k)))}};return g}();c.vh=n})(r||(r={}));(function(c){var n=function(){function g(){}g.Cb=function(b,a,d,f,e,h,l,k,m){var g=new c.ea(0),p=new c.ea(0),q=[0,0,0],t=[0,0,0],u=[0,0,0],z=new c.ea(0),n=new c.ea(0),x=new c.ea(0),B=new c.ea(0),r=new c.ea(0);if(null!=l||null!=k||null!=m)if(c.l.Qi(a))c.vh.Cb(b,d,f,e,h,l,k,m);else{e=c.C.da(e);d=c.C.da(d);var A=c.C.da(e-d);if(c.l.W(f,h)&&(c.l.W(d,e)||c.l.W(c.l.K(f),1.570796326794897)))null!=l&&(l.j=\n0),null!=k&&(k.j=0),null!=m&&(m.j=0);else{if(c.l.W(f,-h)){if(c.l.W(c.l.K(f),1.570796326794897)){null!=l&&(l.j=2*c.C.Yg(b,a));null!=k&&(k.j=0<f?c.C.da(3.141592653589793-c.C.da(e)):c.C.da(e));null!=m&&(m.j=0<f?c.C.da(e):c.C.da(3.141592653589793-c.C.da(e)));return}c.l.W(c.l.K(A),3.141592653589793)&&(null!=l&&(l.j=2*c.C.Yg(b,a)),null!=k&&(k.j=0),null!=m&&(m.j=0))}else if(c.l.W(c.l.K(f),1.570796326794897)||c.l.W(c.l.K(h),1.570796326794897))c.l.W(c.l.K(f),1.570796326794897)?d=e:e=d;var C=0,D;0>A&&(C=1,\nD=d,d=e,e=D,D=f,f=h,h=D);var A=c.C.du(a,f),E=c.C.du(a,h);if(null!=k||null!=m)c.vh.Cb(b,d,A,e,E,null,g,p),g=Math.atan2(Math.sin(g.j)*Math.cos(f-A),Math.cos(g.j)),p=Math.atan2(Math.sin(p.j)*Math.cos(h-E),Math.cos(p.j)),0!=C&&(D=g,g=p,p=D),null!=k&&(k.j=g),null!=m&&(m.j=p);null!=l&&(c.C.Dk(1,a,f,d,0,x,B,r),q[0]=x.j,q[1]=B.j,q[2]=r.j,c.C.Dk(1,a,h,e,0,x,B,r),t[0]=x.j,t[1]=B.j,t[2]=r.j,u[0]=q[1]*t[2]-t[1]*q[2],u[1]=-(q[0]*t[2]-t[0]*q[2]),u[2]=q[0]*t[1]-t[0]*q[1],a=1-c.C.Cm(a,c.C.Nr(a,c.C.ik(a,Math.acos(u[2]/\nMath.sqrt(u[0]*u[0]+u[1]*u[1]+u[2]*u[2]))))),a*=2-a,k=Math.atan2(-u[1],-u[0]),u=c.C.da(k-1.570796326794897),k=c.C.da(k+1.570796326794897),u=c.l.K(c.C.da(d-u))<=c.l.K(c.C.da(d-k))?u:k,c.vh.Cb(1,u,0,d,A,z,null,null),c.vh.Cb(1,u,0,e,E,n,null,null),3.141592653589793<z.j+n.j&&(u=c.C.da(u+3.141592653589793),c.vh.Cb(1,u,0,d,A,z,null,null),c.vh.Cb(1,u,0,e,E,n,null,null)),z.j*=c.l.Ab(1,f),n.j*=c.l.Ab(1,h),z.j=c.C.ik(a,z.j),n.j=c.C.ik(a,n.j),d=c.C.q(b,a,z.j),b=c.C.q(b,a,n.j),l.j=c.l.K(b-d))}}};g.Uf=function(b,\na,d,f,e,h,l,k){var m=0,g=new c.ea(0),p=new c.ea(0),q=[0,0,0],t=[0,0,0],u=new c.ea(0),z=new c.ea(0),n=new c.ea(0);if(null!=l||null!=k)if(c.l.Qi(a))c.vh.Uf(b,d,f,e,h,l,k);else if(c.l.xd(e))null!=l&&(l.j=d),null!=k&&(k.j=f);else{h=c.C.da(h);0>e&&(e=c.l.K(e),h=c.C.da(h+3.141592653589793));d=c.C.da(d);f=c.C.da(f);1.570796326794897<c.l.K(f)&&(d=c.C.da(d+3.141592653589793),f=c.l.Ab(3.141592653589793,f)-f);c.l.W(c.l.K(f),1.570796326794897)&&(d=0);var x;if(c.l.xd(f))x=c.l.K(1.570796326794897-c.l.K(h)),x=c.C.ik(a,\nx),x=1-c.C.Cm(a,c.C.Nr(a,x)),x*=2-x,b=e/c.C.Yg(b,x)*1.570796326794897,b=c.C.xp(x,b),b=c.C.du(x,b),c.vh.Uf(1,d,f,b,h,l,g),null!=k&&(m=g.j),null!=k&&(k.j=c.C.ik(a,m));else if(c.l.W(c.l.K(f),1.570796326794897))m=c.C.Yg(b,a),g=2*m,b=c.l.Ab(1.570796326794897,f),h=0<b?c.C.da(3.141592653589793-h):h,f=m-e,c.l.K(f)<=m?null!=l&&(l.j=h):(f=Math.floor(e/g),0==c.J.truncate(f%2)?(null!=l&&(l.j=h),f=m-(e-f*g)):(null!=l&&(l.j=c.C.da(h+3.141592653589793)),f=m-((f+1)*g-e))),null!=k&&(k.j=c.C.xp(a,f/m*b));else{x=c.C.du(a,\nf);h=Math.atan2(Math.sin(h),Math.cos(h)*Math.cos(f-x));var B=c.J.truncate(c.l.Ab(1,x))*(1.570796326794897>=c.l.K(h)?1:-1);h=c.C.da(d+Math.atan(Math.tan(h)*-Math.sin(x)));c.vh.Cb(b,h,0,d,x,null,p,null);x=c.l.K(1.570796326794897-c.l.K(p.j));x=c.C.ik(a,x);x=1-c.C.Cm(a,c.C.Nr(a,x));x*=2-x;c.C.Dk(1,a,0,h,0,u,z,n);q[0]=u.j;q[1]=z.j;q[2]=n.j;c.C.Dk(1,a,f,d,0,u,z,n);t[0]=u.j;t[1]=z.j;t[2]=n.j;f=Math.acos((q[0]*t[0]+q[1]*t[1]+q[2]*t[2])/Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]));f=c.C.ik(x,f);f=c.C.q(b,x,f)+\ne*B;e=0<f?p.j:c.C.da(p.j+3.141592653589793);b=c.l.K(f)/c.C.Yg(b,x)*1.570796326794897;b=c.C.xp(x,b);b=c.C.du(x,b);c.vh.Uf(1,h,0,b,e,l,g);null!=k&&(m=g.j);null!=k&&(k.j=c.C.ik(a,m))}}};return g}();c.yl=n})(r||(r={}));(function(c){var n=function(){function g(){}g.Cb=function(b,a,d,f,e,h,l,k,m){var g=0,p=0,q=0;if(null!=l||null!=k||null!=m)if(c.l.Qi(a))c.vh.Cb(b,d,f,e,h,l,k,m);else{var t=c.C.da(e-d);if(c.l.W(f,h)&&(c.l.xd(t)||c.l.W(c.l.K(f),1.570796326794897)))null!=l&&(l.j=0),null!=k&&(k.j=0),null!=m&&\n(m.j=0);else{if(c.l.W(f,-h)){if(c.l.W(c.l.K(f),1.570796326794897)){null!=l&&(l.j=2*c.C.Yg(b,a));null!=k&&(k.j=0<f?c.C.da(3.141592653589793-c.C.da(e)):c.C.da(e));null!=m&&(m.j=0<f?c.C.da(e):c.C.da(3.141592653589793-c.C.da(e)));return}c.l.W(c.l.K(t),3.141592653589793)&&(null!=l&&(l.j=2*c.C.Yg(b,a)),null!=k&&(k.j=0),null!=m&&(m.j=0))}else{if(c.l.W(c.l.K(f),1.570796326794897)||c.l.W(c.l.K(h),1.570796326794897)){c.yl.Cb(b,a,d,f,e,h,l,k,m);return}if(c.l.xd(t)||c.l.W(c.l.K(t),3.141592653589793)){c.yl.Cb(b,\na,d,f,e,h,l,k,m);return}}var u=1-Math.sqrt(1-a),z=a/(1-a),n=b*(1-u);b=c.C.Nr(a,f);var x=c.C.Nr(a,h);a=1.570796326794897==c.l.K(b)?0:Math.cos(b);var B=Math.sin(b),r=1.570796326794897==c.l.K(x)?0:Math.cos(x),A=Math.sin(x),C=t,D=Math.cos(C),E=Math.sin(C),F=1,G=0,H,I,K,S,L;do{H=C;I=Math.sqrt(Math.pow(r*E,2)+Math.pow(a*A-B*r*D,2));K=B*A+a*r*D;S=Math.atan2(I,K);if(0==I){F=0;break}L=a*r*E/I;g=Math.cos(Math.asin(L));g*=g;p=K-2*B*A/g;1<c.l.K(p)&&(p=c.l.Ab(1,p));q=p*p;C=u/16*g*(4+u*(4-3*g));C=t+(1-C)*u*L*(S+\nC*I*(p+C*K*(2*q-1)));D=Math.cos(C);E=Math.sin(C);G++;if(3.141592653589793<c.l.K(C)&&30<G){F=0;break}}while(5E3>=G&&!c.l.W(H,C));if(0!=F)z*=g,u=z*(256+z*(-128+z*(74-47*z)))/1024,null!=l&&(l.j=n*(1+z*(4096+z*(-768+z*(320-175*z)))/16384)*(S-u*I*(p+u/4*(K*(2*q-1)-u/6*p*(4*I*I-3)*(4*q-3))))),null!=k&&(c.l.W(c.l.K(f),1.570796326794897)?k.j=0>f?e:c.C.da(3.141592653589793-e):k.j=Math.atan2(r*E,a*A-B*r*D)),null!=m&&(c.l.W(c.l.K(h),1.570796326794897)?m.j=0>h?d:c.C.da(3.141592653589793-d):(m.j=Math.atan2(a*\nE,a*A*D-B*r),m.j=c.C.da(m.j+3.141592653589793)));else{C=c.l.Ab(3.141592653589793,t);K=B*A-a*r;S=Math.acos(K);I=Math.sin(S);g=1;G=L=0;do q=L,g*=g,D=g*g,L=u*g*(1+u+u*u),p=u*u*D*(1+2.25*u),F=u*u*u*D*g,D=1-.25*L+.1875*p-.1953125*F,L=.25*L-.25*p+.29296875*F,E=.03125*p-.05859375*F,F*=.00651041666666667,p=K-2*B*A/g,1<c.l.K(p)&&(p=c.l.Ab(1,p)),g=Math.acos(p),K=Math.cos(2*g),H=Math.cos(3*g),L=c.l.W(f,-h)?c.C.da(3.141592653589793-t)/(3.141592653589793*u*D):c.C.da(C-t)/(u*(D*S+L*I*p+E*Math.sin(2*S)*K+F*Math.sin(3*\nS)*H)),E=L*I/(a*r),C=1.570796326794897<c.l.K(t)?c.l.Ab(3.141592653589793,E)-Math.asin(E):Math.asin(E),D=Math.cos(C),I=Math.sqrt(Math.pow(r*E,2)+Math.pow(a*A-B*r*D,2)),S=3.141592653589793-Math.asin(c.l.K(I)),K=Math.cos(S),g=Math.cos(Math.asin(L)),G++;while(70>=G&&!c.l.W(q,L));null!=l&&(g*=g,z*=g,D=1+z*(4096+z*(-768+z*(320-175*z)))/16384,c.l.W(f,-h)?l.j=3.141592653589793*n*D:(p=K-2*B*A/g,g=Math.acos(p),K=Math.cos(2*g),H=Math.cos(3*g),l.j=n*(D*S+z*(-512+z*(128+z*(-60+35*z)))/2048*I*p+z*(-4+5*z)/6144*\nz*z*Math.sin(2*S)*K+F*Math.sin(3*S)*H+-7.62939453125E-5*z*z*z*z*Math.sin(4*S)*Math.cos(4*g))));null!=k&&(c.l.xd(f)&&c.l.xd(h)?(g=Math.sqrt(1-L*L),k.j=Math.acos(g),0>t&&(k.j*=-1)):c.l.W(c.l.K(f),1.570796326794897)?k.j=0>f?e:c.C.da(3.141592653589793-e):(l=L/a,n=Math.sqrt(1-l*l),0>a*A-B*r*Math.cos(C)&&(n*=-1),k.j=Math.atan2(l,n),c.l.W(f,-h)&&c.l.K(c.C.da(d-e))>3.141592653589793*(1-u*Math.cos(f))&&(0<f&&1.570796326794897>c.l.K(k.j)||0>f&&1.570796326794897<c.l.K(k.j))&&(k.j=c.l.Ab(3.141592653589793,k.j)-\nk.j)));if(null!=m)if(c.l.xd(f)&&c.l.xd(h))g=Math.sqrt(1-L*L),m.j=Math.acos(g),0<=t&&(m.j*=-1);else if(c.l.W(c.l.K(h),1.570796326794897))m.j=0>h?d:c.C.da(3.141592653589793-d);else if(t=L/r,l=Math.sqrt(1-t*t),n=Math.sin(C/2),0>Math.sin(x-b)-2*a*A*n*n&&(l*=-1),m.j=Math.atan2(t,l),m.j=c.C.da(m.j+3.141592653589793),c.l.W(f,-h)&&!c.l.xd(f)&&!c.l.W(c.l.K(f),1.570796326794897)&&c.l.K(c.C.da(d-e))>3.141592653589793*(1-u*Math.cos(f))&&(null!=k?n=k.j:(l=L/a,n=Math.sqrt(1-l*l),0>a*A-B*r*Math.cos(C)&&(n*=-1),\nn=Math.atan2(l,n),c.l.W(f,-h)&&c.l.K(c.C.da(d-e))>3.141592653589793*(1-u*Math.cos(f))&&(0<f&&1.570796326794897>c.l.K(n)||0>f&&1.570796326794897<c.l.K(n))&&(n=c.l.Ab(3.141592653589793,n)-n)),1.570796326794897>=c.l.K(n)&&1.570796326794897<c.l.K(m.j)||1.570796326794897<=c.l.K(n)&&1.570796326794897>c.l.K(m.j)))m.j=-1*c.C.da(m.j+3.141592653589793)}}}};g.Uf=function(b,a,d,f,e,h,l,k){if(null!=l||null!=k)if(c.l.Qi(a))c.vh.Uf(b,d,f,e,h,l,k);else if(h=c.C.da(h),c.l.W(c.l.K(f),1.570796326794897)||c.l.xd(h)||\nc.l.W(c.l.K(h),3.141592653589793))c.yl.Uf(b,a,d,f,e,h,l,k);else{var m=1.570796326794897==c.l.K(h)?0:Math.cos(h),g=3.141592653589793==c.l.K(h)?0:Math.sin(h);c.l.W(c.l.K(f),1.570796326794897)&&(d=0);h=1-Math.sqrt(1-a);var p=c.C.Nr(a,f);f=1.570796326794897==c.l.K(p)?0:Math.cos(p);var q=Math.sin(p),p=Math.atan2(Math.tan(p),m),t=f*g,u=t*t,z=1-u,n=a/(1-a)*z;a=n*(256+n*(-128+n*(74-47*n)))/1024;var x=a/4,r=a/6,y=e/(b*(1-h)*(1+n*(4096+n*(-768+n*(320-175*n)))/16384)),A=y,C;do{C=A;e=1.570796326794897==c.l.K(A)?\n0:Math.cos(A);var n=3.141592653589793==c.l.K(A)?0:Math.sin(A),D=n*n;b=Math.cos(2*p+A);A=b*b;A=a*n*(b+x*(e*(2*A-1)-r*b*(4*D-3)*(4*A-3)))+y}while(!c.l.W(C,A));e=1.570796326794897==c.l.K(A)?0:Math.cos(A);n=3.141592653589793==c.l.K(A)?0:Math.sin(A);null!=l&&(g=Math.atan2(n*g,f*e-q*n*m),z=h/16*z*(4+h*(4-3*z)),b=Math.cos(2*p+A),l.j=c.C.da(d+(g-(1-z)*h*t*(A+z*n*(b+z*e*(2*b*b-1))))));null!=k&&(z=q*n-f*e*m,z=(1-h)*Math.sqrt(u+z*z),k.j=Math.atan2(q*e+f*n*m,z))}};return g}();c.Nu=n})(r||(r={}));(function(c){var n=\nfunction(){function g(){}g.Cb=function(b,a,d,f,e,h,l,k,m){var g=c.C.da(e-d),p=c.l.W(c.l.K(f),1.570796326794897),q=c.l.W(c.l.K(h),1.570796326794897);if(c.l.W(f,h)&&(c.l.xd(g)||p))null!=l&&(l.j=0),null!=k&&(k.j=0),null!=m&&(m.j=0);else{var t,u;c.l.Qi(a)?(t=Math.sin(f),u=Math.sin(h),t=Math.sqrt((1+t)/(1-t)),u=Math.sqrt((1+u)/(1-u)),t=Math.log(u)-Math.log(t),t=Math.atan2(g,t),null!=l&&(l.j=c.l.W(f,h)?c.l.K(b*Math.cos(f)*g):c.l.K((b*h-b*f)/Math.cos(t)))):(u=c.C.Cx(a,h),t=Math.sin(c.C.Cx(a,f)),u=Math.sin(u),\nt=Math.sqrt((1+t)/(1-t)),u=Math.sqrt((1+u)/(1-u)),t=Math.log(u)-Math.log(t),t=Math.atan2(g,t),null!=l&&(c.l.W(f,h)?l.j=c.l.K(b*g*Math.cos(f)/c.C.Cm(a,f)):(g=c.C.q(b,a,f),b=c.C.q(b,a,h),l.j=c.l.K((b-g)/Math.cos(t)))));if(null!=k||null!=m)l=c.C.da(t+3.141592653589793),p&&q||!p&&!q||(p?t=0>f?e:c.C.da(3.141592653589793-e):q&&(l=0>h?d:c.C.da(3.141592653589793-d))),null!=k&&(k.j=t),null!=m&&(m.j=l)}};g.Uf=function(b,a,d,f,e,h,l,k){h=c.C.da(h);0>e&&(e=c.l.K(e),h=c.C.da(h+3.141592653589793));c.l.Qi(a)?c.l.W(c.l.K(f),\n1.570796326794897)?(d=0>f?h:c.C.da(3.141592653589793-h),h=e/b%6.283185307179586,3.141592653589793>=h?b=f-c.l.Ab(h,f):(d=c.C.da(d+3.141592653589793),b=-f+c.l.Ab(h-3.141592653589793,f))):c.l.W(c.l.K(h),1.570796326794897)?(d=c.C.da(d+c.l.Ab(e,h)/(b*Math.cos(f))),b=f):(b=f+e*Math.cos(h)/b,1.570796326794897<c.l.K(b)&&(b=1.570796326794897),c.l.W(c.l.K(b),1.570796326794897)&&(c.l.xd(h)||c.l.W(c.l.K(h),3.141592653589793))||(1.570796316258184<c.l.K(b)&&(b=c.l.Ab(1.570796316258184,b)),a=Math.sin(f),f=Math.sin(b),\na=Math.sqrt((1+a)/(1-a)),f=Math.sqrt((1+f)/(1-f)),a=Math.log(f)-Math.log(a),d=c.C.da(d+Math.tan(h)*a))):c.l.W(c.l.K(f),1.570796326794897)?(d=0>f?h:c.C.da(3.141592653589793-h),h=e/c.C.qX(b,a),h%=6.283185307179586,3.141592653589793>=h?(b=f-c.l.Ab(h,f),b=c.C.xp(a,b)):(d=c.C.da(d+3.141592653589793),b=-f+c.l.Ab(h-3.141592653589793,f),b=c.C.xp(a,b))):c.l.W(c.l.K(h),1.570796326794897)?(d=c.C.da(d+c.l.Ab(e,h)*c.C.Cm(a,f)/(b*Math.cos(f))),b=f):(b=1.570796326794897*(e*Math.cos(h)+c.C.q(b,a,f))/c.C.Yg(b,a),\n1.570796326794897<c.l.K(b)&&(b=c.l.Ab(1.570796326794897,b)),b=c.C.xp(a,b),c.l.W(c.l.K(b),1.570796326794897)&&(c.l.xd(h)||c.l.W(c.l.K(h),3.141592653589793))||(e=c.C.Cx(a,f),f=c.C.Cx(a,b),1.570796316258184<c.l.K(f)&&(f=c.l.Ab(1.570796316258184,b),b=c.C.CQ(a,f)),a=Math.sin(e),f=Math.sin(f),a=Math.sqrt((1+a)/(1-a)),f=Math.sqrt((1+f)/(1-f)),a=Math.log(f)-Math.log(a),d=c.C.da(d+Math.tan(h)*a)));null!=l&&(l.j=d);null!=k&&(k.j=b)};return g}();c.VD=n})(r||(r={}));(function(c){var n=function(){function g(){}\ng.Gz=function(b,a,d,f,e,h,l){c.Nu.Cb(b,a,d,f,e,h,null,l,null)};g.Xi=function(b,a,d,f,e,h,l,k){c.Nu.Uf(b,a,d,f,e,h,l,k)};g.Ld=function(b,a,d,f,e,h,l,k,m,g){switch(g){case 2:c.yl.Cb(b,a,d,f,e,h,l,k,m);break;case 3:c.WD.Cb(b,a,d,f,e,h,l,k,m);break;case 1:c.VD.Cb(b,a,d,f,e,h,l,k,m);break;default:c.Nu.Cb(b,a,d,f,e,h,l,k,m)}};g.Oj=function(b,a,d,f,e,h,l,k,m){switch(m){case 2:c.yl.Uf(b,a,d,f,e,h,l,k);break;case 3:c.WD.Uf(b,a,d,f,e,h,l,k);break;case 1:c.VD.Uf(b,a,d,f,e,h,l,k);break;default:c.Nu.Uf(b,a,d,\nf,e,h,l,k)}};return g}();c.mb=n})(r||(r={}));(function(c){var n=function(){function a(){this.y=this.x=null}a.pa=function(d){var b=new a;b.x=new c.Xb;b.x.set(d.x);b.y=new c.Xb;b.y.set(d.y);return b};a.bG=function(d,b){var e=new a;e.x=new c.Xb;e.x.set(d);e.y=new c.Xb;e.y.set(b);return e};a.prototype.Lg=function(){return this.x.Lg()&&this.y.Lg()};a.prototype.value=function(){return c.b.pa(this.x.value(),this.y.value())};return a}();c.IZ=n;var g=function(){function a(){this.z=this.y=this.x=null}a.pa=\nfunction(d){var b=new a;b.x=new c.Xb;b.x.set(d.x);b.y=new c.Xb;b.y.set(d.y);b.z=new c.Xb;b.z.set(d.z);return b};a.bG=function(d,b,e){var h=new a;h.x=new c.Xb;h.x.set(d);h.y=new c.Xb;h.y.set(b);h.z=new c.Xb;h.z.set(e);return h};a.prototype.Lg=function(){return this.x.Lg()&&this.y.Lg()&&this.z.Lg()};a.prototype.value=function(){return new c.qd(this.x.value(),this.y.value(),this.z.value())};a.prototype.oi=function(a){var b=new c.Xb,e=new c.Xb,h=new c.Xb;b.pm(this.x,a.x);e.pm(this.y,a.y);h.pm(this.z,\na.z);a=new c.Xb;a.cP(b,e);a.add(h);return a};a.prototype.kG=function(d){var b=new a;b.x.pm(this.y,d.z);b.y.pm(this.z,d.x);b.z.pm(this.x,d.y);var e=new c.Xb,h=new c.Xb,l=new c.Xb;e.pm(this.z,d.y);h.pm(this.x,d.z);l.pm(this.y,d.x);b.x.sub(e);b.y.sub(h);b.z.sub(l);return b};return a}();c.JZ=g;var b=function(){function a(){}a.qO=function(d,b,e){var h=b.x;b=b.y;a.Dk(1,d,Math.cos(h),Math.sin(h),Math.cos(b),Math.sin(b),e)};a.nO=function(d,b){var e=new c.qd;a.qO(d,b,e);return e};a.HZ=function(d,b,e,h,l,k){var m=\nnew c.qd;a.Dk(d,b,e,h,l,k,m);return m};a.Dk=function(a,b,e,h,c,k,m){a/=Math.sqrt(1-b*k*k);m.I(a*c*e,a*c*h,a*(1-b)*k)};a.Su=function(a,b){var e=new c.Xb,h=new c.Xb,l=new c.Xb,k=new c.Xb;e.cos(b.x);h.sin(b.x);l.cos(b.y);k.sin(b.y);var m=new c.Xb;m.set(k);m.Vg(k);m.yp(a);m.yp(-1);m.jP();m.sqrt();var w=new c.Xb;w.set(1);w.Wm(m);m=new c.Xb;m.set(w);m.Vg(l);m.Vg(e);e=new c.Xb;e.set(w);e.Vg(l);e.Vg(h);h=new c.Xb;h.set(w);h.yp(1-a);h.Vg(k);return g.bG(m,e,h)};a.MN=function(a,b,e){var h=b.x,c=b.y;e.ka(Math.atan2(c,\nh),Math.atan2(b.z,(1-a)*Math.sqrt(h*h+c*c)))};a.Y_=function(d,b,e){d=new c.b;a.MN(b,e,d);return d};a.NU=function(d,b,e,h){if(Math.abs(b.x-e.x)>Math.PI||Math.abs(b.y)>.5*Math.PI||Math.abs(e.y)>.5*Math.PI||(Math.abs(b.y)==.5*Math.PI||Math.abs(e.y)==.5*Math.PI)&&b.x!=e.x)return NaN;h=a.SC(h,Math.min(b.x,e.x),Math.max(b.x,e.x));if(!(new c.Ac(b.x,e.x)).contains(h))return NaN;var l=n.pa(b);e=n.pa(e);l=a.Su(d,l);e=a.Su(d,e);e=l.kG(e);if(e.z.Lg())return b=b.y;var k=new c.Xb;k.set(e.x);k.Wm(e.z);k.yp(-1);\nvar m=new c.Xb;m.set(e.y);m.Wm(e.z);m.yp(-1);var g=new c.Xb;g.set(m);g.Vg(m);l=new c.Xb;l.set(k);l.Vg(k);l.add(g);l.sqrt();if(l.Lg()||k.Lg()&&m.Lg())return b=b.y;b=Math.atan2(m.value(),k.value());b=Math.atan2(l.value()*Math.cos(b-h),1-d);h=a.nO(d,c.b.pa(h,b));d=new c.qd(h.x,h.y,-h.z);h=e.value().oi(h);d=e.value().oi(d);Math.abs(d)<Math.abs(h)&&(b=-b);return b};a.vA=function(d,b,e,h,l,k){k[0]=NaN;k[1]=NaN;if(Math.abs(e.x-h.x)>Math.PI||Math.abs(e.y)>.5*Math.PI||Math.abs(h.y)>.5*Math.PI||(Math.abs(e.y)==\n.5*Math.PI||Math.abs(h.y)==.5*Math.PI)&&e.x!=h.x||Math.abs(l)>=.5*Math.PI||0<e.y&&0<h.y&&e.y>l&&h.y>l||0>e.y&&0>h.y&&e.y<l&&h.y<l)return 0;var m=n.pa(e);d=n.pa(h);m=a.Su(b,m);d=a.Su(b,d);var g=m.kG(d);if(g.z.Lg())return(new c.Ac(e.y,h.y)).contains(l)?(k[0]=e.x,1):0;d=new c.Xb;d.set(g.x);d.Wm(g.z);d.yp(-1);m=new c.Xb;m.set(g.y);m.Wm(g.z);m.yp(-1);g=new c.Xb;g.set(m);g.Vg(m);var p=new c.Xb;p.set(d);p.Vg(d);p.add(g);p.sqrt();if(p.Lg()||d.Lg()&&m.Lg())return 0==l?(k[0]=e.x,k[1]=h.x,2):0;b=(1-b)*Math.tan(l)/\np.value();if(1<Math.abs(b))return 0;b=Math.acos(b);g=Math.atan2(m.value(),d.value());d=Math.min(e.x,h.x);m=Math.max(e.x,h.x);h=a.SC(g-b,d,m);b=0!=l?a.SC(g+b,d,m):h;l=0;d<=h&&h<=m&&(k[l]=h,l++);b!=h&&d<=b&&b<=m&&(k[l]=b,l++,2==l&&Math.abs(k[0]-e.x)>Math.abs(k[1]-e.x)&&(e=k[0],k[0]=k[1],k[1]=e));return l};a.SC=function(a,b,e){a>e?(b=Math.ceil((a-e)/(2*Math.PI)),a-=2*b*Math.PI):a<b&&(b=Math.ceil((b-a)/(2*Math.PI)),a+=2*b*Math.PI);return a};a.LB=function(a,b){b[0]>.5*Math.PI?(a[0]+=Math.PI,b[0]=Math.PI-\nb[0]):b[0]<-.5*Math.PI&&(a[0]-=Math.PI,b[0]=-Math.PI-b[0])};return a}();c.yy=b})(r||(r={}));(function(c){var n=function(){function g(){}g.UY=function(b,a){var d=8;0>d&&(d=8);var f=[0,0,0,0],e=new c.b;e.L(a);e.scale(9102==c.fb.kc(b).Nd().yc()?1:c.fb.kc(b).Nd().Ai/3.141592653589793*180);-180>e.x?(e.x-=e.x%360,-180>e.x&&(e.x+=360)):180<e.x&&(e.x-=e.x%360,180<e.x&&(e.x-=360));90<e.y&&(e.y=90);-90>e.y&&(e.y=-90);for(var h=5*d,l=(h+31)/32,k=-180,m=180,w=h-1,p=l-1;0<=p;p--)for(var q=w-32*p,t=Math.min(32,\nh-32*p),u=1;u<t;u+=2){var z=.5*(m+k);e.x>=z?(f[p]|=1<<q,k=z):m=z;q-=2;w-=2}k=-90;m=90;w=h-2;for(p=l-1;0<=p;p--)for(q=w-32*p,t=Math.min(32,h-32*p),u=0;u<t;u+=2)z=.5*(m+k),e.y>=z?(f[p]|=1<<q,k=z):m=z,q-=2,w-=2;return g.wO(f,d,d)};g.wO=function(b,a,d){for(var f=[],e=0;e<a;e++)f[e]=\"\";for(var h=e=0,c=0;c<a;c++){var k=b[e]>>h&31,h=h+5;if(31<h){var m=37-h,k=k&(1<<m)-1,h=h-32;e++;k|=(b[e]&(1<<h)-1)<<m}f[a-1-c]=\"0123456789bcdefghjkmnpqrstuvwxyz\".split(\"\")[k]}if(d>a)for(c=0;c<d-a;c++)f.push(\"0\");else d<a&&\n(f.length=d);return f.join(\"\")};return g}();c.tM=n})(r||(r={}));(function(c){var n={gcstol:[0,2E-9,1,2.241706620489156E-9,2,2.313672246530541E-9,3,8.98240164660333E-9,4,8.982433838020134E-9,5,8.982439417325895E-9,6,8.982466029667677E-9,7,8.982476760268133E-9,8,8.982492642167149E-9,9,8.98251968292634E-9,10,8.98253685210448E-9,11,8.982546725256576E-9,12,8.982557456049832E-9,13,8.98257333682596E-9,14,8.982575482995276E-9,15,8.982578488197342E-9,16,8.982579775336987E-9,17,8.9825840676828E-9,18,8.982599090925448E-9,\n19,8.982605529473397E-9,20,8.982609220517402E-9,21,8.982611968030573E-9,22,8.982616260407152E-9,23,8.982620552787834E-9,24,8.982633429954492E-9,25,8.982637722351582E-9,26,8.98264416095491E-9,27,8.982646307158072E-9,28,8.982654891980968E-9,29,8.982667769246082E-9,30,8.982674207892485E-9,31,8.982680646548117E-9,32,8.982682792768713E-9,33,8.982685798042582E-9,34,8.982689231436652E-9,35,8.98269137766135E-9,36,8.98269266624163E-9,37,8.982705114087017E-9,38,8.982706830791106E-9,39,8.982711958374661E-9,\n40,8.982712839964735E-9,41,8.982717991496125E-9,42,8.982721424914803E-9,43,8.982723571154887E-9,44,8.982727863638127E-9,45,8.982730868942154E-9,46,8.982734302370678E-9,47,8.982745033612112E-9,48,8.982751472369276E-9,49,8.982755764879183E-9,50,8.982762203651733E-9,51,8.982764776628385E-9,52,8.982766496171896E-9,53,8.98277722749025E-9,54,8.98278152002477E-9,55,8.98279933943848E-9,56,8.9829143024805E-9,57,8.982922161948598E-9,58,8.98292327314211E-9,59,8.982925667349601E-9,60,8.982932222965576E-9,61,\n8.982961298941316E-9,62,8.982965524049989E-9,63,8.982994818246099E-9,64,8.982994895706967E-9,65,8.98299489597736E-9,66,8.983000733443498E-9,67,8.983055097289157E-9,68,8.983064111047368E-9,69,8.983111996941178E-9,70,8.983120447446023E-9,71,8.98312748954554E-9,72,8.983134531656096E-9,73,8.983141573777694E-9,74,8.983148615910332E-9,75,8.983152841195215E-9,76,8.983153545409748E-9,77,8.983153827095593E-9,78,8.98315396793852E-9,79,8.983154249624393E-9,80,8.983155658054012E-9,81,8.983960794340072E-9,82,\n8.984061344391998E-9,83,8.984072829255685E-9,84,8.984194981201908E-9,85,8.984275233099427E-9,86,8.984326127007554E-9,87,8.984330099816539E-9,88,8.98433275258421E-9,89,8.984333047023206E-9,90,8.984333885258723E-9,91,8.984337959508212E-9,92,8.984365176209457E-9,93,8.984727360418079E-9,94,8.984901041679577E-9,95,8.98542662091587E-9,96,8.98610024130669E-9,97,8.992894229037531E-9,98,8.993203677616635E-9,99,8.993206178094346E-9,100,8.993216059187305E-9,101,8.99322029394808E-9,102,8.994627867045891E-9,103,\n9.467559984315793E-9,104,9.46881168618118E-9,105,9.980888154931644E-9,106,9.981105353606775E-9,107,9.983807356573187E-9,108,1.687060485811522E-8,109,1.688447560354875E-8,110,2.176606011487185E-8,111,2.225078816042032E-8,112,2.348476432064694E-8,113,2.348765250187846E-8,114,2.378108974103778E-8,115,3.14559636297708E-8,116,3.297788621680806E-8,117,3.667892343788279E-8,118,4.235973644320739E-8,119,4.794625900676345E-8,120,7.262742998235812E-8,121,7.499447580246377E-8,122,7.525056410964318E-8,123,7.979913581209237E-8,\n124,9.662020153976783E-8,125,9.799175562353741E-8,126,9.897353517547472E-8,127,1.02313891987647E-7,128,1.081460541960784E-7,129,1.21905913857622E-7,130,2.246893314238523E-7,131,2.297344808062643E-7,132,2.42984645941825E-7,133,2.754604784282804E-7,134,2.884548130346993E-7,135,3.370339971357784E-7,136,4.307953346848296E-7,137,5.208707228462029E-7,138,5.509209568565608E-7,139,6.452227422644406E-7,140,6.740679942715567E-7,141,6.861770001566745E-7,142,7.252630318111686E-7,143,7.441010326374328E-7,144,\n7.742672907173287E-7,145,9.629542775307953E-7,146,1.061032953945969E-6,147,1.143628333594458E-6,148,1.162186197019925E-6,149,1.36418522650196E-6,150,1.367441038498385E-6,151,1.432394487827058E-6,152,1.736235742820677E-6,153,1.848250952034914E-6,154,1.909859317102744E-6,155,1.975716534933873E-6,156,2.122065907891938E-6,157,2.72837045300392E-6,158,3.183098861837907E-6,159,3.580986219567645E-6,160,3.819718634205488E-6,161,4.09255567950588E-6,162,4.407367654852486E-6,163,4.774648292756861E-6,164,5.161781938115525E-6,\n165,5.20870722846203E-6,166,5.729577951308232E-6,167,6.031134685587613E-6,168,6.987290184522236E-6,169,9.241254760174569E-6,170,1.145915590261646E-5],pcstol:[0,6.666666666666667E-9,1,2E-8,2,4.970973863636364E-5,3,4.970978156565657E-5,4,4.970980410559237E-5,5,.001,6,.001093615055555556,7,.001093615194444445,8,.001093619003239988,9,.001093623110088878,10,.003280833333333333,11,.003280839895013123,12,.003280843014596366,13,.003280845583333334,14,.003280869330266636,15,.00497101413676763],newtoold:[2154,\n102110,2195,102200,2204,32036,2205,26979,2225,102641,2226,102642,2227,102643,2228,102644,2229,102645,2230,102646,2231,102653,2232,102654,2233,102655,2234,102656,2235,102657,2236,102658,2237,102659,2238,102660,2239,102666,2240,102667,2241,102668,2242,102669,2243,102670,2246,102679,2247,102680,2248,102685,2249,102686,2250,102687,2254,102694,2255,102695,2257,102712,2258,102713,2259,102714,2260,102715,2261,102716,2262,102717,2263,102718,2264,102719,2267,102724,2268,102725,2271,102728,2272,102729,2274,\n102736,2275,102737,2276,102738,2277,102739,2278,102740,2279,102741,2283,102746,2284,102747,2285,102748,2286,102749,2287,102752,2288,102753,2289,102754,2312,23433,2326,102140,2395,2091,2396,2092,2397,2166,2398,2167,2399,2168,2759,102229,2760,102230,2761,102248,2762,102249,2763,102250,2764,102251,2765,102252,2766,102241,2767,102242,2768,102243,2769,102244,2770,102245,2771,102246,2772,102253,2773,102254,2774,102255,2775,102256,2776,102257,2777,102258,2778,102259,2779,102260,2780,102266,2781,102267,2782,\n102261,2783,102262,2784,102263,2785,102264,2786,102265,2787,102268,2788,102269,2789,102270,2790,102271,2791,102272,2792,102273,2793,102274,2794,102275,2795,102276,2796,102277,2797,102278,2798,102279,2799,102280,2800,102281,2801,102282,2802,102283,2803,102284,2804,102285,2805,102286,2806,102287,2807,102288,2808,102289,2809,102290,2810,102291,2811,102292,2812,102293,2813,102294,2814,102295,2815,102296,2816,102297,2817,102298,2818,102300,2819,102304,2820,102307,2821,102308,2822,102309,2823,102310,2824,\n102311,2825,102312,2826,102313,2827,102314,2828,102315,2829,102316,2830,102317,2831,102318,2832,102320,2833,102321,2834,102322,2835,102323,2836,102324,2837,102325,2838,102326,2839,102327,2840,102330,2841,102334,2842,102335,2843,102336,2844,102337,2845,102338,2846,102339,2847,102340,2848,102341,2849,102342,2850,102343,2851,102344,2852,102345,2853,102346,2854,102347,2855,102348,2856,102349,2857,102350,2858,102351,2859,102352,2860,102353,2861,102354,2862,102355,2863,102356,2864,102357,2865,102358,2866,\n102361,2942,102167,2943,102169,2944,2139,2945,2140,2946,2141,2947,2142,2948,2143,2949,2144,2950,2145,2951,2146,2952,2147,2953,2036,2954,2291,2955,2153,2956,2152,2957,2151,2958,2150,2959,2149,2960,2037,2961,2038,2962,2148,2965,2244,2966,2245,3003,102091,3004,102092,3005,102190,3060,2982,3067,102139,3072,102606,3074,102608,3075,102208,3077,102210,3078,102123,3080,102119,3081,102603,3082,102602,3083,102601,3088,65163,3089,102763,3090,102363,3092,102151,3093,102152,3094,102153,3095,102154,3096,102155,\n3097,102145,3098,102146,3099,102147,3100,102148,3101,102149,3102,2155,3107,102172,3110,102170,3111,102171,3119,2214,3158,102234,3159,102235,3160,102236,3336,2979,3338,102006,3346,2600,3370,102126,3371,102127,3372,102130,3373,102131,3389,2577,3390,2694,3400,102184,3401,102185,3404,3359,3407,3366,3417,102675,3418,102676,3419,102677,3420,102678,3421,102707,3422,102708,3423,102709,3424,102711,3433,102651,3434,102652,3435,102671,3436,102672,3437,102710,3438,102730,3448,102095,3451,102681,3452,102682,3455,\n102735,3461,2063,3462,2064,3463,3073,3464,3076,3560,102742,3566,102743,3567,102744,3734,102722,3735,102723,3736,102755,3737,102756,3738,102757,3739,102758,3741,102205,3742,102206,3743,102207,3748,102211,3750,102202,3751,102203,3759,102663,3760,102463,3764,102112,3770,102090,3771,102180,3772,102181,3773,102182,3775,102186,3776,102187,3777,102188,3800,102183,3801,102189,3812,102199,3814,102609,3815,102469,3819,104990,3821,104136,3824,104137,3825,102444,3826,102443,3827,102442,3828,102441,3857,102100,\n3889,104991,3906,104992,4048,103201,4049,103202,4050,103203,4051,103204,4056,103205,4057,103206,4058,103207,4059,103208,4060,103209,4061,103210,4062,103211,4063,103212,4071,103213,4082,103214,4083,103215,4093,103216,4094,103217,4095,103218,4096,103219,4167,104108,4169,37252,4171,104107,4189,104110,4197,4234,4223,37223,4304,104304,4414,102201,4415,102762,4417,102764,4434,102765,4437,102647,4455,32029,4456,32018,4457,3454,4462,102439,4463,4466,4470,4469,4484,103794,4485,103795,4486,103796,4487,103797,\n4488,103798,4489,103799,4611,104104,4612,104111,4613,37255,4615,37247,4616,37250,4617,4140,4618,4291,4620,37211,4626,37235,4647,102362,4658,37204,4668,37201,4669,4126,4672,37217,4673,104125,4675,37220,4684,37232,4698,4631,4707,37213,4708,37231,4709,37212,4710,37238,4711,37214,4712,37237,4713,37208,4714,37215,4715,37253,4716,37216,4717,37239,4719,37219,4722,37242,4724,37233,4725,37222,4727,37224,4728,37246,4729,37226,4730,37227,4731,37228,4732,37229,4733,37230,4734,37251,4735,37259,4736,37254,4739,\n37205,4758,104133,4760,37001,4762,104114,4826,102214,5013,104142,5014,102331,5015,102332,5016,102333,5173,102085,5174,102086,5175,102087,5176,102088,5177,102089,5178,102040,5179,102080,5185,102081,5186,102082,5187,102083,5188,102084,5221,102066,5246,104100,5247,102490,5324,104144,5325,102420,5329,2934,5365,104143,5367,102305,5451,104132,5513,102065,5514,102067,5519,102111,5520,31461,5646,102745,5839,5388,5858,5532,5879,4474,6207,104256,6244,102769,6245,102790,6246,102770,6247,102771,6248,102793,6249,\n102796,6250,102772,6251,102788,6252,102775,6253,102795,6254,102781,6255,102767,6256,102774,6257,102768,6258,102797,6259,102789,6260,102780,6261,102783,6262,102787,6263,102791,6264,102777,6265,102798,6266,102779,6267,102784,6268,102792,6269,102782,6270,102785,6271,102794,6272,102773,6273,102778,6274,102786,6275,102776,6311,104141,6318,104145,6322,104287,6325,104286,6328,102046,6329,102047,6330,102048,6331,102049,6332,102050,6333,102051,6334,102052,6335,102053,6336,102054,6337,102055,6338,102056,6339,\n102057,6340,102058,6341,102059,6342,102382,6343,102383,6344,102384,6345,102385,6346,102386,6347,102387,6348,102388,6350,102965,6355,102975,6356,102976,6391,6141,6393,102966,6394,102977,6395,102978,6396,102979,6397,102980,6398,102981,6399,102982,6400,102983,6401,102984,6402,102985,6403,102986,6404,102988,6405,102991,6406,102987,6407,102990,6408,102989,6409,102992,6410,102993,6411,102995,6412,102994,6413,102996,6414,102962,6415,102997,6416,103003,6417,102998,6418,103004,6419,102999,6420,103005,6421,\n103E3,6422,103006,6423,103001,6424,103007,6425,103002,6426,103008,6427,103010,6428,103013,6429,103009,6430,103012,6431,103011,6432,103014,6433,103015,6434,103016,6435,103017,6436,103018,6437,103019,6438,103022,6439,102967,6440,103021,6441,103024,6442,103020,6443,103023,6444,103025,6445,103027,6446,103026,6447,103028,6448,103030,6449,103033,6450,103029,6451,103032,6452,103031,6453,103034,6454,103035,6455,103037,6456,103036,6457,103038,6458,103039,6459,103041,6460,103040,6461,103042,6462,103043,6463,\n103045,6464,103044,6465,103046,6466,103047,6467,103049,6468,103048,6469,103050,6470,103051,6471,103052,6472,103053,6473,103054,6474,103055,6475,103056,6476,103057,6477,103059,6478,103058,6479,103060,6480,103066,6481,103065,6482,103067,6483,103061,6484,103063,6485,103062,6486,103064,6487,103068,6488,103069,6489,103071,6490,103073,6491,103070,6492,103072,6493,103075,6494,103078,6495,103074,6496,103077,6497,102968,6498,103076,6499,103079,6500,103081,6501,103084,6502,103080,6503,103083,6504,103082,6505,\n103085,6506,103086,6507,103088,6508,102963,6509,103087,6510,103089,6511,103091,6512,103090,6513,103092,6514,103093,6515,103094,6516,103095,6518,103098,6519,103101,6520,103097,6521,103100,6522,103099,6523,103102,6524,103103,6525,103104,6526,103105,6527,103106,6528,103108,6529,103111,6530,103107,6531,103110,6532,103109,6533,103112,6534,103114,6535,103118,6536,103113,6537,103117,6538,103116,6539,103120,6540,103115,6541,103119,6542,103121,6543,103122,6544,103123,6545,103125,6546,103124,6547,103126,6548,\n103127,6549,103129,6550,103128,6551,103130,6552,103131,6553,103133,6554,103132,6555,103134,6556,102969,6557,102970,6558,103135,6559,103137,6560,103136,6561,103138,6562,103139,6563,103140,6564,103141,6565,103142,6566,103200,6567,103143,6568,103144,6569,103145,6570,103146,6571,103147,6572,103149,6573,103148,6574,103150,6575,103151,6576,103152,6577,103155,6578,103160,6579,102971,6580,102972,6581,103153,6582,103158,6583,103154,6584,103159,6585,103157,6586,103162,6587,103156,6588,103161,6589,103172,6590,\n103173,6592,103174,6593,103176,6594,103175,6595,103177,6596,103178,6597,103180,6598,103179,6599,103181,6600,103182,6601,103184,6602,103183,6603,103185,6605,103190,6606,103186,6607,103189,6608,103188,6609,103191,6610,102973,6611,103192,6612,103196,6613,103193,6614,103197,6615,103195,6616,103199,6617,103194,6618,103198,6619,103164,6620,103163,6621,103165,6625,103170,6626,103169,6627,103171,6628,102520,6629,102521,6630,102522,6631,102523,6632,102524,6633,102527,6634,102493,6635,102494,6636,102496,6637,\n102495,6668,104020,6669,102610,6670,102611,6671,102612,6672,102613,6673,102614,6674,102615,6675,102616,6676,102617,6677,102618,6678,102619,6679,102620,6680,102621,6681,102622,6682,102623,6683,102624,6684,102625,6685,102626,6686,102627,6687,102628,6688,102593,6689,102594,6690,102595,6691,102596,6692,102597,6783,104223,6784,102530,6785,102500,6788,102532,6789,102502,6792,102533,6793,102503,6796,102531,6797,102501,6800,102534,6801,102504,6804,102535,6805,102505,6808,102536,6809,102506,6812,102537,6813,\n102507,6816,102538,6817,102508,6820,102539,6821,102509,6824,102540,6825,102510,6828,102541,6829,102511,6832,102542,6833,102512,6836,102543,6837,102513,6840,102544,6841,102514,6844,102546,6845,102516,6848,102545,6849,102515,6852,102547,6853,102517,6856,102548,6857,102518,6860,102549,6861,102519,6867,102380,6868,102381,6879,103187,6880,103096,6884,102376,6885,102378,6886,102377,6887,102379,7136,6980,7139,6987,7142,102706,7692,102557,7693,102558,7694,102559,7695,102560,7696,102561,8090,103318,8091,103418,\n8092,103317,8093,103417,8095,103371,8096,103471,8097,103369,8098,103469,8099,103368,8100,103468,8101,103367,8102,103467,8103,103366,8104,103466,8105,103365,8106,103465,8107,103364,8108,103464,8109,103363,8110,103463,8111,103362,8112,103462,8113,103361,8114,103461,8115,103360,8116,103460,8117,103359,8118,103459,8119,103357,8120,103457,8121,103356,8122,103456,8123,103355,8124,103455,8125,103354,8126,103454,8127,103353,8128,103453,8129,103352,8130,103452,8131,103350,8132,103450,8133,103349,8134,103449,\n8135,103348,8136,103448,8139,103343,8140,103443,8141,103342,8142,103442,8143,103341,8144,103441,8145,103339,8146,103439,8147,103337,8148,103437,8149,103336,8150,103436,8151,103334,8152,103434,8153,103333,8154,103433,8155,103331,8156,103431,8161,103326,8162,103426,8163,103325,8164,103425,8165,103324,8166,103424,8171,103321,8172,103421,8173,103320,8177,103420,8179,103316,8180,103416,8181,103315,8182,103415,8184,103314,8185,103414,8191,103312,8193,103412,8196,103311,8197,103411,8198,103310,8200,103410,\n8201,103309,8202,103409,8203,103308,8204,103408,8207,103306,8208,103406,8209,103305,8210,103405,8212,103304,8213,103404,8214,103303,8216,103403,8218,103302,8220,103402,8222,103301,8224,103401,8431,104248,8441,102590,8693,102449,8826,102605,8857,54035,8858,54036,8859,54037,8860,8449,8988,104115,8989,104116,8990,104117,8991,104118,8992,104119,8993,104120,8994,104121,8995,104122,8996,104123,8997,104124,8998,104896,8999,104257,9E3,104019,9014,104010,9019,104021,9053,104011,9054,104012,9055,104013,9056,\n104014,9057,104015,9059,104258,9060,104179,9061,104180,9062,104181,9063,104182,9064,104183,9065,104184,9066,104185,9067,104186,21896,21891,21897,21892,21898,21893,21899,21894,26701,102124,26702,102125,26799,26747,26847,102683,26848,102684,26849,102691,26850,102692,26851,102693,26852,102704,26853,102750,26854,102751,26857,102466,26858,102467,26859,102468,26901,102128,26902,102129,27493,27492,29101,29100,29168,29118,29169,29119,29170,29120,29171,29121,29172,29122,29187,29177,29188,29178,29189,29179,\n29190,29180,29191,29181,29192,29182,29193,29183,29194,29184,29195,29185,29902,29900,31279,31278,31281,31291,31282,31292,31283,31293,31284,31294,31285,31295,31286,31296,31287,31297,31466,31462,31467,31463,31468,31464,31469,31465,31986,31917,31987,31918,31988,31919,31989,31920,31990,31921,31991,31922,32064,32074,32065,32075,32066,32076,32067,32077,102550,2181,102551,2182,102552,2183,102553,2184,102554,2185,102555,2186,102556,2187],pcsid:[2066,15,2136,12,2155,10,2157,5,2158,5,2159,12,2160,12,2219,5,\n2220,5,2244,10,2245,10,2256,11,2265,11,2266,11,2269,11,2270,11,2273,11,2290,5,2291,5,2294,5,2295,5,2313,5,2314,14,2899,10,2900,10,2901,11,2909,11,2910,11,2911,10,2912,10,2913,11,2914,11,2964,10,2967,10,2968,10,2991,5,2992,11,2993,5,2994,11,3073,5,3076,5,3079,5,3091,10,3106,5,3108,5,3109,5,3141,5,3142,5,3167,4,3337,5,3347,5,3348,5,3359,10,3360,5,3361,11,3362,5,3363,10,3364,5,3365,10,3366,14,3402,5,3403,5,3405,5,3406,5,3439,5,3440,5,3447,5,3449,5,3450,5,3453,10,3454,10,3460,5,3479,11,3480,5,3481,11,\n3482,5,3483,11,3484,5,3485,10,3486,5,3487,10,3488,5,3489,5,3490,10,3491,5,3492,10,3493,5,3494,10,3495,5,3496,10,3497,5,3498,10,3499,5,3500,10,3501,5,3502,10,3503,5,3504,10,3505,5,3506,10,3507,5,3508,10,3509,5,3510,10,3511,5,3512,10,3513,5,3514,5,3515,10,3516,5,3517,10,3518,5,3519,10,3520,5,3521,10,3522,5,3523,10,3524,5,3525,10,3526,5,3527,10,3528,5,3529,10,3530,5,3531,10,3532,5,3533,10,3534,5,3535,10,3536,5,3537,10,3538,5,3539,10,3540,5,3541,10,3542,5,3543,10,3544,5,3545,10,3546,5,3547,10,3548,5,\n3549,10,3550,5,3551,10,3552,5,3553,10,3582,10,3583,5,3584,10,3585,5,3586,10,3587,5,3588,11,3589,5,3590,11,3591,5,3592,5,3593,11,3598,10,3599,5,3600,10,3605,11,3606,5,3607,5,3608,10,3609,5,3610,10,3611,5,3612,10,3613,5,3614,10,3615,5,3616,10,3617,5,3618,10,3619,5,3620,10,3621,5,3622,10,3623,5,3624,10,3625,5,3626,10,3627,5,3628,10,3629,5,3630,10,3631,5,3632,10,3633,5,3634,11,3635,5,3636,11,3640,10,3641,5,3642,10,3643,5,3644,11,3645,5,3646,11,3647,5,3648,11,3649,5,3650,10,3651,5,3652,10,3653,5,3654,\n10,3655,5,3656,11,3657,5,3658,10,3659,5,3660,10,3661,5,3662,10,3663,5,3664,10,3668,10,3669,5,3670,10,3671,5,3672,10,3673,5,3674,10,3675,5,3676,11,3677,10,3678,5,3679,11,3680,10,3681,5,3682,11,3683,10,3684,5,3685,5,3686,10,3687,5,3688,10,3689,5,3690,10,3691,5,3692,10,3696,10,3697,5,3698,10,3699,5,3700,10,3740,5,3749,5,3783,5,3784,5,3793,5,3794,5,3802,5,3816,5,3829,5,3854,5,3911,5,3912,5,3920,5,3978,5,3979,5,3991,10,3992,10,4026,5,4037,5,4038,5,4087,5,4088,5,4217,10,4438,10,4439,10,4467,5,4471,5,4474,\n5,4559,5,4822,5,4839,5,5018,5,5048,5,5167,5,5168,5,5223,5,5234,5,5235,5,5243,5,5266,5,5316,5,5320,5,5321,5,5330,5,5331,5,5337,5,5361,5,5362,5,5382,5,5383,5,5396,5,5456,5,5457,5,5469,5,5472,9,5490,5,5518,5,5523,5,5559,5,5588,11,5589,14,5596,5,5627,5,5629,5,5641,5,5643,5,5644,5,5654,10,5655,10,5659,5,5700,5,5825,5,5836,5,5837,5,5842,5,5844,5,5880,5,5887,5,5890,5,6128,11,6129,11,6141,11,6204,5,6210,5,6211,5,6307,5,6312,5,6316,5,6362,5,6591,5,6646,5,6703,5,6786,5,6787,11,6790,5,6791,11,6794,5,6795,11,\n6798,5,6799,11,6802,5,6803,11,6806,5,6807,11,6810,5,6811,11,6814,5,6815,11,6818,5,6819,11,6822,5,6823,11,6826,5,6827,11,6830,5,6831,11,6834,5,6835,11,6838,5,6839,11,6842,5,6843,11,6846,5,6847,11,6850,5,6851,11,6854,5,6855,11,6858,5,6859,11,6862,5,6863,11,6870,5,6875,5,6876,5,6915,5,6922,5,6923,10,6924,5,6925,10,6962,5,6984,5,6991,5,7128,10,7131,5,7132,10,7257,5,7258,10,7259,5,7260,10,7261,5,7262,10,7263,5,7264,10,7265,5,7266,10,7267,5,7268,10,7269,5,7270,10,7271,5,7272,10,7273,5,7274,10,7275,5,7276,\n10,7277,5,7278,10,7279,5,7280,10,7281,5,7282,10,7283,5,7284,10,7285,5,7286,10,7287,5,7288,10,7289,5,7290,10,7291,5,7292,10,7293,5,7294,10,7295,5,7296,10,7297,5,7298,10,7299,5,7300,10,7301,5,7302,10,7303,5,7304,10,7305,5,7306,10,7307,5,7308,10,7309,5,7310,10,7311,5,7312,10,7313,5,7314,10,7315,5,7316,10,7317,5,7318,10,7319,5,7320,10,7321,5,7322,10,7323,5,7324,10,7325,5,7326,10,7327,5,7328,10,7329,5,7330,10,7331,5,7332,10,7333,5,7334,10,7335,5,7336,10,7337,5,7338,10,7339,5,7340,10,7341,5,7342,10,7343,\n5,7344,10,7345,5,7346,10,7347,5,7348,10,7349,5,7350,10,7351,5,7352,10,7353,5,7354,10,7355,5,7356,10,7357,5,7358,10,7359,5,7360,10,7361,5,7362,10,7363,5,7364,10,7365,5,7366,10,7367,5,7368,10,7369,5,7370,10,7877,5,7878,5,7882,5,7883,5,7887,5,7899,5,7991,5,7992,5,8035,10,8036,10,8058,5,8059,5,8082,5,8083,5,8088,5,8137,5,8138,10,8157,5,8158,10,8159,5,8160,10,8167,5,8168,10,8169,5,8170,10,8187,5,8189,10,8205,5,8206,10,8225,5,8226,10,8311,5,8312,11,8313,5,8314,11,8315,5,8316,11,8317,5,8318,11,8319,5,8320,\n11,8321,5,8322,11,8323,5,8324,11,8325,5,8326,11,8327,5,8328,11,8329,5,8330,11,8331,5,8332,11,8333,5,8334,11,8335,5,8336,11,8337,5,8338,11,8339,5,8340,11,8341,5,8342,11,8343,5,8344,11,8345,5,8346,11,8347,5,8348,11,8352,5,8353,5,8379,5,8380,10,8381,5,8382,10,8383,5,8384,10,8385,5,8387,10,8391,5,8395,5,8433,5,8455,5,8456,5,8531,10,8682,5,8687,5,8692,5,8903,5,8950,5,8951,5,9039,5,9040,5,9141,5,9149,5,9150,5,9191,5,9221,5,9222,5,20499,5,20538,5,20539,5,20790,5,20791,5,21291,5,21292,5,21500,5,21817,5,21818,\n5,22032,5,22033,5,22091,5,22092,5,22332,5,22391,5,22392,5,22700,5,22770,5,22780,5,22832,5,23090,5,23095,5,23239,5,23240,5,23433,5,23700,5,24047,5,24048,5,24100,14,24200,5,24305,5,24306,5,24382,6,24383,5,24500,5,24547,5,24548,5,24571,2,24600,5,25E3,5,25231,5,25884,5,25932,5,26237,5,26331,5,26332,5,26591,5,26592,5,26632,5,26692,5,26855,10,26856,10,27120,5,27200,5,27291,7,27292,7,27429,5,27492,5,27500,5,27700,5,28232,5,28600,5,28991,5,28992,5,29100,5,29220,5,29221,5,29333,5,29635,5,29636,5,29701,5,29738,\n5,29739,5,29849,5,29850,5,29871,3,29872,13,29873,5,29900,5,29901,5,29903,5,30200,15,30339,5,30340,5,30791,5,30792,5,31028,5,31121,5,31154,5,31170,5,31171,5,31370,5,31528,5,31529,5,31600,5,31700,5,31838,5,31839,5,31901,5,32061,5,32062,5,32098,5,32099,10,32100,5,32104,5,32161,5,32766,5,53048,5,53049,5,54090,5,54091,5,65061,10,65062,10,65161,5,65163,5,102041,10,102064,8,102068,1,102069,0,102118,10,102119,11,102120,10,102121,10,102217,10,102218,5,102219,10,102220,10,102378,11,102379,11,102380,5,102381,\n11,102498,5,102499,5,102589,10,102590,5,102599,10,102600,10,102604,10,102605,5,102606,5,102647,5,102704,10,102705,10,102706,5,102733,10,102761,10,102762,5,102763,10,102764,5,102765,5,102766,10,102962,5,102963,5,102970,11,102974,10,102993,5,102994,5,102995,10,102996,10,103015,5,103016,10,103017,5,103018,10,103025,5,103026,5,103027,10,103028,10,103035,5,103036,5,103037,10,103038,10,103039,5,103040,5,103041,10,103042,10,103043,5,103044,5,103045,10,103046,10,103047,5,103048,5,103049,10,103050,10,103051,\n5,103052,10,103053,5,103054,10,103055,5,103056,10,103057,5,103058,5,103059,10,103060,10,103061,5,103062,5,103063,10,103064,10,103069,10,103070,5,103071,5,103072,10,103073,10,103086,5,103087,5,103088,10,103089,10,103094,11,103095,5,103096,10,103103,5,103104,10,103105,5,103106,10,103121,5,103122,10,103123,5,103124,5,103125,11,103126,11,103127,5,103128,5,103129,10,103130,10,103131,5,103132,5,103133,10,103134,10,103135,5,103136,5,103137,11,103138,11,103139,5,103140,10,103141,5,103142,10,103143,5,103144,\n10,103145,5,103146,11,103147,5,103148,5,103149,10,103150,10,103151,5,103152,10,103172,5,103173,10,103174,5,103175,5,103176,10,103177,10,103178,5,103179,5,103180,10,103181,10,103182,5,103183,5,103184,10,103185,10,103228,5,103229,5,103230,10,103231,10,103250,5,103251,10,103252,5,103253,10,103260,5,103261,5,103262,10,103263,10,103270,5,103271,5,103272,10,103273,10,103274,5,103275,5,103276,10,103277,10,103278,5,103279,5,103280,10,103281,10,103282,5,103283,5,103284,10,103285,10,103286,5,103287,10,103288,\n5,103289,10,103290,5,103291,10,103292,5,103293,5,103294,10,103295,10,103296,5,103297,5,103298,10,103299,10,103376,10,103377,5,103378,5,103379,10,103380,10,103393,5,103394,5,103395,10,103396,10,103472,5,103473,11,103474,5,103475,10,103482,5,103483,10,103484,5,103485,10,103500,5,103501,10,103502,5,103503,5,103504,11,103505,11,103506,5,103507,5,103508,10,103509,10,103510,5,103511,5,103512,10,103513,10,103514,5,103515,10,103516,5,103517,10,103518,5,103519,10,103520,5,103521,11,103522,5,103523,5,103524,\n10,103525,10,103526,5,103527,10,103561,10,103562,10,103563,5,103564,5,103565,10,103566,10,103567,5,103568,5,103569,10,103570,10,103585,10,103586,5,103587,10,103588,11,103589,5,103590,10,103591,11,103592,5,103593,10,103594,11,103695,10,103846,5,103946,10],pcsidc:[[2E3,2045,5],[2056,2065,5],[2067,2135,5],[2137,2153,5],[2161,2170,5],[2172,2193,5],[2196,2198,5],[2200,2203,5],[2206,2217,5],[2222,2224,11],[2251,2253,11],[2280,2282,11],[2308,2311,5],[2315,2325,5],[2327,2394,5],[2400,2491,5],[2494,2758,5],\n[2867,2869,11],[2870,2888,10],[2891,2895,10],[2896,2898,11],[2902,2908,10],[2915,2920,10],[2921,2923,11],[2924,2930,10],[2931,2941,5],[2969,2973,5],[2975,2982,5],[2984,2988,5],[2995,3002,5],[3006,3051,5],[3054,3059,5],[3061,3066,5],[3068,3071,5],[3084,3087,5],[3112,3118,5],[3120,3138,5],[3146,3151,5],[3153,3157,5],[3161,3166,5],[3168,3172,5],[3174,3203,5],[3294,3313,5],[3315,3335,5],[3339,3345,5],[3350,3358,5],[3367,3369,5],[3374,3388,5],[3391,3399,5],[3408,3416,5],[3425,3432,10],[3441,3446,10],[3456,\n3459,10],[3465,3478,5],[3554,3559,5],[3561,3565,10],[3568,3570,10],[3571,3581,5],[3594,3597,5],[3601,3604,5],[3637,3639,5],[3665,3667,5],[3693,3695,5],[3701,3727,5],[3728,3733,10],[3744,3747,5],[3753,3758,10],[3761,3763,5],[3765,3769,5],[3779,3781,5],[3788,3791,5],[3797,3799,5],[3832,3841,5],[3844,3852,5],[3873,3885,5],[3890,3893,5],[3942,3950,5],[3968,3970,5],[3973,3976,5],[3986,3989,5],[3994,3997,5],[4390,4398,5],[4399,4413,10],[4418,4433,10],[4491,4554,5],[4568,4589,5],[4652,4656,5],[4766,4800,\n5],[5069,5072,5],[5105,5130,5],[5180,5184,5],[5253,5259,5],[5269,5275,5],[5292,5311,5],[5343,5349,5],[5355,5357,5],[5387,5389,5],[5459,5463,5],[5479,5482,5],[5530,5539,5],[5550,5552,5],[5562,5583,5],[5623,5625,10],[5631,5639,5],[5649,5653,5],[5663,5680,5],[5682,5685,5],[5875,5877,5],[5896,5899,5],[5921,5940,5],[6050,6125,5],[6351,6354,5],[6366,6372,5],[6381,6387,5],[6622,6624,5],[6707,6709,5],[6720,6723,5],[6732,6738,5],[6931,6933,5],[7005,7007,5],[7057,7070,10],[7074,7082,5],[7109,7118,5],[7119,\n7127,11],[7374,7376,5],[7528,7586,5],[7587,7645,10],[7755,7787,5],[7791,7795,5],[7799,7801,5],[7803,7805,5],[7825,7831,5],[7845,7859,5],[8013,8032,5],[8065,8068,11],[8518,8529,10],[8533,8536,10],[8538,8540,10],[8677,8679,5],[8836,8840,5],[8908,8910,5],[9154,9159,5],[9205,9218,5],[20002,20032,5],[20062,20092,5],[20135,20138,5],[20248,20258,5],[20348,20358,5],[20436,20440,5],[20822,20824,5],[20934,20936,5],[21035,21037,5],[21095,21097,5],[21148,21150,5],[21413,21423,5],[21473,21483,5],[21780,21782,\n5],[21891,21894,5],[22171,22177,5],[22181,22187,5],[22191,22197,5],[22234,22236,5],[22521,22525,5],[22991,22994,5],[23028,23038,5],[23830,23853,5],[23866,23872,5],[23877,23884,5],[23886,23894,5],[23946,23948,5],[24311,24313,5],[24342,24347,5],[24370,24374,6],[24375,24381,5],[24718,24721,5],[24817,24821,5],[24877,24882,5],[24891,24893,5],[25391,25395,5],[25828,25838,5],[26191,26195,5],[26391,26393,5],[26703,26722,5],[26729,26760,10],[26766,26798,10],[26860,26870,10],[26891,26899,5],[26903,26923,5],\n[26929,26946,5],[26948,26998,5],[27037,27040,5],[27205,27232,5],[27258,27260,5],[27391,27398,5],[27561,27564,5],[27571,27574,5],[27581,27584,5],[27591,27594,5],[28191,28193,5],[28348,28358,5],[28402,28432,5],[28462,28492,5],[29118,29122,5],[29177,29185,5],[30161,30179,5],[30491,30494,5],[30729,30732,5],[31251,31259,5],[31265,31268,5],[31275,31278,5],[31288,31297,5],[31461,31465,5],[31491,31495,5],[31917,31922,5],[31965,31985,5],[31992,32E3,5],[32001,32003,10],[32005,32031,10],[32033,32060,10],[32074,\n32077,10],[32081,32086,5],[32107,32130,5],[32133,32158,5],[32164,32167,10],[32180,32199,5],[32201,32260,5],[32301,32360,5],[32601,32662,5],[32664,32667,10],[32701,32761,5],[53001,53004,5],[53008,53019,5],[53021,53032,5],[53034,53037,5],[53042,53046,5],[53074,53080,5],[54001,54004,5],[54008,54019,5],[54021,54032,5],[54034,54037,5],[54042,54046,5],[54048,54053,5],[54074,54080,5],[54098,54101,5],[102001,102040,5],[102042,102063,5],[102065,102067,5],[102070,102112,5],[102114,102117,5],[102122,102208,\n5],[102210,102216,5],[102221,102300,5],[102304,102377,5],[102382,102388,5],[102389,102398,10],[102399,102444,5],[102445,102447,10],[102448,102458,5],[102459,102468,10],[102469,102496,5],[102500,102519,11],[102520,102524,5],[102525,102529,10],[102530,102549,5],[102557,102588,5],[102593,102598,5],[102601,102603,5],[102608,102628,5],[102629,102646,10],[102648,102672,10],[102675,102700,10],[102701,102703,5],[102707,102730,10],[102735,102758,10],[102767,102900,5],[102965,102969,5],[102971,102973,5],[102975,\n102989,5],[102990,102992,11],[102997,103002,5],[103003,103008,10],[103009,103011,5],[103012,103014,10],[103019,103021,5],[103022,103024,10],[103029,103031,5],[103032,103034,10],[103065,103068,5],[103074,103076,5],[103077,103079,11],[103080,103082,5],[103083,103085,10],[103090,103093,5],[103097,103099,5],[103100,103102,10],[103107,103109,5],[103110,103112,10],[103113,103116,5],[103117,103120,10],[103153,103157,5],[103158,103162,10],[103163,103165,5],[103166,103168,11],[103169,103171,10],[103186,103188,\n5],[103189,103191,10],[103192,103195,5],[103196,103199,10],[103200,103224,5],[103225,103227,11],[103232,103237,5],[103238,103243,10],[103244,103246,5],[103247,103249,10],[103254,103256,5],[103257,103259,10],[103264,103266,5],[103267,103269,10],[103300,103375,5],[103381,103383,5],[103384,103386,11],[103387,103389,5],[103390,103392,10],[103397,103399,5],[103400,103471,10],[103476,103478,5],[103479,103481,10],[103486,103488,5],[103489,103491,10],[103492,103495,5],[103496,103499,10],[103539,103543,5],\n[103544,103548,10],[103549,103551,5],[103552,103554,11],[103555,103557,10],[103558,103560,5],[103571,103573,5],[103574,103576,10],[103577,103580,5],[103581,103583,10],[103595,103597,5],[103600,103694,5],[103696,103698,5],[103700,103793,10],[103794,103799,5]],gcsid:[4001,81,4002,85,4003,70,4004,84,4005,82,4006,83,4007,60,4008,67,4009,39,4010,57,4011,63,4012,64,4013,64,4014,63,4015,92,4016,90,4018,86,4019,75,4020,68,4021,70,4022,55,4023,75,4024,66,4025,73,4027,95,4028,59,4029,58,4031,75,4032,78,4033,\n77,4034,65,4035,100,4036,70,4042,88,4044,87,4045,89,4046,75,4047,99,4052,101,4053,97,4054,61,4075,75,4081,75,4120,84,4121,75,4122,80,4123,55,4124,84,4126,75,4130,75,4131,92,4132,64,4133,75,4134,64,4140,75,4141,75,4142,64,4143,64,4144,92,4145,87,4146,89,4147,66,4148,75,4149,84,4150,84,4151,75,4152,75,4153,55,4154,55,4155,63,4156,84,4157,60,4162,84,4163,75,4164,66,4165,55,4166,75,4168,58,4170,75,4172,75,4173,75,4174,58,4175,64,4176,75,4178,66,4179,66,4180,75,4188,81,4190,75,4191,66,4192,55,4193,63,\n4198,64,4199,55,4200,66,4201,64,4202,70,4203,70,4204,55,4205,66,4206,63,4207,55,4208,55,4209,64,4210,64,4211,84,4212,64,4213,63,4214,66,4215,55,4216,67,4218,55,4219,84,4220,64,4221,55,4222,64,4224,55,4225,55,4229,68,4230,55,4231,55,4232,64,4234,64,4235,55,4236,55,4237,70,4238,70,4239,92,4240,92,4241,65,4242,67,4243,88,4244,92,4245,86,4246,64,4250,64,4251,64,4252,63,4253,67,4254,55,4255,55,4256,64,4257,84,4258,75,4259,55,4260,64,4261,106,4262,84,4263,64,4265,55,4266,63,4267,67,4269,75,4270,64,4271,\n55,4272,55,4273,82,4274,55,4275,63,4276,73,4280,84,4281,57,4282,63,4283,75,4284,66,4285,55,4286,68,4288,55,4289,84,4291,70,4292,55,4293,83,4294,84,4295,84,4296,63,4297,55,4298,90,4299,85,4300,85,4301,84,4302,60,4303,68,4306,84,4307,64,4308,84,4309,55,4310,63,4311,55,4312,84,4313,55,4314,84,4315,63,4316,55,4317,66,4318,75,4319,75,4322,80,4324,80,4326,75,4466,75,4469,75,4475,55,4483,75,4490,75,4555,66,4558,75,4608,67,4609,67,4610,74,4614,55,4619,75,4624,75,4625,55,4627,75,4636,55,4637,55,4638,67,4639,\n55,4657,93,4659,75,4660,55,4661,75,4666,84,4667,75,4670,75,4671,63,4674,75,4679,64,4680,64,4682,92,4683,67,4686,75,4687,75,4693,75,4694,75,4695,67,4696,64,4697,64,4702,75,4703,64,4704,55,4705,55,4706,68,4718,55,4720,80,4721,55,4723,67,4726,67,4737,75,4738,60,4740,79,4741,55,4742,75,4743,64,4744,64,4745,84,4746,84,4747,75,4748,56,4749,75,4750,75,4751,91,4752,56,4753,55,4754,55,4759,75,4761,75,4801,84,4802,55,4803,55,4804,84,4805,84,4806,55,4807,106,4808,84,4809,55,4810,105,4811,106,4816,106,4817,82,\n4818,84,4820,84,4821,106,4823,55,4824,55,4901,107,4902,107,4903,59,4904,84,5228,84,5229,84,5233,92,5252,75,5264,75,5340,75,5354,75,5360,75,5371,75,5373,75,5381,75,5393,75,5464,60,5467,67,5489,75,5524,55,5527,70,5546,75,5561,66,5593,75,5681,84,5886,75,6135,75,6365,75,6706,75,6881,64,6882,64,6883,55,6892,64,6894,64,6980,75,6983,75,6987,75,6990,75,7035,75,7037,75,7039,75,7041,75,7073,75,7084,75,7086,75,7133,75,7373,75,7683,76,7798,75,7844,75,7881,75,7886,75,8042,96,8043,96,8086,75,8232,75,8237,75,8240,\n75,8246,75,8249,75,8252,75,8255,75,8351,84,8427,75,8428,55,8449,75,8545,75,8685,75,8694,64,8699,75,8818,75,8888,75,8900,75,8902,75,8907,75,8949,75,9003,75,9006,75,9009,75,9012,75,9017,75,9068,75,9069,75,9140,75,9148,75,9153,75,37001,73,37002,69,37003,72,37004,71,37005,62,37006,91,37007,94,37008,101,37201,55,37202,92,37203,87,37204,55,37205,55,37206,64,37207,71,37208,64,37211,64,37220,67,37221,55,37222,55,37223,63,37224,55,37225,106,37226,55,37227,55,37228,64,37229,62,37230,55,37231,70,37232,55,37233,\n55,37235,55,37237,55,37238,55,37239,67,37240,64,37241,55,37242,55,37243,67,37252,67,37253,55,37254,64,37255,84,37257,66,37259,55,37260,67,104017,79,104018,79,104024,75,104027,75,104047,98,104050,75,104100,75,104101,84,104102,84,104103,64,104104,55,104105,84,104106,55,104107,75,104108,75,104109,67,104110,75,104111,75,104112,67,104113,67,104128,102,104129,75,104130,55,104131,84,104132,67,104133,75,104134,75,104135,66,104136,70,104137,75,104138,55,104139,106,104140,106,104223,75,104248,55,104256,92,\n104261,63,104286,75,104287,75,104304,63,104700,49,104701,9,104702,24,104703,15,104704,28,104705,32,104706,53,104707,46,104708,37,104709,54,104710,11,104711,14,104712,30,104713,52,104714,4,104715,4,104716,23,104717,14,104718,48,104719,29,104720,22,104721,21,104722,35,104723,21,104724,46,104725,22,104726,49,104727,45,104728,52,104729,10,104730,10,104731,21,104732,31,104733,26,104734,40,104735,19,104736,30,104737,34,104738,27,104739,46,104740,5,104741,12,104742,50,104743,9,104744,43,104745,21,104746,\n26,104747,25,104748,21,104749,7,104750,53,104751,6,104752,33,104753,29,104754,19,104755,41,104756,31,104757,3,104758,41,104759,25,104760,49,104761,41,104762,44,104763,50,104764,46,104765,6,104766,40,104767,16,104768,8,104769,17,104770,48,104771,42,104772,50,104773,25,104774,29,104775,25,104776,32,104777,13,104778,36,104779,47,104780,14,104781,29,104782,23,104783,38,104784,42,104785,18,104786,20,104808,51,104896,75,104900,112,104901,104,104902,103,104903,116,104904,109,104905,108,104906,169,104907,\n164,104908,0,104909,168,104910,141,104911,166,104912,114,104913,160,104914,151,104915,117,104916,110,104917,140,104918,115,104919,170,104920,163,104921,154,104922,158,104923,161,104924,148,104925,0,104926,159,104927,167,104928,127,104929,131,104930,145,104931,159,104932,136,104933,123,104934,139,104935,134,104936,166,104937,150,104938,137,104939,147,104940,121,104941,165,104942,128,104943,111,104944,1,104945,126,104946,152,104947,157,104948,162,104949,153,104950,156,104951,149,104952,132,104953,122,\n104954,160,104955,146,104956,143,104957,156,104958,120,104959,125,104960,2,104961,144,104962,142,104963,138,104964,155,104965,135,104966,133,104967,151,104968,118,104969,119,104970,124,104971,108,104972,129,104973,130,104974,113,104975,0,104990,84,104991,75,104992,84],gcsidc:[[4127,4129,67],[4135,4139,67],[4158,4161,55],[4181,4185,55],[4194,4196,55],[4226,4228,63],[4247,4249,55],[4277,4279,81],[4600,4607,64],[4621,4623,55],[4628,4633,55],[4641,4646,55],[4662,4665,55],[4676,4678,66],[4688,4692,55],\n[4699,4701,64],[4755,4757,75],[4763,4765,75],[4813,4815,84],[8972,8987,75],[37212,37219,55],[37245,37247,55],[37249,37251,55],[104009,104015,75],[104019,104022,75],[104114,104124,75],[104125,104127,55],[104141,104145,75],[104179,104186,75],[104257,104260,75]]},g={c:[[2E3,2035,9001],[2039,2045,9001],[2056,2062,9001],[2067,2090,9001],[2093,2135,9001],[2161,2165,9001],[2172,2180,9001],[2188,2193,9001],[2195,2198,9001],[2200,2203,9001],[2205,2213,9001],[2215,2217,9001],[2222,2224,9002],[2225,2243,9003],\n[2246,2250,9003],[2251,2253,9002],[2257,2264,9003],[2274,2279,9003],[2280,2282,9002],[2283,2289,9003],[2308,2313,9001],[2315,2491,9001],[2494,2576,9001],[2578,2599,9001],[2601,2693,9001],[2695,2866,9001],[2867,2869,9002],[2870,2888,9003],[2891,2895,9003],[2896,2898,9002],[2902,2908,9003],[2915,2920,9003],[2921,2923,9002],[2924,2930,9003],[2931,2933,9001],[2935,2962,9001],[2964,2968,9003],[2969,2973,9001],[2975,2978,9001],[2984,2988,9001],[2995,3051,9001],[3054,3072,9001],[3077,3079,9001],[3081,3088,\n9001],[3092,3101,9001],[3106,3138,9001],[3146,3151,9001],[3153,3166,9001],[3168,3172,9001],[3174,3203,9001],[3294,3313,9001],[3315,3348,9001],[3350,3358,9001],[3367,3403,9001],[3408,3416,9001],[3417,3438,9003],[3441,3446,9003],[3447,3450,9001],[3451,3453,9003],[3455,3459,9003],[3460,3478,9001],[3554,3559,9001],[3560,3570,9003],[3571,3581,9001],[3594,3597,9001],[3601,3604,9001],[3637,3639,9001],[3665,3667,9001],[3693,3695,9001],[3701,3727,9001],[3728,3739,9003],[3740,3751,9001],[3753,3760,9003],[3761,\n3773,9001],[3775,3777,9001],[3779,3781,9001],[3788,3791,9001],[3797,3802,9001],[3814,3816,9001],[3825,3829,9001],[3832,3841,9001],[3844,3852,9001],[3873,3885,9001],[3890,3893,9001],[3942,3950,9001],[3968,3970,9001],[3973,3976,9001],[3986,3989,9001],[3994,3997,9001],[4001,4016,9102],[4018,4025,9102],[4027,4029,9102],[4031,4036,9102],[4044,4047,9102],[4048,4051,9001],[4052,4054,9102],[4056,4063,9001],[4093,4096,9001],[4120,4124,9102],[4127,4139,9102],[4141,4176,9102],[4178,4185,9102],[4188,4216,9102],\n[4218,4232,9102],[4235,4260,9102],[4265,4267,9102],[4269,4286,9102],[4292,4304,9102],[4306,4319,9102],[4390,4398,9001],[4399,4413,9003],[4418,4433,9003],[4455,4457,9003],[4484,4489,9001],[4491,4554,9001],[4568,4589,9001],[4600,4630,9102],[4636,4639,9102],[4641,4646,9102],[4652,4656,9001],[4657,4680,9102],[4682,4684,9102],[4686,4765,9102],[4766,4800,9001],[4801,4806,9102],[4813,4815,9102],[5014,5016,9001],[5069,5072,9001],[5105,5130,9001],[5173,5188,9001],[5253,5259,9001],[5269,5275,9001],[5292,5311,\n9001],[5329,5331,9001],[5343,5349,9001],[5355,5357,9001],[5459,5463,9001],[5479,5482,9001],[5518,5520,9001],[5533,5539,9001],[5550,5552,9001],[5562,5583,9001],[5623,5625,9003],[5631,5639,9001],[5649,5653,9001],[5663,5680,9001],[5682,5685,9001],[5875,5877,9001],[5896,5899,9001],[5921,5940,9001],[6050,6125,9001],[6244,6275,9001],[6328,6348,9001],[6350,6356,9001],[6366,6372,9001],[6381,6387,9001],[6393,6404,9001],[6480,6483,9001],[6511,6514,9001],[6579,6581,9001],[6619,6624,9001],[6625,6627,9003],[6628,\n6632,9001],[6634,6637,9001],[6669,6692,9001],[6707,6709,9001],[6720,6723,9001],[6732,6738,9001],[6881,6883,9102],[6931,6933,9001],[7005,7007,9001],[7057,7070,9003],[7074,7082,9001],[7109,7118,9001],[7119,7127,9002],[7374,7376,9001],[7528,7586,9001],[7587,7645,9003],[7692,7696,9001],[7755,7787,9001],[7791,7795,9001],[7799,7801,9001],[7803,7805,9001],[7825,7831,9001],[7845,7859,9001],[8013,8032,9001],[8065,8068,9002],[8518,8529,9003],[8533,8536,9003],[8538,8540,9003],[8677,8679,9001],[8836,8840,9001],\n[8857,8859,9001],[8908,8910,9001],[8972,9E3,9102],[9053,9057,9102],[9059,9069,9102],[9154,9159,9001],[9205,9218,9001],[20002,20032,9001],[20062,20092,9001],[20135,20138,9001],[20248,20258,9001],[20348,20358,9001],[20436,20440,9001],[20822,20824,9001],[20934,20936,9001],[21035,21037,9001],[21095,21097,9001],[21148,21150,9001],[21413,21423,9001],[21473,21483,9001],[21780,21782,9001],[21896,21899,9001],[22171,22177,9001],[22181,22187,9001],[22191,22197,9001],[22234,22236,9001],[22521,22525,9001],[22991,\n22994,9001],[23028,23038,9001],[23830,23853,9001],[23866,23872,9001],[23877,23884,9001],[23886,23894,9001],[23946,23948,9001],[24311,24313,9001],[24342,24347,9001],[24370,24374,9084],[24375,24381,9001],[24718,24721,9001],[24817,24821,9001],[24877,24882,9001],[24891,24893,9001],[25391,25395,9001],[25828,25838,9001],[26191,26195,9001],[26391,26393,9001],[26701,26722,9001],[26729,26746,9003],[26748,26760,9003],[26766,26799,9003],[26847,26870,9003],[26891,26899,9001],[26901,26923,9001],[26929,26946,9001],\n[26948,26978,9001],[26980,26998,9001],[27037,27040,9001],[27205,27232,9001],[27258,27260,9001],[27391,27398,9001],[27561,27564,9001],[27571,27574,9001],[27581,27584,9001],[27591,27594,9001],[28191,28193,9001],[28348,28358,9001],[28402,28432,9001],[28462,28492,9001],[29168,29172,9001],[29187,29195,9001],[29901,29903,9001],[30161,30179,9001],[30491,30494,9001],[30729,30732,9001],[31251,31259,9001],[31265,31268,9001],[31275,31277,9001],[31281,31290,9001],[31466,31469,9001],[31491,31495,9001],[31965,\n32E3,9001],[32001,32003,9003],[32005,32017,9003],[32019,32028,9003],[32033,32035,9003],[32037,32060,9003],[32064,32067,9003],[32081,32086,9001],[32107,32130,9001],[32133,32158,9001],[32164,32167,9003],[32180,32199,9001],[32201,32260,9001],[32301,32360,9001],[32601,32662,9001],[32664,32667,9003],[32701,32761,9001],[37002,37008,9102],[53001,53004,9001],[53008,53019,9001],[53021,53032,9001],[53034,53037,9001],[53042,53046,9001],[53074,53080,9001],[54001,54004,9001],[54008,54019,9001],[54021,54032,9001],\n[54042,54046,9001],[54048,54053,9001],[54074,54080,9001],[54098,54101,9001],[102001,102005,9001],[102007,102039,9001],[102042,102045,9001],[102060,102063,9001],[102070,102079,9001],[102096,102099,9001],[102101,102109,9001],[102114,102117,9001],[102132,102138,9001],[102141,102144,9001],[102156,102166,9001],[102173,102179,9001],[102191,102198,9001],[102221,102228,9001],[102231,102233,9001],[102237,102240,9001],[102364,102375,9001],[102389,102398,9003],[102399,102419,9001],[102421,102438,9001],[102445,\n102447,9003],[102450,102458,9001],[102459,102462,9003],[102470,102489,9001],[102550,102556,9001],[102562,102588,9001],[102629,102640,9003],[102648,102650,9003],[102688,102690,9003],[102696,102700,9003],[102701,102703,9001],[102799,102900,9001],[103166,103168,9002],[103220,103224,9001],[103225,103227,9002],[103232,103237,9001],[103238,103243,9003],[103244,103246,9001],[103247,103249,9003],[103254,103256,9001],[103257,103259,9003],[103264,103266,9001],[103267,103269,9003],[103327,103330,9001],[103344,\n103347,9001],[103372,103375,9001],[103381,103383,9001],[103384,103386,9002],[103387,103389,9001],[103390,103392,9003],[103397,103399,9001],[103427,103430,9003],[103444,103447,9003],[103476,103478,9001],[103479,103481,9003],[103486,103488,9001],[103489,103491,9003],[103492,103495,9001],[103496,103499,9003],[103539,103543,9001],[103544,103548,9003],[103549,103551,9001],[103552,103554,9002],[103555,103557,9003],[103558,103560,9001],[103571,103573,9001],[103574,103576,9003],[103577,103580,9001],[103581,\n103583,9003],[103595,103597,9001],[103600,103694,9001],[103696,103698,9001],[103700,103793,9003],[104101,104103,9102],[104126,104131,9102],[104259,104261,9102],[104700,104786,9102],[104900,104975,9102]],nc:[2065,9001,2066,9039,2136,9094,2137,9001,2138,9001,2154,9001,2157,9001,2158,9001,2159,9094,2160,9094,2169,9001,2170,9001,2204,9003,2219,9001,2220,9001,2254,9003,2255,9003,2256,9002,2265,9002,2266,9002,2267,9003,2268,9003,2269,9002,2270,9002,2271,9003,2272,9003,2273,9002,2290,9001,2294,9001,2295,\n9001,2314,9005,2899,9003,2900,9003,2901,9002,2909,9002,2910,9002,2911,9003,2912,9003,2913,9002,2914,9002,2980,9001,2981,9001,2991,9001,2992,9002,2993,9001,2994,9002,3074,9001,3075,9001,3080,9002,3089,9003,3090,9001,3091,9003,3102,9003,3141,9001,3142,9001,3167,9301,3360,9001,3361,9002,3362,9001,3363,9003,3364,9001,3365,9003,3404,9003,3405,9001,3406,9001,3407,9005,3439,9001,3440,9001,3479,9002,3480,9001,3481,9002,3482,9001,3483,9002,3484,9001,3485,9003,3486,9001,3487,9003,3488,9001,3489,9001,3490,9003,\n3491,9001,3492,9003,3493,9001,3494,9003,3495,9001,3496,9003,3497,9001,3498,9003,3499,9001,3500,9003,3501,9001,3502,9003,3503,9001,3504,9003,3505,9001,3506,9003,3507,9001,3508,9003,3509,9001,3510,9003,3511,9001,3512,9003,3513,9001,3514,9001,3515,9003,3516,9001,3517,9003,3518,9001,3519,9003,3520,9001,3521,9003,3522,9001,3523,9003,3524,9001,3525,9003,3526,9001,3527,9003,3528,9001,3529,9003,3530,9001,3531,9003,3532,9001,3533,9003,3534,9001,3535,9003,3536,9001,3537,9003,3538,9001,3539,9003,3540,9001,3541,\n9003,3542,9001,3543,9003,3544,9001,3545,9003,3546,9001,3547,9003,3548,9001,3549,9003,3550,9001,3551,9003,3552,9001,3553,9003,3582,9003,3583,9001,3584,9003,3585,9001,3586,9003,3587,9001,3588,9002,3589,9001,3590,9002,3591,9001,3592,9001,3593,9002,3598,9003,3599,9001,3600,9003,3605,9002,3606,9001,3607,9001,3608,9003,3609,9001,3610,9003,3611,9001,3612,9003,3613,9001,3614,9003,3615,9001,3616,9003,3617,9001,3618,9003,3619,9001,3620,9003,3621,9001,3622,9003,3623,9001,3624,9003,3625,9001,3626,9003,3627,9001,\n3628,9003,3629,9001,3630,9003,3631,9001,3632,9003,3633,9001,3634,9002,3635,9001,3636,9002,3640,9003,3641,9001,3642,9003,3643,9001,3644,9002,3645,9001,3646,9002,3647,9001,3648,9002,3649,9001,3650,9003,3651,9001,3652,9003,3653,9001,3654,9003,3655,9001,3656,9002,3657,9001,3658,9003,3659,9001,3660,9003,3661,9001,3662,9003,3663,9001,3664,9003,3668,9003,3669,9001,3670,9003,3671,9001,3672,9003,3673,9001,3674,9003,3675,9001,3676,9002,3677,9003,3678,9001,3679,9002,3680,9003,3681,9001,3682,9002,3683,9003,3684,\n9001,3685,9001,3686,9003,3687,9001,3688,9003,3689,9001,3690,9003,3691,9001,3692,9003,3696,9003,3697,9001,3698,9003,3699,9001,3700,9003,3783,9001,3784,9001,3793,9001,3794,9001,3812,9001,3819,9102,3821,9102,3824,9102,3854,9001,3857,9001,3889,9102,3906,9102,3911,9001,3912,9001,3920,9001,3978,9001,3979,9001,3991,9003,3992,9003,4026,9001,4037,9001,4038,9001,4042,9102,4071,9001,4075,9102,4081,9102,4082,9001,4083,9001,4087,9001,4088,9001,4217,9003,4261,9105,4262,9102,4263,9102,4288,9102,4289,9102,4322,9102,\n4324,9102,4326,9102,4414,9001,4415,9001,4417,9001,4434,9001,4437,9001,4438,9003,4439,9003,4462,9001,4463,9102,4467,9001,4470,9102,4471,9001,4475,9102,4483,9102,4490,9102,4555,9102,4558,9102,4559,9001,4632,9102,4633,9102,4647,9001,4807,9105,4808,9102,4809,9102,4810,9105,4811,9105,4816,9105,4817,9102,4818,9102,4820,9102,4821,9105,4822,9001,4823,9102,4824,9102,4826,9001,4839,9001,4901,9105,4902,9105,4903,9102,4904,9102,5013,9102,5018,9001,5048,9001,5167,9001,5168,9001,5221,9001,5223,9001,5228,9102,5229,\n9102,5233,9102,5234,9001,5235,9001,5243,9001,5246,9102,5247,9001,5252,9102,5264,9102,5266,9001,5316,9001,5320,9001,5321,9001,5324,9102,5325,9001,5337,9001,5340,9102,5354,9102,5360,9102,5361,9001,5362,9001,5365,9102,5367,9001,5371,9102,5373,9102,5381,9102,5382,9001,5383,9001,5387,9001,5389,9001,5393,9102,5396,9001,5451,9102,5456,9001,5457,9001,5464,9102,5467,9102,5469,9001,5472,9037,5489,9102,5490,9001,5513,9001,5514,9001,5523,9001,5524,9102,5527,9102,5530,9001,5531,9001,5546,9102,5559,9001,5561,9102,\n5588,9002,5589,9005,5593,9102,5596,9001,5627,9001,5629,9001,5641,9001,5643,9001,5644,9001,5646,9003,5654,9003,5655,9003,5659,9001,5681,9102,5700,9001,5825,9001,5836,9001,5837,9001,5839,9001,5842,9001,5844,9001,5858,9001,5879,9001,5880,9001,5886,9102,5887,9001,5890,9001,6128,9002,6129,9002,6135,9102,6204,9001,6207,9102,6210,9001,6211,9001,6307,9001,6311,9102,6312,9001,6316,9001,6318,9102,6322,9102,6325,9102,6362,9001,6365,9102,6391,9002,6405,9002,6406,9001,6407,9002,6408,9001,6409,9002,6410,9001,6411,\n9003,6412,9001,6413,9003,6414,9001,6415,9001,6416,9003,6417,9001,6418,9003,6419,9001,6420,9003,6421,9001,6422,9003,6423,9001,6424,9003,6425,9001,6426,9003,6427,9001,6428,9003,6429,9001,6430,9003,6431,9001,6432,9003,6433,9001,6434,9003,6435,9001,6436,9003,6437,9001,6438,9003,6439,9001,6440,9001,6441,9003,6442,9001,6443,9003,6444,9001,6445,9003,6446,9001,6447,9003,6448,9001,6449,9003,6450,9001,6451,9003,6452,9001,6453,9003,6454,9001,6455,9003,6456,9001,6457,9003,6458,9001,6459,9003,6460,9001,6461,9003,\n6462,9001,6463,9003,6464,9001,6465,9003,6466,9001,6467,9003,6468,9001,6469,9003,6470,9001,6471,9003,6472,9001,6473,9003,6474,9001,6475,9003,6476,9001,6477,9003,6478,9001,6479,9003,6484,9003,6485,9001,6486,9003,6487,9001,6488,9003,6489,9001,6490,9003,6491,9001,6492,9003,6493,9001,6494,9002,6495,9001,6496,9002,6497,9001,6498,9001,6499,9002,6500,9001,6501,9003,6502,9001,6503,9003,6504,9001,6505,9003,6506,9001,6507,9003,6508,9001,6509,9001,6510,9003,6515,9002,6516,9001,6518,9001,6519,9003,6520,9001,6521,\n9003,6522,9001,6523,9003,6524,9001,6525,9003,6526,9001,6527,9003,6528,9001,6529,9003,6530,9001,6531,9003,6532,9001,6533,9003,6534,9001,6535,9003,6536,9001,6537,9003,6538,9001,6539,9003,6540,9001,6541,9003,6542,9001,6543,9003,6544,9001,6545,9002,6546,9001,6547,9002,6548,9001,6549,9003,6550,9001,6551,9003,6552,9001,6553,9003,6554,9001,6555,9003,6556,9001,6557,9002,6558,9001,6559,9002,6560,9001,6561,9002,6562,9001,6563,9003,6564,9001,6565,9003,6566,9001,6567,9001,6568,9003,6569,9001,6570,9002,6571,9001,\n6572,9003,6573,9001,6574,9003,6575,9001,6576,9003,6577,9001,6578,9003,6582,9003,6583,9001,6584,9003,6585,9001,6586,9003,6587,9001,6588,9003,6589,9001,6590,9003,6591,9001,6592,9001,6593,9003,6594,9001,6595,9003,6596,9001,6597,9003,6598,9001,6599,9003,6600,9001,6601,9003,6602,9001,6603,9003,6605,9003,6606,9001,6607,9003,6608,9001,6609,9003,6610,9001,6611,9001,6612,9003,6613,9001,6614,9003,6615,9001,6616,9003,6617,9001,6618,9003,6633,9003,6646,9001,6668,9102,6703,9001,6706,9102,6783,9102,6784,9001,6785,\n9002,6786,9001,6787,9002,6788,9001,6789,9002,6790,9001,6791,9002,6792,9001,6793,9002,6794,9001,6795,9002,6796,9001,6797,9002,6798,9001,6799,9002,6800,9001,6801,9002,6802,9001,6803,9002,6804,9001,6805,9002,6806,9001,6807,9002,6808,9001,6809,9002,6810,9001,6811,9002,6812,9001,6813,9002,6814,9001,6815,9002,6816,9001,6817,9002,6818,9001,6819,9002,6820,9001,6821,9002,6822,9001,6823,9002,6824,9001,6825,9002,6826,9001,6827,9002,6828,9001,6829,9002,6830,9001,6831,9002,6832,9001,6833,9002,6834,9001,6835,9002,\n6836,9001,6837,9002,6838,9001,6839,9002,6840,9001,6841,9002,6842,9001,6843,9002,6844,9001,6845,9002,6846,9001,6847,9002,6848,9001,6849,9002,6850,9001,6851,9002,6852,9001,6853,9002,6854,9001,6855,9002,6856,9001,6857,9002,6858,9001,6859,9002,6860,9001,6861,9002,6862,9001,6863,9002,6867,9001,6868,9002,6870,9001,6875,9001,6876,9001,6879,9001,6880,9003,6884,9001,6885,9002,6886,9001,6887,9002,6892,9102,6894,9102,6915,9001,6922,9001,6923,9003,6924,9001,6925,9003,6962,9001,6983,9102,6984,9001,6990,9102,6991,\n9001,7035,9102,7037,9102,7039,9102,7041,9102,7073,9102,7084,9102,7086,9102,7128,9003,7131,9001,7132,9003,7133,9102,7136,9102,7139,9102,7142,9001,7257,9001,7258,9003,7259,9001,7260,9003,7261,9001,7262,9003,7263,9001,7264,9003,7265,9001,7266,9003,7267,9001,7268,9003,7269,9001,7270,9003,7271,9001,7272,9003,7273,9001,7274,9003,7275,9001,7276,9003,7277,9001,7278,9003,7279,9001,7280,9003,7281,9001,7282,9003,7283,9001,7284,9003,7285,9001,7286,9003,7287,9001,7288,9003,7289,9001,7290,9003,7291,9001,7292,9003,\n7293,9001,7294,9003,7295,9001,7296,9003,7297,9001,7298,9003,7299,9001,7300,9003,7301,9001,7302,9003,7303,9001,7304,9003,7305,9001,7306,9003,7307,9001,7308,9003,7309,9001,7310,9003,7311,9001,7312,9003,7313,9001,7314,9003,7315,9001,7316,9003,7317,9001,7318,9003,7319,9001,7320,9003,7321,9001,7322,9003,7323,9001,7324,9003,7325,9001,7326,9003,7327,9001,7328,9003,7329,9001,7330,9003,7331,9001,7332,9003,7333,9001,7334,9003,7335,9001,7336,9003,7337,9001,7338,9003,7339,9001,7340,9003,7341,9001,7342,9003,7343,\n9001,7344,9003,7345,9001,7346,9003,7347,9001,7348,9003,7349,9001,7350,9003,7351,9001,7352,9003,7353,9001,7354,9003,7355,9001,7356,9003,7357,9001,7358,9003,7359,9001,7360,9003,7361,9001,7362,9003,7363,9001,7364,9003,7365,9001,7366,9003,7367,9001,7368,9003,7369,9001,7370,9003,7373,9102,7683,9102,7798,9102,7844,9102,7877,9001,7878,9001,7881,9102,7882,9001,7883,9001,7886,9102,7887,9001,7899,9001,7991,9001,7992,9001,8035,9003,8036,9003,8042,9102,8043,9102,8058,9001,8059,9001,8082,9001,8083,9001,8086,9102,\n8088,9001,8090,9001,8091,9003,8092,9001,8093,9003,8095,9001,8096,9003,8097,9001,8098,9003,8099,9001,8100,9003,8101,9001,8102,9003,8103,9001,8104,9003,8105,9001,8106,9003,8107,9001,8108,9003,8109,9001,8110,9003,8111,9001,8112,9003,8113,9001,8114,9003,8115,9001,8116,9003,8117,9001,8118,9003,8119,9001,8120,9003,8121,9001,8122,9003,8123,9001,8124,9003,8125,9001,8126,9003,8127,9001,8128,9003,8129,9001,8130,9003,8131,9001,8132,9003,8133,9001,8134,9003,8135,9001,8136,9003,8137,9001,8138,9003,8139,9001,8140,\n9003,8141,9001,8142,9003,8143,9001,8144,9003,8145,9001,8146,9003,8147,9001,8148,9003,8149,9001,8150,9003,8151,9001,8152,9003,8153,9001,8154,9003,8155,9001,8156,9003,8157,9001,8158,9003,8159,9001,8160,9003,8161,9001,8162,9003,8163,9001,8164,9003,8165,9001,8166,9003,8167,9001,8168,9003,8169,9001,8170,9003,8171,9001,8172,9003,8173,9001,8177,9003,8179,9001,8180,9003,8181,9001,8182,9003,8184,9001,8185,9003,8187,9001,8189,9003,8191,9001,8193,9003,8196,9001,8197,9003,8198,9001,8200,9003,8201,9001,8202,9003,\n8203,9001,8204,9003,8205,9001,8206,9003,8207,9001,8208,9003,8209,9001,8210,9003,8212,9001,8213,9003,8214,9001,8216,9003,8218,9001,8220,9003,8222,9001,8224,9003,8225,9001,8226,9003,8232,9102,8237,9102,8240,9102,8246,9102,8249,9102,8252,9102,8255,9102,8311,9001,8312,9002,8313,9001,8314,9002,8315,9001,8316,9002,8317,9001,8318,9002,8319,9001,8320,9002,8321,9001,8322,9002,8323,9001,8324,9002,8325,9001,8326,9002,8327,9001,8328,9002,8329,9001,8330,9002,8331,9001,8332,9002,8333,9001,8334,9002,8335,9001,8336,\n9002,8337,9001,8338,9002,8339,9001,8340,9002,8341,9001,8342,9002,8343,9001,8344,9002,8345,9001,8346,9002,8347,9001,8348,9002,8351,9102,8352,9001,8353,9001,8379,9001,8380,9003,8381,9001,8382,9003,8383,9001,8384,9003,8385,9001,8387,9003,8391,9001,8395,9001,8427,9102,8428,9102,8431,9102,8433,9001,8441,9001,8455,9001,8456,9001,8531,9003,8545,9102,8682,9001,8685,9102,8687,9001,8692,9001,8693,9001,8694,9102,8699,9102,8818,9102,8826,9001,8860,9102,8888,9102,8900,9102,8902,9102,8903,9001,8907,9102,8949,9102,\n8950,9001,8951,9001,9003,9102,9006,9102,9009,9102,9012,9102,9014,9102,9017,9102,9019,9102,9039,9001,9040,9001,9140,9102,9141,9001,9148,9102,9149,9001,9150,9001,9153,9102,9191,9001,9221,9001,9222,9001,20499,9001,20538,9001,20539,9001,20790,9001,20791,9001,21291,9001,21292,9001,21500,9001,21817,9001,21818,9001,22032,9001,22033,9001,22091,9001,22092,9001,22332,9001,22391,9001,22392,9001,22700,9001,22770,9001,22780,9001,22832,9001,23090,9001,23095,9001,23239,9001,23240,9001,23700,9001,24047,9001,24048,\n9001,24100,9005,24200,9001,24305,9001,24306,9001,24382,9084,24383,9001,24500,9001,24547,9001,24548,9001,24571,9062,24600,9001,25E3,9001,25231,9001,25884,9001,25932,9001,26237,9001,26331,9001,26332,9001,26591,9001,26592,9001,26632,9001,26692,9001,27120,9001,27200,9001,27291,9040,27292,9040,27429,9001,27493,9001,27500,9001,27700,9001,28232,9001,28600,9001,28991,9001,28992,9001,29101,9001,29220,9001,29221,9001,29333,9001,29635,9001,29636,9001,29701,9001,29738,9001,29739,9001,29849,9001,29850,9001,29871,\n9042,29872,9041,29873,9001,30200,9039,30339,9001,30340,9001,30791,9001,30792,9001,31028,9001,31121,9001,31154,9001,31170,9001,31171,9001,31279,9001,31370,9001,31528,9001,31529,9001,31600,9001,31700,9001,31838,9001,31839,9001,31901,9001,32030,9003,32031,9003,32061,9001,32062,9001,32098,9001,32099,9003,32100,9001,32104,9001,32161,9001,32766,9001,37202,9102,37203,9102,37206,9102,37207,9102,37218,9102,37221,9102,37225,9105,37240,9102,37241,9102,37243,9102,37245,9102,37249,9102,37257,9102,37260,9102,53048,\n9001,53049,9001,54034,9001,54090,9001,54091,9001,65061,9003,65062,9003,65161,9001,102041,9003,102064,9085,102068,109030,102069,109031,102093,9001,102094,9001,102118,9003,102120,9003,102121,9003,102122,9001,102150,9001,102168,9001,102204,9001,102212,9001,102213,9001,102215,9001,102216,9001,102217,9003,102218,9001,102219,9003,102220,9003,102247,9001,102299,9001,102306,9001,102319,9001,102328,9001,102329,9001,102359,9001,102360,9001,102440,9001,102448,9001,102464,9003,102465,9003,102491,9001,102492,\n9001,102498,9001,102499,9001,102525,9003,102526,9003,102528,9003,102529,9003,102589,9003,102598,9001,102599,9003,102600,9003,102604,9003,102661,9003,102662,9003,102664,9003,102665,9003,102705,9003,102720,9003,102721,9003,102726,9003,102727,9003,102733,9003,102761,9003,102766,9003,102974,9003,103228,9001,103229,9001,103230,9003,103231,9003,103250,9001,103251,9003,103252,9001,103253,9003,103260,9001,103261,9001,103262,9003,103263,9003,103270,9001,103271,9001,103272,9003,103273,9003,103274,9001,103275,\n9001,103276,9003,103277,9003,103278,9001,103279,9001,103280,9003,103281,9003,103282,9001,103283,9001,103284,9003,103285,9003,103286,9001,103287,9003,103288,9001,103289,9003,103290,9001,103291,9003,103292,9001,103293,9001,103294,9003,103295,9003,103296,9001,103297,9001,103298,9003,103299,9003,103300,9001,103307,9001,103313,9001,103319,9001,103322,9001,103323,9001,103332,9001,103335,9001,103338,9001,103340,9001,103351,9001,103358,9001,103370,9001,103376,9003,103377,9001,103378,9001,103379,9003,103380,\n9003,103393,9001,103394,9001,103395,9003,103396,9003,103400,9003,103407,9003,103413,9003,103419,9003,103422,9003,103423,9003,103432,9003,103435,9003,103438,9003,103440,9003,103451,9003,103458,9003,103470,9003,103472,9001,103473,9002,103474,9001,103475,9003,103482,9001,103483,9003,103484,9001,103485,9003,103500,9001,103501,9003,103502,9001,103503,9001,103504,9002,103505,9002,103506,9001,103507,9001,103508,9003,103509,9003,103510,9001,103511,9001,103512,9003,103513,9003,103514,9001,103515,9003,103516,\n9001,103517,9003,103518,9001,103519,9003,103520,9001,103521,9002,103522,9001,103523,9001,103524,9003,103525,9003,103526,9001,103527,9003,103561,9003,103562,9003,103563,9001,103564,9001,103565,9003,103566,9003,103567,9001,103568,9001,103569,9003,103570,9003,103585,9003,103586,9001,103587,9003,103588,9002,103589,9001,103590,9003,103591,9002,103592,9001,103593,9003,103594,9002,103695,9003,103846,9001,103946,9003,104009,9102,104017,9102,104018,9102,104022,9102,104024,9102,104027,9102,104047,9102,104050,\n9102,104105,9102,104106,9102,104109,9102,104112,9102,104113,9102,104134,9102,104135,9102,104138,9102,104139,9105,104140,9105,104808,9102]},b=function(){function a(){}a.Cz=function(d){!1===a.ul&&a.hq();var b=a.fU(d);if(-1==b){var e=a.Qv(d);e!=d&&(b=a.Cz(e))}-1==b&&(e=a.AL(d),e!=d&&(b=a.Cz(e)));return b};a.fU=function(d){return void 0!==a.hv[d]?a.hv[d]:-1};a.vS=function(d){!1===a.ul&&a.hq();var b=a.LF(d);if(1E38==b){var e=a.Qv(d);e!=d&&(b=a.LF(e));if(1E38==b)return 1E-10}return b};a.TU=function(d){if(void 0!==\na.$p[d])return!0;var b=a.Qv(d);return b!=d&&void 0!==a.$p[b]?!0:!1};a.VU=function(d){if(void 0!==a.Dj[d])return!0;var b=a.Qv(d);return b!=d&&void 0!==a.Dj[b]?!0:!1};a.LF=function(d){!1===a.ul&&a.hq();return void 0!==a.$p[d]?a.$p[d]:void 0!==a.Dj[d]?a.Dj[d]:1E38};a.AL=function(d){!1===a.ul&&a.hq();return void 0!==a.IC[d]?a.IC[d]:d};a.Qv=function(d){!1===a.ul&&a.hq();return void 0!==a.QC[d]?a.QC[d]:d};a.hq=function(){for(var d=n,b,e=0;e<d.pcsid.length;e+=2)a.Dj[d.pcsid[e]]=d.pcstol[2*d.pcsid[e+1]+1];\nfor(e=0;e<d.pcsidc.length;e+=1){b=d.pcsidc[e];for(var h=b[0];h<=b[1];h++)a.Dj[h]=d.pcstol[2*b[2]+1]}for(e=0;e<d.gcsid.length;e+=2)a.$p[d.gcsid[e]]=d.gcstol[2*d.gcsid[e+1]+1];for(e=0;e<d.gcsidc.length;e+=1)for(b=d.gcsidc[e],h=b[0];h<=b[1];h++)a.Dj[h]=d.gcstol[2*b[2]+1];for(e=0;e<g.c.length;e+=1)for(b=g.c[e],h=b[0];h<=b[1];h++)a.hv[h]=b[2];for(e=0;e<g.nc.length;e+=2)a.hv[g.nc[e]]=g.nc[e+1];g=null;for(e=0;e<d.newtoold.length;e+=2)a.IC[d.newtoold[e+1]]=d.newtoold[e],a.QC[d.newtoold[e]]=d.newtoold[e+1];\nn=null;a.ul=!0};a.ul=!1;a.$p=[];a.Dj=[];a.IC=[];a.QC=[];a.hv=[];return a}();c.us=b})(r||(r={}));(function(c){function n(a){return 0===a.length?'\"\"':'\"'==a[0]||\".\"==a[0]||\"0\"<=a[0]&&\"9\">=a[0]?a:'\"'+a.trim()+'\"'}var g=[],b=function(){function a(){}a.xS=function(d){try{for(var b=0;b<g.length;b++)if(g[b].wkttext===d)return g[b].unit;for(var e,h=b=\"\",l=!1,k=0;k<d.length;k++){var m=d[k];!0===l?'\"'==m?'\"'==d[k+1]?b+=m:l=!1:b+=m:/[\\s]/.test(m)||(\",\"==m?(h=\"\"!==b?h+(n(b)+\",\"):h+\",\",b=\"\"):\")\"==m||\"]\"==m?(h=\n\"\"!==b?h+(n(b)+\"]}\"):h+\"]}\",b=\"\"):\"(\"==m||\"[\"==m?(h+='{ \"entity\": \"'+b.toUpperCase().trim()+'\", \"values\":[',b=\"\"):'\"'==m?(l=!0,b=\"\"):b+=m)}e=JSON.parse(h);var w=a.qF(e);if(null===w)return null;e=null;for(m=0;m<w.values.length;m++)if(\"object\"===typeof w.values[m]&&\"UNIT\"===w.values[m].entity){e=w.values[m];break}if(null===e)return null;var p=c.oc.cR(\"GEOGCS\"===w.entity?1:0,e.values[1],e.values[2]);g.push({wkttext:d,unit:p});10<g.length&&g.shift();return p}catch(q){return null}};a.qF=function(d){if(null===\nd)return null;if(\"GEOGCS\"===d.entity||\"PROJCS\"===d.entity)return d;for(var b=[],e=0;e<d.values.length;e++)if(\"object\"===typeof d.values[e]&&void 0!==d.values[e].entity){if(\"GEOGCS\"===d.values[e].entity||\"PROJCS\"==d.values[e].entity)return d.values[e];b.push(d.values[e])}for(d=0;d<b.length;d++)if(e=a.qF(b[d]),null!==e)return e;return null};a.wS=function(a){var b=-1;if(null!=a&&0<a.length){var e,h;e=a.indexOf(\"PROJCS\");if(0<=e){var c=0;e=a.lastIndexOf(\"UNIT\");if(0<=e&&(e=a.indexOf(\",\",e+4),0<e&&(e++,\nh=a.indexOf(\"]\",e+1),0<h)))try{c=parseFloat(a.substring(e,h))}catch(m){c=0}0<c&&(b=.001/c)}else if(e=a.indexOf(\"GEOGCS\"),0<=e){var k=0,c=0;e=a.indexOf(\"SPHEROID\",e+6);if(0<e&&(e=a.indexOf(\",\",e+8),0<e)){e++;h=a.indexOf(\",\",e+1);if(0<h)try{k=parseFloat(a.substring(e,h))}catch(m){k=0}if(0<k&&(e=a.indexOf(\"UNIT\",h+1),0<=e&&(e=a.indexOf(\",\",e+4),0<e&&(e++,h=a.indexOf(\"]\",e+1),0<h))))try{c=parseFloat(a.substring(e,h))}catch(m){c=0}}0<k&&0<c&&(b=.001/(k*c))}}return b};return a}();c.pE=b})(r||(r={}));(function(c){(function(c){c[c.NONE=\n0]=\"NONE\";c[c.LINEAR=1]=\"LINEAR\";c[c.ANGULAR=2]=\"ANGULAR\"})(c.GM||(c.GM={}));(function(c){c[c.enumFloat=0]=\"enumFloat\";c[c.enumDouble=1]=\"enumDouble\";c[c.enumInt32=2]=\"enumInt32\";c[c.enumInt64=3]=\"enumInt64\";c[c.enumInt8=4]=\"enumInt8\";c[c.enumInt16=5]=\"enumInt16\"})(c.HN||(c.HN={}));(function(c){c[c.POSITION=0]=\"POSITION\";c[c.Z=1]=\"Z\";c[c.M=2]=\"M\";c[c.ID=3]=\"ID\";c[c.NORMAL=4]=\"NORMAL\";c[c.TEXTURE1D=5]=\"TEXTURE1D\";c[c.TEXTURE2D=6]=\"TEXTURE2D\";c[c.TEXTURE3D=7]=\"TEXTURE3D\";c[c.ID2=8]=\"ID2\";c[c.MAXSEMANTICS=\n10]=\"MAXSEMANTICS\"})(c.Wc||(c.Wc={}));var n=function(){function g(b,a){this.Qt=this.af=null;this.Er=this.Ga=0;this.Sh=this.wg=null;this.bm=0;if(void 0!==a){this.Ga=a.Ga;this.Er=a.Er;this.wg=a.wg.slice(0);this.Sh=a.Sh.slice(0);this.bm=a.bm;this.Qt=[];for(var d=0,f=0;f<this.Ga;f++)this.Qt[f]=d,d+=g.Xa(this.wg[f]);this.Er=d;this.af=[];for(f=0;f<this.Ga;f++)for(var d=g.Xa(this.rd(f)),e=g.de(this.rd(f)),h=0;h<d;h++)this.af[this.Qt[f]+h]=e}else this.Er=this.Ga=0}g.prototype.rd=function(b){if(0>b||b>this.Ga)throw c.g.F();\nreturn this.wg[b]};g.prototype.mg=function(b){return this.Sh[b]};g.Xz=function(b){return g.tc[b]};g.si=function(b){return g.bd[b]};g.Mg=function(b){return g.fe[b]};g.Cj=function(b){return g.Mg(g.si(b))*g.Xa(b)};g.Xa=function(b){return g.Bb[b]};g.Wg=function(b){return 2>b};g.rk=function(b){return g.Wg(g.si(b))};g.prototype.hasAttribute=function(b){return 0<=this.Sh[b]};g.prototype.uH=function(){return this.hasAttribute(1)};g.de=function(b){return g.$[b]};g.prototype.FT=function(b){return this.Qt[b]};\ng.PH=function(b,a){return g.$[b]===a};g.Oi=function(b){if(4==b)return 2;if(8==b)return 3;throw c.g.F();};g.prototype.Eb=function(b){return this===b};g.prototype.Ak=function(){for(var b=c.J.dh(this.wg[0]),a=1;a<this.Ga;a++)b=c.J.dh(this.wg[a],b);return b};g.prototype.xk=function(b){return this.Qt[b]};g.prototype.jc=function(){return this.bm};g.prototype.Td=function(b){return this.wg[b]};g.$=[0,0,NaN,0,0,0,0,0,0];g.tc=[1,1,1,0,2,1,1,1,0];g.bd=[1,1,1,2,0,0,0,0,2];g.fe=[4,8,4,8,1,2];g.Bb=[2,1,1,1,3,1,\n2,3,2];return g}();c.ma=n})(r||(r={}));(function(c){function n(a,b,e,h){var c=a.Jd,k=a.e+b+1;1===e?h=5<=c[k]:2===e?h=5<c[k]||5==c[k]&&(h||0>k||void 0!==c[k+1]||c[k-1]&1):3===e?h=h||void 0!==c[k]||0>k:(h=!1,0!==e&&g(\"!Big.RM!\"));if(1>k||!c[0])h?(a.e=-b,a.Jd=[1]):a.Jd=[a.e=0];else{c.length=k--;if(h)for(;9<++c[k];)c[k]=0,k--||(++a.e,c.unshift(1));for(k=c.length;!c[--k];c.pop());}}function g(a){a=Error(a);a.name=\"BigError\";throw a;}var b=/^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,a=function(){function a(f){if(f instanceof\na)this.me=f.me,this.e=f.e,this.Jd=f.Jd.slice();else{var e,h,c;0===f&&0>1/f?f=\"-0\":b.test(f+=\"\")||g(NaN);this.me=\"-\"==f.charAt(0)?(f=f.slice(1),-1):1;-1<(e=f.indexOf(\".\"))&&(f=f.replace(\".\",\"\"));0<(h=f.search(/e/i))?(0>e&&(e=h),e+=+f.slice(h+1),f=f.substring(0,h)):0>e&&(e=f.length);for(h=0;\"0\"==f.charAt(h);h++);if(h==(c=f.length))this.Jd=[this.e=0];else{for(;\"0\"==f.charAt(--c););this.e=e-h-1;this.Jd=[];for(e=0;h<=c;this.Jd[e++]=+f.charAt(h++));}}}a.prototype.abs=function(){var b=new a(this);b.me=1;\nreturn b};a.prototype.SF=function(){var b=0,e=this.Jd,h=(b=new a(b)).Jd,c=this.me,k=b.me,m=this.e,g=b.e;if(!e[0]||!h[0])return e[0]?c:h[0]?-k:0;if(c!=k)return c;b=0>c;if(m!=g)return m>(g^b)?1:-1;c=-1;for(k=(m=e.length)<(g=h.length)?m:g;++c<k;)if(e[c]!=h[c])return e[c]>(h[c]^b)?1:-1;return m==g?0:m>(g^b)?1:-1};a.prototype.Wm=function(b){var e=this.Jd,h=(b=new a(b)).Jd,c=this.me==b.me?1:-1,k=a.bd;(k!==~~k||0>k||1E6<k)&&g(\"!Big.DP!\");if(!e[0]||!h[0])return e[0]==h[0]&&g(NaN),h[0]||g(c/0),new a(0*c);\nvar m,w,p,q,t=h.slice(),u=m=h.length,z=e.length,v=e.slice(0,m),x=v.length,r=b,y=r.Jd=[],A=0,C=k+(r.e=this.e-b.e)+1;r.me=c;c=0>C?0:C;for(t.unshift(0);x++<m;v.push(0));do{for(w=0;10>w;w++){if(m!=(x=v.length))p=m>x?1:-1;else for(q=-1,p=0;++q<m;)if(h[q]!=v[q]){p=h[q]>v[q]?1:-1;break}if(0>p){for(b=x==m?h:t;x;){if(v[--x]<b[x]){for(q=x;q&&!v[--q];v[q]=9);--v[q];v[x]+=10}v[x]-=b[x]}for(;!v[0];v.shift());}else break}y[A++]=p?w:++w;v[0]&&p?v[x]=e[u]||0:v=[e[u]]}while((u++<z||void 0!==v[0])&&c--);y[0]||1==A||\n(y.shift(),r.e--);A>C&&n(r,k,a.Mg,void 0!==v[0]);return r};a.prototype.aU=function(){return 0<this.SF()};a.prototype.pV=function(){return 0>this.SF()};a.prototype.Zt=function(b){var e,h,c=this.me,k=(b=new a(b)).me;if(c!=k)return b.me=-k,this.EJ(b);var m=this.Jd.slice();h=this.e;var g=b.Jd,p=b.e;if(!m[0]||!g[0])return g[0]?(b.me=-k,b):new a(m[0]?this:0);if(c=h-p){(e=0>c)?(c=-c,h=m):(p=h,h=g);h.reverse();for(k=c;k--;h.push(0));h.reverse()}else for(h=((e=m.length<g.length)?m:g).length,c=k=0;k<h;k++)if(m[k]!=\ng[k]){e=m[k]<g[k];break}e&&(h=m,m=g,g=h,b.me=-b.me);if(0<(k=(h=g.length)-(e=m.length)))for(;k--;m[e++]=0);for(k=e;h>c;){if(m[--h]<g[h]){for(e=h;e&&!m[--e];m[e]=9);--m[e];m[h]+=10}m[h]-=g[h]}for(;0==m[--k];m.pop());for(;0==m[0];)m.shift(),--p;m[0]||(b.me=1,m=[p=0]);b.Jd=m;b.e=p;return b};a.prototype.EJ=function(b){var e,h=this.me;e=(b=new a(b)).me;if(h!=e)return b.me=-e,this.Zt(b);e=this.e;var c=this.Jd,k=b.e,m=b.Jd;if(!c[0]||!m[0])return m[0]?b:new a(c[0]?this:0*h);c=c.slice();if(h=e-k){0<h?(k=e,\ne=m):(h=-h,e=c);for(e.reverse();h--;e.push(0));e.reverse()}0>c.length-m.length&&(e=m,m=c,c=e);h=m.length;for(e=0;h;)e=(c[--h]=c[h]+m[h]+e)/10|0,c[h]%=10;e&&(c.unshift(e),++k);for(h=c.length;0==c[--h];c.pop());b.Jd=c;b.e=k;return b};a.prototype.pow=function(b){var e=this,h=new a(1),c=h,k=0>b;(b!==~~b||-1E6>b||1E6<b)&&g(\"!pow!\");for(b=k?-b:b;;){b&1&&(c=c.ds(e));b>>=1;if(!b)break;e=e.ds(e)}return k?h.Wm(c):c};a.prototype.round=function(b,e){var h=this;null==b?b=0:(b!==~~b||0>b||1E6<b)&&g(\"!round!\");\nn(h=new a(h),b,null==e?a.Mg:e);return h};a.prototype.sqrt=function(){var b,e,h;e=this.Jd;b=this.me;h=this.e;var c=new a(\"0.5\");if(!e[0])return new a(this);0>b&&g(NaN);b=Math.sqrt(this.toString());0==b||b==1/0?(b=e.join(\"\"),b.length+h&1||(b+=\"0\"),e=new a(Math.sqrt(b).toString()),e.e=((h+1)/2|0)-(0>h||h&1)):e=new a(b.toString());b=e.e+(a.bd+=4);do h=e,e=c.ds(h.EJ(this.Wm(h)));while(h.Jd.slice(0,b).join(\"\")!==e.Jd.slice(0,b).join(\"\"));n(e,a.bd-=4,a.Mg);return e};a.prototype.ds=function(b){var e,h=this.Jd,\nc=(b=new a(b)).Jd,k=h.length,m=c.length,g=this.e,p=b.e;b.me=this.me==b.me?1:-1;if(!h[0]||!c[0])return new a(0*b.me);b.e=g+p;k<m&&(e=h,h=c,c=e,p=k,k=m,m=p);for(e=Array(p=k+m);p--;e[p]=0);for(g=m;g--;){m=0;for(p=k+g;p>g;)m=e[p]+c[g]*h[p-g-1]+m,e[p--]=m%10,m=m/10|0;e[p]=(e[p]+m)%10}m&&++b.e;e[0]||e.shift();for(g=e.length;!e[--g];e.pop());b.Jd=e;return b};a.prototype.toString=function(){var a=this.e,d=this.Jd.join(\"\"),b=d.length;if(-7>=a||21<=a)d=d.charAt(0)+(1<b?\".\"+d.slice(1):\"\")+(0>a?\"e\":\"e+\")+a;else if(0>\na){for(;++a;d=\"0\"+d);d=\"0.\"+d}else if(0<a)if(++a>b)for(a-=b;a--;d+=\"0\");else a<b&&(d=d.slice(0,a)+\".\"+d.slice(a));else 1<b&&(d=d.charAt(0)+\".\"+d.slice(1));return 0>this.me&&this.Jd[0]?\"-\"+d:d};a.bd=20;a.Mg=1;return a}();c.Tp=a})(r||(r={}));(function(c){var n=function(){function b(a){this.Nf=a}b.prototype.hs=function(a,d,b){var e=new c.b,h=new c.b,l=this.Nf;b.Gd(a,d,function(a,d){l.fc(2*a,e);l.fc(2*d,h);return e.compare(h)})};b.prototype.Qq=function(a){return this.Nf.read(2*a+1)};return b}(),g=function(){function b(){}\nb.Rq=function(a){if(a.u())return!1;var d=a.G();return 1736==d?0==a.hf()?!1:!0:1607==d?(d=[!1],b.nE(a,!0,d),d[0]):197==d||c.T.Oc(d)&&!a.OH()?!0:!1};b.Rm=function(a){var d=a.G();if(1736==d)return d=new c.Ua(a.description),a.u()||a.yE(d),d;if(1607==d)return b.nE(a,!1,null);if(197==d)return d=new c.Ua(a.description),a.u()||d.jd(a,!1),d;if(c.T.Oc(d)){d=new c.Ed(a.description);if(!a.u()&&!a.OH()){var f=new c.Wa;a.Dp(f);d.add(f);a.Bp(f);d.add(f)}return d}if(c.T.Jo(d))return null;throw c.g.F();};b.nE=function(a,\nd,b){null!=b&&(b[0]=!1);var e=null;d||(e=new c.Ed(a.description));if(!a.u()){var h=new c.ia(0);h.yb(2*a.aa());for(var l=0,k=a.aa();l<k;l++)if(0<a.La(l)&&!a.Eo(l)){var m=a.wa(l);h.add(m);m=a.Gc(l)-1;h.add(m)}if(0<h.size){k=new c.Hu;l=a.Pa(0);k.sort(h,0,h.size,new n(l));k=new c.b;l.fc(2*h.get(0),k);for(var m=0,g=1,p=new c.Wa,q=new c.b,t=1,u=h.size;t<u;t++)if(l.fc(2*h.get(t),q),q.ub(k))h.get(m)>h.get(t)?(h.set(m,2147483647),m=t):h.set(t,2147483647),g++;else{if(0==(g&1))h.set(m,2147483647);else if(d)return null!=\nb&&(b[0]=!0),null;k.L(q);m=t;g=1}if(0==(g&1))h.set(m,2147483647);else if(d)return null!=b&&(b[0]=!0),null;if(!d)for(h.Gd(0,h.size,function(a,d){return a-d}),t=0,u=h.size;t<u&&2147483647!=h.get(t);t++)a.Ae(h.get(t),p),e.add(p)}}return d?null:e};return b}();c.Pi=g})(r||(r={}));(function(c){var n=function(){function g(){this.ag=new c.ia(0);this.ut=new c.ia(0);this.UI=1;this.At=NaN}g.prototype.sort=function(b,a,d,f){if(32>d-a)f.hs(a,d,b);else{var e=!0;try{for(var h=Infinity,c=-Infinity,k=a;k<d;k++){var m=\nf.Qq(b.get(k));m<h&&(h=m);m>c&&(c=m)}if(this.reset(d-a,h,c,d-a)){for(k=a;k<d;k++){var g=b.get(k),m=f.Qq(g),p=this.LG(m);this.ag.set(p,this.ag.get(p)+1);this.ut.write(k-a,g)}var q=this.ag.get(0);this.ag.set(0,0);for(var k=1,t=this.ag.size;k<t;k++){var u=this.ag.get(k);this.ag.set(k,q);q+=u}for(k=a;k<d;k++){var g=this.ut.read(k-a),m=f.Qq(g),p=this.LG(m),z=this.ag.get(p);b.set(z+a,g);this.ag.set(p,z+1)}e=!1}}catch(n){this.ag.resize(0),this.ut.resize(0)}if(e)f.hs(a,d,b);else{k=d=0;for(t=this.ag.size;k<\nt;k++)e=d,d=this.ag.get(k),d>e&&f.hs(a+e,a+d,b);100<this.ag.size&&(this.ag.resize(0),this.ut.resize(0))}}};g.prototype.reset=function(b,a,d,f){if(2>b||d==a)return!1;b=Math.min(g.RV,b);this.ag.yb(b);this.ag.resize(b);this.ag.Zh(0,0,this.ag.size);this.UI=a;this.ut.resize(f);this.At=(d-a)/(b-1);return!0};g.prototype.LG=function(b){return c.J.truncate((b-this.UI)/this.At)};g.RV=65536;return g}();c.Hu=n})(r||(r={}));(function(c){var n;(function(a){a[a.enum_line=1]=\"enum_line\";a[a.enum_arc=2]=\"enum_arc\";\na[a.enum_dummy=4]=\"enum_dummy\";a[a.enum_concave_dip=8]=\"enum_concave_dip\";a[a.enum_connection=3]=\"enum_connection\"})(n||(n={}));var g=function(){function a(){}a.Ev=function(d,b,f,m,g,p){var q=new a;q.un=new c.b;q.In=new c.b;q.Ow=new c.b;q.un.L(d);q.In.L(b);q.Ow.L(f);q.qp=m;q.Nh=g;q.Qh=p;return q};a.pa=function(d,b,f,m){var g=new a;g.un=new c.b;g.In=new c.b;g.Ow=new c.b;g.un.L(d);g.In.L(b);g.Ow.$c();g.qp=4;g.Nh=f;g.Qh=m;return g};return a}(),b=function(){function a(d,b,f,e,c,g){this.Lw=null;this.Ca=\n0;this.kB=d;this.oJ=this.mJ=0;this.Qa=b;this.fk=f;this.Xk=e;this.tr=c;this.lc=g}a.prototype.next=function(){for(var a=new c.Wa;;){if(this.Ca==this.kB.D())return null;this.kB.Ae(this.Ca,a);this.Ca++;if(!a.u())break}var d=!1;null==this.Lw&&(this.mJ=a.Be(),this.oJ=a.nf(),this.Lw=f.buffer(a,this.Qa,this.fk,this.Xk,this.tr,this.lc),d=!0);var b;this.Ca<this.kB.D()?(b=new c.Ja,this.Lw.copyTo(b)):b=this.Lw;if(!d){var d=new c.Hd,e=a.Be()-this.mJ,a=a.nf()-this.oJ;d.Ag(e,a);b.Xc(d)}return b};a.prototype.Ia=\nfunction(){return 0};a.prototype.Re=function(){return!0};return a}(),a=function(){function a(d,b){this.$a=d;this.Ca=0;this.dr=b}a.prototype.next=function(){var a=this.$a.Y;if(this.Ca<a.aa()){var d=this.Ca;this.Ca++;if(!a.Eo(d))for(var b=a.Ba(a.Gc(d)-1);this.Ca<a.aa();){var f=a.Ba(a.wa(this.Ca));if(a.Eo(this.Ca))break;if(f!=b)break;b=a.Ba(a.Gc(this.Ca)-1);this.Ca++}if(1==this.Ca-d)return this.$a.yF(this.$a.Y,d,this.dr);b=new c.Ua(this.$a.Y.description);b.Ti(this.$a.Y,d,!0);for(d+=1;d<this.Ca;d++)b.Bs(this.$a.Y,\nd,0,a.ew(d),!1);return this.$a.yF(b,0,this.dr)}return null};a.prototype.Ia=function(){return 0};a.prototype.Re=function(){return!0};return a}(),d=function(){function a(d){this.$a=d;this.Ca=0}a.prototype.next=function(){var a=this.$a.Y;if(this.Ca<a.aa()){var d=this.Ca;a.Sm(this.Ca);for(this.Ca++;this.Ca<a.aa()&&!(0<a.Sm(this.Ca));)this.Ca++;return 0==d&&this.Ca==a.aa()?this.$a.Wy(a,0,a.aa()):this.$a.Wy(a,d,this.Ca)}return null};a.prototype.Ia=function(){return 0};a.prototype.Re=function(){return!0};\nreturn a}(),f=function(){function f(a){this.Ft=this.Zw=this.Gt=this.Wd=null;this.te=[];this.lc=a;this.vb=this.xw=this.IV=this.Qa=this.$A=this.Vt=this.ta=0;this.XA=this.Xk=-1;this.dr=!0}f.buffer=function(a,d,b,m,g,p){if(null==a)throw c.g.F();if(0>m)throw c.g.F();if(a.u())return new c.Ja(a.description);var q=new c.h;a.ac(q);0<d&&q.O(d,d);p=new f(p);p.fk=b;p.Y=a;p.ta=c.na.be(b,q,!0);p.Vt=c.na.be(null,q,!0);p.Qa=d;p.IV=a.G();0>=g&&(g=96);p.vb=Math.abs(p.Qa);p.xw=0!=p.vb?1/p.vb:0;isNaN(m)||0==m?m=1E-5*\np.vb:m>.5*p.vb&&(m=.5*p.vb);12>g&&(g=12);a=Math.abs(d)*(1-Math.cos(Math.PI/g));a>m?m=a:(a=Math.PI/Math.acos(1-m/Math.abs(d)),a<g-1&&(g=c.J.truncate(a),12>g&&(g=12,m=Math.abs(d)*(1-Math.cos(Math.PI/g)))));p.Xk=m;p.tr=g;p.$A=Math.min(p.Vt,.25*m);return p.zF()};f.prototype.Rv=function(){if(null==this.Wd)this.Wd=[];else if(0!==this.Wd.length)return;var a=this.DF(),a=c.J.truncate((a+3)/4),d=.5*Math.PI/a;this.XA=d;for(var b=0;b<4*a;b++)this.Wd.push(null);for(var f=Math.cos(d),d=Math.sin(d),e=c.b.pa(0,1),\nb=0;b<a;b++)this.Wd[b+0*a]=c.b.pa(e.y,-e.x),this.Wd[b+1*a]=c.b.pa(-e.x,-e.y),this.Wd[b+2*a]=c.b.pa(-e.y,e.x),this.Wd[b+3*a]=e,e=c.b.pa(e.x,e.y),e.qu(f,d)};f.prototype.zF=function(){var a=this.Y.G();if(c.T.Oc(a))return a=new c.Ua(this.Y.description),a.dc(this.Y,!0),this.Y=a,this.zF();if(this.Qa<=this.ta)if(c.T.PU(a)){if(0>=this.Qa&&(a=new c.h,this.Y.s(a),a.N()<=2*-this.Qa||a.fa()<=2*this.Qa))return new c.Ja(this.Y.description)}else return new c.Ja(this.Y.description);switch(this.Y.G()){case 33:return this.TP();\ncase 550:return this.SP();case 1607:return this.VP();case 1736:return this.UP();case 197:return this.QP();default:throw c.g.za();}};f.prototype.VP=function(){if(this.QH(this.Y)){var d=new c.Wa;this.Y.Ae(0,d);var b=new c.h;this.Y.s(b);d.rb(b.Wf());return this.rv(d)}this.Y=this.PW(this.Y);d=new a(this,this.dr);return c.ei.local().V(d,this.fk,this.lc).next()};f.prototype.UP=function(){if(0==this.Qa)return this.Y;var a=c.Km.local();this.Rv();this.Y=a.V(this.Y,null,!1,this.lc);if(0>this.Qa){var b=this.Y,\nb=this.Wy(b,0,b.aa());return a.V(b,this.fk,!1,this.lc)}if(this.QH(this.Y))return a=new c.Wa,this.Y.Ae(0,a),b=new c.h,this.Y.s(b),a.rb(b.Wf()),this.rv(a);a=new d(this);return c.ei.local().V(a,this.fk,this.lc).next()};f.prototype.Wy=function(a,d,b){for(var m=new c.Ja(a.description);d<b;d++)if(!(1>a.La(d))){var g=a.Sm(d),p=new c.h;a.jk(d,p);if(0<this.Qa)if(0<g)if(this.RH(a,d))g=new c.Wa,a.Ae(a.wa(d),g),g.rb(p.Wf()),this.iv(m,g);else{var q=g=new c.Ua(a.description),q=c.Ju.VH(this.Y,d)||2==this.to(this.Y,\nd,q,!0,1)?this.xF(a,d):this.so(g);m.add(q,!1)}else{if(!(p.N()+this.ta<=2*this.vb||p.fa()+this.ta<=2*this.vb||(q=g=new c.Ua(a.description),this.to(this.Y,d,q,!0,1),g.u()))){var t=new c.h;t.I(p);t.O(this.vb,this.vb);q.oq(t);q=this.so(g);p=1;for(g=q.aa();p<g;p++)m.Ti(q,p,!0)}}else if(0<g){if(!(p.N()+this.ta<=2*this.vb||p.fa()+this.ta<=2*this.vb||(q=g=new c.Ua(a.description),this.to(this.Y,d,q,!0,-1),g.u())))for(t=new c.h,q.ac(t),t.O(this.vb,this.vb),q.oq(t),q=this.so(g),p=1,g=q.aa();p<g;p++)m.Ti(q,p,\n!0)}else for(q=g=new c.Ua(a.description),this.to(this.Y,d,q,!0,-1),q=this.so(g),p=0,g=q.aa();p<g;p++)m.Ti(q,p,!0)}if(0<this.Qa)return 1<m.aa()?m=this.so(m):f.We(m);a=new c.h;m.ac(a);if(m.u())return f.We(m);a.O(this.vb,this.vb);m.oq(a);m=this.so(m);a=new c.Ja(m.description);p=1;for(g=m.aa();p<g;p++)a.Ti(m,p,!1);return f.We(a)};f.prototype.TP=function(){return this.rv(this.Y)};f.prototype.rv=function(a){var d=new c.Ja(this.Y.description);this.iv(d,a);return this.oY(d)};f.prototype.SP=function(){var a=\nnew b(this.Y,this.Qa,this.fk,this.Xk,this.tr,this.lc);return c.ei.local().V(a,this.fk,this.lc).next()};f.prototype.QP=function(){var a=new c.Ja(this.Y.description);if(0>=this.Qa){if(0==this.Qa)a.jd(this.Y,!1);else{var d=new c.ci;this.Y.Qn(d);d.O(this.Qa,this.Qa);a.jd(d,!1)}return a}a.jd(this.Y,!1);this.Y=a;return this.xF(a,0)};f.prototype.xF=function(a,d){this.Rv();for(var b=new c.Ja(a.description),m=new c.b,g=new c.b,p=new c.b,q=new c.b,t=new c.b,u=new c.b,z=new c.b,n=new c.b,x=a.La(d),r=a.wa(d),\ny=0,A=a.La(d);y<A;y++){a.w(r+y,g);a.w(r+(y+1)%x,q);a.w(r+(y+2)%x,u);z.zc(q,g);if(0==z.length())throw c.g.za();z.uw();z.normalize();z.scale(this.vb);m.add(z,g);p.add(z,q);0==y?b.zu(m):b.aj(m);b.aj(p);n.zc(u,q);if(0==n.length())throw c.g.za();n.uw();n.normalize();n.scale(this.vb);t.add(n,q);this.YE(b,q,p,t,!1)}return f.We(b)};f.prototype.yF=function(a,d,b){this.Rv();if(1>a.La(d))return null;if(this.RH(a,d)&&0<this.Qa){b=new c.Wa;a.Ae(a.wa(d),b);var f=new c.h;a.jk(d,f);b.rb(f.Wf());return this.rv(b)}f=\nnew c.Ua(a.description);if(a.Eo(d))this.to(a,d,f,b,1),this.to(a,d,f,b,-1);else{var e=new c.Ua(a.description);e.Ti(a,d,!1);e.Bs(a,d,0,a.ew(d),!1);this.to(e,0,f,b,1)}return this.so(f)};f.prototype.Pr=function(){this.kx++};f.prototype.so=function(a){return c.Dg.ol(a,this.Vt,!0,!0,this.lc)};f.prototype.DF=function(){if(0==this.Xk)return this.tr;var a=1-this.Xk*Math.abs(this.xw),d;-1>a?d=4:d=2*Math.PI/Math.acos(a)+.5;4>d?d=4:d>this.tr&&(d=this.tr);return c.J.truncate(d)};f.prototype.YE=function(a,d,b,\nf,e){this.Rv();var g=new c.b;g.zc(b,d);g.scale(this.xw);var q=new c.b;q.zc(f,d);q.scale(this.xw);g=Math.atan2(g.y,g.x)/this.XA;0>g&&(g=this.Wd.length+g);g=this.Wd.length-g;q=Math.atan2(q.y,q.x)/this.XA;0>q&&(q=this.Wd.length+q);q=this.Wd.length-q;q<g&&(q+=this.Wd.length);var t=c.J.truncate(q),q=c.J.truncate(Math.ceil(g)),g=new c.b;g.L(this.Wd[q%this.Wd.length]);g.ru(this.vb,d);var u=10*this.ta;g.sub(b);g.length()<u&&(q+=1);g.L(this.Wd[t%this.Wd.length]);g.ru(this.vb,d);g.sub(f);g.length()<u&&--t;\nb=t-q;b++;t=0;for(q%=this.Wd.length;t<b;t++,q=(q+1)%this.Wd.length)g.L(this.Wd[q]),g.ru(this.vb,d),a.aj(g),this.Pr();e&&a.aj(f)};f.prototype.to=function(a,d,b,f,e){var p=new c.fd,q=p.lP(a,d);p.zq(this.$A,!1,!1);if(2>p.D(q)){if(0>e)return 1;e=a;p=new c.Wa;e.Ae(e.wa(d),p);this.iv(b,p);return 1}var t=p.Ba(p.cb(p.Pb(q))),u=new c.Hd;u.Ag(-t.x,-t.y);p.Xc(u);if(f&&(this.pS(p,q,e),2>p.D(q))){if(0>e)return 1;e=a;p=new c.Wa;e.Ae(e.wa(d),p);this.iv(b,p);return 1}this.te.length=0;var z=p.Pb(q);d=p.cb(z);var n=\n1==e?p.Ra(d):p.U(d);a=1==e?p.U(d):p.Ra(d);var x=!0;f=new c.b;for(var q=new c.b,r=new c.b,y=new c.b,A=new c.b,C=new c.b,D=new c.b,E=new c.b,F=new c.b,G=new c.b,H=this.vb,z=p.La(z),I=0;I<z;I++)p.w(a,q),x&&(p.w(d,f),p.w(n,r),E.zc(f,r),E.normalize(),G.aI(E),G.scale(H),y.add(G,f)),D.zc(q,f),D.normalize(),F.aI(D),F.scale(H),A.add(f,F),n=E.Ui(D),x=E.oi(D),0>n||0>x&&0==n?this.te.push(g.Ev(y,A,f,2,this.te.length+1,this.te.length-1)):y.ub(A)||(this.te.push(g.pa(y,f,this.te.length+1,this.te.length-1,\"dummy\")),\nthis.te.push(g.pa(f,A,this.te.length+1,this.te.length-1,\"dummy\"))),C.add(q,F),this.te.push(g.Ev(A,C,f,1,this.te.length+1,this.te.length-1)),y.L(C),G.L(F),r.L(f),f.L(q),E.L(D),n=d,d=a,x=!1,a=1==e?p.U(d):p.Ra(d);this.te[this.te.length-1].Nh=0;this.te[0].Qh=this.te.length-1;this.RW(b);u.Ag(t.x,t.y);b.lF(u,b.aa()-1);return 1};f.prototype.RW=function(a){for(var d=this.DQ(),b=!0,f=d+1,e=d;f!=d;e=f){var c=this.te[e],f=-1!=c.Nh?c.Nh:(e+1)%this.te.length;0!=c.qp&&(b&&a.zu(c.un),2==c.qp?this.YE(a,c.Ow,c.un,\nc.In,!0):a.aj(c.In),b=!1)}};f.prototype.DQ=function(){null==this.Ft&&(this.Ft=[null,null,null,null,null,null,null,null,null]);for(var a=0,d=0,b=this.te.length;d<b;){var f=this.te[d];if(0!=(f.qp&3)){a=d;break}d=f.Nh}b=a+1;for(d=a;b!=a;d=b){for(var f=this.te[d],b=f.Nh,e=1,g=null;b!=d;){g=this.te[b];if(0!=(g.qp&3))break;b=g.Nh;e++}1!=e&&1==(f.qp&g.qp)&&(null==this.Gt&&(this.Gt=new c.Hb,this.Zw=new c.Hb),this.Gt.Mc(f.un),this.Gt.Zc(f.In),this.Zw.Mc(g.un),this.Zw.Zc(g.In),1==this.Gt.Ma(this.Zw,this.Ft,\nnull,null,this.Vt)&&(f.In.L(this.Ft[0]),g.un.L(this.Ft[0]),f.Nh=b,g.Qh=d))}return a};f.prototype.sw=function(a,d,b){var f=new c.b;f.zc(b,a);b=f.length();b=this.vb*this.vb-b*b*.25;if(0<b){b=Math.sqrt(b);f.normalize();f.Ur();var e=new c.b;e.zc(d,a);if(e.oi(f)+b>=this.vb)return!0}return!1};f.prototype.pS=function(a,d,b){for(var f=0;1>f;f++){var e=!1,g=a.Pb(d),q=a.La(g);if(0==q)break;var t=q;if(3>q)break;!a.Qb(g)&&(t=q-1);for(var g=a.cb(g),q=0<b?a.Ra(g):a.U(g),u=0<b?a.U(g):a.Ra(g),z=q,n=!0,x=new c.b,\nr=new c.b,y=new c.b,A=new c.b,C=new c.b,D=c.b.pa(0,0),E=new c.b,F=new c.b,G=new c.b,H=new c.b,I=this.vb,K=0,S=0;S<t;){a.w(u,r);n&&(a.w(g,x),a.w(q,y),z=q);F.zc(x,y);F.normalize();E.zc(r,x);E.normalize();if(z==u)break;var L=F.Ui(E),J=F.oi(E),R=!0;0>L||0>J&&0==L||!this.sw(y,x,r)||(D.L(r),R=!1,++K,e=!0);if(R){if(0<K)for(;;){L=0<b?a.Ra(z):a.U(z);if(L==g)break;a.w(L,A);if(this.sw(A,y,D))y.L(A),z=L,R=!1,++K;else{L!=u&&this.sw(A,y,r)&&this.sw(A,x,r)&&(y.L(A),z=L,R=!1,++K);break}}if(!R)continue;if(0<K){z=\n0<b?a.Ra(q):a.U(q);for(n=1;n<K;n++)R=0<b?a.Ra(z):a.U(z),a.ud(z,!0),z=R;G.zc(x,y);K=G.length();K=I*I-K*K*.25;K=Math.sqrt(K);I-K>.5*this.Xk?(C.add(y,x),C.scale(.5),G.normalize(),G.Ur(),H.L(G),H.scale(I-K),C.add(H),a.Qf(q,C)):a.ud(q,!0);K=0}y.L(x);z=g}x.L(r);q=g;g=u;u=0<b?a.U(g):a.Ra(g);S++;n=!1}if(0<K){z=0<b?a.Ra(q):a.U(q);for(n=1;n<K;n++)R=0<b?a.Ra(z):a.U(z),a.ud(z,!0),z=R;C.add(y,x);C.scale(.5);G.zc(x,y);K=G.length();K=I*I-K*K*.25;K=Math.sqrt(K);G.normalize();G.Ur();H.L(G);H.scale(I-K);C.add(H);a.Qf(q,\nC)}a.zq(this.$A,!1,!1);if(!e)break}};f.prototype.RH=function(a,d){if(1==a.La(d))return!0;var b=new c.h;a.jk(d,b);return Math.max(b.N(),b.fa())<.5*this.Xk?!0:!1};f.prototype.QH=function(a){var d=new c.h;a.s(d);return Math.max(d.N(),d.fa())<.5*this.Xk?!0:!1};f.prototype.PW=function(a){a=c.HD.local().V(a,.25*this.Xk,!1,this.lc);for(var d=0,b=0,f=a.aa();b<f;b++)d=Math.max(a.La(b),d);if(32>d)return this.dr=!1,a;this.dr=!0;return c.Dg.ol(a,this.Vt,!1,!0,this.lc)};f.prototype.iv=function(a,d){var b=d.w();\nif(null!=this.Wd&&0!==this.Wd.length){var f=new c.b;f.L(this.Wd[0]);f.ru(this.vb,b);a.zu(f);for(var e=1,g=this.Wd.length;e<g;e++)f.L(this.Wd[e]),f.ru(this.vb,b),a.aj(f)}else for(var e=this.DF(),f=c.J.truncate((e+3)/4),e=.5*Math.PI/f,g=Math.cos(e),q=Math.sin(e),t=new c.b,u=3;0<=u;u--){t.ka(0,this.vb);switch(u){case 0:for(e=0;e<f;e++)a.Xj(t.x+b.x,t.y+b.y),t.qu(g,q);break;case 1:for(e=0;e<f;e++)a.Xj(-t.y+b.x,t.x+b.y),t.qu(g,q);break;case 2:for(e=0;e<f;e++)a.Xj(-t.x+b.x,-t.y+b.y),t.qu(g,q);break;default:for(a.$x(t.y+\nb.x,-t.x+b.y),e=1;e<f;e++)t.qu(g,q),a.Xj(t.y+b.x,-t.x+b.y)}this.Pr()}};f.We=function(a){a.Zg(1,0);return a};f.prototype.oY=function(a){a.Zg(2,this.ta);a.Al();return a};return f}();c.QL=f})(r||(r={}));(function(c){var n=function(){function g(b){this.Ha=b;this.a=new c.fd;this.od=new c.ia(0)}g.prototype.ji=function(b,a,d){switch(a){case 0:if(b.o<d&&b.v<=d)break;else return b.o>=d?1:-1;case 1:if(b.A<d&&b.B<=d)break;else return b.A>=d?1:-1;case 2:if(b.o>=d&&b.v>d)break;else return b.v<=d?1:-1;case 3:if(!(b.A>=\nd&&b.B>d))return b.B<=d?1:-1}return 0};g.prototype.hz=function(b,a,d){return 1736==b.G()?this.iz(b,a,d):this.jz(b,a)};g.prototype.iz=function(b,a,d){if(0==this.Ha.N()||0==this.Ha.fa())return b.Ka();a=new c.h;b.ac(a);this.Y=this.a.Jb(b);var f=new c.h,e=new c.h,h=new c.b,l=new c.b,k=[0,0,0,0,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0];new c.Cg;var g=new c.Hb,p=new c.ia(0);p.yb(Math.min(100,b.D()));for(var q=!1,t=0;!q&&4>t;t++){var u=!1,n=0!=(t&1),v=0;switch(t){case 0:v=this.Ha.o;u=a.o<=v&&a.v>=v;break;case 1:v=\nthis.Ha.A;u=a.A<=v&&a.B>=v;break;case 2:v=this.Ha.v;u=a.o<=v&&a.v>=v;break;case 3:v=this.Ha.B,u=a.A<=v&&a.B>=v}if(u)for(q=!0,u=this.a.Pb(this.Y);-1!=u;){var x=-1,r=-1,y=this.a.cb(u),A=y;do{var C=this.a.ic(A);null==C&&(C=g,this.a.w(A,h),C.Mc(h),this.a.w(this.a.U(A),l),C.Zc(l));C.s(f);var D=this.ji(f,t,v),E=0,F=-1;if(-1==D){C=C.Tq(n,v,k,m);0<C?E=this.a.zm(A,m,C):E=0;for(var E=E+1,G=A,H=this.a.U(G),C=0;C<E;C++){this.a.w(G,h);this.a.w(H,l);F=this.a.ic(G);null==F&&(F=g,F.Mc(h),F.Zc(l));F.s(e);F=this.ji(e,\nt,v);if(-1==F){if(n)F=Math.abs(h.y-v),I=Math.abs(l.y-v),F<I?(h.y=v,this.a.Qf(G,h)):(l.y=v,this.a.Qf(H,l));else{var F=Math.abs(h.x-v),I=Math.abs(l.x-v);F<I?(h.x=v,this.a.Qf(G,h)):(l.x=v,this.a.Qf(H,l))}F=this.a.ic(G);null==F&&(F=g,F.Mc(h),F.Zc(l));F.s(e);F=this.ji(e,t,v)}I=x;x=F;-1==r&&(r=x);if(0!=I||1!=x)1==I&&0==x||0!=I||0!=x||p.add(G);1==x&&(q=!1);F=G=H;H=this.a.U(H)}}if(0==E){I=x;x=D;-1==r&&(r=x);if(0!=I||1!=x)1==I&&0==x||0!=I||0!=x||p.add(A);1==x&&(q=!1);F=this.a.U(A)}A=F}while(A!=y);0==r&&0==\nx&&p.add(y);C=0;for(x=p.size;C<x;C++)r=p.get(C),this.a.ud(r,!1);p.clear(!1);u=3>this.a.La(u)?this.a.Rr(u):this.a.Sb(u)}}if(q)return b.Ka();this.gC();0<d&&this.vz(d);return this.a.Se(this.Y)};g.prototype.jz=function(b){var a=new c.h,d=new c.h,f=[0,0,0,0,0,0,0,0,0],e=[0,0,0,0,0,0,0,0,0],h=new c.Cg,l=b,k=new c.h;b.ac(k);for(var m=0;4>m;m++){var g=!1,p=0!=(m&1),q=0;switch(m){case 0:q=this.Ha.o;g=k.o<=q&&k.v>=q;break;case 1:q=this.Ha.A;g=k.A<=q&&k.B>=q;break;case 2:q=this.Ha.v;g=k.o<=q&&k.v>=q;break;case 3:q=\nthis.Ha.B,g=k.A<=q&&k.B>=q}if(g){g=l;l=b.Ka();g=g.Fa();g.yj();for(var t,u=new c.b;g.Ya();)for(var n,v=!0;g.Ea();){var x=g.ba();x.s(a);var r=this.ji(a,m,q);if(-1==r){if(r=x.Tq(p,q,f,e),0<r){var y=0;t=x.ec();for(var A=0;A<=r;A++)if(n=A<r?e[A]:1,y!=n){x.yh(y,n,h);var C=h.get();C.Mc(t);A<r&&(p?(u.x=f[A],u.y=q):(u.x=q,u.y=f[A]),C.Zc(u));C.s(d);var D=this.ji(d,m,q);if(-1==D){t=C.ec();y=C.Cc();if(p)D=Math.abs(t.y-q),E=Math.abs(y.y-q),D<E?(t.y=q,C.Mc(t)):(y.y=q,C.Zc(y));else{var D=Math.abs(t.x-q),E=Math.abs(y.x-\nq);D<E?(t.x=q,C.Mc(t)):(y.x=q,C.Zc(y))}C.s(d);D=this.ji(d,m,q)}t=C.Cc();y=n;n=D;1==n?(l.dc(C,v),v=!1):v=!0}}}else n=r,1==n?(l.dc(x,v),v=!1):v=!0}}}return l};g.prototype.gC=function(){this.Ki=-1;this.Am(!1,this.Ha.o);this.Am(!1,this.Ha.v);this.Am(!0,this.Ha.A);this.Am(!0,this.Ha.B);this.od.resize(0);this.od.yb(100);this.Ki=this.a.Vd();for(var b=new c.b,a=this.a.Pb(this.Y);-1!=a;a=this.a.Sb(a))for(var d=this.a.cb(a),f=0,e=this.a.La(a);f<e;f++,d=this.a.U(d))if(this.a.w(d,b),this.Ha.o==b.x||this.Ha.v==\nb.x||this.Ha.A==b.y||this.Ha.B==b.y)this.a.Va(d,this.Ki,this.od.size),this.od.add(d);this.sm(!1,this.Ha.o);this.sm(!1,this.Ha.v);this.sm(!0,this.Ha.A);this.sm(!0,this.Ha.B);this.Dz()};g.prototype.vz=function(b){for(var a=new c.b,d=new c.b,f=c.J.gf(2048,0),e=this.a.Pb(this.Y);-1!=e;e=this.a.Sb(e)){var h=this.a.cb(e),l=h;do{var k=this.a.U(l);this.a.w(l,a);var m=-1;a.x==this.Ha.o?(this.a.w(k,d),d.x==this.Ha.o&&(m=1)):a.x==this.Ha.v&&(this.a.w(k,d),d.x==this.Ha.v&&(m=1));a.y==this.Ha.A?(this.a.w(k,d),\nd.y==this.Ha.A&&(m=0)):a.y==this.Ha.B&&(this.a.w(k,d),d.y==this.Ha.B&&(m=0));if(-1!=m&&(m=c.b.Cb(a,d),m=c.J.truncate(Math.min(Math.ceil(m/b),2048)),!(1>=m))){for(var g=1;g<m;g++)f[g-1]=1*g/m;this.a.zm(l,f,m-1)}l=k}while(l!=h)}};g.prototype.Am=function(b,a){var d=this.a.Vd(),f=new c.b,e=new c.ia(0);e.yb(100);for(var h=this.a.Pb(this.Y);-1!=h;h=this.a.Sb(h))for(var l=this.a.cb(h),k=0,m=this.a.La(h);k<m;k++){var g=this.a.U(l);this.a.w(l,f);if(b?f.y==a:f.x==a)if(this.a.w(g,f),b?f.y==a:f.x==a)1!=this.a.Sa(l,\nd)&&(e.add(l),this.a.Va(l,d,1)),1!=this.a.Sa(g,d)&&(e.add(g),this.a.Va(g,d,1));l=g}this.a.le(d);if(!(3>e.size)){var p=this;e.Gd(0,e.size,function(a,d){return p.ki(a,d)});d=new c.b;h=new c.b;l=new c.b;h.$c();for(var q=-1,k=new c.ia(0),m=new c.ia(0),g=this.a.Vd(),t=this.a.Vd(),u=0,n=e.size;u<n;u++){var v=e.get(u);this.a.w(v,f);if(!f.ub(h)){if(-1!=q){for(var x=q;x<u;x++){var q=e.get(x),r=this.a.U(q),v=this.a.Ra(q),y=!1;0>this.ki(q,r)&&(this.a.w(r,d),b?d.y==a:d.x==a)&&(k.add(q),y=!0,this.a.Va(q,t,1));\n0>this.ki(q,v)&&(this.a.w(v,d),b?d.y==a:d.x==a)&&(y||k.add(q),this.a.Va(q,g,1))}x=0;for(y=k.size;x<y;x++){q=k.get(x);v=this.a.Sa(q,g);r=this.a.Sa(q,t);if(1==v){v=this.a.Ra(q);this.a.w(v,l);var A=[0];A[0]=0;if(!l.ub(f)){var C=c.b.Cb(h,l);A[0]=c.b.Cb(l,f)/C;0==A[0]?A[0]=2.220446049250313E-16:1==A[0]&&(A[0]=.9999999999999998);this.a.zm(v,A,1);v=this.a.Ra(q);this.a.Qf(v,f);m.add(v);this.a.Va(v,g,1);this.a.Va(v,t,-1)}}1==r&&(r=this.a.U(q),this.a.w(r,l),A=[0],A[0]=0,l.ub(f)||(C=c.b.Cb(h,l),A[0]=c.b.Cb(h,\nf)/C,0==A[0]?A[0]=2.220446049250313E-16:1==A[0]&&(A[0]=.9999999999999998),this.a.zm(q,A,1),v=this.a.U(q),this.a.Qf(v,f),m.add(v),this.a.Va(v,g,-1),this.a.Va(v,t,1)))}q=k;k=m;m=q;m.clear(!1)}q=u;h.L(f)}}this.a.le(g);this.a.le(t)}};g.prototype.sm=function(b,a){var d=new c.b,f=new c.ia(0);f.yb(100);for(var e=this.a.Vd(),h=0,l=this.od.size;h<l;h++){var k=this.od.get(h);if(-1!=k){var m=this.a.U(k);this.a.w(k,d);if(b?d.y==a:d.x==a)if(this.a.w(m,d),b?d.y==a:d.x==a)-2!=this.a.Sa(k,e)&&(f.add(k),this.a.Va(k,\ne,-2)),-2!=this.a.Sa(m,e)&&(f.add(m),this.a.Va(m,e,-2))}}if(0!=f.size){var g=this;f.Gd(0,f.size,function(a,d){return g.ki(a,d)});h=0;for(l=f.size;h<l;h++){var p=f.get(h);this.a.Va(p,e,h)}k=new c.b;m=new c.b;m.$c();for(var q=-1,h=0,l=f.size;h<l;h++)if(p=f.get(h),-1!=p&&(this.a.w(p,d),!d.ub(m))){if(-1!=q)for(;;){for(var p=!1,t=1<h-q?h-1:h,u=q;u<t;u++){var n=f.get(u);if(-1!=n){var v=-1,x=this.a.U(n);0>this.ki(n,x)&&(this.a.w(x,k),b?k.y==a:k.x==a)&&(v=x);var x=-1,r=this.a.Ra(n);0>this.ki(n,r)&&(this.a.w(r,\nk),b?k.y==a:k.x==a)&&(x=r);if(-1!=v&&-1!=x)this.ii(n,f,e),this.a.ud(n,!1),this.ii(v,f,e),this.a.ud(v,!1),p=!0;else if(-1!=v||-1!=x){for(r=u+1;r<h;r++){var y=f.get(r);if(-1!=y){var A=this.a.U(y),C=-1;0>this.ki(y,A)&&(this.a.w(A,k),b?k.y==a:k.x==a)&&(C=A);var A=this.a.Ra(y),D=-1;0>this.ki(y,A)&&(this.a.w(A,k),b?k.y==a:k.x==a)&&(D=A);if(-1!=C&&-1!=D){this.ii(y,f,e);this.a.ud(y,!1);this.ii(C,f,e);this.a.ud(C,!1);p=!0;break}if(-1!=v&&-1!=D){this.ou(f,n,v,y,D,e);p=!0;break}else if(-1!=x&&-1!=C){this.ou(f,\ny,C,n,x,e);p=!0;break}}}if(p)break}}}if(!p)break}q=h;m.L(d)}}this.a.le(e)};g.prototype.ii=function(b,a,d){d=this.a.Sa(b,d);a.set(d,-1);d=this.a.Sa(b,this.Ki);this.od.set(d,-1);a=this.a.ld(b);-1!=a&&this.a.cb(a)==b&&(this.a.jg(a,-1),this.a.sh(a,-1))};g.prototype.ou=function(b,a,d,f,e,c){this.a.Kc(a,f);this.a.Lc(f,a);this.a.Lc(d,e);this.a.Kc(e,d);this.ii(f,b,c);this.a.Mi(f,!1);this.ii(e,b,c);this.a.Mi(e,!0)};g.prototype.Dz=function(){for(var b=0,a=this.od.size;b<a;b++){var d=this.od.get(b);-1!=d&&this.a.Aj(d,\n-1)}for(var f=0,e=0,c=this.a.Pb(this.Y);-1!=c;){var l=this.a.cb(c);if(-1==l||c!=this.a.ld(l)){var k=c,c=this.a.Sb(c);this.a.jg(k,-1);this.a.Sr(k)}else{d=l;k=0;do this.a.Aj(d,c),k++,d=this.a.U(d);while(d!=l);2>=k?(d=this.a.Sa(l,this.Ki),this.od.set(d,-1),l=this.a.ud(l,!1),2==k&&(d=this.a.Sa(l,this.Ki),this.od.set(d,-1),this.a.ud(l,!1)),k=c,c=this.a.Sb(c),this.a.jg(k,-1),this.a.Sr(k)):(this.a.Np(c,!1),this.a.sh(c,this.a.Ra(l)),this.a.nk(c,k),e+=k,f++,c=this.a.Sb(c))}}b=0;for(a=this.od.size;b<a;b++)if(d=\nthis.od.get(b),-1!=d&&(c=this.a.ld(d),-1==c)){c=this.a.Yf(this.Y,-1);k=0;l=d;do this.a.Aj(d,c),k++,d=this.a.U(d);while(d!=l);2>=k?(d=this.a.Sa(l,this.Ki),this.od.set(d,-1),l=this.a.ud(l,!1),2==k&&(d=this.a.Sa(l,this.Ki),0<=d&&this.od.set(d,-1),this.a.ud(l,!1)),k=c,this.a.jg(k,-1),this.a.Sr(k)):(this.a.$n(c,!0),this.a.nk(c,k),this.a.jg(c,l),this.a.sh(c,this.a.Ra(l)),this.a.Np(c,!1),e+=k,f++)}this.a.wm(this.Y,f);this.a.lk(this.Y,e);b=0;for(a=this.a.sd;-1!=a;a=this.a.Ue(a))b+=this.a.D(a);this.a.AC(b)};\ng.Hm=function(b,a,d,f){return(new g(a)).hz(b,d,f)};g.clip=function(b,a,d,f){if(b.u())return b;if(a.u())return b.Ka();var e=b.G();if(33==e)return d=b.w(),a.contains(d)?b:b.Ka();if(197==e)return d=new c.h,b.s(d),d.Ma(a)?(a=new c.ci,b.copyTo(a),a.Gp(d),a):b.Ka();var h=new c.h;b.ac(h);if(a.contains(h))return b;if(!a.Yb(h))return b.Ka();h=b.ob;if(null!=h&&(h=h.Hi,null!=h)){h=h.Rn(a);if(1==h){if(1736!=e)throw c.g.za();b=new c.Ja(b.description);b.oq(a);return b}if(0==h)return b.Ka()}switch(e){case 550:f=\nnull;for(var e=b.D(),h=b.Pa(0),l=0,k=0;k<e;k++)d=new c.b,h.fc(2*k,d),a.contains(d)||(0==l&&(f=b.Ka()),l<k&&f.Id(b,l,k),l=k+1);0<l&&f.Id(b,l,e);return 0==l?b:f;case 1736:case 1607:return g.Hm(b,a,d,f);default:throw c.g.za();}};g.prototype.ki=function(b,a){var d=new c.b;this.a.w(b,d);var f=new c.b;this.a.w(a,f);return d.compare(f)};return g}();c.ne=n})(r||(r={}));(function(c){var n=function(){function g(b,a){this.Ha=b;this.a=new c.fd;this.od=new c.ia(0);this.ke=a}g.prototype.ji=function(b,a,d){switch(a){case 0:if(b.o<\nd&&b.v<=d)break;else return b.o>=d?1:-1;case 1:if(b.A<d&&b.B<=d)break;else return b.A>=d?1:-1;case 2:if(b.o>=d&&b.v>d)break;else return b.v<=d?1:-1;case 3:if(!(b.A>=d&&b.B>d))return b.B<=d?1:-1}return 0};g.prototype.hz=function(b,a,d){return 1736==b.G()?this.iz(b,a,d):this.jz(b,a)};g.prototype.iz=function(b,a,d){if(0==this.Ha.N()||0==this.Ha.fa())return b.Ka();a=new c.h;b.ac(a);this.Y=this.a.Jb(b);var f=new c.h,e=new c.h,h=new c.b,l=new c.b,k=[0,0,0,0,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0],g=new c.Hb,p=\nnew c.ia(0);p.yb(256);for(var q=!1,t=0;!q&&4>t;t++){var u=!1,n=0!=(t&1),v=0;switch(t){case 0:v=this.Ha.o;u=a.o<=v&&a.v>=v;break;case 1:v=this.Ha.A;u=a.A<=v&&a.B>=v;break;case 2:v=this.Ha.v;u=a.o<=v&&a.v>=v;break;case 3:v=this.Ha.B,u=a.A<=v&&a.B>=v}if(u)for(q=!0,u=this.a.Pb(this.Y);-1!=u;){var x=!0,r=-1,y=-1,A=this.a.cb(u),C=A;do{var D=this.a.ic(C);null==D&&(D=g,this.a.w(C,h),D.Mc(h),this.a.w(this.a.U(C),l),D.Zc(l));D.s(f);var E=this.ji(f,t,v),F=0,G=-1;if(-1==E){D=D.Tq(n,v,k,m);0<D?F=this.a.FY(C,m,\nD):F=0;for(var F=F+1,H=C,I=this.a.U(H),D=0;D<F;D++){this.a.w(H,h);this.a.w(I,l);G=this.a.ic(H);null==G&&(G=g,G.Mc(h),G.Zc(l));G.s(e);G=this.ji(e,t,v);if(-1==G){if(n)G=Math.abs(h.y-v),K=Math.abs(l.y-v),G<K?(h.y=v,this.a.Qf(H,h)):(l.y=v,this.a.Qf(I,l));else{var G=Math.abs(h.x-v),K=Math.abs(l.x-v);G<K?(h.x=v,this.a.Qf(H,h)):(l.x=v,this.a.Qf(I,l))}G=this.a.ic(H);null==G&&(G=g,G.Mc(h),G.Zc(l));G.s(e);G=this.ji(e,t,v)}K=r;r=G;-1==y&&(y=r);if(0!=K||1!=r)1==K&&0==r||0!=K||0!=r||p.add(H);1==r&&(x=q=!1);G=\nH=I;I=this.a.U(I)}}if(0==F){K=r;r=E;-1==y&&(y=r);if(0!=K||1!=r)1==K&&0==r||0!=K||0!=r||p.add(C);1==r&&(x=q=!1);G=this.a.U(C)}C=G;if(256<=p.size){D=1;for(E=p.size-1;D<E;D++)F=p.get(D),this.a.ud(F,!1);p.set(1,p.Fc());p.yf(2)}}while(C!=A);if(!x)for(0==y&&0==r&&p.add(A),D=0,E=p.size;D<E;D++)F=p.get(D),this.a.ud(F,!1);p.clear(!1);u=x||0==this.a.La(u)?this.a.Rr(u):this.a.Sb(u)}}if(q)return b.Ka();this.gC();0<d&&this.vz(d);return this.a.Se(this.Y)};g.prototype.jz=function(b){var a=new c.h,d=new c.h,f=[0,\n0,0,0,0,0,0,0,0],e=[0,0,0,0,0,0,0,0,0],h=new c.Cg,l=b,k=new c.h;b.ac(k);for(var m=new c.b,g=new c.b,p=null,q=null,t=0;4>t;t++){var u=!1,n=0!=(t&1),v=0;switch(t){case 0:v=this.Ha.o;u=k.o<=v&&k.v>=v;break;case 1:v=this.Ha.A;u=k.A<=v&&k.B>=v;break;case 2:v=this.Ha.v;u=k.o<=v&&k.v>=v;break;case 3:v=this.Ha.B,u=k.A<=v&&k.B>=v}if(u)for(u=l,l=b.Ka(),u=u.Fa(),u.yj();u.Ya();)for(var x,r=!0;u.Ea();){var y=u.ba();y.s(a);var A=this.ji(a,t,v);if(-1==A){if(A=y.Tq(n,v,f,e),0<A){var C=0;y.Oq(m);for(var D=0;D<=A;D++)if(x=\nD<A?e[D]:1,C!=x){y.yh(C,x,h);var E=h.get();E.Mc(m);D<A&&(n?(g.x=f[D],g.y=v):(g.x=v,g.y=f[D]),E.Zc(g));E.s(d);var F=this.ji(d,t,v);-1==F&&(null==p&&(p=new c.b),null==q&&(q=new c.b),E.Oq(p),E.Ps(q),n?(C=Math.abs(p.y-v),F=Math.abs(q.y-v),C<F?(p.y=v,E.Mc(p)):(q.y=v,E.Zc(q))):(C=Math.abs(p.x-v),F=Math.abs(q.x-v),C<F?(p.x=v,E.Mc(p)):(q.x=v,E.Zc(q))),E.s(d),F=this.ji(d,t,v));E.Ps(m);C=x;x=F;1==x?(l.dc(E,r),r=!1):r=!0}}}else x=A,1==x?(l.dc(y,r),r=!1):r=!0}}return l};g.prototype.gC=function(){this.Ki=-1;this.Am(!1,\nthis.Ha.o);this.Am(!1,this.Ha.v);this.Am(!0,this.Ha.A);this.Am(!0,this.Ha.B);this.od.resize(0);this.od.yb(100);this.Ki=this.a.Vd();for(var b=new c.b,a=this.a.Pb(this.Y);-1!=a;a=this.a.Sb(a))for(var d=this.a.cb(a),f=0,e=this.a.La(a);f<e;f++,d=this.a.U(d))if(this.a.w(d,b),this.Ha.o==b.x||this.Ha.v==b.x||this.Ha.A==b.y||this.Ha.B==b.y)this.a.Va(d,this.Ki,this.od.size),this.od.add(d);this.sm(!1,this.Ha.o);this.sm(!1,this.Ha.v);this.sm(!0,this.Ha.A);this.sm(!0,this.Ha.B);this.Dz()};g.prototype.vz=function(b){for(var a=\nnew c.b,d=new c.b,f=null,e=null,h=c.J.gf(2048,0),l=this.a.Pb(this.Y);-1!=l;l=this.a.Sb(l)){var k=this.a.cb(l),m=k;do{var g=this.a.U(m);this.a.w(m,a);var p=-1;a.x==this.Ha.o?(this.a.w(g,d),d.x==this.Ha.o&&(p=1)):a.x==this.Ha.v&&(this.a.w(g,d),d.x==this.Ha.v&&(p=1));a.y==this.Ha.A?(this.a.w(g,d),d.y==this.Ha.A&&(p=0)):a.y==this.Ha.B&&(this.a.w(g,d),d.y==this.Ha.B&&(p=0));if(-1!=p){null==f&&(f=new c.b);null==e&&(e=new c.b);f.L(a);e.ka(0,0);if(0==p){var q=a.x-this.Ha.o;e.x=c.Ub.sign(d.x-a.x);f.x=b*c.Ub.Fl(Math.floor(Math.abs(q/\nb)),q)+this.Ha.o;0>f.x&&(f.x+=b)}else q=a.y-this.Ha.A,e.y=c.Ub.sign(d.y-a.y),f.y=b*c.Ub.Fl(Math.floor(Math.abs(q/b)),q)+this.Ha.A,0>f.y&&(f.y+=b);var q=0!=p?d.y-a.y:d.x-a.x,t=Math.abs(q);if(65536<t/b)throw c.g.X(\"internal error\");if(0<t){t=c.J.truncate(t/b)+2;h.length<t&&(h=c.J.gf(t));for(var u=t=0;;u++){var n=new c.b;n.x=f.x+e.x*u*b;n.y=f.y+e.y*u*b;n=(0!=p?n.y-a.y:n.x-a.x)/q;if(1<=n)break;0>=n||(h[t]=n,t++)}0!=t&&this.a.zm(m,h,t)}}m=g}while(m!=k)}};g.prototype.Am=function(b,a){for(var d=-1,f=new c.b,\ne=null,h=this.a.Pb(this.Y);-1!=h;h=this.a.Sb(h))for(var l=this.a.cb(h),k=0,m=this.a.La(h);k<m;k++){var g=this.a.U(l);this.a.w(l,f);if(b?f.y==a:f.x==a)if(this.a.w(g,f),b?f.y==a:f.x==a)-1==d&&(d=this.a.Vd()),null==e&&(e=new c.ia(0),e.yb(100)),1!=this.a.Sa(l,d)&&(e.add(l),this.a.Va(l,d,1)),1!=this.a.Sa(g,d)&&(e.add(g),this.a.Va(g,d,1));l=g}-1!=d&&this.a.le(d);if(!(null==e||3>e.size)){var p=this;e.Gd(0,e.size,function(a,d){return p.ki(a,d)});d=new c.b;h=new c.b;l=new c.b;h.$c();for(var q=-1,k=new c.ia(0),\nm=new c.ia(0),g=null,t=this.a.Vd(),u=this.a.Vd(),n=0,v=e.size;n<v;n++){var x=e.get(n);this.a.w(x,f);if(!f.ub(h)){if(-1!=q){for(var r=q;r<n;r++){var q=e.get(r),y=this.a.U(q),x=this.a.Ra(q),A=!1;this.a.w(y,d);0>h.compare(d)&&(b?d.y==a:d.x==a)&&(k.add(q),A=!0,this.a.Va(q,u,1));this.a.w(x,d);0>h.compare(d)&&(b?d.y==a:d.x==a)&&(A||k.add(q),this.a.Va(q,t,1))}r=0;for(A=k.size;r<A;r++){q=k.get(r);x=this.a.Sa(q,t);y=this.a.Sa(q,u);if(1==x&&(x=this.a.Ra(q),this.a.w(x,l),!l.ub(f))){null==g&&(g=[]);var C=c.b.Cb(h,\nl);g[0]=c.b.Cb(l,f)/C;0==g[0]?g[0]=2.220446049250313E-16:1==g[0]&&(g[0]=.9999999999999998);this.a.zm(x,g,1);x=this.a.Ra(q);this.a.Qf(x,f);m.add(x);this.a.Va(x,t,1);this.a.Va(x,u,-1)}1==y&&(y=this.a.U(q),this.a.w(y,l),l.ub(f)||(null==g&&(g=[]),C=c.b.Cb(h,l),g[0]=c.b.Cb(h,f)/C,0==g[0]?g[0]=2.220446049250313E-16:1==g[0]&&(g[0]=.9999999999999998),this.a.zm(q,g,1),x=this.a.U(q),this.a.Qf(x,f),m.add(x),this.a.Va(x,t,-1),this.a.Va(x,u,1)))}q=k;k=m;m=q;m.clear(!1)}q=n;h.L(f)}}this.a.le(t);this.a.le(u)}};\ng.prototype.sm=function(b,a){for(var d=new c.b,f=null,e=-1,h=0,l=this.od.size;h<l;h++){var k=this.od.get(h);if(-1!=k){var m=this.a.U(k);this.a.w(k,d);if(b?d.y==a:d.x==a)if(this.a.w(m,d),b?d.y==a:d.x==a)-1==e&&(e=this.a.Vd()),null==f&&(f=new c.ia(0),f.yb(100)),-2!=this.a.Sa(k,e)&&(f.add(k),this.a.Va(k,e,-2)),-2!=this.a.Sa(m,e)&&(f.add(m),this.a.Va(m,e,-2))}}if(null==f)-1!=e&&this.a.le(e);else{var g=this;f.Gd(0,f.size,function(a,d){return g.ki(a,d)});h=0;for(l=f.size;h<l;h++){var p=f.get(h);this.a.Va(p,\ne,h)}k=new c.b;m=new c.b;m.$c();for(var q=-1,h=0,l=f.size;h<l;h++)if(p=f.get(h),-1!=p&&(this.a.w(p,d),!d.ub(m))){if(-1!=q)for(;;){for(var p=!1,t=1<h-q?h-1:h,u=q;u<t;u++){var n=f.get(u);if(-1!=n){var v=-1,x=this.a.U(n);this.a.w(x,k);0>m.compare(k)&&(b?k.y==a:k.x==a)&&(v=x);var x=-1,r=this.a.Ra(n);this.a.w(r,k);0>m.compare(k)&&(b?k.y==a:k.x==a)&&(x=r);if(-1!=v&&-1!=x)this.ii(n,f,e),this.a.ud(n,!1),this.ii(v,f,e),this.a.ud(v,!1),p=!0;else if(-1!=v||-1!=x){for(r=u+1;r<h;r++){var y=f.get(r);if(-1!=y){var A=\nthis.a.U(y),C=-1;this.a.w(A,k);0>m.compare(k)&&(b?k.y==a:k.x==a)&&(C=A);var A=this.a.Ra(y),D=-1;this.a.w(A,k);0>m.compare(k)&&(b?k.y==a:k.x==a)&&(D=A);if(-1!=C&&-1!=D){this.ii(y,f,e);this.a.ud(y,!1);this.ii(C,f,e);this.a.ud(C,!1);p=!0;break}if(-1!=v&&-1!=D){this.ou(f,n,v,y,D,e);p=!0;break}else if(-1!=x&&-1!=C){this.ou(f,y,C,n,x,e);p=!0;break}}}if(p)break}}}if(!p)break}q=h;m.L(d)}this.a.le(e)}};g.prototype.ii=function(b,a,d){d=this.a.Sa(b,d);a.set(d,-1);d=this.a.Sa(b,this.Ki);this.od.set(d,-1);a=this.a.ld(b);\n-1!=a&&this.a.cb(a)==b&&(this.a.jg(a,-1),this.a.sh(a,-1))};g.prototype.ou=function(b,a,d,f,e,c){this.a.Kc(a,f);this.a.Lc(f,a);this.a.Lc(d,e);this.a.Kc(e,d);this.ii(f,b,c);this.a.Mi(f,!1);this.ii(e,b,c);this.a.Mi(e,!0)};g.prototype.Dz=function(){for(var b=0,a=this.od.size;b<a;b++){var d=this.od.get(b);-1!=d&&this.a.Aj(d,-1)}for(var f=0,e=0,c=this.a.Pb(this.Y);-1!=c;){var l=this.a.cb(c);if(-1==l||c!=this.a.ld(l)){var k=c,c=this.a.Sb(c);this.a.jg(k,-1);this.a.Sr(k)}else{d=l;k=0;do this.a.Aj(d,c),k++,\nd=this.a.U(d);while(d!=l);this.a.Np(c,!1);this.a.sh(c,this.a.Ra(l));this.a.nk(c,k);e+=k;f++;c=this.a.Sb(c)}}b=0;for(a=this.od.size;b<a;b++)if(d=this.od.get(b),-1!=d&&(c=this.a.ld(d),-1==c)){c=this.a.Yf(this.Y,-1);k=0;l=d;do this.a.Aj(d,c),k++,d=this.a.U(d);while(d!=l);2>=k?(d=this.a.Sa(l,this.Ki),this.od.set(d,-1),l=this.a.ud(l,!1),2==k&&(d=this.a.Sa(l,this.Ki),0<=d&&this.od.set(d,-1),this.a.ud(l,!1)),k=c,this.a.jg(k,-1),this.a.Sr(k)):(this.a.$n(c,!0),this.a.nk(c,k),this.a.jg(c,l),this.a.sh(c,this.a.Ra(l)),\nthis.a.Np(c,!1),e+=k,f++)}this.a.wm(this.Y,f);this.a.lk(this.Y,e);b=0;for(a=this.a.sd;-1!=a;a=this.a.Ue(a))b+=this.a.D(a);this.a.AC(b)};g.We=function(b,a,d,f,e){return(new g(a,e)).hz(b,d,f)};g.clip=function(b,a,d,f,e){return g.rq(b,a,null,d,f,e)};g.rq=function(b,a,d,f,e,h){var l=b.G();if(33==l)return e=b.w(),a.contains(e)?b:b.Ka();if(197==l)return e=new c.h,b.s(e),e.Ma(a)?(a=new c.ci,b.copyTo(a),a.Gp(e),a):b.Ka();if(b.u())return b;if(a.u())return b.Ka();var k=new c.h;b.ac(k);if(a.contains(k))return b;\nif(!a.Yb(k))return b.Ka();if(null!=d||isNaN(f))f=c.na.Zy(d,a,!1);if(!c.T.gh(l))throw c.g.F();d=b.ob;if(null!=d&&(d=d.Hi,null!=d)){d=d.Rn(a);if(1==d){if(1736!=l)throw c.g.X(\"internal error\");b=new c.Ja(b.description);b.oq(a);return b}if(0==d)return b.Ka()}switch(l){case 550:h=null;l=b.D();f=b.Pa(0);d=0;e=new c.b;for(k=0;k<l;k++)f.fc(2*k,e),a.contains(e)||(0==d&&(h=b.Ka()),d<k&&h.Id(b,d,k),d=k+1);0<d&&h.Id(b,d,l);return 0==d?b:h;case 1736:case 1607:return g.We(b,a,f,e,h);default:throw c.g.X(\"internal error\");\n}};g.prototype.ki=function(b,a){var d=new c.b;this.a.w(b,d);var f=new c.b;this.a.w(a,f);return d.compare(f)};return g}();c.uh=n})(r||(r={}));(function(c){var n=new c.b,g=function(){function a(a,b,e,h,l){this.Cn=new c.b;this.fl=new c.b;this.oj=new c.b;this.a=a;this.px=e;this.ap=h;this.Cn=b;this.dm=l;this.fl.$c();this.oj.$c()}a.prototype.HF=function(a){this.a.w(a,this.fl);a=c.J.truncate((this.fl.x-this.Cn.x)*this.ap+.5);var f=c.J.truncate((this.fl.y-this.Cn.y)*this.ap+.5);return b.vH(a,f)};a.prototype.Wz=\nfunction(a){return this.a.Sa(a,this.dm)};a.prototype.zz=function(a,f){this.a.w(a,this.fl);this.a.w(f,this.oj);return b.pw(this.fl.x,this.fl.y,this.oj.x,this.oj.y,this.px)};return a}();c.EZ=function(){return function(){}}();var b=function(){function a(){this.Cn=new c.b;this.er=[0,0,0,0];this.tt=[0,0,0,0];this.ep=this.dm=-1}a.cS=function(d,b){var e=new a;e.a=d;e.ta=b;e.px=b*b;e.Nw=2*b;e.ap=1/e.Nw;return e.FQ()};a.pw=function(a,b,e,c,l){a-=e;b-=c;return a*a+b*b<=l};a.vH=function(a,b){return c.J.dh(b,\nc.J.dh(a))};a.prototype.HQ=function(d,b){this.a.Nc(d,n);for(var e=(n.y-this.Cn.y)*this.ap,h=c.J.truncate((n.x-this.Cn.x)*this.ap),l=c.J.truncate(e),k=e=0;1>=k;k+=1)for(var m=0;1>=m;m+=1){var g=a.vH(h+k,l+m),p=this.cm.iT(g);-1!=p&&(this.er[e]=p,this.tt[e]=g,e++)}for(h=e-1;1<=h;h--)for(p=this.er[h],l=h-1;0<=l;l--)if(p==this.er[l]){this.tt[l]=-1;e--;h!=e&&(this.tt[h]=this.tt[e],this.er[h]=this.er[e]);break}for(l=0;l<e;l++)this.IQ(d,this.tt[l],n,this.er[l],b)};a.prototype.IQ=function(d,b,e,h,l){for(var k=\nnew c.b;-1!=h;h=this.cm.yT(h)){var m=this.cm.ja(h);d==m||-1!=b&&this.a.Sa(m,this.dm)!=b||(this.a.Nc(m,k),a.pw(e.x,e.y,k.x,k.y,this.px)&&l.add(h))}};a.prototype.Ln=function(a,b,e){var c=this.a.Sa(a,this.ep),l=this.a.Sa(b,this.ep);-1==c&&(c=this.Od.mi(),this.Od.addElement(c,a),this.a.Va(a,this.ep,c));-1==l?this.Od.addElement(c,b):this.Od.mz(c,l);this.a.Va(b,this.ep,-2);b=this.XV(a,b);e&&(e=this.Yw.HF(a),this.a.Va(a,this.dm,e));return b};a.WV=function(d,b,e){d.Eb(b);e=d;var h=new c.b;a.GX(d.w(),b.w(),\nh);e.rb(h)};a.GX=function(a,b,e){var c=a.x;a.x!=b.x&&(c=(1*a.x+1*b.x)/2);var l=a.y;a.y!=b.y&&(l=(1*a.y+1*b.y)/2);e.ka(c,l)};a.prototype.XV=function(a,b){var e=new c.b;this.a.w(a,e);var h=new c.b;this.a.w(b,h);var l=this.a.oH(a),k=this.a.oH(b),m=l+k,g=0,p=e.x;e.x!=h.x&&(p=(e.x*l+h.x*k)/m,g++);var q=e.y;e.y!=h.y&&(q=(e.y*l+h.y*k)/m,g++);0<g&&this.a.rb(a,p,q);this.a.rY(a,m);return 0!=g};a.prototype.FQ=function(){var a=this.a.vd,b=this.a.TG();this.Cn=b.Zz();b=Math.max(b.fa(),b.N())/2147483646;this.Nw<\nb&&(this.Nw=b,this.ap=1/this.Nw);this.Od=new c.Lu;this.Od.pu(c.J.truncate(this.a.vd/3+1));this.Od.Vn(c.J.truncate(this.a.vd/3+1));this.dm=this.a.Vd();this.ep=this.a.Vd();this.Yw=new g(this.a,this.Cn,this.px,this.ap,this.dm);this.cm=new c.FM(c.J.truncate(4*a/3),this.Yw);this.cm.yX(this.a.vd);a=!1;for(b=this.a.sd;-1!=b;b=this.a.Ue(b))for(var e=this.a.Pb(b);-1!=e;e=this.a.Sb(e))for(var h=this.a.cb(e),l=0,k=this.a.La(e);l<k;l++){var m=this.Yw.HF(h);this.a.Va(h,this.dm,m);this.cm.addElement(h,m);h=this.a.U(h)}var w=\nnew c.ia(0);w.yb(10);for(b=this.a.sd;-1!=b;b=this.a.Ue(b))for(e=this.a.Pb(b);-1!=e;e=this.a.Sb(e))for(h=this.a.cb(e),l=0,k=this.a.La(e);l<k;l++){if(-2!=this.a.Sa(h,this.ep))for(m=this.a.Sa(h,this.dm),this.cm.kd(h,m);;){this.HQ(h,w);if(0==w.size)break;for(var m=!1,p=0,q=w.size;p<q;p++){var t=w.get(p),u=this.cm.ja(t);this.cm.Kd(t);m=this.Ln(h,u,p+1==q)||m}a=a||m;w.clear(!1);if(!m)break}h=this.a.U(h)}a&&this.yP();this.Yw=this.cm=null;this.a.le(this.dm);this.a.le(this.ep);return a};a.prototype.yP=function(){for(var a=\nnew c.b,b=this.Od.Ge;-1!=b;b=this.Od.cA(b)){var e=this.Od.xc(b);this.a.w(this.Od.ja(e),a);for(e=this.Od.nb(e);-1!=e;e=this.Od.nb(e))this.a.Qf(this.Od.ja(e),a)}};return a}();c.Iu=b})(r||(r={}));(function(c){var n=function(){function g(b){void 0===b&&(b=null);this.Oe=null;this.xa=!1;null===b?this.Oe=[]:this.Oe=b}g.prototype.copyTo=function(b){if(b.xa)throw c.g.X(\"CompositeGeographicTransformation is read-only\");for(var a=0;a<this.Oe.length;a++)b.Oe.push(this.Oe[a].Vf())};g.prototype.count=function(){return this.Oe.length};\ng.prototype.kT=function(b){return this.Oe[b]};g.prototype.add=function(b){if(this.xa)throw c.g.X(\"CompositeGeographicTransformation is read-only\");this.Oe.push(b.Vf())};g.prototype.clear=function(){if(this.xa)throw c.g.X(\"CompositeGeographicTransformation is read-only\");this.Oe.length=0};g.prototype.remove=function(b){if(this.xa)throw c.g.X(\"CompositeGeographicTransformation is read-only\");this.Oe.splice(b,1)};g.prototype.Wv=function(){for(var b=this.oe(),a=0;a<b.count();a++)b.kT(a).kt();b.Oe=b.Oe.reverse();\nreturn b};g.prototype.oe=function(){var b=new g;this.copyTo(b);return b};g.prototype.Vf=function(){return this.oe()};g.prototype.transform=function(b,a,d,f){if(b.length<a)throw c.g.X(\"invalid Argument\");var e=d;for(d=0;d<this.Oe.length;d++){var h=this.Oe[d];if(null!=h.cn()){var l=h.nn,k=l?1:0,m=l?h.cn().getGeogcs2():h.cn().getGeogcs1(),m=m.getUnit().getUnitFactor(),m=e/m;if(3.552713678800501E-15<Math.abs(m-1))for(e=0;e<a;e++)b[e][0]*=m,b[e][1]*=m;c.QD.geogToGeog(h.cn(),a,b,null,k);e=(l?h.cn().getGeogcs1():\nh.cn().getGeogcs2()).getUnit().getUnitFactor()}}m=e/f;if(3.552713678800501E-15<Math.abs(m-1))for(e=0;e<a;e++)b[e][0]*=m,b[e][1]*=m;return a};g.prototype.getName=function(){if(0==this.Oe.length)return\"\";for(var b=\"\",a=0,d=this.Oe.length;a<d;++a)\"\"!==b&&(b+=\" + \"),b+=this.Oe[a].getName();return b};g.prototype.Eb=function(b){if(b==this)return!0;if(!(b instanceof g)||this.Oe.length!=b.Oe.length)return!1;for(var a=0;a<this.Oe.length;a++)if(!this.Oe[a].Eb(b.Oe[a]))return!1;return!0};g.prototype.Mp=function(){this.xa=\n!0};g.prototype.toString=function(){var b=toString();return 200<b.length?b.substring(0,197)+\"... (\"+b.length.toString()+\" characters)\":b};g.create=function(){return new g};g.aq=function(b,a){var d=new g;d.add(c.io.create(b,a));return d};g.bq=function(b,a){var d=new g;d.add(c.io.gG(b,a));return d};return g}();c.ny=n})(r||(r={}));(function(c){var n=Math.PI,g=2*Math.PI,b=Math.PI/2,a=function(){function a(){}a.XQ=function(d,b){var f=new a;f.x=d;f.y=b;f.type=0;f.ui=0;return f};a.El=function(d){var b=new a;\nb.x=d.x;b.y=d.y;b.type=0;b.ui=0;return b};a.WQ=function(d){var b=new a;b.x=d.x;b.y=d.y;b.type=d.type;b.ui=d.ui;return b};a.ce=function(d,b,f){var c=new a;c.x=d.x+b*Math.cos(f);c.y=d.y+b*Math.sin(f);c.type=d.type;c.ui=d.ui;return c};a.Dv=function(d,b){var f=new a;f.x=.5*(d.x+b.x);f.y=.5*(d.y+b.y);f.type=d.type;f.ui=d.ui;return f};a.$F=function(d,b){var f=new a;f.x=d.x+.001*(b.x-d.x);f.y=d.y+.001*(b.y-d.y);f.type=d.type;f.ui=d.ui;return f};return a}(),d=function(){return function(){}}();(function(a){a[a.Round=\n0]=\"Round\";a[a.Bevel=1]=\"Bevel\";a[a.Miter=2]=\"Miter\";a[a.Square=3]=\"Square\"})(c.KM||(c.KM={}));var f=function(){function f(a){this.tB=this.$b=this.Sg=null;this.ke=a}f.V=function(a,d,b,m,g,p){if(null==a)throw c.g.F();if(1>a.tb())throw c.g.F();if(0==d||a.u())return a;p=new f(p);p.Yo=a;p.Qa=d;p.ta=g;p.jj=b;p.jB=m;return p.Ay()};f.prototype.AO=function(){var a=this.Yo,d=a.ec(),b=a.Cc(),f=new c.b;f.zc(b,d);f.normalize();f.uw();f.scale(this.Qa);d.add(f);b.add(f);f=a.Ka();a.Mc(d);a.Zc(b);return f};f.prototype.zO=\nfunction(){var a=this.Yo;if(0<this.Qa&&2!=this.jj){var d=new c.Ja;d.jd(a,!1);this.Yo=d;return this.Ay()}a=new c.ci(a.R);a.O(this.Qa,this.Qa);return a};f.prototype.kK=function(a,d,b,f){return(d.x-a.x)*(f.x-b.x)+(d.y-a.y)*(f.y-b.y)};f.prototype.pc=function(d,f){if(void 0===f)this.$b.push(d),this.Kf++;else if(0==this.Kf)this.pc(d);else{var e=this.qx,c,g;c=this.Sg[0==f?e-1:f-1];g=this.Sg[f];var p=this.kK(c,g,this.$b[this.Kf-1],d);0<p?this.pc(d):0>p&&(0<this.kK(c,g,g,this.$b[this.Kf-1])?(g=this.Sg[0==\nf?e-2:1==f?e-1:f-2],e=a.ce(c,this.Qa,Math.atan2(c.y-g.y,c.x-g.x)-b),this.$b[this.Kf-1]=e,1==this.jj||2==this.jj?(e=a.Dv(e,c),this.pc(e),e=a.ce(c,this.Qa,this.ww+b),c=a.Dv(e,c),c.type|=256,this.pc(c)):(e=a.ce(c,this.Qa,this.ww+b),e.type|=256),this.pc(e),this.pc(d,f)):(e=a.ce(g,this.Qa,this.ww+b),this.pc(e),1==this.jj||2==this.jj?(e=a.Dv(e,g),this.pc(e),e=a.ce(g,this.Qa,this.KA-b),c=a.Dv(e,g),c.type|=256,this.pc(c)):(e=a.ce(g,this.Qa,this.KA-b),e.type|=256),this.pc(e)))}};f.prototype.AF=function(){var d,\nf,e,m,w,p,q=this.qx;this.Kf=0;var t=.5*this.ta,u=0,z=0;for(d=0;d<q;d++){m=this.Sg[d];w=0==d?this.Sg[q-1]:this.Sg[d-1];p=d==q-1?this.Sg[0]:this.Sg[d+1];var v=w.x-m.x,x=w.y-m.y,r=p.x-m.x,y=p.y-m.y;f=Math.atan2(x,v);e=Math.atan2(y,r);this.ww=f;this.KA=e;0==d&&(u=f,z=e);v=v*y-r*x;x=e;e<f&&(e+=g);if(0<v*this.Qa)1==this.jj||2==this.jj?(f=a.ce(m,this.Qa,f+b),this.pc(f),f=a.$F(m,f),this.pc(f),f=a.ce(m,this.Qa,e-b),m=a.$F(m,f),m.type|=256,this.pc(m),this.pc(f)):(v=.5*(e-f),v=this.Qa/Math.abs(Math.sin(v)),\nf=a.ce(m,v,.5*(f+e)),this.pc(f,d));else if(0!=(m.type&512)){v=1-t/Math.abs(this.Qa);w=1;p=0>this.Qa?-n:n;-1<v&&1>v&&(x=2*Math.acos(v),.017453292519943295>x&&(x=.017453292519943295),w=c.J.truncate(n/x+1.5),1<w&&(p/=w));x=f+b;f=a.ce(m,this.Qa,x);0==d&&(f.type|=1024);this.pc(f,d);v=this.Qa/Math.cos(p/2);x+=p/2;f=a.ce(m,v,x);f.type|=1024;for(this.pc(f);0<--w;)x+=p,f=a.ce(m,v,x),f.type|=1024,this.pc(f);f=a.ce(m,this.Qa,e-b);f.type|=1024;this.pc(f)}else if(1==this.jj)f=a.ce(m,this.Qa,f+b),this.pc(f,d),\nf=a.ce(m,this.Qa,e-b),this.pc(f);else if(0==this.jj)for(v=1-t/Math.abs(this.Qa),w=1,p=e-b-(f+b),-1<v&&1>v&&(x=2*Math.acos(v),.017453292519943295>x&&(x=.017453292519943295),w=c.J.truncate(Math.abs(p)/x+1.5),1<w&&(p/=w)),v=this.Qa/Math.cos(.5*p),x=f+b+.5*p,f=a.ce(m,v,x),this.pc(f,d);0<--w;)x+=p,f=a.ce(m,v,x),this.pc(f);else 2==this.jj?(v=w.x-m.x,x=w.y-m.y,r=p.x-m.x,y=p.y-m.y,w=(v*r+x*y)/Math.sqrt(v*v+x*x)/Math.sqrt(r*r+y*y),.99999999<w?(f=a.ce(m,1.4142135623730951*this.Qa,e-.25*n),this.pc(f,d),f=a.ce(m,\n1.4142135623730951*this.Qa,e+.25*n),this.pc(f)):(w=Math.abs(this.Qa/Math.sin(.5*Math.acos(w))),p=Math.abs(this.jB*this.Qa),w>p?(v=.5*(e-f),v=this.Qa/Math.abs(Math.sin(v)),f=a.ce(m,v,.5*(f+e)),e=c.b.pa(f.x,f.y),f=c.b.pa(m.x,m.y),m=new c.b,m.zc(e,f),e=new c.b,e.FX(p/m.length(),m,f),f=(w-p)*Math.abs(this.Qa)/Math.sqrt(w*w-this.Qa*this.Qa),0<this.Qa?m.uw():m.Ur(),m.scale(f/m.length()),f=new c.b,f.add(e,m),w=new c.b,w.zc(e,m),f=a.El(f),this.pc(f,d),f=a.El(w),this.pc(f)):(v=.5*(e-f),v=this.Qa/Math.abs(Math.sin(v)),\nf=a.ce(m,v,.5*(f+e)),this.pc(f,d)))):(e=x,0<this.Qa?(e>f&&(e-=g),w=f-e<b):(e<f&&(e+=g),w=e-f<b),w?(v=1.4142135623730951*this.Qa,x=0>v?f+.25*n:f+.75*n,f=a.ce(m,v,x),this.pc(f,d),x=0>v?e-.25*n:e-.75*n,f=a.ce(m,v,x),this.pc(f)):(v=.5*(e-f),v=this.Qa/Math.abs(Math.sin(v)),e<f&&(e+=g),f=a.ce(m,v,(f+e)/2),this.pc(f,d)))}this.ww=u;this.KA=z;this.pc(this.$b[0],0);m=a.WQ(this.$b[this.Kf-1]);this.$b[0]=m;return this.uX()};f.prototype.kv=function(a,d){if(!(2>d))for(var b=0;b<d;b++){var f=this.$b[a+b];0!=b?this.tB.aj(c.b.pa(f.x,\nf.y)):this.tB.zu(c.b.pa(f.x,f.y))}};f.prototype.BO=function(d,b,f){var e=d.wa(b),c=d.Gc(b);this.$b=[];this.tB=f;if(d.Qb(b)){for(b=d.Ba(e);d.Ba(c-1).ub(b);)c--;if(2<=c-e){this.qx=c-e;this.Sg=[];for(b=e;b<c;b++)this.Sg.push(a.El(d.Ba(b)));this.AF()&&this.kv(0,this.Kf-1)}}else{for(b=d.Ba(e);e<c&&d.Ba(e+1).ub(b);)e++;for(b=d.Ba(c-1);e<c&&d.Ba(c-2).ub(b);)c--;if(2<=c-e){this.qx=2*(c-e)-2;this.Sg=[];f=a.El(d.Ba(e));f.type|=1536;this.Sg.push(f);for(b=e+1;b<c-1;b++)f=a.El(d.Ba(b)),this.Sg.push(f);f=a.El(d.Ba(c-\n1));f.type|=512;this.Sg.push(f);for(b=c-2;b>=e+1;b--)f=a.El(d.Ba(b)),f.type|=1024,this.Sg.push(f);if(this.AF())if(2<=this.$b.length){d=-1;(c=0!=(this.$b[this.Kf-1].type&1024))||(d=0);for(b=1;b<this.Kf;b++)e=0!=(this.$b[b].type&1024),e?c||(c=b-1,1<c-d+1&&this.kv(d,c-d+1)):c&&(d=b-1),c=e;c||(c=this.Kf-1,1<c-d+1&&this.kv(d,c-d+1))}else d=0,c=this.Kf-1,0<=d&&1<=c-d&&this.kv(d,c-d+1)}}this.Sg=null;this.qx=0;this.$b=null;this.Kf=0};f.prototype.uX=function(){for(var a=!1,d=0;d<this.Kf;d++){var b=this.$b[d];\nb.Nh=d+1;b.Qh=d-1;this.$b[d]=b}b=this.$b[0];b.Qh=this.Kf-2;this.$b[0]=b;b=this.$b[this.Kf-2];b.Nh=0;this.$b[this.Kf-2]=b;for(d=b=0;d<this.Kf;d++)if(0!=(this.$b[b].type&256)){var f=this.DR(b);if(-1!=f)b=f;else{a=!0;break}}else b=this.$b[b].Nh;if(a)return!1;this.UQ(b);return!0};f.prototype.DR=function(a){for(var d=this.Kf-1,b=a,f,e,c=1;c<=d-2;c++){f=b=this.$b[b].Nh;e=a;for(var g=1;g<=c;g++){e=this.$b[e].Qh;if(0==(this.$b[e].type&256)&&0==(this.$b[f].type&256)){var t=this.bU(e,f);if(-1!=t)return t}f=\nthis.$b[f].Qh}}return-1};f.prototype.bU=function(a,b){var f,e,g,p;f=this.$b[this.$b[a].Qh];e=this.$b[a];g=this.$b[this.$b[b].Qh];p=this.$b[b];if(!this.JX(f,e,g,p))return-1;var q=new d;return this.qS(f,e,g,p,q)&&!q.pF&&c.J.SK((e.x-f.x)*(p.y-g.y)-(e.y-f.y)*(p.x-g.x))!=c.J.SK(this.Qa)?(f=this.$b[a].Qh,q.Pn.type=e.type,q.Pn.Nh=b,q.Pn.Qh=f,this.$b[a]=q.Pn,q.Pn=this.$b[b],q.Pn.Qh=a,this.$b[b]=q.Pn,b):-1};f.prototype.JX=function(a,d,b,f){return Math.max(a.x,d.x)>=Math.min(b.x,f.x)&&Math.max(b.x,f.x)>=Math.min(a.x,\nd.x)&&Math.max(a.y,d.y)>=Math.min(b.y,f.y)&&Math.max(b.y,f.y)>=Math.min(a.y,d.y)};f.prototype.qS=function(d,b,f,e,c){c.pF=!1;var g,q,t;g=(b.y-d.y)*(e.x-f.x)-(b.x-d.x)*(e.y-f.y);q=(f.y-d.y)*(b.x-d.x)-(f.x-d.x)*(b.y-d.y);g=0==g?2:q/g;return 0<=g&&1>=g&&(t=g,g=(e.y-f.y)*(b.x-d.x)-(e.x-f.x)*(b.y-d.y),q=(d.y-f.y)*(e.x-f.x)-(d.x-f.x)*(e.y-f.y),g=0==g?2:q/g,0<=g&&1>=g)?(c.Pn=a.XQ(d.x+g*(b.x-d.x),d.y+g*(b.y-d.y)),c.Pn.ui=f.ui+t*(e.ui-f.ui),0!=t&&1!=t||0!=g&&1!=g||(c.pF=!0),c.N_=g,c.O_=t,(0==t||1==t)&&0<g&&\n1>g||(0==g||1==g)&&0<t&&1>t?!1:!0):!1};f.prototype.UQ=function(a){for(;this.$b[a].Qh<a;)a=this.$b[a].Qh;var d=0,b=a;do b=this.$b[b],this.$b[d]=b,b=b.Nh,d++;while(b!=a);this.$b[d]=this.$b[0];this.Kf=d+1};f.prototype.wE=function(a){var d=this.Yo,b=d.Fa();if(null!=b){b.yj();for(var f=-1;b.Ya();)f++,this.BO(d,f,a)}};f.prototype.Ay=function(){var a=this.Yo.G();return 322==a?this.AO():197==a?this.zO():c.T.Oc(a)?(a=new c.Ua,a.dc(this.Yo,!0),this.Yo=a,this.Ay()):1607==a?(a=new c.Ua,this.wE(a),a):1736==a?\n(a=new c.Ja,this.wE(a),a):null};return f}();c.UL=f})(r||(r={}));(function(c){var n=function(){function a(d){this.Sk=d}a.prototype.w=function(a,d){this.Sk.a.w(a,d)};a.prototype.Kd=function(a){var d=this.Sk.Na.ja(a);this.Sk.Na.Kd(a,-1);this.Sk.a.ud(d,!1)};return a}(),g=function(){function a(d){this.Sk=d}a.prototype.w=function(a,d){this.Sk.HV.w(a,d)};a.prototype.Kd=function(a){this.Sk.Na.Kd(a,-1)};return a}(),b=function(){function a(d){this.Sk=d}a.prototype.w=function(a,d){d.L(this.Sk.KV[a])};a.prototype.Kd=\nfunction(a){this.Sk.Na.Kd(a,-1)};return a}(),a=function(){function a(d){void 0===d?(this.Na=new c.uk,this.Na.Qe(20),this.a=new c.fd,this.yV=this.a.bh(550),this.Nt=this.a.Yf(this.yV,-1),this.wi=new n(this)):d instanceof Array?(this.Na=new c.uk,this.Na.Qe(20),this.KV=d,this.wi=new b(this)):(this.Na=new c.uk,this.Na.Qe(20),this.HV=d,this.wi=new g(this))}a.prototype.Jb=function(a){var d=a.G();if(c.Mu.gh(d))this.iP(a);else if(c.xl.Oc(d))this.pP(a);else if(197==d)this.fP(a);else if(33==d)this.mP(a);else throw c.g.F(\"invalid shape type\");\n};a.prototype.VS=function(){var a=new c.Wa,d=this.Na.xc(-1),b=new c.Ja(this.a.Hr);this.a.wj(this.Na.ja(d),a);b.Rf(a);for(d=this.Na.nb(d);-1!=d;d=this.Na.nb(d))this.a.wj(this.Na.ja(d),a),b.lineTo(a);return b};a.VQ=function(b){var e=new a(b),h=b.D(),l=1,k=new c.b,m=new c.b,g=new c.b;for(b.w(0,k);;){b.w(l,m);if(!(m.xA(k)&&l<h-1))break;l++}e.Na.addElement(0,-1);e.Na.ro(l);for(h=l+1;h<b.D();h++)b.w(h,g),l=e.PC(g),-1!=l&&e.Na.kk(l,h);g=new c.Wa;l=e.Na.xc(-1);h=new c.Ja(b.description);b.Ae(e.Na.ja(l),g);\nh.Rf(g);for(l=e.Na.nb(l);-1!=l;l=e.Na.nb(l))b.Ae(e.Na.ja(l),g),h.lineTo(g);return h};a.pa=function(b,e,c){for(var l=new a(b),k=1,m=b[0];b[k].xA(m)&&k<e-1;)k++;l.Na.addElement(0,-1);l.Na.ro(k);for(k+=1;k<e;k++)m=l.PC(b[k]),-1!=m&&l.Na.kk(m,k);b=0;for(e=l.Na.xc(-1);-1!=e;e=l.Na.nb(e))c[b++]=l.Na.ja(e);return b};a.VH=function(b,e){var h=b.wa(e),l=b.Gc(e),k=!b.Qb(e)&&b.Eo(e),m=b.Pa(0),h=2*h,l=2*l;k&&(l-=2);if(6>l-h)return!0;var k=new c.b,g=new c.b,p=new c.b;m.fc(h,k);m.fc(h+2,g);m.fc(h+4,p);var q=a.fe(g,\np,k);if(q.lt()||!a.tc(q.value()))return!1;for(var t=c.b.pa(g.x,g.y),u=new c.b,h=h+6;h<l;h+=2){u.L(g);g.L(p);m.fc(h,p);q=a.fe(g,p,k);if(q.lt()||!a.tc(q.value()))return!1;q=a.fe(t,p,k);if(q.lt()||!a.tc(q.value()))return!1;q=a.fe(g,p,u);if(q.lt()||!a.tc(q.value()))return!1}return!0};a.prototype.iP=function(a){for(var d=new c.Wa,b=new c.b,l=0;l<a.D();l++){a.w(l,b);var k=this.As(b);if(-1!=k){a.Ae(l,d);var m=this.a.pc(this.Nt,d);this.Na.kk(k,m)}}};a.prototype.fP=function(a){for(var d=new c.Wa,b=new c.b,\nl=0;4>l;l++){a.Gx(l,b);var k=this.As(b);if(-1!=k){a.ig(l,d);var m=this.a.pc(this.Nt,d);this.Na.kk(k,m)}}};a.prototype.pP=function(a){var d=new c.Wa,b=a.ec(),b=this.As(b);if(-1!=b){a.Dp(d);var l=this.a.pc(this.Nt,d);this.Na.kk(b,l)}b=a.Cc();b=this.As(b);-1!=b&&(a.Bp(d),a=this.a.pc(this.Nt,d),this.Na.kk(b,a))};a.prototype.mP=function(a){var d=a.w(),d=this.As(d);-1!=d&&(a=this.a.pc(this.Nt,a),this.Na.kk(d,a))};a.prototype.As=function(a){var d=-1;if(0==this.Na.size(-1))return d=this.Na.addElement(-4,\n-1);if(1==this.Na.size(-1)){var b=this.a.Ba(this.Na.ja(this.Na.xc(-1)));a.xA(b)||(d=this.Na.ro(-5));return d}return d=this.PC(a)};a.prototype.PC=function(b){var e=-1;do{var h=this.Na.xc(-1),l=this.Na.Fc(-1),k=this.Na.ja(h),m=this.Na.ja(l),g=new c.b,p=new c.b;this.wi.w(k,g);this.wi.w(m,p);k=c.b.zp(p,b,g);if(a.tc(k))e=this.Na.ro(-1),g=this.NC(b,l,h),g!=h&&this.OC(b,h,this.Na.Ve(g));else if(a.vl(k)){for(var p=this.Na.fw(-1),q=this.Na.xc(-1),t=this.Na.Fc(-1),u,k=new c.b,m=new c.b;q!=this.Na.Ve(t);)u=\nthis.Na.ja(p),this.wi.w(u,k),u=c.b.zp(k,b,g),a.vl(u)?(t=p,p=this.Na.Pl(p)):(q=p,p=this.Na.Nq(p));p=t;g=q;u=this.Na.ja(p);q=this.Na.ja(g);this.wi.w(u,k);this.wi.w(q,m);if(g!=h&&(k=c.b.zp(m,b,k),!a.tc(k)))continue;e=this.Na.jv(g,p,-2,!1);this.OC(b,p,l);this.NC(b,g,h)}else null==this.wb&&(this.wb=new c.Hb),this.wb.Mc(p),this.wb.Zc(g),g=this.wb.pe(b,!0),0>g?(g=this.Na.Ve(l),this.Na.Kd(l,-1),e=this.Na.ro(-3),this.NC(b,g,h)):1<g&&(g=this.Na.nb(h),this.Na.Kd(h,-1),e=this.Na.jv(-1,g,-3,!1),this.OC(b,g,l))}while(0);\nreturn e};a.prototype.OC=function(b,e,h){if(e!=h){var l=this.Na.ja(e),k=this.Na.nb(e),m=new c.b,g=new c.b;for(this.wi.w(l,m);e!=h&&2<this.Na.size(-1);){this.wi.w(this.Na.ja(k),g);l=c.b.zp(g,b,m);if(a.tc(l))break;l=e;e=k;m.L(g);k=this.Na.nb(e);this.wi.Kd(l)}}};a.prototype.NC=function(b,e,h){if(e==h)return h;var l=this.Na.ja(e),k=this.Na.Ve(e),m=new c.b,g=new c.b;for(this.wi.w(l,m);e!=h&&2<this.Na.size(-1);){this.wi.w(this.Na.ja(k),g);l=c.b.zp(m,b,g);if(a.tc(l))break;l=e;e=k;m.L(g);k=this.Na.Ve(e);\nthis.wi.Kd(l)}return e};a.fe=function(a,d,b){var l=new c.Xb;l.set(d.x);l.sub(a.x);var k=new c.Xb;k.set(b.y);k.sub(a.y);var m=new c.Xb;m.set(d.y);m.sub(a.y);d=new c.Xb;d.set(b.x);d.sub(a.x);l.Vg(k);m.Vg(d);l.sub(m);return l};a.tc=function(a){return 0>a};a.vl=function(a){return 0<a};a.hq=function(a){return 0==a};return a}();c.Ju=a})(r||(r={}));(function(c){var n=function(){function g(b){this.ke=this.a=null;this.FI=!0;this.ke=b}g.yJ=function(b,a,d){b=c.na.Cs(b);return c.Iu.pw(a.Be(),a.nf(),d.Be(),d.nf(),\nc.Ub.Yx(b))};g.GQ=function(b,a){var d=new c.Wa;c.Iu.WV(b,a,d);return d};g.V=function(b,a,d,f){d=new g(d);d.a=b;d.ta=a;d.FI=f;return d.MO()};g.prototype.GO=function(b){return c.Iu.cS(this.a,b)};g.prototype.JO=function(b){return c.Ku.V(this.a,b,this.ke)};g.prototype.MO=function(){for(var b=this.ta,a=c.na.Cs(b),b=c.na.sP(b),d=1.00001*b,b=1.000001*b,f=!1,e=30<this.a.vd+10?1E3:(this.a.vd+10)*(this.a.vd+10),h=0,l=this.a.eU();;h++){if(h>e)throw c.g.X(\"Internal Error: max number of iterations exceeded\");\nvar k=this.GO(a),f=f||k;this.FI&&(k=0!=this.a.zq(a,!0,!1),f=f||k);k=!1;if(0==h||l||c.Ku.tJ(!0,this.a,b,null,this.ke))k=this.JO(d),f=f||k;if(!k)break}return f};return g}();c.sk=n})(r||(r={}));(function(c){var n=function(){function b(a){this.we=this.Tc=null;this.kx=0;this.lc=a;this.MA=!0}b.prototype.gw=function(a,d){var b=this.a.ic(a);if(null==b){if(!this.a.pd(a,d))return null;b=d}return b};b.prototype.Pr=function(a){void 0===a&&(a=!1);this.kx++;if(a||0==(this.kx&4095))this.kx=0};b.prototype.nR=function(){var a=\nthis.a.Qr(!1),d=!1,b=new c.Hb,e=new c.Hb,h=new c.h;h.Oa();var l=new c.h;l.Oa();for(var k=new c.Wa,m=new c.eE,g=a.next();-1!=g;g=a.next()){var p=null,q=!1;if(!c.T.Jo(this.a.hc(a.Ck))){p=this.gw(g,b);if(null==p)continue;p.s(h);h.O(this.ta,this.ta);if(p.fh(this.ta))if(p.fh(0))q=!0,p=null;else continue}var t=this.a.Qr(a),u=t.next();for(-1!=u&&(u=t.next());-1!=u;u=t.next()){var n=null,v=!1;if(!c.T.Jo(this.a.hc(t.Ck))){n=this.gw(u,e);if(null==n)continue;n.s(l);if(n.fh(this.ta))if(n.fh(0))v=!0,n=null;else continue}var r=\n0,B=0;if(null!=p&&null!=n)h.TH(l)&&(m.Ap(p),m.Ap(n),m.Ma(this.ta,!1),r=m.Rl(0),B=m.Rl(1),0<r+B&&(this.a.bs(g,m,0,!0),this.a.bs(u,m,1,!0)),m.clear());else if(null!=p){var y=new c.b;this.a.w(u,y);if(h.contains(y)){m.Ap(p);this.a.wj(u,k);m.tA(this.ta,k,!1);r=m.Rl(0);if(0<r)if(this.a.bs(g,m,0,!0),v){v=-1;for(y=this.a.U(u);-1!=y&&y!=u&&(n=this.gw(y,e),v=y,null!=n&&n.fh(0));y=this.a.U(y));for(y=u;-1!=y&&(this.a.Yh(y,m.cg),y!=v);y=this.a.U(y));}else this.a.Yh(u,m.cg);m.clear()}}else if(null!=n){if(y=new c.b,\nthis.a.w(g,y),l.O(this.ta,this.ta),l.contains(y)){m.Ap(n);this.a.wj(g,k);m.tA(this.ta,k,!1);B=m.Rl(0);if(0<B)if(this.a.bs(u,m,0,!0),q){v=-1;for(y=this.a.U(g);-1!=y&&y!=g&&(n=this.gw(y,e),v=y,null!=n&&n.fh(0));y=this.a.U(y));for(y=g;-1!=y&&(this.a.Yh(y,m.cg),y!=v);y=this.a.U(y));}else this.a.Yh(g,m.cg);m.clear()}}else continue;if(0!=r+B){if(0!=r){p=this.a.ic(g);if(null==p){if(!this.a.pd(g,b))continue;p=b;b.s(h)}else p.s(h);if(p.fh(this.ta))break}d=!0}}}return d};b.prototype.oR=function(){return this.EW()};\nb.prototype.EW=function(){return(new c.XD).JY(this.a,this.ta)};b.prototype.uJ=function(){var a=!1,d,b;null==this.Tc&&(this.Tc=new c.uk);var e=new c.ia(0);e.yb(this.a.vd+1);for(var h=this.a.Qr(),l=h.next();-1!=l;l=h.next())e.add(l);this.a.Xx(e,e.size);e.add(-1);h=this.a.Vd();l=this.a.Vd();this.we=new c.gE(this.a,this.ta,!this.MA);this.Tc.Ep(this.we);var k=new c.ia(0),m=new c.ia(0),g=0;new c.b;var p=this.a.Dd;this.a.xb.wc();for(var q=this.a.xb.ya[0].f,t,u,n=e.get(g++);-1!=n;){u=p.S(n,0);t=q[2*u];u=\nq[2*u+1];var v=t,r=u;do{var B=p.S(n,2),y=p.S(n,1);-1!=B&&(d=p.S(B,0),b=q[2*d],d=q[2*d+1],0>(r<d?-1:r>d?1:v<b?-1:v>b?1:0)&&(m.add(n),m.add(B)));-1!=y&&(d=p.S(y,0),b=q[2*d],d=q[2*d+1],0>(r<d?-1:r>d?1:v<b?-1:v>b?1:0)&&(m.add(y),m.add(y)));b=this.a.Sa(n,h);-1!=b&&(k.add(b),this.a.Va(n,h,-1));b=this.a.Sa(n,l);-1!=b&&(k.add(b),this.a.Va(n,l,-1));n=e.get(g++);-1!==n&&(r=p.S(n,0),v=q[2*r],r=q[2*r+1])}while(-1!=n&&v===t&&r===u);v=1==k.size&&2==m.size;b=r=-1;B=0;for(y=k.size;B<y;B++){d=k.get(B);var A=this.Tc.Ve(d);\n-1==A||k.oA(A)||(r=A);d=this.Tc.nb(d);-1==d||k.oA(d)||(b=d);if(-1!=r&&-1!=b)break}this.we.QK(u,t);B=0;for(y=k.size;B<y;B++)d=k.get(B),this.Tc.Kd(d,-1);k.clear(!1);if(!v&&-1!=r&&-1!=b&&this.uQ(r,b)){a=!0;this.mj=this.we.en();break}B=0;for(y=m.size;B<y;B+=2){u=m.get(B);t=m.get(B+1);v?(u=this.Tc.jv(r,b,u,!0),v=!1):u=this.Tc.addElement(u,-1);if(this.we.Ng){this.mj=this.we.en();a=!0;break}-1==this.a.Sa(t,h)?this.a.Va(t,h,u):this.a.Va(t,l,u)}if(a)break;m.yf(0)}this.a.le(h);this.a.le(l);return a};b.prototype.uQ=\nfunction(a,d){this.we.compare(this.Tc,this.Tc.ja(a),d);var b=this.we.Ng;this.we.Gs();return b};b.Cj=function(a){for(var d=a.sd;-1!=d;d=a.Ue(d))if(c.T.Ic(a.hc(d)))return!0;return!1};b.Gm=function(a,d,f,e){if(!b.Cj(a))return!1;d=new b(e);d.a=a;d.ta=f;if(15>a.vd)a=d.nR();else return d.oR();return a};b.V=function(a,d,f){return b.Gm(a,a.TG(),d,f)};b.tJ=function(a,d,f,e,h){if(!b.Cj(d))return!1;var l=new b(h);l.a=d;l.ta=f;l.MA=a;if(l.uJ())return null!=e&&e.ms(l.mj),!0;var k=new c.Hd;k.yC();d.Xc(k);l=new b(h);\nl.a=d;l.ta=f;l.MA=a;a=l.uJ();k.yC();d.Xc(k);return a?(null!=e&&e.ms(l.mj),!0):!1};b.qm=function(a,d){var b=a.D();return 16>b?!1:2*b+Math.log(b)*Math.LOG10E/Math.log(2)*1*d<1*b*d};b.lR=function(a,d,f,e){if(c.T.Ic(d.G()))return(new b(e)).mR(a,d,f);throw c.g.X(\"crack_A_with_B\");};b.prototype.mR=function(a,d,f){var e=new c.h;a.ac(e);var h=new c.h;d.ac(h);h.O(f,f);if(!h.Yb(e))return a;var l=a.ob,k=null;null!=l&&(k=l.Mb);b.qm(a,a.D())&&(k=c.na.Lj(a,h));var m=null!=k?k.mf():null,w=d.Fa();d=a.Fa();for(var p=\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=[];w.Ya();)for(;w.Ea();){var q=w.ba();if(null!=k)for(m.Wn(q,f),l=m.next();-1!=l;l=m.next()){if(this.Pr(),d.Tb(k.ja(l),-1),d.Ea())for(var l=d.ba(),t=l.Ma(q,null,p,null,f),l=0;l<t;++l){var u=p[l];if(0!=u&&1!=u){var n=d.Db(),v=new g;v.t=u;v.index=n;h.push(v)}}}else{var r=new c.h;q.ac(r);r.O(f,f);if(e.Yb(r))for(d.yj();d.Ya();)for(;d.Ea();)if(this.Pr(),l=d.ba(),u=new c.h,l.ac(u),u.Yb(r))for(t=l.Ma(q,null,p,null,f),l=0;l<t;++l)u=p[l],0!=u&&1!=u&&(n=d.Db(),v=new g,v.t=u,\nv.index=n,h.push(v))}}if(0==h.length)return a;h=h.sort(g.Hs);a=a.Ka();for(d.yj();d.Ya()&&!d.Ea(););f=d.ba();e=new c.Cg;k=-1;l=0;for(m=h.length;l<m;){p=h[l].index;for(w=l+1;w<m&&h[w].index==p;)++w;for(;d.Db()<p;){this.Pr();q=d.Ea();u=d.Ta;(r=q||!d.Fo()||d.Go())&&a.dc(f,k!=u);k=u;if(!q)for(;d.Ya()&&!d.Ea(););f=d.ba()}for(p=0;l<w;l++)u=h[l].t,u!=p&&(f.yh(p,u,e),p=u,u=d.Ta,a.dc(e.get(),k!=u),k=u);if(r=(q=d.Ea())||!d.Fo()||d.Go())f.yh(p,1,e),a.dc(e.get(),!1);if(q)f=d.ba();else{for(;d.Ya()&&!d.Ea(););d.Ea()?\nf=d.ba():f=null}l=w}null!=f&&(u=d.Ta,(r=(q=d.Ea())||!d.Fo()||d.Go())&&a.dc(f,k!=u),k=u);for(q=d.Ea();;){if(!q){for(;d.Ya()&&!(q=d.Ea()););if(!q)break}f=d.ba();u=d.Ta;(r=(q=d.Ea())||!d.Fo()||d.Go())&&a.dc(f,k!=u);k=u}return a};return b}();c.Ku=n;var g=function(){function b(){}b.Hs=function(a,d){return a.index==d.index?a.t>d.t?1:a.t<d.t?-1:0:a.index>d.index?1:-1};return b}()})(r||(r={}));(function(c){(function(a){a[a.Left=0]=\"Left\";a[a.Right=1]=\"Right\";a[a.Coincident=2]=\"Coincident\";a[a.Undefined=3]=\n\"Undefined\";a[a.Uncut=4]=\"Uncut\"})(c.WL||(c.WL={}));var n=function(){return function(a,b,e,c,l,k,m,g,p,q,t){this.Y=a;this.nx=b;this.It=e;this.Pg=c;this.yn=q;this.em=t}}();c.GZ=n;var g=function(){function a(d,b){this.YI=d;this.gj=b}a.prototype.IO=function(a,d){var b=new c.b;this.gj.w(a,b);var l=new c.b;this.gj.w(d,l);b=b.compare(l);if(0!=b)return b;b=this.gj.Sa(a,this.YI);l=this.gj.Sa(d,this.YI);return b<l?-1:b==l?0:1};return a}(),b=function(){return function(a,b,e,c,l,k,m,g,p){this.Pg=a;this.It=b;\nthis.uB=e;this.hJ=c;this.dj=l;this.em=k;this.yn=m;this.iJ=g;this.NV=p}}();c.FZ=b;var a=function(){function a(){}a.VL=function(b,e,h,l,k,m){if(e.u())b=new n(e,4,-1,-1,NaN,4,-1,-1,NaN,-1,-1,NaN,-1,-1,NaN),k.push(b);else{var g=new c.fd;g.Jb(e);g.Jb(h);c.sk.V(g,l,m,!0);e=0;h=g.Vd();for(l=g.sd;-1!=l;l=g.Ue(l))for(m=g.Pb(l);-1!=m;m=g.Sb(m))for(var p=g.cb(m),q=0,t=g.La(m);q<t;p=g.U(p),q++)g.Va(p,h,e++);e=a.mM(h,g);a.uW(b,e,g,k)}};a.mM=function(b,e){for(var h=e.vd,l=new c.ia(0),k=e.sd;-1!=k;k=e.Ue(k))for(var m=\ne.Pb(k);-1!=m;m=e.Sb(m))for(var w=e.cb(m),p=0,q=e.La(m);p<q;w=e.U(w),p++)l.add(w);var t=new g(b,e);l.Gd(0,h,function(a,d){return t.IO(a,d)});var u=[],n=[],v=e.Vd(),r=e.Vd(),k=e.sd,m=e.Ue(k),q=new c.b,B=new c.b,y=l.get(0),A=e.ld(y),C=e.ng(A);e.w(y,q);for(var D=1,w=0;D<h-1;){for(var E=!1,p=D;p<h;p++)if(p!=w){var F=l.get(p),G=e.ld(F),H=e.ng(G);e.w(F,B);if(q.ub(B))C==k&&H==m&&(E=a.oZ(v,r,e,u,n,A,y,G,F));else break}if(E||w==D-1){E&&w==D-1&&D--;if(++w==h)break;y=l.get(w);A=e.ld(y);C=e.ng(A);e.w(y,q)}E||\n(D=w+1)}h=[];for(k=e.sd;-1!=k;k=e.Ue(k))for(m=e.Pb(k);-1!=m;m=e.Sb(m))for(l=e.cb(m),p=0,q=e.La(m);p<q;l=e.U(l),p++){w=e.Sa(l,r);if(0<=w)for(;w<n.length&&n[w].Pg==l;)h.push(n[w++]);w=e.Sa(l,v);if(0<=w)for(;w<u.length&&u[w].Pg==l;)h.push(u[w++])}e.le(v);e.le(r);return h};a.oZ=function(b,e,c,l,k,m,g,p,q){var t=c.Rj(m),u=c.Rj(p),n=c.cb(m),v=c.cb(p),r=c.Ra(g),B=c.Ra(q),y=!1,A=!1,C=!1,D=!1;g!=n&&(q!=v&&(y=a.tZ(b,c,l,m,r,p,B)),q!=u&&(A=a.vZ(b,c,l,m,r,p,q)));g!=t&&(q!=v&&(C=a.xZ(e,c,k,m,g,p,B,n)),q!=u&&(D=\na.HL(e,c,k,m,g,p,q,n)));y&&A&&C?(b=l.length-1,2==k[D?k.length-2:k.length-1].dj&&(l[b-1]=l[b],l.length=l.length-1)):y&&A&&D&&2==k[k.length-1].dj&&(k=l[l.length-1],l.length=l.length-1,c.Sa(k.Pg,b)==l.length&&c.Va(k.Pg,b,-1));return y||A||C||D};a.tZ=function(a,d,h,l,k,m,g){var p,q;q=new c.Hb;var t=new c.Hb,u=[0,0],n=[0,0];p=d.ic(k);null==p&&(d.pd(k,q),p=q);q=d.ic(g);null==q&&(d.pd(g,t),q=t);p=p.Ma(q,null,u,n,0);2>p&&(l=new b(k,l,u[0],NaN,p,g,m,n[0],NaN),h.push(l),l=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1));\nreturn!0};a.vZ=function(a,d,h,l,k,m,g){var p,q;q=new c.Hb;var t=new c.Hb,u=[0,0],n=[0,0];p=d.ic(k);null==p&&(d.pd(k,q),p=q);q=d.ic(g);null==q&&(d.pd(g,t),q=t);p=p.Ma(q,null,u,n,0);return 2>p?(l=new b(k,l,u[0],NaN,p,g,m,n[0],NaN),h.push(l),l=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1),!0):!1};a.xZ=function(a,d,h,l,k,m,g,p){var q,t;t=new c.Hb;var u=new c.Hb,n=[0,0],v=[0,0];q=d.ic(k);null==q&&(d.pd(k,t),q=t);t=d.ic(g);null==t&&(d.pd(g,u),t=u);q=q.Ma(t,null,n,v,0);if(2==q)return l=new b(k,l,n[0],n[1],q,g,m,v[0],\nv[1]),h.push(l),l=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1),!0;u=!1;k==p&&(l=new b(k,l,n[0],NaN,q,g,m,v[0],NaN),h.push(l),l=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1),u=!0);return u};a.HL=function(a,d,h,l,k,m,g,p){var q,t;t=new c.Hb;var u=new c.Hb,n=[0,0],v=[0,0];q=d.ic(k);null==q&&(d.pd(k,t),q=t);t=d.ic(g);null==t&&(d.pd(g,u),t=u);q=q.Ma(t,null,n,v,0);if(2==q)return l=new b(k,l,n[0],n[1],q,g,m,v[0],v[1]),h.push(l),l=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1),!0;u=!1;k==p&&(l=new b(k,l,n[0],NaN,q,g,m,v[0],NaN),h.push(l),\nl=d.Sa(k,a),0>l&&d.Va(k,a,h.length-1),u=!0);return u};a.uW=function(b,e,h,l){var k,m=[];m[0]=new c.b;m[1]=new c.b;m[2]=new c.b;m[3]=new c.b;var g=new c.b,p=new c.b,q=new c.b,t=new c.b,u=null;null!=l&&(u=new c.Cg,u.Js());var z,v=0,r=null,B=new c.Hb;new c.Hb;for(var y=h.Pb(h.sd);-1!=y;y=h.Sb(y)){var A,C=4,D=-1,E,F,G,H=-1,I,K,S,L,J=-1,R=-1,M=NaN;A=!0;var O=!1,N=!0,Q=!0,Z=!0,T=0;G=y;I=0;for(var P=h.cb(y),X=h.La(y),ca=0;ca<X;P=h.U(P),ca++){z=h.ic(P);if(null==z){if(!h.pd(P,B))continue;z=B}-1==H&&(H=P);\nfor(var V=0;v<e.length&&P==e[v].Pg;){D=e[v].It;E=e[v].Pg;F=e[v].uB;K=e[v].yn;S=e[v].em;L=e[v].iJ;if(2==e[v].dj){if(O||(G=D,H=E,I=F,J=K,R=S,M=L,C=2,null!=l?r=new c.Ua:T=0,Z=!1,Q=!0),F=e[v].hJ,L=e[v].NV,null!=l?(z.yh(V,e[v].hJ,u),r.dc(u.get(),Q)):T++,V=F,O=!0,Q=A=!1,v+1==e.length||2!=e[v+1].dj||e[v+1].Pg==E&&e[v+1].uB!=V)null!=l?(k=new n(r,2,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T),G=D,H=E,I=F,J=K,R=S,M=L,C=2,O=A=!1,Q=Z=!0}else{var ba=h.U(E);if(v<e.length-1&&e[v+1].Pg==ba&&e[v+1].em==S&&2==\ne[v+1].dj)F!=V&&(Z&&(null!=l?r=new c.Ua:T=0),A=0<v&&e[v-1].It==D?1==C?0:0==C?1:3:3,null!=l?(z.yh(V,F,u),r.dc(u.get(),Q),k=new n(r,A,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):(T++,null.add(T)),V=F,G=D,H=E,I=F,J=K,R=S,M=L,C=A,A=N=!1,Q=Z=!0);else if(!a.bM(b,h,e,v,g,p)){a.NL(h,e,v,y,P,q,t);var U=!1,ba=!1;k=!0;if(!(g.ub(q)||p.ub(q)||g.ub(t)||p.ub(t))){m[0].L(g);m[1].L(p);m[2].L(q);m[3].L(t);m.sort(c.b.vs);var W=m[0],Y=m[1],aa=m[2],da=m[3];W.ub(g)?Y.ub(p)?b?(ba=U=!0,k=!1):U=!1:da.ub(p)?b?k=ba=U=!0:U=!1:(U=\n!0,k=Y.ub(q)):Y.ub(g)?aa.ub(p)?b?(ba=U=!0,k=!1):U=!1:W.ub(p)?b?k=ba=U=!0:U=!1:(U=!0,k=aa.ub(q)):aa.ub(g)?da.ub(p)?b?(ba=U=!0,k=!1):U=!1:Y.ub(p)?b?k=ba=U=!0:U=!1:(U=!0,k=da.ub(q)):W.ub(p)?b?(ba=U=!0,k=!1):U=!1:aa.ub(p)?b?k=ba=U=!0:U=!1:(U=!0,k=W.ub(q))}if(U){U=P==E;if(F!=V||U&&0==V)Z&&(null!=l?r=new c.Ua:T=0),null!=l?(z.yh(V,F,u),r.dc(u.get(),Q)):T++;if(k)if(1!=C){if(F!=V||U&&0==V)null!=l?(k=new n(r,1,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T);if(!ba)C=1;else if(v==e.length-2||e[v+2].It!=D)C=\n0}else{if(F!=V||U&&0==V)null!=l?(k=new n(r,3,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T);C=1}else if(0!=C){if(F!=V||U&&0==V)null!=l?(k=new n(r,0,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T);if(!ba)C=0;else if(v==e.length-2||e[v+2].It!=D)C=1}else{if(F!=V||U&&0==V)null!=l?(k=new n(r,3,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T);C=0}if(F!=V||U&&0==V)V=F,G=D,H=E,I=F,J=K,R=S,M=L,A=N=!1,Q=Z=!0}}}v++}1!=V&&(Z&&(null!=l?r=new c.Ua:T=0),null!=l?(z.yh(V,1,u),r.dc(u.get(),Q)):T++,Q=Z=!1,N=!0)}N&&\n(F=1,E=h.Rj(y),E=h.Ra(E),S=K=-1,L=NaN,A?null!=l?(k=new n(r,4,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T):(A=1==C?0:0==C?1:3,null!=l?(k=new n(r,A,D,E,F,C,G,H,I,K,S,L,J,R,M),l.push(k)):null.add(T)))}};a.bM=function(b,e,h,l,k,m){var g=h[l].iJ;if(1==g)return a.RL(b,e,h,l,k,m);if(0==g)return a.YL(b,e,h,l,k,m);throw c.g.za();};a.RL=function(a,d,b,l,k,m){var g=new c.Hb,p=b[l].Pg,q=b[l].yn,t=b[l].em,u=-1,n=-1,v=-1,r=-1;if(!a&&0<l)var B=b[l-1],u=B.Pg,n=B.yn,v=B.em,r=B.dj;var y=-1,A=-1,C=-1,D=-1;l<b.length-\n1&&(B=b[l+1],y=B.Pg,A=B.yn,C=B.em,D=B.dj);var E=d.U(p),B=d.U(t);if(!a)return 0<l&&u==p&&n==q&&v==B&&2==r||l<b.length-1&&y==E&&A==q&&C==B&&2==D?(a=d.ic(t),null==a&&(d.pd(t,g),a=g),m.L(a.Eg(1)),k.bu(m),m.normalize(),k.normalize(),!1):l<b.length-1&&y==p&&A==q&&C==B?(a=d.ic(t),null==a&&(d.pd(t,g),a=g),k.L(a.Eg(1)),a=d.ic(B),null==a&&(d.pd(B,g),a=g),m.L(a.Eg(0)),k.Lr(),m.normalize(),k.normalize(),!1):!0;if(l==b.length-1||y!=p||A!=q||C!=B||2==D)return a=d.ic(t),null==a&&(d.pd(t,g),a=g),m.L(a.Eg(1)),k.bu(m),\nm.normalize(),k.normalize(),!1;a=d.ic(t);null==a&&(d.pd(t,g),a=g);k.L(a.Eg(1));a=d.ic(B);null==a&&(d.pd(B,g),a=g);m.L(a.Eg(0));k.Lr();m.normalize();k.normalize();return!1};a.YL=function(a,d,b,l,k,m){var g=new c.Hb,p=b[l].Pg,q=b[l].yn,t=b[l].em,u=-1,n=-1,v=-1,r=-1;if(!a&&l<b.length-1)var B=b[l+1],u=B.Pg,n=B.yn,v=B.em,r=B.dj;var y=-1,A=-1,C=-1,B=-1;0<l&&(B=b[l-1],y=B.Pg,A=B.yn,C=B.em,B=B.dj);var D=d.U(p),E=d.Ra(t);return a?0==l||y!=p||A!=q||C!=E||2==B?(a=d.ic(t),null==a&&(d.pd(t,g),a=g),m.L(a.Eg(0)),\nk.bu(m),m.normalize(),k.normalize(),!1):!0:0<l&&y==p&&A==q&&C==E&&2==B||l<b.length-1&&u==D&&n==q&&v==E&&2==r?(a=d.ic(t),null==a&&(d.pd(t,g),a=g),m.L(a.Eg(0)),k.bu(m),m.normalize(),k.normalize(),!1):!0};a.NL=function(a,d,b,l,k,m,g){var p=new c.Hb,q=a.ic(k);null==q&&(a.pd(k,p),q=p);b=d[b];d=b.Pg;b=b.uB;k=a.U(d);if(1==b)m.L(q.Eg(1)),-1!=k&&k!=a.Rj(l)?(q=a.ic(k),null==q&&(a.pd(k,p),q=p),g.L(q.Eg(0)),q=a.ic(d),null==q&&a.pd(d,p)):g.L(m),m.Lr(),g.normalize(),m.normalize();else if(0==b)g.L(q.Eg(b)),m.bu(g),\ng.normalize(),m.normalize();else throw c.g.za();};return a}();c.XL=a})(r||(r={}));(function(c){(function(a){a[a.Linear=0]=\"Linear\";a[a.Angular=1]=\"Angular\";a[a.Area=2]=\"Area\"})(c.jO||(c.jO={}));var n=function(){function a(d,b,f){this.nd=b;this.Ai=f;this.cB=d}a.prototype.Eb=function(d){return d instanceof a?this.Ai===d.Ai:!1};a.lH=function(d){return 0!==d.nd?null:-1===d.cB?new a(-1,2,d.Ai*d.Ai):a.ze(f[d.cB])};a.ze=function(a){a=d[a];return void 0===a?null:a};a.cR=function(d,b,f){var e=null;if(void 0!==\nf&&null!==f)try{\"EPSG\"===f.values[0]&&(e=a.ze(parseInt(f.values[1])))}catch(c){}null===e&&(e=new a(-1,d,b));return e};a.prototype.yc=function(){return this.cB};a.prototype.OG=function(a){if(a.nd!=this.nd)throw c.g.Da();return this.Ai/a.Ai};a.li=function(a,d,b){return d.OG(b)*a};a.eG=function(a,d,b,f,e){b=b.OG(f);for(f=0;f<d;f++)e[f]=a[f]*b};return a}();c.oc=n;for(var g=[109401,1E4,109402,4046.8564224,109403,4046.87260987425,109404,1,109405,.09290304,109406,.09290341161327487,109407,.09290137299531805,\n109408,3.34450944,109409,3429904,109410,1.000027193184865,109411,404.6872609874253,109412,.04046872609874253,109413,2589998.4703195216,109414,1E6,109415,.8361123569578626,109416,404.67838076760535,109417,.04046783807676053,109418,.8361244606523066,109419,.09290271785025629,109420,404.68423895571647,109421,.04046842389557164,109422,.83612589696064,109423,.0929028774400711,109424,404.6849341289498,109425,.04046849341289498,109426,.836125904805842,109427,.09290287831176021,109428,404.68493792602754,\n109429,.04046849379260275,109430,.09290354800069446,109431,.09290274144751023,109432,.09290207073852812,109433,.09290279616016,109434,.09290273520025,109435,.836124673027592,109436,.836118636646753,109437,.8361251654414399,109438,.83612461680225,109439,2589988.110336,109440,.09290286332673177,109441,.09290349665192114,109442,.83612736,109443,.8361307045194736,109444,404.68564224000005,109445,.04046856422400001,109446,.8361237024040001,109447,.0929026336004445,109448,404.683871963536,109449,.0404683871963536,\n109450,.01,109451,1E-4,109452,1E-6,109453,6.4516E-4,109454,6.451625806477421E-4,109455,25.292852640000003,109456,25.29295381171408,109457,3434528.1495040003,109458,3434290.937856,109459,2.89612324,109460,25E8,109461,225E8,109462,.7168473118308245,109463,100,109464,1.244521604938272E-7,109465,1E-12,109466,1E-18],b=[1031,4.84813681109536E-9,9101,1,9102,.0174532925199433,9103,2.908882086657216E-4,9104,4.84813681109536E-6,9105,.01570796326794897,9106,.01570796326794897,9109,1E-6,9112,1.570796326794897E-4,\n9113,1.570796326794897E-6,9114,9.817477042468104E-4],a=[1025,.001,109452,1033,.01,109451,9001,1,109404,9002,.3048,109405,9003,.3048006096012192,109406,9005,.3047972654,109407,9014,1.8288,109408,9030,1852,109409,9031,1.0000135965,109410,9033,20.11684023368047,109411,9034,.2011684023368047,109412,9035,1609.3472186944375,109413,9036,1E3,109414,9037,.9143917962000001,109415,9038,20.1166195164,109416,9039,.201166195164,109417,9040,.9143984146160287,109418,9041,.304799471538676,109419,9042,20.116765121552632,\n109420,9043,.2011676512155263,109421,9050,.9143992,109422,9051,.3047997333333333,109423,9052,20.1167824,109424,9053,.201167824,109425,9060,.9143992042898124,109426,9061,.3047997347632708,109427,9062,20.116782494375872,109428,9063,.2011678249437587,109429,9070,.3048008333333334,109430,9080,.3047995102481469,109431,9081,.30479841,109432,9082,.3047996,109433,9083,.3047995,109434,9084,.9143985307444408,109435,9085,.91439523,109436,9086,.9143988,109437,9087,.9143985,109438,9093,1609.344,109439,9094,.3047997101815088,\n109440,9095,.3048007491,109441,9096,.9144,109442,9097,20.1168,109444,9098,.201168,109445,9099,.914398,109446,9300,.3047993333333334,109447,9301,20.116756,109448,9302,.20116756,109449,109001,.9144,109442,109002,.9144018288036576,109443,109003,20.1168,109444,109004,.201168,109445,109005,.1,109450,109006,.01,109451,109007,.001,109452,109008,.0254,109453,109009,.0254000508001016,109454,109010,5.0292,109455,109011,5.029210058420118,109456,109012,1853.248,109457,109013,1853.184,109458,109014,1.7018,109459,\n109015,.8466683600033867,109462,109016,3.527777777777778E-4,109464,109017,1E-6,109465,109018,1E-9,109466,109030,5E4,109460,109031,15E4,109461],d=[],f=[],e=0;e<g.length;e+=2)d[g[e]]=new n(g[e],2,g[e+1]);g=null;for(e=0;e<b.length;e+=2)d[b[e]]=new n(b[e],1,b[e+1]);b=null;for(e=0;e<a.length;e+=3)d[a[e]]=new n(a[e],0,a[e+1]),f[a[e]]=a[e+2];a=null})(r||(r={}));(function(c){var n=function(){function c(){this.Gb=this.qb=0}c.prototype.set=function(b,a){void 0!==a?(this.qb=b,this.Gb=a):\"number\"===typeof b?\n(this.qb=b,this.Gb=0):(this.qb=b.qb,this.Gb=b.Gb)};c.prototype.value=function(){return this.qb};c.prototype.add=function(b){var a=this.qb+b.qb;b=this.Gb+b.Gb+2.220446049250313E-16*Math.abs(a);this.qb=a;this.Gb=b};c.prototype.jP=function(){var b=this.qb+1,a=this.Gb+2.220446049250313E-16*Math.abs(b);this.qb=b;this.Gb=a};c.prototype.cP=function(b,a){this.qb=b.qb+a.qb;this.Gb=b.Gb+a.Gb+2.220446049250313E-16*Math.abs(this.qb)};c.prototype.sub=function(b){if(\"number\"===typeof b){var a=this.qb-b;b=this.Gb+\n2.220446049250313E-16*Math.abs(a)}else a=this.qb-b.qb,b=this.Gb+b.Gb+2.220446049250313E-16*Math.abs(a);this.qb=a;this.Gb=b};c.prototype.Vg=function(b){var a=this.qb*b.qb;this.Gb=this.Gb*Math.abs(b.qb)+b.Gb*Math.abs(this.qb)+this.Gb*b.Gb+2.220446049250313E-16*Math.abs(a);this.qb=a};c.prototype.yp=function(b){var a=this.qb*b;this.Gb=this.Gb*Math.abs(b)+2.220446049250313E-16*Math.abs(a);this.qb=a};c.prototype.pm=function(b,a){var d=Math.abs(b.qb)*Math.abs(a.qb);this.Gb=b.Gb*Math.abs(a.qb)+a.Gb*Math.abs(b.qb)+\nb.Gb*a.Gb+2.220446049250313E-16*Math.abs(d);this.qb=d};c.prototype.Wm=function(b){var a=Math.abs(b.qb),d=this.qb/b.qb,f=(this.Gb+Math.abs(d)*b.Gb)/a;b.Gb>.01*a&&(b=b.Gb/a,f*=1+(1+b)*b);this.qb=d;this.Gb=f+2.220446049250313E-16*Math.abs(d)};c.prototype.sqrt=function(){var b,a;0<=this.qb?(b=Math.sqrt(this.qb),a=this.qb>10*this.Gb?.5*this.Gb/b:this.qb>this.Gb?b-Math.sqrt(this.qb-this.Gb):Math.max(b,Math.sqrt(this.qb+this.Gb)-b),a+=2.220446049250313E-16*Math.abs(b)):this.qb<-1*this.Gb?a=b=NaN:(b=0,a=\nMath.sqrt(this.Gb));this.qb=b;this.Gb=a};c.prototype.sin=function(b){var a=Math.sin(b.qb),d=Math.cos(b.qb);this.qb=a;a=Math.abs(a);this.Gb=(Math.abs(d)+.5*a*b.Gb)*b.Gb+2.220446049250313E-16*a};c.prototype.cos=function(b){var a=Math.sin(b.qb),d=Math.cos(b.qb);this.qb=d;d=Math.abs(d);this.Gb=(Math.abs(a)+.5*d*b.Gb)*b.Gb+2.220446049250313E-16*d};c.prototype.Lg=function(){return Math.abs(this.qb)<=this.Gb};c.prototype.lt=function(){return this.Lg()&&0!=this.Gb};return c}();c.Xb=n})(r||(r={}));var P=new r.b,\nda=new r.b,fa=new r.b,ga=new r.b,ia=new r.b;(function(c){var n;(function(b){b[b.closedPath=1]=\"closedPath\";b[b.exteriorPath=2]=\"exteriorPath\";b[b.ringAreaValid=4]=\"ringAreaValid\"})(n||(n={}));var g=function(){function b(a,d,b,e,c,l,k){void 0!==d?(this.bb=a,this.Ck=d,this.Gl=b,this.Ji=e,this.Ca=l,this.RA=k,this.Uw=c):(this.bb=a.bb,this.Ck=a.Ck,this.Gl=a.Gl,this.Ji=a.Ji,this.Ca=a.Ca,this.RA=a.RA,this.Uw=a.Uw);this.nI=!0}b.prototype.next=function(){return this.nI?(this.nI=!1,this.Ji):-1!=this.Ji?(this.Ji=\nthis.bb.U(this.Ji),this.Ca++,-1!=this.Ji&&this.Ji!=this.Uw?this.Ji:this.ZV()):-1};b.prototype.ZV=function(){this.Gl=this.bb.Sb(this.Gl);for(this.Ca=0;-1!=this.Ck;){for(;-1!=this.Gl;this.Gl=this.bb.Sb(this.Gl))if(this.Uw=this.Ji=this.bb.cb(this.Gl),-1!=this.Ji)return this.Ji;this.Ck=this.bb.Ue(this.Ck);if(-1==this.Ck)break;if(!this.RA||c.T.Ic(this.bb.hc(this.Ck)))this.Gl=this.bb.Pb(this.Ck)}return-1};b.yR=function(a,d,f,e,c,l,k){return new b(a,d,f,e,c,l,k)};return b}();c.MZ=g;n=function(){function b(){this.Xo=\nthis.on=this.Yk=this.md=this.el=this.jp=this.nj=this.td=this.Bi=this.ph=this.wf=this.Hr=this.Kr=this.xb=this.nm=null;this.cx=this.sd=-1;this.vd=0;this.PA=!1;this.Hr=this.Kr=this.xb=null}b.prototype.ti=function(a){return null!=this.wf?this.wf[a]:null};b.prototype.th=function(a,d){if(null==this.wf){if(null==d)return;this.wf=[];for(var b=0,e=this.xb.D();b<e;b++)this.wf.push(null)}this.wf[a]=d};b.prototype.Lp=function(a,d){this.td.P(a,1,d)};b.prototype.Kp=function(a,d){this.td.P(a,2,d)};b.prototype.uC=\nfunction(a,d){this.td.P(a,6,d)};b.prototype.Lq=function(a){return this.td.S(a,6)};b.prototype.Rx=function(a,d){this.td.P(a,7,d)};b.prototype.dw=function(a){return this.td.S(a,0)};b.prototype.FK=function(a,d){this.md.P(a,1,d)};b.prototype.JK=function(a,d){this.md.P(a,0,d)};b.prototype.UG=function(a){return this.md.S(a,7)};b.prototype.Ip=function(a,d){this.md.P(a,3,d)};b.prototype.Jp=function(a,d){this.md.P(a,4,d)};b.prototype.fW=function(a){null==this.md&&(this.md=new c.ad(8));var d=this.md.Pe();this.md.P(d,\n2,a);this.md.P(d,5,0);this.md.P(d,6,0);this.md.P(d,7,d);return d};b.prototype.DS=function(a){this.md.kd(a)};b.prototype.hW=function(a){null==this.td&&(this.td=new c.ad(8),this.Dd=new c.ad(5),this.nj=new c.Rd(0),this.jp=new c.Rd(0));var d=this.td.Pe();this.td.P(d,0,d);this.td.P(d,3,0);this.td.P(d,6,0);this.Rx(d,a);d>=this.nj.size&&(a=16>d?16:c.J.truncate(3*d/2),this.nj.resize(a),this.jp.resize(a));this.nj.set(d,0);this.jp.set(d,0);return d};b.prototype.DG=function(a){this.td.kd(a)};b.prototype.Ez=\nfunction(a){this.Dd.kd(a);this.vd--};b.prototype.xJ=function(a){null==this.td&&(this.td=new c.ad(8),this.Dd=new c.ad(5),this.nj=new c.Rd(0),this.jp=new c.Rd(0));var d=this.Dd.Pe(),b=0<=a?a:d;this.Dd.P(d,0,b);if(0>a){if(b>=this.xb.D()){a=16>b?16:c.J.truncate(3*b/2);this.xb.resize(a);if(null!=this.wf)for(var e=0;e<a;e++)this.wf.push(null);null!=this.ph&&this.ph.resize(a);this.Kr=this.xb.Pa(0)}this.xb.rb(b,-1E38,-1E38);null!=this.wf&&(this.wf[b]=null);null!=this.ph&&this.ph.write(b,1)}this.Dd.P(d,4,\n2*b);this.vd++;return d};b.prototype.Wj=function(a,d,b){var e=-1!=d?this.Ra(d):this.Rj(a),c=-1!=e?this.U(e):-1,l=this.xJ(null==b?this.vd:-1),k=this.Za(l);null!=b&&this.xb.vu(k,b);this.Aj(l,a);this.Kc(l,c);this.Lc(l,e);-1!=c&&this.Lc(c,l);-1!=e&&this.Kc(e,l);b=this.Qb(a);e=this.cb(a);-1==d&&this.sh(a,l);d==e&&this.jg(a,l);b&&-1==c&&(this.Kc(l,l),this.Lc(l,l));this.nk(a,this.La(a)+1);a=this.ng(a);this.lk(a,this.D(a)+1);return l};b.prototype.an=function(){null==this.Xo&&(this.Xo=new c.Wa(this.xb.description));\nreturn this.Xo};b.prototype.Hp=function(a,d){this.md.P(a,2,this.md.S(a,2)&-134217729||(1==d?134217728:0))};b.prototype.xo=function(a){return 0!=(this.md.S(a,2)&134217728)?1:0};b.prototype.gP=function(a){var d=this.bh(a.G(),a.description);1736==a.G()&&this.Hp(d,a.xo());this.hF(d,a);return d};b.prototype.hP=function(a){var d=this.bh(a.G(),a.description);this.iF(d,a);return d};b.prototype.QW=function(a,d){null==this.td&&(this.td=new c.ad(8),this.Dd=new c.ad(5),this.nj=new c.Rd(0),this.jp=new c.Rd(0));\nthis.td.Qe(this.td.yd+a);this.Dd.Qe(this.Dd.yd+d);this.nj.yb(this.nj.size+a);this.jp.yb(this.jp.size+a)};b.prototype.hF=function(a,d){this.QW(d.aa(),d.D());this.nm.Id(d,0,d.D());this.Kr=this.xb.Pa(0);for(var b=null!=this.wf&&null!=d.cf,e=0,h=d.aa();e<h;e++)if(!(2>d.La(e))){var l=this.Yf(a,-1);this.$n(l,d.Qb(e));for(var k=d.wa(e),m=d.Gc(e);k<m;k++){var g=this.Wj(l,-1,null);if(b)if(g=this.Za(g),0!=(d.jH(k)&1))this.th(g,null);else{var p=new c.Cg;d.ic(k,p,!0);this.th(g,p.get())}}}};b.prototype.iF=function(a,\nd){this.nm.Id(d,0,d.D());this.Kr=this.xb.Pa(0);for(var b=this.Yf(a,-1),e=0,c=d.D();e<c;e++)this.Wj(b,-1,null)};b.prototype.HY=function(a,d,b){var e=this.U(a);if(-1==e)throw c.g.za();for(var h=this.an(),l=this.ld(a),k=0,m=d.Rl(b);k<m;k++){var g=this.Za(a),p=this.U(a),q=d.Mq(b,k);0==k&&(q.Dp(h),this.Yh(a,h));322==q.G()?this.th(g,null):this.th(g,c.T.oe(q));q.Bp(h);k<m-1?a=this.Wj(l,p,h):this.Yh(e,h)}};b.prototype.GY=function(a,d,b){var e=this.U(a);if(-1==e)throw c.g.za();for(var h=this.an(),l=this.ld(a),\nk=0,m=d.Rl(b);k<m;k++){var g=this.Za(a),p=this.U(a),q=d.Mq(b,m-k-1);0==k&&(q.Bp(h),this.Yh(a,h));322==q.G()?this.th(g,null):this.th(g,c.T.oe(q));q.Dp(h);k<m-1?a=this.Wj(l,p,h):this.Yh(e,h)}};b.prototype.TG=function(){var a=new c.h;a.Oa();for(var d=this.Qr(),b=new c.b,e=!0,h=d.next();-1!=h;h=d.next())this.w(h,b),e?a.Nb(b.x,b.y):a.ml(b.x,b.y),e=!1;return a};b.prototype.Jb=function(a){var d=a.G();if(c.T.Ic(d))return this.gP(a);if(550==d)return this.hP(a);throw c.g.za();};b.prototype.xP=function(a,d){var b=\nd.G();if(c.T.Ic(b))this.hF(a,d);else if(550==b)this.iF(a,d);else throw c.g.za();};b.prototype.lP=function(a,d){var b=this.bh(1736,a.description);if(2>a.La(d))return b;this.nm.Id(a,a.wa(d),a.Gc(d));this.Kr=this.xb.Pa(0);var e=this.Yf(b,-1);this.$n(e,a.Qb(d)||!0);for(var h=null!=this.wf&&null!=a.cf,l=a.wa(d),k=a.Gc(d);l<k;l++){var m=this.Wj(e,-1,null);if(h)if(m=this.Za(m),0!=(a.jH(l)&1))this.th(m,null);else{var g=new c.Cg;a.ic(l,g,!0);this.th(m,g.get())}}return b};b.prototype.Se=function(a){var d=this.hc(a),\nb=c.vM.bh(d,this.nm.description),e=this.D(a);if(0==e)return b;if(c.T.Ic(d)){for(var d=this.aa(a),h=c.Uc.wh(d+1),l=c.Uc.vq(d+1,0),k=b.description,m=0,g=k.Ga;m<g;m++){for(var p=k.rd(m),q=c.ma.Xa(p),t=c.Uc.qz(p,e),u=this.xb.Pa(p),n=0,v=0,r=0,B=this.Pb(a);-1!=B;B=this.Sb(B)){var y=0;this.Qb(B)&&(y|=1);this.SU(B)&&(y|=4);0!=y&&l.jC(v,y);var A=this.La(B);h.write(v++,r);r+=A;if(0==p)for(var A=u,C=t,D=new c.b,y=this.cb(B);n<r;y=this.U(y),n++){var E=this.Za(y);A.fc(2*E,D);C.fo(2*n,D)}else for(y=this.cb(B);n<\nr;y=this.U(y),n++)for(E=this.Za(y),C=0;C<q;C++)D=u.Of(E*q+C),t.Dm(n*q+C,D)}b.Yn(p,t);h.write(d,e)}b.GK(l);b.HK(h);b.Dc(16777215)}else if(550==d){k=b.description;b.resize(e);m=0;for(g=k.Ga;m<g;m++){p=k.rd(m);q=c.ma.Xa(p);t=b.Pa(p);u=this.xb.Pa(p);n=0;B=this.Pb(a);A=this.La(B);for(y=this.cb(B);n<A;y=this.U(y),n++)for(E=this.Za(y),C=0;C<q;C++)D=u.Of(E*q+C),t.Dm(n*q+C,D);b.Yn(p,t)}b.Dc(16777215)}return b};b.prototype.bC=function(a){for(var d=this.Pb(a);-1!=d;d=this.Rr(d));var d=this.JT(a),b=this.Ue(a);\n-1!=d?this.FK(d,b):this.sd=b;-1!=b?this.JK(b,d):this.cx=d;this.DS(a)};b.prototype.bh=function(a,d){return void 0===d?this.hG(a,c.ye.Ig()):this.hG(a,d)};b.prototype.hG=function(a,d){var b=this.fW(a);null==this.xb?this.xb=this.nm=new c.Ed(d):this.nm.om(d);this.Hr=this.nm.description;this.PA=1<this.Hr.Ga;-1==this.sd?this.sd=b:(this.JK(b,this.cx),this.FK(this.cx,b));return this.cx=b};b.prototype.Ue=function(a){return this.md.S(a,1)};b.prototype.JT=function(a){return this.md.S(a,0)};b.prototype.hc=function(a){return this.md.S(a,\n2)&2147483647};b.prototype.xK=function(a,d,b){d=this.Yk[d];a=this.UG(a);a>=d.size&&d.resize(Math.max(c.J.truncate(1.25*a),16),-1);d.write(a,b)};b.prototype.VG=function(a,d){var b=this.UG(a),e=this.Yk[d];return b<e.size?e.read(b):-1};b.prototype.iG=function(){null==this.Yk&&(this.Yk=[]);for(var a=0;a<this.Yk.length;a++)if(null==this.Yk[a])return this.Yk[a]=c.Uc.wh(0),a;this.Yk.push(c.Uc.wh(0));return this.Yk.length-1};b.prototype.vX=function(a){this.Yk[a]=null};b.prototype.Pb=function(a){return this.md.S(a,\n3)};b.prototype.Xv=function(a){return this.md.S(a,4)};b.prototype.D=function(a){return this.md.S(a,5)};b.prototype.aa=function(a){return this.md.S(a,6)};b.prototype.zq=function(a,d,b){for(var e=0,h=this.sd;-1!=h;h=this.Ue(h)){var l=this.hc(h);if(c.T.Ic(l)&&(!b||1736==l))for(var l=1736==this.hc(h),k=this.Pb(h);-1!=k;){for(var m=0,g=this.cb(k);m<c.J.truncate(this.La(k)/2);){var p=this.U(g);if(-1==p)break;var q=this.Za(g),t=this.ti(q);null!=t?q=t.Rb():(t=this.Za(p),q=this.xb.xs(q,t));q<=a?(0==q?0==e&&\n(e=-1):e=1,p!=this.Rj(k)&&(this.KC(p,g),this.ud(p,!0))):g=this.U(g);m++}m=this.cb(k);for(g=this.Qb(k)?m:this.Rj(k);0<this.La(k);)if(p=this.Ra(g),-1!=p){var u=this.Za(p),t=this.ti(u);null!=t?q=t.Rb():(q=this.Za(g),q=this.xb.xs(q,u));if(q<=a)0==q?0==e&&(e=-1):e=1,this.KC(p,g),this.ud(p,!1),m==p&&(m=this.cb(k));else if(g=this.Ra(g),g==m)break}else{this.ud(g,!0);0==e&&(e=-1);break}g=this.La(k);d&&(l?3>g:2>g)?(k=this.Rr(k),e=0<g?1:0==e?-1:e):k=this.Sb(k)}}return e};b.prototype.KC=function(a,d){var b=this.Za(a),\ne=this.Za(d);null!=this.ph&&(b=this.ph.read(b),this.ph.write(e,b));if(null!=this.Bi)for(e=0,b=this.Bi.length;e<b;e++)if(null!=this.Bi[e]){var c=this.Sa(a,e);-1!=c&&this.Va(d,e,c)}};b.prototype.zm=function(a,d,b){var e=0,h=this.U(a);if(-1==h)throw c.g.za();for(var l=this.Za(a),k=this.Za(h),g=this.ti(l),w=null==g?this.xb.xs(l,k):g.Rb(),p=0;p<b;p++){var q=d[p];if(0<q&&1>q){var t=q;null!=g&&(t=0<w?g.Dy(q)/w:0);this.xb.EE(l,k,t,this.an());var u=this.Wj(this.ld(a),h,this.an());e++;if(null!=g){var n=g.Hl(0,\nq),t=this.Za(this.Ra(u));this.th(t,n);this.Qf(u,n.Cc());if(p==b-1||1==d[p+1])q=g.Hl(q,1),this.th(t,q)}}}return e};b.prototype.FY=function(a,d,b){var e=0,h=this.U(a);if(-1==h)throw c.g.X(\"internal error\");var l=this.Za(a),k=this.Za(h),g=this.ti(l),w=null==g?this.xb.xs(l,k):g.Rb(),p=0;a=this.ld(a);for(var q=0;q<b;q++){var t=d[q];if(p<t&&1>t){var u=t;null!=g&&(u=0<w?g.Dy(t)/w:0);this.xb.EE(l,k,u,this.an());u=this.uU(a,h,this.an());e++;if(null!=g){var p=g.Hl(p,t),n=this.Za(this.Ra(u));this.th(n,p);this.rb(u,\np.sa,p.oa);if(q==b-1||1==d[q+1])p=g.Hl(t,1),u=this.Za(u),this.th(u,p)}}p=t}return e};b.prototype.uU=function(a,d,b){var e=-1!=d?this.Ra(d):this.Rj(a),c=-1!=e?this.U(e):-1,l=this.xJ(null==b?this.vd:-1),k=this.Za(l);null!=b&&this.xb.vu(k,b);this.Aj(l,a);this.Kc(l,c);this.Lc(l,e);-1!=c&&this.Lc(c,l);-1!=e&&this.Kc(e,l);b=this.Qb(a);e=this.cb(a);-1==d&&this.sh(a,l);d==e&&(b&&-1!=e||this.jg(a,l));b&&-1==c&&(this.Kc(l,l),this.Lc(l,l));this.nk(a,this.La(a)+1);a=this.ng(a);this.lk(a,this.D(a)+1);return l};\nb.prototype.FF=function(a,d,b){var e=this.Za(d),h=this.Za(b);if(0>e||h>this.vd-1)throw c.g.F(\"invalid call\");if(e>h&&!this.Qb(a))throw c.g.F(\"cannot iterate across an open path\");for(a=0;d!=b;d=this.U(d))e=this.Za(d),h=this.ti(e),null!=h?a+=h.Rb():(h=this.Za(this.U(d)),a+=this.xb.xs(e,h));return a};b.prototype.Yh=function(a,d){var b=this.Za(a);this.xb.vu(b,d);b=this.ti(b);null!=b&&b.setStart(d);var e=this.Ra(a);-1!=e&&(e=this.Za(e),null!=this.ti(e)&&b.setEnd(d))};b.prototype.wj=function(a,d){var b=\nthis.Za(a);this.xb.Ae(b,d)};b.prototype.Qf=function(a,d){this.rb(a,d.x,d.y)};b.prototype.rb=function(a,d,b){var e=this.Za(a);this.xb.rb(e,d,b);e=this.ti(e);null!=e&&e.xC(d,b);a=this.Ra(a);-1!=a&&(a=this.Za(a),null!=this.ti(a)&&e.vm(d,b))};b.prototype.w=function(a,d){this.xb.w(this.Dd.S(a,0),d)};b.prototype.Nc=function(a,d){this.xb.ya[0].fc(2*this.Dd.S(a,0),d)};b.prototype.Ba=function(a){var d=new c.b;this.xb.w(this.Dd.S(a,0),d);return d};b.prototype.pH=function(a,d){this.Kr.fc(2*a,d)};b.prototype.Yc=\nfunction(a,d,b){return this.xb.Yc(a,this.Za(d),b)};b.prototype.setAttribute=function(a,d,b,e){this.xb.setAttribute(a,this.Za(d),b,e)};b.prototype.Za=function(a){return this.Dd.S(a,0)};b.prototype.nf=function(a){var d=new c.b;this.w(a,d);return d.y};b.prototype.Uq=function(a,d){var b=this.Za(a),e=this.Za(d),c=this.xb.ya[0].f;return c[2*b]===c[2*e]&&c[2*b+1]===c[2*e+1]};b.prototype.qw=function(a,d){var b=this.Za(a),e=this.xb.ya[0].f;return e[2*b]===d.x&&e[2*b+1]===d.y};b.prototype.rY=function(a,d){1>\nd&&(d=1);if(null==this.ph){if(1==d)return;this.ph=c.Uc.Um(this.xb.D(),1)}var b=this.Za(a);b>=this.ph.size&&this.ph.resize(b+1,1);this.ph.write(b,d)};b.prototype.oH=function(a){a=this.Za(a);return null==this.ph||a>=this.ph.size?1:this.ph.read(a)};b.prototype.Va=function(a,d,b){d=this.Bi[d];a=this.Za(a);d.size<this.xb.D()&&d.resize(this.xb.D(),-1);d.write(a,b)};b.prototype.Sa=function(a,d){var b=this.Za(a),e=this.Bi[d];return b<e.size?e.read(b):-1};b.prototype.Vd=function(){null==this.Bi&&(this.Bi=\n[]);for(var a=0;a<this.Bi.length;a++)if(null==this.Bi[a])return this.Bi[a]=c.Uc.wh(0,-1),a;this.Bi.push(c.Uc.wh(0,-1));return this.Bi.length-1};b.prototype.le=function(a){this.Bi[a]=null};b.prototype.ic=function(a){return null!=this.wf?(a=this.Za(a),this.wf[a]):null};b.prototype.pd=function(a,d){var b=this.Dd.S(a,2);if(-1==b)return!1;if(this.PA){var e=new c.Wa;this.wj(a,e);d.setStart(e);this.wj(b,e);d.setEnd(e)}else this.xb.Nc(this.Dd.S(a,0),P),d.Qm(0,P),this.xb.Nc(this.Dd.S(b,0),P),d.Qm(1,P);return!0};\nb.prototype.hX=function(a,d,b){if(this.PA){var e=new c.Wa;this.wj(a,e);b.setStart(e);this.wj(d,e);b.setEnd(e)}else this.xb.Nc(a,P),b.Qm(0,P),this.xb.Nc(d,P),b.Qm(1,P)};b.prototype.Yf=function(a,d){var b;if(-1!=d){if(a!=this.ng(d))throw c.g.za();b=this.ct(d)}else b=this.Xv(a);var e=this.hW(a);-1!=d&&this.Lp(d,e);this.Kp(e,d);this.Lp(e,b);-1!=b?this.Kp(b,e):this.Ip(a,e);-1==d&&this.Jp(a,e);this.wm(a,this.aa(a)+1);return e};b.prototype.BH=function(a,d,b,e){a=this.Yf(a,-1);for(var c=0,l=d,k=!1;l==b&&\n(k=!0),this.Aj(l,a),c++,l=this.U(l),l!=d;);this.$n(a,!0);this.nk(a,c);k&&(d=b);this.jg(a,d);this.sh(a,this.Ra(d));this.Np(a,!1);null!=e&&(e[0]=k);return a};b.prototype.Rr=function(a){var d=this.ct(a),b=this.Sb(a),e=this.ng(a);-1!=d?this.Kp(d,b):this.Ip(e,b);-1!=b?this.Lp(b,d):this.Jp(e,d);this.EQ(a);this.wm(e,this.aa(e)-1);this.DG(a);return b};b.prototype.EQ=function(a){var d=this.cb(a);if(-1!=d){for(var b=0,e=this.La(a);b<e;b++){var c=d,d=this.U(d);this.Ez(c)}d=this.ng(a);this.lk(d,this.D(d)-this.La(a))}this.nk(a,\n0)};b.prototype.Sb=function(a){return this.td.S(a,2)};b.prototype.ct=function(a){return this.td.S(a,1)};b.prototype.La=function(a){return this.td.S(a,3)};b.prototype.Qb=function(a){return 0!=(this.Lq(a)&1)};b.prototype.$n=function(a,d){if(this.Qb(a)!=d){if(0<this.La(a)){var b=this.cb(a),e=this.Rj(a);d?(this.Kc(e,b),this.Lc(b,e)):(this.Kc(e,-1),this.Lc(b,-1));b=this.Za(e);this.th(b,null)}this.uC(a,(this.Lq(a)|1)-1|(d?1:0))}};b.prototype.ng=function(a){return this.td.S(a,7)};b.prototype.SU=function(a){return 0!=\n(this.Lq(a)&2)};b.prototype.pC=function(a,d){this.uC(a,(this.Lq(a)|2)-2|(d?2:0))};b.prototype.hA=function(a){if(this.YU(a))return this.nj.get(this.dw(a));var d=new c.Hb,b=this.cb(a);if(-1==b)return 0;var e=new c.b;this.w(b,e);for(var h=0,l=0,k=this.La(a);l<k;l++,b=this.U(b)){var g=this.ic(b);if(null==g){if(!this.pd(b,d))continue;g=d}h+=g.Cy(e.x,e.y)}this.Np(a,!0);this.nj.set(this.dw(a),h);return h};b.prototype.$r=function(a,d,b){d=this.el[d];a=this.dw(a);d.size<this.nj.size&&d.resize(this.nj.size,\n-1);d.write(a,b)};b.prototype.Tj=function(a,d){var b=this.dw(a),e=this.el[d];return b<e.size?e.read(b):-1};b.prototype.rz=function(){null==this.el&&(this.el=[]);for(var a=0;a<this.el.length;a++)if(null==this.el[a])return this.el[a]=c.Uc.wh(0),a;this.el.push(c.Uc.wh(0));return this.el.length-1};b.prototype.cC=function(a){this.el[a]=null};b.prototype.YV=function(a,d,b){if(-1==b)throw c.g.F();if(d!=b){var e=this.Sb(b),h=this.ct(b),l=this.ng(b);-1==h?this.Ip(l,e):this.Kp(h,e);-1==e?this.Jp(l,h):this.Lp(e,\nh);this.lk(l,this.D(l)-this.La(b));this.wm(l,this.aa(l)-1);h=-1==d?this.Xv(a):this.ct(d);this.Lp(b,h);this.Kp(b,d);-1==d?this.Jp(a,b):this.Lp(d,b);-1==h?this.Ip(a,b):this.Kp(h,b);this.lk(a,this.D(a)+this.La(b));this.wm(a,this.aa(a)+1);this.Rx(b,a)}};b.prototype.Kj=function(a,d){this.xb.Ae(this.Za(d),this.an());this.Wj(a,-1,this.an())};b.prototype.ud=function(a,d){var b=this.ld(a),e=this.Ra(a),h=this.U(a);-1!=e&&this.Kc(e,h);var l=this.La(b);a==this.cb(b)&&this.jg(b,1<l?h:-1);-1!=h&&this.Lc(h,e);a==\nthis.Rj(b)&&this.sh(b,1<l?e:-1);if(-1!=e&&-1!=h){var e=this.Za(e),k=this.Za(h);if(d){var g=this.ti(e);null!=g&&(e=new c.b,this.xb.w(k,e),g.Zc(e))}else k=this.Za(a),g=this.ti(k),this.th(e,g),null!=g&&(e=this.xb.Ba(e),g.Mc(e))}this.nk(b,l-1);b=this.ng(b);this.lk(b,this.D(b)-1);this.Ez(a);return h};b.prototype.cb=function(a){return this.td.S(a,4)};b.prototype.Rj=function(a){return this.td.S(a,5)};b.prototype.U=function(a){return this.Dd.S(a,2)};b.prototype.Ra=function(a){return this.Dd.S(a,1)};b.prototype.ld=\nfunction(a){return this.Dd.S(a,3)};b.prototype.pc=function(a,d){return this.Wj(a,-1,d)};b.prototype.Qr=function(a){if(void 0===a)return this.Qr(!1);if(a instanceof g)return new g(a);var d,b=-1,e=-1,h=-1,l=0,k=!1;for(d=this.sd;-1!=d;d=this.Ue(d))if(!a||c.T.Ic(this.hc(d))){for(b=this.Pb(d);-1!=b;b=this.Sb(b))if(h=e=this.cb(b),l=0,-1!=e){k=!0;break}if(k)break}return g.yR(this,d,b,e,h,l,a)};b.prototype.Xc=function(a){this.nm.Xc(a);if(null!=this.wf)for(var d=0,b=this.wf.length;d<b;d++)null!=this.wf[d]&&\nthis.wf[d].Xc(a)};b.prototype.bs=function(a,d,b,e){e?this.HY(a,d,b):this.GY(a,d,b)};b.prototype.Lc=function(a,d){this.Dd.P(a,1,d)};b.prototype.Kc=function(a,d){this.Dd.P(a,2,d)};b.prototype.Aj=function(a,d){this.Dd.P(a,3,d)};b.prototype.nk=function(a,d){this.td.P(a,3,d)};b.prototype.jg=function(a,d){this.td.P(a,4,d)};b.prototype.sh=function(a,d){this.td.P(a,5,d)};b.prototype.wm=function(a,d){this.md.P(a,6,d)};b.prototype.lk=function(a,d){this.md.P(a,5,d)};b.prototype.fK=function(a){var d=a;do{var b=\nthis.U(d);this.Kc(d,this.Ra(d));this.Lc(d,b);d=b}while(d!=a)};b.prototype.AC=function(a){this.vd=a};b.prototype.Sr=function(a){var d=this.ct(a),b=this.Sb(a),e=this.ng(a);-1!=d?this.Kp(d,b):this.Ip(e,b);-1!=b?this.Lp(b,d):this.Jp(e,d);this.jg(a,-1);this.sh(a,-1);this.DG(a)};b.prototype.Mi=function(a,d){var b=this.Ra(a),e=this.U(a);-1!=b&&this.Kc(b,e);-1!=e&&this.Lc(e,b);if(-1!=b&&-1!=e)if(b=this.Za(b),e=this.Za(e),d){var h=this.ti(b);if(null!=h){var l=new c.b;this.xb.w(e,l);h.Zc(l)}}else e=this.Za(a),\nh=this.ti(e),this.th(b,h),null!=h&&(l=new c.b,this.xb.w(b,l),h.Mc(l));this.Ez(a)};b.prototype.YU=function(a){return 0!=(this.Lq(a)&4)};b.prototype.Np=function(a,d){this.uC(a,(this.Lq(a)|4)-4|(d?4:0))};b.prototype.Xx=function(a,d){var b=this.Dd.f;this.xb.wc();var e=this.xb.ya[0].f;a.Gd(0,d,function(a,d){var c=b[5*a],g=b[5*d],w=e[2*c],c=e[2*c+1],p=e[2*g],g=e[2*g+1];return c<g?-1:c>g?1:w<p?-1:w>p?1:0})};b.prototype.eU=function(){for(var a=this.sd;-1!=a;a=this.Ue(a))if(!c.T.Ic(this.hc(a)))return!0;return!1};\nb.prototype.FC=function(a,d){for(var b=this.Pb(a),e=this.Pb(d),c=this.Xv(a),l=this.Xv(d),k=this.Pb(a);-1!=k;k=this.Sb(k))this.Rx(k,d);for(k=this.Pb(d);-1!=k;k=this.Sb(k))this.Rx(k,a);this.Ip(a,e);this.Ip(d,b);this.Jp(a,l);this.Jp(d,c);b=this.D(a);e=this.aa(a);c=this.aa(d);this.lk(a,this.D(d));this.lk(d,b);this.wm(a,c);this.wm(d,e);b=this.md.S(a,2);this.md.P(a,2,this.md.S(d,2));this.md.P(d,2,b)};return b}();c.fd=n})(r||(r={}));(function(c){var n=function(g){function b(a,d,b,e){g.call(this);this.R=\nnew c.h;void 0===a?this.aG():\"number\"===typeof a?this.ZQ(a,d,b,e):a instanceof c.Wa?void 0!==d?this.Ev(a,d,b):this.$Q(a):a instanceof c.ma?void 0!==d?this.bR(a,d):this.aR(a):a instanceof c.h?this.YQ(a):this.aG()}O(b,g);b.prototype.Ev=function(a,d,b){this.description=c.ye.Ig();this.R.Oa();a.u()||this.cv(a,d,b)};b.prototype.YQ=function(a){this.description=c.ye.Ig();this.R.I(a);this.R.normalize()};b.prototype.aR=function(a){if(null==a)throw c.g.F();this.description=a;this.R.Oa()};b.prototype.bR=function(a,\nd){if(null==a)throw c.g.F();this.description=a;this.R.I(d);this.R.normalize()};b.prototype.aG=function(){this.description=c.ye.Ig();this.R.Oa()};b.prototype.$Q=function(a){this.description=c.ye.Ig();this.R.Oa();a.u()||this.cv(a)};b.prototype.ZQ=function(a,d,b,e){this.description=c.ye.Ig();this.I(a,d,b,e)};b.prototype.I=function(a,d,b,e){this.Bc();if(\"number\"===typeof a)this.R.I(a,d,b,e);else for(this.Oa(),d=0,b=a.length;d<b;d++)this.Nb(a[d])};b.prototype.Gp=function(a){this.Bc();if(!a.$U())throw c.g.F();\nthis.R.I(a)};b.prototype.Oa=function(){this.Bc();this.R.Oa()};b.prototype.u=function(){return this.R.u()};b.prototype.N=function(){return this.R.N()};b.prototype.fa=function(){return this.R.fa()};b.prototype.Hk=function(){return this.R.Hk()};b.prototype.Cq=function(){return this.R.Cq()};b.prototype.Bq=function(){return this.R.Wf()};b.prototype.Nb=function(a){if(a instanceof c.b)this.Bc(),this.R.Nb(a);else if(a instanceof c.h)this.Bc(),this.R.Nb(a);else if(a instanceof c.Wa){if(this.Bc(),!a.Hc()){var d=\na.description;this.description!=d&&this.om(d);if(this.u())this.cv(a);else{this.R.Nb(a.w());for(var f=1,e=d.Ga;f<e;f++)for(var h=d.Td(f),l=c.ma.Xa(h),k=0;k<l;k++){var g=a.Yc(h,k),w=this.xf(h,k);w.Nb(g);setInterval(h,k,w)}}}}else if(a instanceof b&&!a.u())for(d=a.description,d!=this.description&&this.om(d),this.R.Nb(a.R),f=1,e=d.Ga;f<e;f++)for(h=d.rd(f),l=c.ma.Xa(h),k=0;k<l;k++)g=a.xf(h,k),w=this.xf(h,k),w.Nb(g),setInterval(h,k,w)};b.prototype.cv=function(a,d,b){if(void 0!==d){this.R.I(a.w(),d,b);d=\na.description;b=1;for(var e=d.Ga;b<e;b++)for(var h=d.Td(b),l=c.ma.Xa(h),k=0;k<l;k++){var g=a.Yc(h,k);this.setInterval(h,k,g,g)}}else for(this.R.I(a.la[0],a.la[1]),d=a.description,b=1,e=d.Ga;b<e;b++)for(h=d.Td(b),l=c.ma.Xa(h),k=0;k<l;k++)g=a.Yc(h,k),this.setInterval(h,k,g,g)};b.prototype.setInterval=function(a,d,b,e){var h=null;\"number\"===typeof b?h=new c.Ac(b,e):h=b;this.Bc();if(0==a)if(0==d)this.R.o=h.ca,this.R.v=h.ha;else if(1==d)this.R.A=h.ca,this.R.B=h.ha;else throw c.g.wd();else this.ME(0,a,\nd,h.ca),this.ME(1,a,d,h.ha)};b.prototype.O=function(a,d){this.Bc();this.R.O(a,d)};b.prototype.Xc=function(a){if(a instanceof c.Hd)this.Bc(),a.LC(this.R);else if(this.Bc(),!this.R.u()){var d=new c.eM;this.Cp(d);d.RU()?d.Oa():a.LC(d)}};b.prototype.copyTo=function(a){if(a.G()!=this.G())throw c.g.F();a.Bc();a.description=this.description;a.R.I(this.R);a.la=null;if(null!=this.la){a.Yu();for(var d=0;d<2*(this.description.af.length-2);d++)a.la[d]=this.la[d]}};b.prototype.Ka=function(){return new b(this.description)};\nb.prototype.hf=function(){return this.R.IG()};b.prototype.Rb=function(){return this.R.ZG()};b.prototype.G=function(){return 197};b.prototype.tb=function(){return 2};b.prototype.Qn=function(a){this.copyTo(a)};b.prototype.s=function(a){a.o=this.R.o;a.A=this.R.A;a.v=this.R.v;a.B=this.R.B};b.prototype.Cp=function(a){a.o=this.R.o;a.A=this.R.A;a.v=this.R.v;a.B=this.R.B;a.I(this.R.o,this.R.A,this.ae(0,1,0),this.R.v,this.R.B,this.ae(1,1,0))};b.prototype.xf=function(a,d){var b=new c.Ac;b.I(this.ae(0,a,d),\nthis.ae(1,a,d));return b};b.prototype.ig=function(a,d){d.Fg(this.description);var b=this.description.Ga-1;switch(a){case 0:for(var e=0;e<b;e++)for(var h=this.description.rd(e),l=c.ma.Xa(h),k=0;k<l;k++)d.setAttribute(h,k,this.ae(0,h,k));d.rb(this.R.o,this.R.A);break;case 1:for(e=0;e<b;e++)for(h=this.description.rd(e),l=c.ma.Xa(h),k=0;k<l;k++)d.setAttribute(h,k,this.ae(1,h,k));d.rb(this.R.o,this.R.B);break;case 2:for(e=0;e<b;e++)for(h=this.description.rd(e),l=c.ma.Xa(h),k=0;k<l;k++)d.setAttribute(h,\nk,this.ae(0,h,k));d.rb(this.R.v,this.R.B);break;case 3:for(e=0;e<b;e++)for(h=this.description.rd(e),l=c.ma.Xa(h),k=0;k<l;k++)d.setAttribute(h,k,this.ae(1,h,k));d.rb(this.R.v,this.R.A);break;default:throw c.g.wd();}};b.prototype.Gx=function(a,d){var b=this.R.Gx(a);d.ka(b.x,b.y)};b.prototype.cT=function(a,d){return d*(a.Er-2)};b.prototype.JG=function(a,d,b){if(this.R.u())throw c.g.X(\"empty geometry\");if(0==d)return 0!=a?0!=b?this.R.B:this.R.v:0!=b?this.R.A:this.R.o;if(b>=c.ma.Xa(d))throw c.g.F();var e=\nthis.description.mg(d);this.Yu();return 0<=e?this.la[this.cT(this.description,a)+this.description.FT(e)-2+b]:c.ma.de(d)};b.prototype.Yu=function(){this.Bc();if(null==this.la&&2<this.description.af.length){this.la=[];for(var a=b.$(this.description,0),d=b.$(this.description,1),f=0,e=1,h=this.description.Ga;e<h;e++)for(var l=this.description.rd(e),k=c.ma.Xa(l),l=c.ma.de(l),g=0;g<k;g++)this.la[a+f]=l,this.la[d+f]=l,f++}};b.prototype.mo=function(a){if(null!=this.la)if(2<a.af.length){for(var d=c.ye.vx(a,\nthis.description),f=[],e=b.$(this.description,0),h=b.$(this.description,1),l=b.$(a,0),k=b.$(a,1),g=0,w=1,p=a.Ga;w<p;w++){var q=a.rd(w),t=c.ma.Xa(q);if(-1==d[w])for(var u=c.ma.de(q),q=0;q<t;q++)f[l+g]=u,f[k+g]=u,g++;else for(u=this.description.xk(d[w])-2,q=0;q<t;q++)f[l+g]=this.la[e+u],f[k+g]=this.la[h+u],g++,u++}this.la=f}else this.la=null;this.description=a};b.prototype.ae=function(a,d,f){if(this.R.u())throw c.g.X(\"This operation was performed on an Empty Geometry.\");if(0==d)return 0!=a?0!=f?this.R.B:\nthis.R.v:0!=f?this.R.A:this.R.o;if(f>=c.ma.Xa(d))throw c.g.wd();var e=this.description.mg(d);return 0<=e?(this.Yu(),this.la[b.$(this.description,a)+this.description.xk(e)-2+f]):c.ma.de(d)};b.prototype.ME=function(a,d,f,e){this.Bc();if(0==d)0!=a?0!=f?this.R.B=e:this.R.v=e:0!=f?this.R.A=e:this.R.o=e;else{if(f>=c.ma.Xa(d))throw c.g.wd();if(!this.hasAttribute(d)){if(c.ma.PH(d,e))return;this.Ud(d)}d=this.description.mg(d);this.Yu();this.la[b.$(this.description,a)+this.description.xk(d)-2+f]=e}};b.$=function(a,\nd){return d*(a.af.length-2)};b.prototype.Ma=function(a){this.Bc();var d=new c.h;a.s(d);return this.R.Ma(d)};b.prototype.Yb=function(a){return a instanceof c.h?this.R.Yb(a):this.R.Yb(a.R)};b.prototype.xv=function(a,d,b){this.Bc();a.u()?this.Oa():void 0!==d?this.cv(a,d,b):this.R.xv(a.Be(),a.nf())};b.prototype.offset=function(a,d){this.Bc();this.R.offset(a,d)};b.prototype.normalize=function(){this.Bc();this.R.normalize()};b.prototype.Wf=function(a){if(void 0!==a)if(a.Fg(this.description),this.u())a.Oa();\nelse{for(var d=this.description.Ga,b=1;b<d;b++)for(var e=this.description.rd(b),h=c.ma.Xa(e),l=0;l<h;l++){var k=.5*(this.JG(0,e,l)+this.JG(1,e,l));a.setAttribute(e,l,k)}a.rb(this.R.Wf())}else{a=new c.Wa(this.description);if(this.u())return a;d=this.description.Ga;for(b=1;b<d;b++)for(e=this.description.Td(b),h=c.ma.Xa(e),l=0;l<h;l++)k=.5*(this.ae(0,e,l)+this.ae(1,e,l)),a.setAttribute(e,l,k);a.rb(this.R.Hk(),this.R.Cq());return a}};b.prototype.Zz=function(){return new c.Wa(this.R.Zz())};b.prototype.contains=\nfunction(a){return a instanceof c.Wa?a.u()?!1:this.R.contains(a.Be(),a.nf()):this.R.contains(a.R)};b.prototype.hR=function(a){return this.R.contains(a)};b.prototype.Eb=function(a){if(a==this)return!0;if(!(a instanceof b)||this.description!=a.description)return!1;if(this.u())return a.u()?!0:!1;if(!this.R.Eb(a.R))return!1;for(var d=0,f=2*(this.description.af.length-2);d<f;d++)if(this.la[d]!=a.la[d])return!1;return!0};b.prototype.jc=function(){var a=this.description.jc(),a=c.J.dh(a,this.R.jc());if(!this.u()&&\nnull!=this.la)for(var d=0,b=2*(this.description.af.length-2);d<b;d++)a=c.J.dh(a,this.la[d]);return a};b.prototype.Gg=function(){return c.Pi.Rm(this,null)};b.prototype.toString=function(){return this.u()?\"Envelope: []\":\"Envelope: [\"+this.R.o+\", \"+this.R.A+\", \"+this.R.v+\", \"+this.R.B+\"]\"};return b}(c.T);c.ci=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f){void 0===b?this.Oa():(this.o=b,this.A=a,this.v=d,this.B=f)}g.pa=function(b,a,d,f){var e=new g;e.o=b;e.A=a;e.v=d;e.B=f;return e};\ng.prototype.I=function(b,a,d,f){\"number\"===typeof b?void 0!==d?(this.o=b,this.A=a,this.v=d,this.B=f,this.normalize()):(this.o=b,this.A=a,this.v=b,this.B=a):b instanceof c.b?void 0!==a?(this.o=b.x-.5*a,this.v=this.o+a,this.A=b.y-.5*d,this.B=this.A+d,this.normalize()):(this.o=b.x,this.A=b.y,this.v=b.x,this.B=b.y):b instanceof g?this.I(b.o,b.A,b.v,b.B):b instanceof c.Ac&&(b.u()||a.u()?this.Oa():(this.o=b.ca,this.v=b.ha,this.A=a.ca,this.B=a.ha))};g.prototype.oT=function(b,a){var d=new g;d.I(this.o,this.A,\nthis.v,this.B);d.O(b,a);return d};g.prototype.Mx=function(b,a){if(void 0!==a)if(0==a)this.Oa();else{this.o=b[0].x;this.A=b[0].y;this.v=this.o;this.B=this.A;for(var d=1;d<a;d++){var f=b[d];f.x<this.o?this.o=f.x:f.x>this.v&&(this.v=f.x);f.y<this.A?this.A=f.y:f.y>this.B&&(this.B=f.y)}}else if(null==b||0==b.length)this.Oa();else for(f=b[0],this.I(f.x,f.y),d=1;d<b.length;d++)f=b[d],this.ml(f.x,f.y)};g.prototype.Oa=function(){this.B=this.v=this.A=this.o=NaN};g.prototype.u=function(){return isNaN(this.o)};\ng.prototype.Nb=function(b,a){\"number\"===typeof b?this.u()?(this.o=b,this.A=a,this.v=b,this.B=a):(this.o>b?this.o=b:this.v<b&&(this.v=b),this.A>a?this.A=a:this.B<a&&(this.B=a)):b instanceof c.b?this.Nb(b.x,b.y):b instanceof c.qd?this.Nb(b.x,b.y):b instanceof g&&!b.u()&&(this.Nb(b.o,b.A),this.Nb(b.v,b.B))};g.prototype.ml=function(b,a){this.o>b?this.o=b:this.v<b&&(this.v=b);this.A>a?this.A=a:this.B<a&&(this.B=a)};g.prototype.O=function(b,a){this.u()||(this.o-=b,this.v+=b,this.A-=a,this.B+=a,(this.o>\nthis.v||this.A>this.B)&&this.Oa())};g.prototype.scale=function(b){0>b&&this.Oa();this.u()||(this.o*=b,this.v*=b,this.A*=b,this.B*=b)};g.prototype.Yb=function(b){return!this.u()&&!b.u()&&(this.o<=b.o?this.v>=b.o:b.v>=this.o)&&(this.A<=b.A?this.B>=b.A:b.B>=this.A)};g.prototype.TH=function(b){return(this.o<=b.o?this.v>=b.o:b.v>=this.o)&&(this.A<=b.A?this.B>=b.A:b.B>=this.A)};g.prototype.Ma=function(b){if(this.u()||b.u())return!1;b.o>this.o&&(this.o=b.o);b.v<this.v&&(this.v=b.v);b.A>this.A&&(this.A=b.A);\nb.B<this.B&&(this.B=b.B);(b=this.o<=this.v&&this.A<=this.B)||this.Oa();return b};g.prototype.Gx=function(b){switch(b){case 0:return c.b.pa(this.o,this.A);case 1:return c.b.pa(this.o,this.B);case 2:return c.b.pa(this.v,this.B);case 3:return c.b.pa(this.v,this.A);default:throw c.g.wd();}};g.prototype.QB=function(b){if(null==b||4>b.length)throw c.g.F();null!=b[0]?b[0].ka(this.o,this.A):b[0]=c.b.pa(this.o,this.A);null!=b[1]?b[1].ka(this.o,this.B):b[1]=c.b.pa(this.o,this.B);null!=b[2]?b[2].ka(this.v,this.B):\nb[2]=c.b.pa(this.v,this.B);null!=b[3]?b[3].ka(this.v,this.A):b[3]=c.b.pa(this.v,this.A)};g.prototype.IG=function(){return this.u()?0:this.N()*this.fa()};g.prototype.ZG=function(){return this.u()?0:2*(this.N()+this.fa())};g.prototype.Hk=function(){return(this.v+this.o)/2};g.prototype.Cq=function(){return(this.B+this.A)/2};g.prototype.N=function(){return this.v-this.o};g.prototype.fa=function(){return this.B-this.A};g.prototype.move=function(b,a){this.u()||(this.o+=b,this.A+=a,this.v+=b,this.B+=a)};\ng.prototype.xv=function(b,a){if(void 0!==a)this.move(b-this.Hk(),a-this.Cq());else if(b instanceof c.b)this.xv(b.x,b.y);else if(b instanceof c.Wa){var d=(this.v-this.o)/2,f=(this.B-this.A)/2;this.o=b.Be()-d;this.v=b.Be()+d;this.A=b.nf()-f;this.B=b.nf()+f}else throw c.g.F();};g.prototype.offset=function(b,a){this.o+=b;this.v+=b;this.A+=a;this.B+=a};g.prototype.normalize=function(){if(!this.u()){var b=Math.min(this.o,this.v),a=Math.max(this.o,this.v);this.o=b;this.v=a;b=Math.min(this.A,this.B);a=Math.max(this.A,\nthis.B);this.A=b;this.B=a}};g.prototype.Tn=function(b){b.ka(this.o,this.A)};g.prototype.TJ=function(b){b.ka(this.v,this.A)};g.prototype.WJ=function(b){b.ka(this.o,this.B)};g.prototype.Un=function(b){b.ka(this.v,this.B)};g.prototype.$U=function(){return this.u()||this.o<=this.v&&this.A<=this.B};g.prototype.Wf=function(){return c.b.pa((this.v+this.o)/2,(this.B+this.A)/2)};g.prototype.Zz=function(){return c.b.pa(this.o,this.A)};g.prototype.contains=function(b,a){if(void 0!==a)return b>=this.o&&b<=this.v&&\na>=this.A&&a<=this.B;if(b instanceof c.Wa)return this.contains(b.Be(),b.nf());if(b instanceof c.b)return this.contains(b.x,b.y);if(b instanceof g)return b.o>=this.o&&b.v<=this.v&&b.A>=this.A&&b.B<=this.B;throw c.g.F();};g.prototype.Tm=function(b,a){if(void 0!==a)return b>this.o&&b<this.v&&a>this.A&&a<this.B;if(b instanceof c.b)return this.Tm(b.x,b.y);if(b instanceof g)return b.o>this.o&&b.v<this.v&&b.A>this.A&&b.B<this.B;throw c.g.F();};g.prototype.Eb=function(b){return b==this?!0:b instanceof g?\nthis.u()&&b.u()?!0:this.o!=b.o||this.A!=b.A||this.v!=b.v||this.B!=b.B?!1:!0:!1};g.prototype.jc=function(){var b=this.o,b=c.J.truncate(b^b>>>32),a=c.J.dh(b),b=this.v,b=c.J.truncate(b^b>>>32),a=c.J.dh(b,a),b=this.A,b=c.J.truncate(b^b>>>32),a=c.J.dh(b,a),b=this.B,b=c.J.truncate(b^b>>>32);return a=c.J.dh(b,a)};g.prototype.Ny=function(b){var a=new c.b;a.L(b);if(a.Hy())return a;if(this.u())return a.dv(),a;a.x<this.o?a.x=this.o:a.x>this.v&&(a.x=this.v);a.y<this.A?a.y=this.A:a.y>this.B&&(a.y=this.B);if(!a.Eb(b))return a;\nb=this.Wf();(a.x<b.x?a.x-this.o:this.v-a.x)<(a.y<b.y?a.y-this.A:this.B-a.y)?a.x=a.x<b.x?this.o:this.v:a.y=a.y<b.y?this.A:this.B;return a};g.prototype.Wu=function(b){if(this.u())return NaN;if(b.x==this.o)return b.y-this.A;var a=this.B-this.A,d=this.v-this.o;return b.y==this.B?a+b.x-this.o:b.x==this.v?a+d+this.B-b.y:b.y==this.A?2*a+d+this.v-b.x:this.Wu(this.Ny(b))};g.prototype.AE=function(b){if(this.u())return-1;b=this.Wu(b);var a=this.B-this.A,d=this.v-this.o;return b<a?0:(b-=a)<d?1:b-d<a?2:3};g.prototype.no=\nfunction(){return this.u()?2.220446049250313E-14:2.220446049250313E-14*(Math.abs(this.o)+Math.abs(this.v)+Math.abs(this.A)+Math.abs(this.B)+1)};g.prototype.gz=function(b,a){var d=this.wk(b),f=this.wk(a);if(0!=(d&f))return 0;if(0==(d|f))return 4;var e=(0!=d?1:0)|(0!=f?2:0);do{var c=a.x-b.x,l=a.y-b.y;c>l?0!=(d&g.bd)?(0!=(d&g.Bb)?(b.y+=l*(this.o-b.x)/c,b.x=this.o):(b.y+=l*(this.v-b.x)/c,b.x=this.v),d=this.wk(b)):0!=(f&g.bd)?(0!=(f&g.Bb)?(a.y+=l*(this.o-a.x)/c,a.x=this.o):(a.y+=l*(this.v-a.x)/c,a.x=this.v),\nf=this.wk(a)):0!=d?(0!=(d&g.tc)?(b.x+=c*(this.A-b.y)/l,b.y=this.A):(b.x+=c*(this.B-b.y)/l,b.y=this.B),d=this.wk(b)):(0!=(f&g.tc)?(a.x+=c*(this.A-a.y)/l,a.y=this.A):(a.x+=c*(this.B-a.y)/l,a.y=this.B),f=this.wk(a)):0!=(d&g.fe)?(0!=(d&g.tc)?(b.x+=c*(this.A-b.y)/l,b.y=this.A):(b.x+=c*(this.B-b.y)/l,b.y=this.B),d=this.wk(b)):0!=(f&g.fe)?(0!=(f&g.tc)?(a.x+=c*(this.A-a.y)/l,a.y=this.A):(a.x+=c*(this.B-a.y)/l,a.y=this.B),f=this.wk(a)):0!=d?(0!=(d&g.Bb)?(b.y+=l*(this.o-b.x)/c,b.x=this.o):(b.y+=l*(this.v-b.x)/\nc,b.x=this.v),d=this.wk(b)):(0!=(f&g.Bb)?(a.y+=l*(this.o-a.x)/c,a.x=this.o):(a.y+=l*(this.v-a.x)/c,a.x=this.v),f=this.wk(a));if(0!=(d&f))return 0}while(0!=(d|f));return e};g.prototype.wk=function(b){return(b.x<this.o?1:0)|(b.x>this.v?1:0)<<1|(b.y<this.A?1:0)<<2|(b.y>this.B?1:0)<<3};g.prototype.fh=function(b){return!this.u()&&(this.N()<=b||this.fa()<=b)};g.prototype.Cb=function(b){return b instanceof c.b?Math.sqrt(this.ZK(b)):Math.sqrt(this.Zx(b))};g.prototype.Zx=function(b){var a=0,d=0,f;f=this.o-\nb.v;f>a&&(a=f);f=this.A-b.B;f>d&&(d=f);f=b.o-this.v;f>a&&(a=f);f=b.A-this.B;f>d&&(d=f);return a*a+d*d};g.prototype.ZK=function(b){var a=0,d=0,f;f=this.o-b.x;f>a&&(a=f);f=this.A-b.y;f>d&&(d=f);f=b.x-this.v;f>a&&(a=f);f=b.y-this.B;f>d&&(d=f);return a*a+d*d};g.prototype.Sn=function(b){this.u()?b.Oa():b.I(this.o,this.v)};g.DO=function(b,a,d,f){var e=1;isNaN(b)||(e+=Math.abs(b));isNaN(a)||(e+=Math.abs(a));isNaN(d)||(e+=Math.abs(d));isNaN(f)||(e+=Math.abs(f));return 2.220446049250313E-14*e};g.Bb=1;g.tc=\n4;g.bd=3;g.fe=12;return g}();c.h=n})(r||(r={}));(function(c){var n;(function(b){b[b.initialize=0]=\"initialize\";b[b.initializeRed=1]=\"initializeRed\";b[b.initializeBlue=2]=\"initializeBlue\";b[b.initializeRedBlue=3]=\"initializeRedBlue\";b[b.sweep=4]=\"sweep\";b[b.sweepBruteForce=5]=\"sweepBruteForce\";b[b.sweepRedBlueBruteForce=6]=\"sweepRedBlueBruteForce\";b[b.sweepRedBlue=7]=\"sweepRedBlue\";b[b.sweepRed=8]=\"sweepRed\";b[b.sweepBlue=9]=\"sweepBlue\";b[b.iterate=10]=\"iterate\";b[b.iterateRed=11]=\"iterateRed\";b[b.iterateBlue=\n12]=\"iterateBlue\";b[b.iterateBruteForce=13]=\"iterateBruteForce\";b[b.iterateRedBlueBruteForce=14]=\"iterateRedBlueBruteForce\";b[b.resetRed=15]=\"resetRed\";b[b.resetBlue=16]=\"resetBlue\"})(n||(n={}));var g=function(){function b(a,d){this.Ci=a;this.pI=d}b.prototype.hs=function(a,d,b){this.Ci.EY(b,a,d,this.pI)};b.prototype.Qq=function(a){return this.Ci.Ms(a,this.pI)};return b}();n=function(){function b(){this.ax=this.bp=this.If=this.Bd=null;this.lr=new c.h;this.on=this.ck=this.dk=this.Qd=this.fg=this.Yd=\nthis.Qw=this.Uo=this.Ad=this.Lb=null;this.Zb=-1;this.ta=0;this.ql()}b.prototype.cs=function(){this.ql();this.Bw=!0;null==this.Lb?(this.Uo=new c.ia(0),this.Lb=[]):(this.Uo.yf(0),this.Lb.length=0)};b.prototype.jd=function(a,d){if(!this.Bw)throw c.g.Da();var b=new c.h;b.I(d);this.Uo.add(a);this.Lb.push(b)};b.prototype.yq=function(){if(!this.Bw)throw c.g.Da();this.Bw=!1;null!=this.Lb&&0<this.Lb.length&&(this.Zb=0,this.Pc=!1)};b.prototype.bL=function(){this.ql();this.Aw=!0;null==this.Lb?(this.Uo=new c.ia(0),\nthis.Lb=[]):(this.Uo.yf(0),this.Lb.length=0)};b.prototype.$E=function(a,d){if(!this.Aw)throw c.g.Da();var b=new c.h;b.I(d);this.Uo.add(a);this.Lb.push(b)};b.prototype.uG=function(){if(!this.Aw)throw c.g.Da();this.Aw=!1;null!=this.Lb&&0<this.Lb.length&&null!=this.Ad&&0<this.Ad.length&&(-1==this.Zb?this.Zb=3:2==this.Zb?this.Zb=3:3!=this.Zb&&(this.Zb=1),this.Pc=!1)};b.prototype.aL=function(){this.ql();this.zw=!0;null==this.Ad?(this.Qw=new c.ia(0),this.Ad=[]):(this.Qw.yf(0),this.Ad.length=0)};b.prototype.WE=\nfunction(a,d){if(!this.zw)throw c.g.Da();var b=new c.h;b.I(d);this.Qw.add(a);this.Ad.push(b)};b.prototype.tG=function(){if(!this.zw)throw c.g.Da();this.zw=!1;null!=this.Lb&&0<this.Lb.length&&null!=this.Ad&&0<this.Ad.length&&(-1==this.Zb?this.Zb=3:1==this.Zb?this.Zb=3:3!=this.Zb&&(this.Zb=2),this.Pc=!1)};b.prototype.next=function(){if(this.Pc)return!1;for(var a=!0;a;)switch(this.Zb){case 0:a=this.rA();break;case 1:a=this.nU();break;case 2:a=this.kU();break;case 3:a=this.mU();break;case 4:a=this.OY();\nbreak;case 5:a=this.KY();break;case 6:a=this.LY();break;case 7:a=this.MY();break;case 8:a=this.by();break;case 9:a=this.GC();break;case 10:a=this.DA();break;case 11:a=this.dV();break;case 12:a=this.aV();break;case 13:a=this.bV();break;case 14:a=this.cV();break;case 15:a=this.$J();break;case 16:a=this.ZJ();break;default:throw c.g.za();}return this.Pc?!1:!0};b.prototype.zC=function(a){this.ta=a};b.prototype.fA=function(a){return this.Lb[a]};b.prototype.Jz=function(a){return this.Ad[a]};b.prototype.Ql=\nfunction(a){return this.Uo.read(a)};b.prototype.Ml=function(a){return this.Qw.read(a)};b.KB=function(a){return 1==(a&1)};b.Gm=function(a){return 0==(a&1)};b.prototype.ql=function(){this.Bw=this.zw=this.Aw=!1;this.dg=this.eg=this.nh=this.Ne=-1;this.Pc=!0};b.prototype.rA=function(){this.bg=this.sg=-1;if(10>this.Lb.length)return this.Ne=this.Lb.length,this.Zb=5,!0;null==this.Bd&&(this.Bd=new c.ns(!0),this.bp=this.Bd.mf(),this.Yd=new c.ia(0));this.Bd.cs();for(var a=0;a<this.Lb.length;a++){var d=this.Lb[a];\nthis.Bd.zs(d.o,d.v)}this.Bd.yq();this.Yd.yb(2*this.Lb.length);this.Yd.resize(0);for(a=0;a<2*this.Lb.length;a++)this.Yd.add(a);this.yu(this.Yd,2*this.Lb.length,!0);this.Ne=2*this.Lb.length;this.Zb=4;return!0};b.prototype.nU=function(){this.bg=this.sg=-1;if(10>this.Lb.length||10>this.Ad.length)return this.Ne=this.Lb.length,this.Zb=6,!0;null==this.Bd&&(this.Bd=new c.ns(!0),this.bp=this.Bd.mf(),this.Yd=new c.ia(0));this.Bd.cs();for(var a=0;a<this.Lb.length;a++){var d=this.Lb[a];this.Bd.zs(d.o,d.v)}this.Bd.yq();\nthis.Yd.yb(2*this.Lb.length);this.Yd.resize(0);for(a=0;a<2*this.Lb.length;a++)this.Yd.add(a);this.yu(this.Yd,this.Yd.size,!0);this.Ne=this.Yd.size;-1!=this.eg&&(this.Qd.zh(this.eg),this.dk.resize(0),this.eg=-1);this.Zb=7;return this.ZJ()};b.prototype.kU=function(){this.bg=this.sg=-1;if(10>this.Lb.length||10>this.Ad.length)return this.Ne=this.Lb.length,this.Zb=6,!0;null==this.If&&(this.If=new c.ns(!0),this.ax=this.If.mf(),this.fg=new c.ia(0));this.If.cs();for(var a=0;a<this.Ad.length;a++){var d=this.Ad[a];\nthis.If.zs(d.o,d.v)}this.If.yq();this.fg.yb(2*this.Ad.length);this.fg.resize(0);for(a=0;a<2*this.Ad.length;a++)this.fg.add(a);this.yu(this.fg,this.fg.size,!1);this.nh=this.fg.size;-1!=this.dg&&(this.Qd.zh(this.dg),this.ck.resize(0),this.dg=-1);this.Zb=7;return this.$J()};b.prototype.mU=function(){this.bg=this.sg=-1;if(10>this.Lb.length||10>this.Ad.length)return this.Ne=this.Lb.length,this.Zb=6,!0;null==this.Bd&&(this.Bd=new c.ns(!0),this.bp=this.Bd.mf(),this.Yd=new c.ia(0));null==this.If&&(this.If=\nnew c.ns(!0),this.ax=this.If.mf(),this.fg=new c.ia(0));this.Bd.cs();for(var a=0;a<this.Lb.length;a++){var d=this.Lb[a];this.Bd.zs(d.o,d.v)}this.Bd.yq();this.If.cs();for(a=0;a<this.Ad.length;a++)d=this.Ad[a],this.If.zs(d.o,d.v);this.If.yq();this.Yd.yb(2*this.Lb.length);this.fg.yb(2*this.Ad.length);this.Yd.resize(0);this.fg.resize(0);for(a=0;a<2*this.Lb.length;a++)this.Yd.add(a);for(a=0;a<2*this.Ad.length;a++)this.fg.add(a);this.yu(this.Yd,this.Yd.size,!0);this.yu(this.fg,this.fg.size,!1);this.Ne=this.Yd.size;\nthis.nh=this.fg.size;-1!=this.eg&&(this.Qd.zh(this.eg),this.dk.resize(0),this.eg=-1);-1!=this.dg&&(this.Qd.zh(this.dg),this.ck.resize(0),this.dg=-1);this.Zb=7;return!0};b.prototype.OY=function(){var a=this.Yd.get(--this.Ne),d=a>>1;if(b.Gm(a))return this.Bd.remove(d),0==this.Ne?(this.bg=this.sg=-1,this.Pc=!0,!1):!0;this.bp.eC(this.Lb[d].o,this.Lb[d].v,this.ta);this.sg=d;this.Zb=10;return!0};b.prototype.KY=function(){if(-1==--this.Ne)return this.bg=this.sg=-1,this.Pc=!0,!1;this.nh=this.sg=this.Ne;this.Zb=\n13;return!0};b.prototype.LY=function(){if(-1==--this.Ne)return this.bg=this.sg=-1,this.Pc=!0,!1;this.sg=this.Ne;this.nh=this.Ad.length;this.Zb=14;return!0};b.prototype.MY=function(){var a=this.Yd.get(this.Ne-1),d=this.fg.get(this.nh-1),f=this.Ms(a,!0),e=this.Ms(d,!1);return f>e?this.by():f<e?this.GC():b.KB(a)?this.by():b.KB(d)?this.GC():this.by()};b.prototype.by=function(){var a=this.Yd.get(--this.Ne),d=a>>1;if(b.Gm(a))return-1!=this.eg&&-1!=this.dk.get(d)?(this.Qd.kd(this.eg,this.dk.get(d)),this.dk.set(d,\n-1)):this.Bd.remove(d),0==this.Ne?(this.bg=this.sg=-1,this.Pc=!0,!1):!0;if(-1!=this.dg&&0<this.Qd.at(this.dg))for(a=this.Qd.xc(this.dg);-1!=a;){var f=this.Qd.getData(a);this.If.eh(f);this.ck.set(f,-1);f=this.Qd.nb(a);this.Qd.kd(this.dg,a);a=f}0<this.If.size()?(this.ax.eC(this.Lb[d].o,this.Lb[d].v,this.ta),this.sg=d,this.Zb=12):(-1==this.eg&&(null==this.Qd&&(this.Qd=new c.Xp),this.dk=new c.ia(0),this.dk.resize(this.Lb.length,-1),this.dk.Zh(-1,0,this.Lb.length),this.eg=this.Qd.mi(1)),this.dk.set(d,\nthis.Qd.addElement(this.eg,d)),this.Zb=7);return!0};b.prototype.GC=function(){var a=this.fg.get(--this.nh),d=a>>1;if(b.Gm(a))return-1!=this.dg&&-1!=this.ck.get(d)?(this.Qd.kd(this.dg,this.ck.get(d)),this.ck.set(d,-1)):this.If.remove(d),0==this.nh?(this.bg=this.sg=-1,this.Pc=!0,!1):!0;if(-1!=this.eg&&0<this.Qd.at(this.eg))for(a=this.Qd.xc(this.eg);-1!=a;){var f=this.Qd.getData(a);this.Bd.eh(f);this.dk.set(f,-1);f=this.Qd.nb(a);this.Qd.kd(this.eg,a);a=f}0<this.Bd.size()?(this.bp.eC(this.Ad[d].o,this.Ad[d].v,\nthis.ta),this.bg=d,this.Zb=11):(-1==this.dg&&(null==this.Qd&&(this.Qd=new c.Xp),this.ck=new c.ia(0),this.ck.resize(this.Ad.length,-1),this.ck.Zh(-1,0,this.Ad.length),this.dg=this.Qd.mi(0)),this.ck.set(d,this.Qd.addElement(this.dg,d)),this.Zb=7);return!0};b.prototype.DA=function(){this.bg=this.bp.next();if(-1!=this.bg)return!1;var a=this.Yd.get(this.Ne)>>1;this.Bd.eh(a);this.Zb=4;return!0};b.prototype.dV=function(){this.sg=this.bp.next();if(-1!=this.sg)return!1;this.bg=this.sg=-1;var a=this.fg.get(this.nh)>>\n1;this.If.eh(a);this.Zb=7;return!0};b.prototype.aV=function(){this.bg=this.ax.next();if(-1!=this.bg)return!1;var a=this.Yd.get(this.Ne)>>1;this.Bd.eh(a);this.Zb=7;return!0};b.prototype.bV=function(){if(-1==--this.nh)return this.Zb=5,!0;this.lr.I(this.Lb[this.Ne]);var a=this.Lb[this.nh];this.lr.O(this.ta,this.ta);return this.lr.Yb(a)?(this.bg=this.nh,!1):!0};b.prototype.cV=function(){if(-1==--this.nh)return this.Zb=6,!0;this.lr.I(this.Lb[this.Ne]);var a=this.Ad[this.nh];this.lr.O(this.ta,this.ta);\nreturn this.lr.Yb(a)?(this.bg=this.nh,!1):!0};b.prototype.$J=function(){if(null==this.Bd)return this.Pc=!0,!1;this.Ne=this.Yd.size;0<this.Bd.size()&&this.Bd.reset();-1!=this.eg&&(this.Qd.zh(this.eg),this.dk.resize(0),this.eg=-1);this.Pc=!1;return!0};b.prototype.ZJ=function(){if(null==this.If)return this.Pc=!0,!1;this.nh=this.fg.size;0<this.If.size()&&this.If.reset();-1!=this.dg&&(this.Qd.zh(this.dg),this.ck.resize(0),this.dg=-1);this.Pc=!1;return!0};b.prototype.yu=function(a,d,b){null==this.on&&(this.on=\nnew c.Hu);b=new g(this,b);this.on.sort(a,0,d,b)};b.prototype.EY=function(a,d,f,e){var c=this;a.Gd(d,f,function(a,d){var f=c.Ms(a,e),g=c.Ms(d,e);return f<g||f==g&&b.Gm(a)&&b.KB(d)?-1:1})};b.prototype.Ms=function(a,d){var f=.5*this.ta;if(d){var e=this.Lb[a>>1];return f=b.Gm(a)?e.A-f:e.B+f}e=this.Ad[a>>1];return f=b.Gm(a)?e.A-f:e.B+f};return b}();c.gD=n})(r||(r={}));(function(c){var n=function(){function g(){}g.pa=function(b,a,d,f,e,c){var l=new g;l.o=b;l.A=a;l.Bf=d;l.v=f;l.B=e;l.$g=c;return l};g.prototype.Oa=\nfunction(){this.Bf=this.o=NaN};g.prototype.u=function(){return isNaN(this.o)};g.prototype.RU=function(){return isNaN(this.Bf)};g.prototype.I=function(b,a,d,f,e,c){void 0!==f?\"number\"===typeof b?(this.o=b,this.A=a,this.Bf=d,this.v=f,this.B=e,this.$g=c):(this.o=b.x-.5*a,this.v=this.o+a,this.A=b.y-.5*d,this.B=this.A+d,this.Bf=b.z-.5*f,this.$g=this.Bf+f):(this.o=b,this.A=a,this.Bf=d,this.v=b,this.B=a,this.$g=d)};g.prototype.move=function(b){this.o+=b.x;this.A+=b.y;this.Bf+=b.z;this.v+=b.x;this.B+=b.y;\nthis.$g+=b.z};g.prototype.copyTo=function(b){b.o=this.o;b.A=this.A;b.v=this.v;b.B=this.B};g.prototype.ml=function(b,a,d){this.o>b?this.o=b:this.v<b&&(this.v=b);this.A>a?this.A=a:this.B<a&&(this.B=a);0==isNaN(this.Bf)?this.Bf>d?this.Bf=d:this.$g<d&&(this.$g=d):this.$g=this.Bf=d};g.prototype.Nb=function(b,a,d,f,e,h){if(\"number\"===typeof b)f?(this.Nb(b,a,d),this.Nb(f,e,h)):this.u()?(this.o=b,this.A=a,this.Bf=d,this.v=b,this.B=a,this.$g=d):this.ml(b,a,d);else if(b instanceof c.qd)this.Nb(b.x,b.y,b.z);\nelse if(b instanceof g)b.u()||(this.Nb(b.o,b.A,b.Bf),this.Nb(b.v,b.B,b.$g));else throw c.g.F();};g.prototype.pa=function(b,a,d){b.u()||a.u()?this.Oa():(this.o=b.ca,this.v=b.ha,this.A=a.ca,this.B=a.ha,this.Bf=d.ca,this.$g=d.ha)};g.prototype.QB=function(b){if(null==b||8>b.length)throw c.g.F();b[0]=new c.qd(this.o,this.A,this.Bf);b[1]=new c.qd(this.o,this.B,this.Bf);b[2]=new c.qd(this.v,this.B,this.Bf);b[3]=new c.qd(this.v,this.A,this.Bf);b[4]=new c.qd(this.o,this.A,this.$g);b[5]=new c.qd(this.o,this.B,\nthis.$g);b[6]=new c.qd(this.v,this.B,this.$g);b[7]=new c.qd(this.v,this.A,this.$g)};g.prototype.Mx=function(b){if(null==b||0==b.length)this.Oa();else{var a=b[0];this.I(a.x,a.y,a.z);for(a=1;a<b.length;a++){var d=b[a];this.ml(d.x,d.y,d.z)}}};return g}();c.eM=n})(r||(r={}));(function(c){(function(c){c.za=function(){var c=Error();c.message=\"Internal Error\";return c};c.df=function(){var c=Error();c.message=\"Not Implemented\";return c};c.vk=function(){var c=Error();c.message=\"The input unit and the spatial reference unit are not of the same unit type.ie Linear vs.Angular\";\nreturn c};c.Da=function(){var c=Error();c.message=\"Invalid Call\";return c};c.F=function(c){var b=Error();b.message=\"Illegal Argument Exception\";void 0!==c&&(b.message+=\": \"+c);return b};c.UN=function(){var c=Error();c.message=\"Runtime Exception.\";return c};c.X=function(c){var b=Error();b.message=\"Geometry Exception: \"+c;return b};c.KL=function(){var c=Error();c.message=\"Assert Failed Exception\";return c};c.wd=function(){var c=Error();c.message=\"IndexOutOfBoundsException\";return c};c.n_=function(c){c.message=\n\"UserCancelException\";return c}})(c.g||(c.g={}))})(r||(r={}));(function(c){c=c.Om||(c.Om={});c[c.forward=0]=\"forward\";c[c.reverse=1]=\"reverse\"})(r||(r={}));(function(c){var n=function(){function a(a,b){this.$a=a;this.VI=b;this.ZI=-1;this.Wl=!1}a.prototype.Re=function(){return!0};a.prototype.next=function(){if(++this.ZI==this.VI.D())return null;var a=this.VI.Ba(this.ZI);a.scale(this.$a.mc);var b=new c.Ja;this.$a.Yy(a,this.Wl,b);return b};a.prototype.Ia=function(){return 0};return a}(),g=function(){function a(a,\nb,e){this.$a=a;this.ex=b;this.Mo=!1;this.So=e;this.Pw=[0];this.Uk=[0];this.gk=[0];this.Ct=[0];this.Wl=!1;this.fr=new c.Ja;this.Wk=[]}a.prototype.Re=function(){return!0};a.prototype.next=function(){if(this.Mo){this.Mo=!1;this.Cd.ba();var a=c.T.oe(this.fr);return a=c.Dg.ol(a,this.$a.pr,!0,!0,this.$a.lc)}null==this.Cd&&(this.Cd=this.ex.Fa(),this.Cd.Ya(),null!=this.So&&this.So.Bl(null,0));if(!this.Cd.Ea()){if(!this.Cd.Ya())return null;null!=this.So&&this.So.Bl(null,0)}a=null;this.Uk[0]=0;this.mB=this.Pw[0]=\n0;this.Di=NaN;this.Mo=!1;for(var f=this.Wk.length=0,e=new c.b,h=new c.b,l=[0];this.Cd.Ea()&&8>this.mB;){var k=this.Cd.ba();e.L(k.ec());h.L(k.Cc());e.scale(this.$a.mc);h.scale(this.$a.mc);c.Ej.Bv(e,h)?e.x=h.x:c.Ej.zv(e,h)&&(h.x=e.x);this.Wk.length=0;c.Ej.GG(this.$a.Vb,this.$a.rc,this.$a.$e,e,h,this.$a.wB,this.$a.Tt,l,this.gk,this.Ct,this.Wk,this.Pw);null!=this.So&&(k=this.Wk.slice(0),this.So.EH(this.So.aa()-1,k,k.length-1));c.Ej.Av(e,h)?(this.fr.Oa(),this.$a.Yy(e,this.Wl,this.fr),this.Mo=!0):(this.fr.Oa(),\nthis.Mo=this.dz(l[0],this.fr));if(this.Mo){this.Cd.Li();if(this.Cd.pA()){this.Cd.Li();this.Cd.ba();break}this.Cd.AX();break}null==a&&(a=new c.Ja,a.Bl(null,0));this.eF(a);f++}this.Pw[0]=0;if(0<f){for(l=this.Cd.Db();0<f;)this.Cd.Li(),e.L(this.ex.Ba(this.Cd.Db())),h.L(this.ex.Ba(this.Cd.Jk())),e.scale(this.$a.mc),h.scale(this.$a.mc),this.Wl&&(c.Ej.Bv(e,h)?e.x=h.x:c.Ej.zv(e,h)&&(h.x=e.x)),this.Wk.length=0,c.Ej.GG(this.$a.Vb,this.$a.rc,this.$a.$e,h,e,this.$a.wB,this.$a.Tt,null,this.gk,this.Ct,this.Wk,\nthis.Pw),this.eF(a),f--;e.L(this.ex.Ba(this.Cd.Db()));e.scale(this.$a.mc);b.Fs(this.$a.Vb,this.$a.rc,this.$a.mc,this.$a.vb,e,this.Di+1.570796326794897,this.Di+4.71238898038469,this.$a.Qo,this.Wl,this.Uk,a,NaN,NaN);this.Cd.Tb(l);this.Cd.ba();f=c.na.ah(null,a,!0);return a=c.Dg.ol(a,f,!0,!0,this.$a.lc)}this.Mo=!1;this.Cd.ba();a=c.T.oe(this.fr);return a=c.Dg.ol(a,this.$a.pr,!0,!0,this.$a.lc)};a.prototype.eF=function(a){var f=this.Wk[0],e,h=this.gk[0]-1.570796326794897,l=this.Ct[0]+1.570796326794897,k;\nif(!isNaN(this.Di)){this.Di>=this.gk[0]?(e=this.Di+1.570796326794897,h=e+3.141592653589793-(this.Di-this.gk[0])):(e=this.Di+1.570796326794897,h=e+3.141592653589793-(6.283185307179586-(this.gk[0]-this.Di)));k=this.Di>=this.gk[0]&&3.141592653589793>=this.Di-this.gk[0]?!1:this.Di<this.gk[0]&&3.141592653589793<=this.gk[0]-this.Di?!1:!0;var g=!1;if(Math.abs(h-e)<=.5*this.$a.Qo)if(k){var w=a.Ba(a.D()-2);w.scale(this.$a.mc);var p=new c.ea(0);c.mb.Gz(this.$a.Vb,this.$a.rc,f.x,f.y,w.x,w.y,p);for(w=p.j;w<=\ne;)w+=6.283185307179586;for(;w>e;)w-=6.283185307179586;w<h&&(g=!0)}else g=!0;g?(a.dC(0,a.D()-1),this.Wl||(f=new c.b,f.L(a.Ba(a.D()-1)),f.scale(this.$a.mc),-3.141592653589793>f.x-this.Uk[0]?this.Uk[0]-=6.283185307179586:3.141592653589793<f.x-this.Uk[0]&&(this.Uk[0]+=6.283185307179586)),k||(h=.5*(h+e))):(k?(e=new c.b,e.L(f),e.scale(1/this.$a.mc),a.Zf(0,-1,e)):b.Fs(this.$a.Vb,this.$a.rc,this.$a.mc,this.$a.vb,this.Wk[0],e,h,this.$a.Qo,this.Wl,this.Uk,a,NaN,NaN),this.mB+=1)}b.Xy(this.$a.Vb,this.$a.rc,\nthis.$a.mc,this.$a.vb,this.$a.$e,this.Wk,h,l,this.Wl,this.Uk,a);this.Di=this.Ct[0]};a.prototype.dz=function(a,b){return this.$a.dz(this.Wk,a,this.gk[0],this.Ct[0],this.Wl,b)};a.prototype.Ia=function(){return 0};return a}(),b=function(){function a(){}a.buffer=function(d,b,e,h,l,k){if(null==d)throw c.g.F(\"Geometry::Geodesic_bufferer::buffer\");if(d.u())return new c.Ja(d.description);var g=new a;g.mh=b;g.Qc=c.fb.kc(b);var w=c.fb.hw(g.Qc);g.lc=k;g.Vb=c.fb.Sv(g.Qc);g.rc=w*(2-w);g.mc=g.Qc.Nd().Ai;g.ta=g.mh.Bo();\ng.pr=g.Qc.Bo();g.Tt=g.pr*g.mc;g.or=1.570796326794897/g.mc;g.E_=3.141592653589793/g.mc;g.Et=6.283185307179586/g.mc;g.F_=g.Et/6;g.rB=0;g.D_=1.5707963267948966*g.Vb/g.rB;4==e?(g.$e=2,g.Jw=!0):(g.$e=e,g.Jw=!1);g.Qa=h;g.vb=Math.abs(h);isNaN(l)||.001>l?g.tY():g.Po=l;e=d.G();c.T.Oc(e)?(e=new c.Ua(d.description),e.dc(d,!0),d=e,e=1607):197==e&&(e=new c.h,d.s(e),e.N()<=g.ta||e.fa()<=g.ta?(e=new c.Ua(d.description),e.jd(d,!1),d=e,e=1607):(e=new c.Ja(d.description),e.jd(d,!1),d=e,e=1736));g.uY();c.T.Jo(e)||g.vY();\nif(g.vb<=.5*g.Po)return 1736!=e?new c.Ja(d.description):g.Jw?d:c.Ej.Ls(d,g.mh,g.$e,g.wB,-1,k);if(0>g.Qa&&1736!=e)return new c.Ja(d.description);g.Jw&&c.T.Ic(e)?(b=c.Ej.Ls(d,b,4,NaN,g.Po,k),d=c.fb.Xg(b,g.mh,g.Qc,k)):d=c.fb.Xg(d,g.mh,g.Qc,k);d=c.gi.Mj(d,g.Qc);if(d.u())return new c.Ja(d.description);!g.Jw&&c.T.Ic(e)&&(d=c.Ej.zJ(g.mc,d));d=a.nQ(d,g.Qc);switch(e){case 1736:k=g.YP(d);break;case 1607:k=g.ZP(d);break;case 550:k=g.WP(d);break;case 33:k=g.XP(d);break;default:throw c.g.X(\"corrupted_geometry\");\n}g=c.fb.Xg(k,g.Qc,g.mh,g.lc);g.om(d.description);return g};a.prototype.YP=function(a){var b=new c.Ja;a=new g(this,a,b);a=c.ei.local().V(a,this.Qc,this.lc).next();a=c.Vp.Nj(a,this.Qc,2);var e=new c.Hd;e.scale(1/this.mc,1/this.mc);b.Xc(e);b=c.Vp.Nj(b,this.Qc,2);return 0<=this.Qa?c.ei.local().V(b,a,this.Qc,this.lc):c.cq.local().V(b,a,this.Qc,this.lc)};a.prototype.ZP=function(a){a=new g(this,a,null);a=c.ei.local().V(a,this.Qc,this.lc).next();return a=c.Vp.Nj(a,this.Qc,2)};a.prototype.WP=function(a){a=\nnew n(this,a);a=c.ei.local().V(a,this.Qc,this.lc).next();return a=c.Vp.Nj(a,this.Qc,2)};a.prototype.XP=function(a){a=a.w();a.scale(this.mc);var b=new c.Ja;this.Yy(a,!1,b);return b=c.Vp.Nj(b,this.Qc,2)};a.prototype.dz=function(d,b,e,h,l,k){var g=d[0],w=d[d.length-1],p=g.y>w.y?g.y:w.y,q=c.C.q(this.Vb,this.rc,g.y<w.y?g.y:w.y),p=c.C.q(this.Vb,this.rc,p);if(.001<this.rB-(q+b+this.vb)&&.001<this.rB+(p-b-this.vb))return!1;b=e-1.570796326794897;e=h+1.570796326794897;var q=b-3.141592653589793,p=b+3.141592653589793,\nt=e+3.141592653589793,u=[NaN],n=[NaN],v=[NaN],r=[NaN];h=!1;a.AD(this.Vb,this.rc,this.vb,g,b,q,w,e,u,n);a.AD(this.Vb,this.rc,this.vb,w,t,e,g,q,v,r);e<u[0]&&u[0]<t?h=!0:e<n[0]&&n[0]<t&&(h=!0);h||(q<v[0]&&v[0]<b?h=!0:q<r[0]&&r[0]<b&&(h=!0));if(!h&&l)return!1;for(var B=[],y=d.length-1;0<=y;y--)B.push(d[y]);k.Oa();k.Bl(null,0);y=[0];a.Xy(this.Vb,this.rc,this.mc,this.vb,this.$e,d,b,e,l,y,k);a.Fs(this.Vb,this.rc,this.mc,this.vb,w,e,t,this.Qo,l,y,k,u[0],n[0]);a.Xy(this.Vb,this.rc,this.mc,this.vb,this.$e,\nB,t,p,l,y,k);a.Fs(this.Vb,this.rc,this.mc,this.vb,g,q,b,this.Qo,l,y,k,v[0],r[0]);d=!1;l||(d=this.PF(this.mc,k));return h||d};a.prototype.Yy=function(d,b,e){e.Oa();e.Bl(null,0);a.Fs(this.Vb,this.rc,this.mc,this.vb,d,-this.Qo,6.283185307179586,this.Qo,b,[0],e,NaN,NaN);b||this.PF(this.mc,e)};a.prototype.PF=function(a,b){var e=this.zQ(a,b),c=this.AQ(a,b);return e||c};a.prototype.zQ=function(a,b){var e=b.D(),h=!1,l=new c.h;b.s(l);if(!c.l.W(l.B*a,1.570796326794897)&&!c.l.W(l.A*a,-1.570796326794897))return!1;\nfor(var k=new c.b,e=e-1;0<=e;e--)b.w(e,k),k.y==l.B&&c.l.W(k.y*a,1.570796326794897)?(h=!0,this.IJ(k,e,b)):k.y==l.A&&c.l.W(k.y*a,-1.570796326794897)&&(h=!0,this.IJ(k,e,b));return h};a.prototype.AQ=function(a,b){var e=b.Ba(0),c=b.Ba(b.D()-1);return 3.141592653589793<Math.abs(e.x-c.x)*a?(this.OW(b),!0):this.yQ(b)};a.prototype.yQ=function(a){return 0>a.hf()?(this.NW(a),!0):!1};a.prototype.IJ=function(a,b,e){var h=e.D(),l=0<b?b-1:h-1,h=e.Ba(b<h-1?b+1:0),l=e.Ba(l);if(!c.l.W(h.y,a.y)&&!c.l.W(h.x,a.x)){var k=\nnew c.b;k.ka(h.x,a.y);e.rb(b,k)}c.l.W(l.y,a.y)||c.l.W(l.x,a.x)||(h=new c.b,h.ka(l.x,a.y),e.Zf(0,b,h))};a.prototype.OW=function(a){var b=new c.Ja,e=new c.Ja,h=new c.Hd,l=a.Ba(0),k=a.Ba(a.D()-1),g=new c.b;l.x>k.x?(k=this.or,h.Ag(-this.Et,0)):(k=-this.or,h.Ag(this.Et,0));b.add(a,!1);a.Oa();e.add(b,!1);e.Xc(h);l=new c.h;e.s(l);l.O((this.Et-l.N())/2,0);l.A=-this.or;l.B=this.or;for(var w=0;w<e.D();w++)e.w(w,g),b.Zf(0,-1,g);e.Xc(h);for(w=0;w<e.D();w++)e.w(w,g),b.Zf(0,-1,g);e=b.Ba(0);h=b.Ba(b.D()-1);g.ka(h.x,\nk);b.Zf(0,-1,g);g.ka(.5*(h.x+e.x),k);b.Zf(0,-1,g);g.ka(e.x,k);b.Zf(0,-1,g);b=c.gi.ht(b,this.Qc,2,!0,l.o);b=c.gi.ht(b,this.Qc,2,!0,l.v);b=c.ne.clip(b,l,this.pr,NaN);a.add(b,!1)};a.prototype.NW=function(a){var b=new c.h;a.s(b);b.O((this.Et-b.N())/2,0);b.A=-this.or;b.B=this.or;a.Bl(null,0);var e=new c.b;e.ka(b.o,b.A);a.Zf(1,-1,e);e.ka(b.o,b.B);a.Zf(1,-1,e);e.ka(.5*(b.o+b.v),b.B);a.Zf(1,-1,e);e.ka(b.v,b.B);a.Zf(1,-1,e);e.ka(b.v,b.A);a.Zf(1,-1,e);e.ka(.5*(b.o+b.v),b.A);a.Zf(1,-1,e)};a.Xy=function(b,f,\ne,h,l,k,g,w,p,q,t){var u=null;p||(u=new c.b,u.$c(),0<t.D()&&(u.L(t.Ba(t.D()-1)),u.scale(e)));var n=new c.ea(0),v=new c.ea(0),r=new c.ea(0),B=new c.b,y=new c.b,A=k[k.length-1];e=1/e;for(var C=0;C<k.length;C++){var D=k[C],E;0==C?E=g:C==k.length-1?E=w:(c.mb.Ld(b,f,A.x,A.y,D.x,D.y,null,null,n,l),E=n.j-1.570796326794897);c.mb.Xi(b,f,D.x,D.y,h,E,v,r);p?y.ka(v.j,r.j):(B.ka(v.j,r.j),a.MF(D.x,B.x,u.x,q),y.ka(q[0]+B.x,B.y),u.L(y));y.scale(e);t.Zf(0,-1,y)}};a.Fs=function(b,f,e,h,l,k,g,w,p,q,t,u,n){if(!(g-k<\nw)){var v=new c.ea(0),r=new c.ea(0),B=new c.b,y=new c.b,A=null;p||(A=new c.b,A.$c(),0<t.D()&&(A.L(t.Ba(t.D()-1)),A.scale(e)));var C=c.J.truncate(Math.ceil(k/w)),D=C++*w;D==k&&(D=C++*w);for(e=1/e;D<g+w;){k<u&&u<D?(D=u,C--):k<n&&n<D&&(D=n,C--);if(D>=g)break;c.mb.Xi(b,f,l.x,l.y,h,D,v,r);p?y.ka(v.j,r.j):(B.ka(v.j,r.j),a.MF(l.x,B.x,A.x,q),y.ka(q[0]+B.x,B.y),A.L(y));y.scale(e);t.Zf(0,-1,y);k=D;D=C++*w}}};a.AD=function(a,b,e,h,l,k,g,w,p,q){var t=new c.b,u=new c.b,n=new c.ea(0),v=new c.ea(0);c.mb.Xi(a,b,\nh.x,h.y,e,l,n,v);t.ka(n.j,v.j);c.mb.Xi(a,b,h.x,h.y,e,k,n,v);u.ka(n.j,v.j);e=new c.ea(0);c.mb.Gz(a,b,g.x,g.y,t.x,t.y,e);p[0]=e.j;c.mb.Gz(a,b,g.x,g.y,u.x,u.y,e);for(q[0]=e.j;p[0]<=q[0];)p[0]+=6.283185307179586;for(;p[0]>q[0];)p[0]-=6.283185307179586;for(;p[0]>=w;)p[0]-=6.283185307179586,q[0]-=6.283185307179586;for(;p[0]<w;)p[0]+=6.283185307179586,q[0]+=6.283185307179586};a.MF=function(a,b,e,c){if(isNaN(e)){for(;3.141592653589793<c[0]+b-a;)c[0]-=6.283185307179586;for(;3.141592653589793<a-(c[0]+b);)c[0]+=\n6.283185307179586}else 3.141592653589793<c[0]+b-e?c[0]-=6.283185307179586:3.141592653589793<e-(c[0]+b)&&(c[0]+=6.283185307179586)};a.nQ=function(a,b){var e=a.G(),h;c.T.Ic(e)?h=a.aa():550==e?h=a.D():h=1;if(1==h)return a;var l=new c.ia(0);l.resize(h);for(var k=[],g=new c.h,w=0;w<h;w++){l.write(w,w);var p;c.T.Ic(e)?(a.jk(w,g),p=g.Wf()):p=a.Ba(w);p=c.tM.UY(b,p);k[w]=p}l.Gd(0,l.size,function(a,b){return k[a]<k[b]?-1:k[a]>k[b]?1:0});g=a.Ka();for(w=0;w<h;w++)p=l.read(w),c.T.Ic(e)?g.Ti(a,p,!0):g.Id(a,p,p+\n1);return g};a.prototype.uY=function(){var a=Math.min(3.141592653589793*this.Vb-this.vb,this.vb),a=Math.min(a,.39269908169872414*this.Vb),b=new c.b;b.ka(0,10*this.mc);var e=45*this.mc,h=new c.ea(0),l=new c.ea(0),k=new c.ea(0),g=new c.ea(0),w=new c.ea(0),p=new c.ea(0),q=new c.ea(0),t=new c.ea(0),u=new c.b,n=new c.b,v=new c.b,r=new c.b;c.mb.Xi(this.Vb,this.rc,b.x,b.y,a,0,h,l);u.ka(h.j,l.j);c.mb.Xi(this.Vb,this.rc,b.x,b.y,a,e,k,g);n.ka(k.j,g.j);for(var h=new c.ea(0),l=new c.ea(0),B=new c.ea(0);;){c.mb.Xi(this.Vb,\nthis.rc,b.x,b.y,a,.5*(0+e),w,p);v.ka(w.j,p.j);c.mb.Ld(this.Vb,this.rc,u.x,u.y,n.x,n.y,h,l,null,2);c.mb.Oj(this.Vb,this.rc,u.x,u.y,.5*h.j,l.j,q,t,2);r.ka(q.j,t.j);c.mb.Ld(this.Vb,this.rc,v.x,v.y,r.x,r.y,B,null,null,2);if(B.j<=this.Po)break;e*=.9;c.mb.Xi(this.Vb,this.rc,b.x,b.y,a,e,k,g);n.ka(k.j,g.j)}this.Qo=6.283185307179586/Math.ceil(6.283185307179586/(e-0))};a.prototype.vY=function(){var a=Math.min(3.141592653589793*this.Vb-this.vb,this.vb),a=Math.min(a,.39269908169872414*this.Vb),b=new c.b,e=new c.b;\nb.ka(0,10*this.mc);e.ka(10*this.mc,10*this.mc);var h=new c.ea(0),l=new c.ea(0),k=new c.ea(0);c.mb.Ld(this.Vb,this.rc,b.x,b.y,e.x,e.y,k,h,l,this.$e);var g=new c.ea(0),w=new c.ea(0),p=new c.ea(0),q=new c.ea(0),t=new c.b,u=new c.ea(0),n=new c.ea(0),v=new c.ea(0),r=new c.ea(0),B=new c.ea(0),y=new c.ea(0),A=new c.ea(0),C=new c.ea(0),D=new c.ea(0),E=new c.b,F=new c.b,G=new c.b,H=new c.b,I=1,h=h.j,l=l.j+1.570796326794897,k=k.j;c.mb.Xi(this.Vb,this.rc,b.x,b.y,a,h-1.570796326794897,n,v);E.ka(n.j,v.j);c.mb.Xi(this.Vb,\nthis.rc,e.x,e.y,a,l,r,B);F.ka(r.j,B.j);for(var n=new c.ea(0),v=new c.ea(0),l=new c.ea(0),K=new c.ea(0);;){c.mb.Oj(this.Vb,this.rc,b.x,b.y,.5*(0+I)*k,h,g,w,this.$e);t.ka(g.j,w.j);c.mb.Ld(this.Vb,this.rc,b.x,b.y,t.x,t.y,null,null,u,this.$e);c.mb.Xi(this.Vb,this.rc,t.x,t.y,a,u.j+1.570796326794897,y,A);G.ka(y.j,A.j);c.mb.Ld(this.Vb,this.rc,E.x,E.y,F.x,F.y,n,v,null,2);c.mb.Oj(this.Vb,this.rc,E.x,E.y,.5*n.j,v.j,C,D,2);H.ka(C.j,D.j);c.mb.Ld(this.Vb,this.rc,G.x,G.y,H.x,H.y,l,null,null,2);if(l.j<=this.Po)break;\nI*=.9;c.mb.Oj(this.Vb,this.rc,b.x,b.y,I*k,h,p,q,this.$e);e.ka(p.j,q.j);c.mb.Ld(this.Vb,this.rc,b.x,b.y,e.x,e.y,null,null,K,this.$e);c.mb.Xi(this.Vb,this.rc,e.x,e.y,a,K.j+1.570796326794897,r,B);F.ka(r.j,B.j)}a=I*k;1E5<a&&(a=1E5);this.wB=a};a.prototype.tY=function(){var a;a=5E4<this.vb?100:1E4<this.vb?10:1;500>this.vb/a&&(a=this.vb/500);.01>a&&(a=.01);this.Po=a};return a}();c.sM=b})(r||(r={}));(function(c){var n=function(){function g(){}g.tc=function(b,a){var d=new c.b;d.L(a);b.push(d)};g.rk=function(b,\na){b.add(a.x);b.add(a.y)};g.ZC=function(b){b.yf(b.size-2)};g.oy=function(b,a){a.ka(b.get(b.size-2),b.get(b.size-1))};g.Ls=function(b,a,d,f,e,h){if(null==b)throw c.g.F();var l=b.G();if(b.u()||c.T.Jo(l))return b;var k=new g;k.mh=a;k.Qc=c.fb.kc(a);var m=c.fb.hw(k.Qc);k.lc=h;k.Vb=c.fb.Sv(k.Qc);k.rc=m*(2-m);k.mc=k.Qc.Nd().Ai;k.pr=k.Qc.Bo();k.Tt=k.pr*k.mc;k.hB=f;k.gB=e;k.$e=d;197==l?(d=new c.Ja(b.description),d.jd(b,!1)):c.T.Oc(l)?(d=new c.Ua(b.description),d.dc(b,!0)):d=b;if(4!=k.$e){a=0==k.mh.Eb(k.Qc)?\nc.fb.Xg(d,k.mh,k.Qc,h):c.gi.Mj(d,k.Qc);if(a.u())return a;a=g.zJ(k.mc,a);a=k.Hz(a);a=c.Vp.Nj(a,k.Qc,k.$e);k=c.fb.Xg(a,k.Qc,k.mh,h)}else{2==c.Sd.Fb(a)?(b=c.fb.Mk(a),h=c.tk.local().V(d,b,a,h),h==b&&(h=new c.Ja,b.copyTo(h))):h=c.gi.Mj(d,k.Qc);a=h;if(a.u())return a;k=k.xY(a)}return k};g.zJ=function(b,a){var d=new c.h;a.ac(d);if(3.141592653589793>d.N()*b)return a;for(var f=!1,d=a.Fa(),e=new c.b,h=new c.b;d.Ya();)for(;d.Ea();){var l=d.ba();e.L(l.ec());h.L(l.Cc());e.scale(b);h.scale(b);if(3.141592653589793<\nMath.abs(e.x-h.x)){var k=g.Av(e,h);if(!k){f=!0;break}if(6.283185307179586<Math.abs(e.x-h.x)){f=!0;break}}}if(!f)return a;var f=a.Ka(),m=1<a.description.Ga,w=new c.b,p=new c.b,q=new c.b,t=new c.b,u=new c.Wa;for(d.yj();d.Ya();)for(var n=NaN,v=[0];d.Ea();){l=d.ba();e.L(l.ec());h.L(l.Cc());e.scale(b);h.scale(b);isNaN(n)?(g.fe(e.x,NaN,v),p.L(e)):p.L(q);n=p.x;if(k=g.Av(e,h)){if(6.283185307179586<h.x-e.x)for(;6.283185307179586<h.x-e.x;)h.x-=6.283185307179586;if(-6.283185307179586>h.x-e.x)for(;-6.283185307179586>\nh.x-e.x;)h.x+=6.283185307179586;g.fe(h.x,NaN,v);q.L(h)}else w.L(h),g.WM(w),g.fe(w.x,n,v),q.ka(v[0]+w.x,w.y);.5>Math.abs(q.x-h.x)&&q.L(h);m?(l.Fx(0,u),t.L(p),t.scale(1/b),u.rb(t),(k=d.jn())?f.Rf(u):f.lineTo(u),d.Io()&&!a.Qb(d.Ta)&&(l.Fx(1,u),t.L(q),t.scale(1/b),u.rb(t),f.lineTo(u))):((k=d.jn())&&f.sA(null,0),l=f.aa()-1,t.L(p),t.scale(1/b),f.Zf(l,-1,t),d.Io()&&!a.Qb(d.Ta)&&(t.L(q),t.scale(1/b),f.Zf(l,-1,t)))}return f};g.GG=function(b,a,d,f,e,h,l,k,m,w,p,q){var t=new c.b,u=new c.b,n=0<f.compare(e);g.rF(n,\nf,e,t,u);g.wG(b,a,d,t,u,h,NaN,l,k,m,w,null,p,q);n&&g.qy(m,w,null,p)};g.prototype.Hz=function(b){var a=b.Ka(),d=b.Fa(),f=[],e=null,h=null,l=1<b.description.Ga;l&&(e=new c.Rd(0),h=new c.Cg);for(var k=[0],m=new c.b,w=new c.b,p=new c.b,q=new c.b;d.Ya();)for(k[0]=0;d.Ea();){var t=d.ba();m.L(t.ec());w.L(t.Cc());m.scale(this.mc);w.scale(this.mc);var u=0<m.compare(w);g.rF(u,m,w,p,q);f.length=0;null!=e&&e.yf(0);0<this.hB?g.wG(this.Vb,this.rc,this.$e,p,q,this.hB,this.gB,this.Tt,null,null,null,l?e:null,f,k):\ng.SV(this.Vb,this.rc,this.$e,p,q,this.gB,this.Tt,l?e:null,f,k);u&&g.qy(null,null,l?e:null,f);f[0].L(t.ec());f[f.length-1].L(t.Cc());for(var n=1;n<f.length-1;n++)f[n].scale(1/this.mc);l?(u=g.TE(u,t,h),g.jE(d.jn(),d.Io()&&!b.Qb(d.Ta),t,u,e,f,a)):g.hE(d.jn(),d.Io()&&!b.Qb(d.Ta),f,a)}return a};g.prototype.xY=function(b){var a=b.Ka(),d=b.Fa(),f=[],e=null,h=new c.Cg,l=1<b.description.Ga;for(l&&(e=new c.Rd(0));d.Ya();)for(;d.Ea();){var k=d.ba(),m=k.ec(),w=k.Cc(),m=0<m.compare(w),w=g.TE(m,k,h);f.length=0;\nnull!=e&&e.yf(0);g.GL(this.Vb,this.rc,this.mc,w,this.mh,this.hB,this.gB,l?e:null,f);m&&g.qy(null,null,l?e:null,f);l?g.jE(d.jn(),d.Io()&&!b.Qb(d.Ta),k,w,e,f,a):g.hE(d.jn(),d.Io()&&!b.Qb(d.Ta),f,a)}return a};g.hE=function(b,a,d,f){b&&f.sA(null,0);b=f.aa()-1;var e=d.slice(0);f.EH(b,e,e.length-1);a&&f.Zf(b,-1,d[d.length-1])};g.jE=function(b,a,d,f,e,h,l){var k=new c.Wa;d.Dp(k);b?l.Rf(k):l.lineTo(k);if(2<h.length){b=f.Rb();for(var g=1;g<h.length-1;g++){var w=f.bI(e.get(g)*b);f.Fx(w,k);k.rb(h[g]);l.lineTo(k)}}a&&\n(d.Bp(k),l.lineTo(k))};g.wG=function(b,a,d,f,e,h,l,k,m,w,p,q,t,u){var n=new c.ea(0),v=new c.ea(0),r=new c.ea(0);c.mb.Ld(b,a,f.x,f.y,e.x,e.y,r,n,v,d);var r=r.j,B=n=n.j,v=v.j;0>B&&(B+=6.283185307179586);0>v&&(v+=6.283185307179586);null!=m&&(m[0]=r);null!=w&&(w[0]=B);null!=p&&(p[0]=v);w=m=NaN;null!=q&&(w=c.C.Yg(b,a),p=c.C.q(b,a,f.y),m=(w-p)/r,w=(w+p)/r);p=g.Bv(f,e);var v=g.zv(f,e),B=p||v,y=g.uE(f,e,k),A=new c.ea(0),C=new c.ea(0),D=new c.b,E=new c.b,F=new c.b;g.fe(f.x,NaN,u);var G=[u[0]];if(r<=h)g.tc(t,\nf),g.fe(e.x,NaN,u),null!=q&&q.add(0),B?(p&&g.my(f,e,q,t),v&&g.iy(f,e,q,t)):y?g.ly(f,e,n,m,w,q,t):0<l&&(E.ka(f.x-G[0],f.y),D.ka(e.x-u[0],e.y),g.GA(b,a,d,f,r,n,E,D,0,1,l,q,t,G)),g.tc(t,e);else{h=1+c.J.truncate(Math.ceil(r/h));var H=r/(h-1),I=new c.b,K=0;g.tc(t,f);I.L(f);E.ka(f.x-u[0],f.y);null!=q&&q.add(0);for(var J=1;J<h;J++){var L;J<h-1?(c.mb.Oj(b,a,f.x,f.y,J*H,n,A,C,d),D.ka(A.j,C.j),g.fe(D.x,I.x,u),F.ka(u[0]+D.x,D.y),L=J/(h-1)):(g.fe(e.x,NaN,u),D.ka(e.x-u[0],e.y),F.L(e),L=1);B?(1==J&&p&&g.my(f,F,\nq,t),J==h-1&&v&&g.iy(I,e,q,t)):y?g.sE(I,F,k)&&(f.x<e.x?I.x>F.x&&(u[0]+=6.283185307179586,F.ka(u[0]+D.x,D.y)):I.x<F.x&&(u[0]-=6.283185307179586,F.ka(u[0]+D.x,D.y)),g.ly(I,F,n,m,w,q,t)):0<l&&g.GA(b,a,d,f,r,n,E,D,K,L,l,q,t,G);g.tc(t,F);null!=q&&q.add(L);I.L(F);E.L(D);G[0]=u[0];K=L}}};g.SV=function(b,a,d,f,e,h,l,k,m,w){var p=new c.ea(0),q=new c.ea(0),t=new c.ea(0);c.mb.Ld(b,a,f.x,f.y,e.x,e.y,t,p,q,d);var q=t.j,p=p.j,u=t=NaN;if(null!=k)var u=c.C.Yg(b,a),n=c.C.q(b,a,f.y),t=(u-n)/q,u=(u+n)/q;var n=g.Bv(f,\ne),v=g.zv(f,e),r=n||v;l=g.uE(f,e,l);var B=g.Av(f,e),B=r||l||B;g.fe(f.x,NaN,w);var y=new c.b;g.tc(m,f);y.L(f);null!=k&&k.add(0);B?(r?(n&&g.my(f,e,k,m),v&&g.iy(f,e,k,m)):l&&g.ly(f,e,p,t,u,k,m),g.fe(e.x,NaN,w),g.tc(m,e)):q<=h?(g.fe(e.x,NaN,w),g.tc(m,e)):(t=new c.b,l=new c.b,t.L(f),l.L(e),t.x-=w[0],l.x-=w[0],-3.141592653589793>l.x?l.x+=6.283185307179586:3.141592653589793<l.x&&(l.x-=6.283185307179586),g.GA(b,a,d,f,q,p,t,l,0,1,h,k,m,w),g.tc(m,e),g.fe(e.x,NaN,w));null!=k&&k.add(1)};g.GA=function(b,a,d,f,\ne,h,l,k,m,w,p,q,t,u){var n=new c.b,v=new c.b;n.ka(l.x+u[0],l.y);new c.ea(0);new c.ea(0);new c.ea(0);new c.ea(0);var r=new c.ea(0),B=new c.ea(0),y=new c.ea(0),A=new c.b,C=new c.b,D=new c.b,E=new c.b;A.L(l);C.L(k);l=new c.Rd(0);k=new c.Rd(0);g.rk(l,C);k.add(w);var F=new c.b,G=new c.Hb,H=[];for(g.sG(4,H);0<l.size;){for(var I=!1,K,J=NaN,L=0;3>L;L++)if(K=H[L]*w+(1-H[L])*m,c.mb.Oj(b,a,f.x,f.y,K*e,h,r,B,d),D.ka(r.j,B.j),0==L&&(J=K,E.L(D)),g.yO(A,D,C,G),G.gc(G.pe(D,!0),F),c.mb.Ld(b,a,D.x,D.y,F.x,F.y,y,null,\nnull,2),y.j>p){I=!0;break}I?(C.L(E),w=J,g.rk(l,C),k.add(w)):(g.ZC(l),k.Fk(k.size-1,1,k.size-1),0<l.size&&(g.fe(C.x,n.x,u),v.ka(u[0]+C.x,C.y),g.tc(t,v),n.L(v),null!=q&&q.add(w),A.L(C),m=w,g.oy(l,C),w=k.get(k.size-1)))}};g.GL=function(b,a,d,f,e,h,l,k,m){var w=new c.b,p=new c.b,q=new c.b,t=new c.b,u=new c.b,n=new c.b,v=new c.b,r=new c.b,B=new c.b,y=new c.b,A=new c.ea(0),C=new c.ea(0),D=new c.b,E=[[],[]],F=1==c.Sd.Fb(e);e=e.re(0);var G=f.ec(),H=f.Cc();F?(n.ka(G.x*d,G.y*d),v.ka(H.x*d,H.y*d)):(E[0][0]=\nG.x,E[0][1]=G.y,E[1][0]=H.x,E[1][1]=H.y,c.fb.lu(),n.x=E[0][0]*d,n.y=E[0][1]*d,v.x=E[1][0]*d,v.y=E[1][1]*d);var I=0,K=0,J=1,L=f.Go();w.L(G);p.L(H);var H=new c.Rd(0),M=new c.Rd(0),R=new c.Rd(0);g.rk(H,p);g.rk(M,v);R.add(J);g.tc(m,w);null!=k&&k.add(K);var O=[],Q;Q=0<l?L?5:3:L?5:1;g.sG(Q,O);for(var N=new c.ea(0),P=new c.ea(0),Z=new c.ea(0),T=new c.ea(0),X=new c.ea(0),W=new c.ea(0),Y=new c.ea(0);0<M.size;){var V=!1,ba,U=NaN;c.mb.Ld(b,a,n.x,n.y,v.x,v.y,N,P,null,2);for(G=0;G<Q;G++){if(0==G){if(!L&&0>=l&&\nN.j<=h&&3.141592653589793>Math.abs(n.x-v.x))break;if(f.Dy(K,J)<=e)break}ba=O[G]*J+(1-O[G])*K;f.gc(ba,q);F?r.ka(q.x*d,q.y*d):(E[0][0]=q.x,E[0][1]=q.y,c.fb.lu(),r.x=E[0][0]*d,r.y=E[0][1]*d);if(0==G&&(U=ba,u.L(q),y.L(r),0<h&&(N.j>h||3.141592653589793<=Math.abs(n.x-v.x)))){V=!0;break}if(L&&0<h){if(c.mb.Ld(b,a,n.x,n.y,r.x,r.y,Z,null,null,2),Z.j>h||3.141592653589793<=Math.abs(n.x-r.x)){V=!0;break}}else if(0<l)if(L?(t.JU(w,p,O[G]),F?B.ka(t.x*d,t.y*d):(E[0][0]=t.x,E[0][1]=t.y,c.fb.lu(),B.x=E[0][0]*d,B.y=\nE[0][1]*d)):(t.L(q),B.L(r)),c.mb.Ld(b,a,n.x,n.y,B.x,B.y,T,null,null,2),T.j<=N.j){c.mb.Oj(b,a,n.x,n.y,T.j,P.j,A,C,2);D.ka(A.j,C.j);c.mb.Ld(b,a,D.x,D.y,r.x,r.y,X,null,null,2);if(X.j>l){V=!0;break}if(L){c.mb.Ld(b,a,D.x,D.y,B.x,B.y,W,null,null,2);if(W.j>l){V=!0;break}c.mb.Ld(b,a,B.x,B.y,r.x,r.y,Y,null,null,2);if(Y.j>l){V=!0;break}}}else{V=!0;break}}V?(p.L(u),v.L(y),J=U,g.rk(H,p),g.rk(M,v),R.add(J)):(g.ZC(H),g.ZC(M),R.Fk(R.size-1,1,R.size-1),g.tc(m,p),I+=N.j,null!=k&&k.add(I),0<M.size&&(w.L(p),n.L(v),\nK=J,g.oy(H,p),g.oy(M,v),J=R.get(R.size-1)))}if(null!=k)for(b=1/I,G=0;G<k.size;G++)k.write(G,k.read(G)*b)};g.qy=function(b,a,d,f){f.reverse();null!=d&&d.Zd(0,d.size,1);d=null!=b?b[0]:NaN;f=null!=a?a[0]:NaN;null!=b&&(b[0]=f);null!=a&&(a[0]=d)};g.rF=function(b,a,d,f,e){b?(f.L(d),e.L(a)):(f.L(a),e.L(d))};g.TE=function(b,a,d){if(!b)return a;d.create(a.G());a.copyTo(d.get());d.get().reverse();return d.get()};g.fe=function(b,a,d){if(isNaN(a)){for(;3.141592653589793<d[0]-b;)d[0]-=6.283185307179586;for(;3.141592653589793<\nb-d[0];)d[0]+=6.283185307179586}else 3.141592653589793<d[0]+b-a?d[0]-=6.283185307179586:3.141592653589793<a-(d[0]+b)&&(d[0]+=6.283185307179586)};g.yO=function(b,a,d,f){3.141592653589793>Math.abs(a.x-b.x)?(f.Mc(b),3.141592653589793<=d.x-b.x?f.vm(d.x-6.283185307179586,d.y):3.141592653589793<=b.x-d.x?f.vm(d.x+6.283185307179586,d.y):f.vm(d.x,d.y)):(f.Mc(d),3.141592653589793<=b.x-d.x?f.vm(b.x-6.283185307179586,b.y):3.141592653589793<=d.x-b.x?f.vm(b.x+6.283185307179586,b.y):f.vm(b.x,b.y))};g.sG=function(b,\na){for(var d=0;d<b;d++){var f=Math.ceil(d/2)/(b+1);0!=d%2&&(f=-f);a[d]=.5+f}};g.Bv=function(b,a){return c.l.W(b.y,1.570796326794897)&&!c.l.W(a.y,1.570796326794897)||c.l.W(b.y,-1.570796326794897)&&!c.l.W(a.y,-1.570796326794897)?!0:!1};g.zv=function(b,a){return c.l.W(a.y,1.570796326794897)&&!c.l.W(b.y,1.570796326794897)||c.l.W(a.y,-1.570796326794897)&&!c.l.W(b.y,-1.570796326794897)?!0:!1};g.uE=function(b,a,d){return!g.sE(b,a,d)||c.l.W(b.y,1.570796326794897)||c.l.W(b.y,-1.570796326794897)||c.l.W(a.y,\n1.570796326794897)||c.l.W(a.y,-1.570796326794897)?!1:!0};g.sE=function(b,a,d){return Math.abs(Math.abs(b.x-a.x)-3.141592653589793)<=d?!0:!1};g.Av=function(b,a){return c.l.W(b.y,1.570796326794897)&&c.l.W(a.y,1.570796326794897)||c.l.W(b.y,-1.570796326794897)&&c.l.W(a.y,-1.570796326794897)?!0:!1};g.my=function(b,a,d,f){if(0<b.y){var e=new c.b;e.ka(a.x,1.570796326794897)}else e=new c.b,e.ka(a.x,-1.570796326794897);c.l.W(b.x,e.x)||c.l.W(a.y,e.y)||(g.tc(f,e),null!=d&&d.add(0))};g.iy=function(b,a,d,f){if(0<\na.y){var e=new c.b;e.ka(b.x,1.570796326794897)}else e=new c.b,e.ka(b.x,-1.570796326794897);c.l.W(a.x,e.x)||c.l.W(b.y,e.y)||(g.tc(f,e),null!=d&&d.add(1))};g.ly=function(b,a,d,f,e,h,l){c.l.xd(d)?(0<1.570796326794897-b.y&&(d=new c.b,d.ka(b.x,1.570796326794897),g.tc(l,d),null!=h&&h.add(f)),0<1.570796326794897-a.y&&(d=new c.b,d.ka(a.x,1.570796326794897),g.tc(l,d),null!=h&&h.add(f))):(0<1.570796326794897+b.y&&(d=new c.b,d.ka(b.x,-1.570796326794897),g.tc(l,d),null!=h&&h.add(e)),0<1.570796326794897+a.y&&\n(d=new c.b,d.ka(a.x,-1.570796326794897),g.tc(l,d),null!=h&&h.add(e)))};g.WM=function(b){if(-3.141592653589793>b.x)for(;-3.141592653589793>b.x;)b.x+=6.283185307179586;if(3.141592653589793<b.x)for(;3.141592653589793<b.x;)b.x-=6.283185307179586};return g}();c.Ej=n})(r||(r={}));(function(c){var n=function(){function g(){}g.Nj=function(b,a,d){if(null==b||null==a||!c.fb.Jc(a))throw c.g.F();if(b.u())return b;var f=b,e=f.G();if(c.T.Ic(e)){f=c.gi.Mj(b,a);b=new c.h;f.s(b);for(var e=c.na.be(a,b,!1),h=c.fb.Bh(a),\nl=Math.floor((b.o-h.o)/h.N())*h.N()+h.o;l<b.v;)l>b.o+e&&l<b.v-e&&(f=c.gi.ht(f,a,d,!0,l)),l+=h.N()}else{if(197==e)return b=new c.Ja(f.description),b.jd(f,!1),g.Nj(b,a,d);if(c.T.Oc(e))return b=new c.Ua(f.description),b.dc(f,!0),g.Nj(b,a,d)}return g.kV(f,a)};g.kV=function(b,a){if(null==b||null==a||!c.fb.Jc(a))throw c.g.F();if(b.u())return b;var d;d=b.G();197==d?(d=new c.Ja(b.description),d.jd(b,!1)):c.T.Oc(d)?(d=new c.Ua(b.description),d.dc(b,!0)):d=b;d=c.gi.Mj(d,a);return d.u()?d:1==c.Sd.Fb(a)?c.gi.Xm(d,\na,0,d!=b,0):g.eV(d,a,d!=b)};g.eV=function(b,a,d){if(!c.fb.Jc(a))throw c.g.F();if(b.u())return b;var f=c.fb.ee(a),e=0-180*f,f=360*f;2==c.Sd.Fb(a)&&(e=c.fb.Bh(a),f=e.v,e=e.o,f-=e);return c.gi.Aq(b,e,f,a,d,0,!0)};return g}();c.Vp=n})(r||(r={}));(function(c){var n=function(){function g(){}g.gV=function(b,a){var d=Math.abs(b%a);return isNaN(d)||d==b||d<=Math.abs(a)/2?d:0>b?-1*(d-a):0<b?1*(d-a):0*(d-a)};g.K=function(b){return 0>b?-b:b};g.Ab=function(b,a){return 0<=a?g.K(b):-g.K(b)};g.W=function(b,a){return b==\na||g.K(b-a)<=g.hD*(1+(g.K(b)+g.K(a))/2)};g.xd=function(b){return 0==b||g.K(b)<=g.hD};g.Fu=function(b){b=g.gV(b,g.nA);return g.K(b)<=g.Oi?b:0>b?b+g.nA:b-g.nA};g.LB=function(b,a){b.j=g.Fu(b.j);a.j=g.Fu(a.j);g.K(a.j)>g.ss&&(b.j=g.Fu(b.j+g.Oi),a.j=g.Ab(g.Oi,a.j)-a.j)};g.Yg=function(b,a){var d=Math.sqrt(1-a),d=(1-d)/(1+d),f=d*d;return b/(1+d)*(1+f*(.25+f*(.015625+1/256*f)))*g.ss};g.TS=function(b,a,d,f,e){var h,l,k,m,w,p,q,t=0,u=p=0,n=0,v=0,r=0;w=0;var B,y,A;q=0;var C,D,E;A=new c.ea;h=new c.ea;if(null!=\ne)if(A.j=b,h.j=a,g.LB(A,h),b=A.j,a=h.j,A.j=d,h.j=f,g.LB(A,h),d=A.j,f=h.j,d=g.Fu(d-b),g.W(a,f)&&(g.xd(d)||g.W(g.K(a),g.ss)))null!=e&&(e.j=0);else{if(g.W(a,-f)){if(g.W(g.K(a),g.ss)){null!=e&&(e.j=2*g.Yg(6378137,.0066943799901413165));return}if(g.W(g.K(d),g.Oi)){null!=e&&(e.j=2*g.Yg(6378137,.0066943799901413165));return}}if(g.xd(.0066943799901413165))v=Math.cos(a),r=Math.cos(f),null!=e&&(t=Math.sin((f-a)/2),p=Math.sin(d/2),q=2*Math.asin(Math.sqrt(t*t+v*r*p*p)),e.j=6378137*q);else{A=1-Math.sqrt(.9933056200098587);\nb=1-A;h=Math.atan(b*Math.tan(a));a=Math.sin(h);h=Math.cos(h);l=Math.atan(b*Math.tan(f));f=Math.sin(l);l=Math.cos(l);m=k=d;D=0;E=1;C=d;for(y=!0;1==y;)D+=1,1==E&&(w=Math.sin(C),p=Math.cos(C),t=l*w,q=h*f-a*l*p,t=Math.sqrt(t*t+q*q),p=a*f+h*l*p,q=Math.atan2(t,p),u=1E-15>g.K(t)?h*l*w/g.Ab(1E-15,t):h*l*w/t,n=1-u*u,v=1E-15>g.K(n)?p-a*f/g.Ab(1E-15,n)*2:p-a*f/n*2,r=v*v,w=((-3*n+4)*A+4)*n*A/16),B=(1-w)*A*(q+w*t*(v+p*w*(2*r-1))),1==E?(C=d+B*u,1E-14>g.K(C-m)?y=!1:g.K(C)>g.Oi?(E=2,C=g.Oi,0>d&&(C=-C),u=0,n=1,k=\nm=2,q=g.Oi-g.K(Math.atan(a/h)+Math.atan(f/l)),t=Math.sin(q),p=Math.cos(q),w=((-3*n+4)*A+4)*n*A/16,1E-14>g.K(u-k)?y=!1:(v=1E-15>g.K(n)?p-a*f/g.Ab(1E-15,n)*2:p-a*f/n*2,r=v*v)):(0>(C-m)*(m-k)&&5<D&&(C=(2*C+3*m+k)/6),k=m,m=C)):(u=(C-d)/B,0>(u-m)*(m-k)&&5<D&&(u=(2*u+3*m+k)/6),k=m,m=u,n=1-u*u,w=u*t/(h*l),p=-Math.sqrt(g.K(1-w*w)),C=Math.atan2(w,p),t=l*w,q=h*f-a*l*p,t=Math.sqrt(t*t+q*q),p=a*f+h*l*p,q=Math.atan2(t,p),w=((-3*n+4)*A+4)*n*A/16,1E-14>g.K(u-k)?y=!1:(v=1E-15>g.K(n)?p-a*f/g.Ab(1E-15,n)*2:p-a*f/n*\n2,r=v*v));null!=e&&(u=Math.sqrt(1+(1/(b*b)-1)*n),u=(u-1)/(u+1),n=u*(1-.375*u*u),e.j=(1+u*u/4)/(1-u)*b*6378137*(q-n*t*(v+n/4*(p*(-1+2*r)-n/6*v*(-3+4*t*t)*(-3+4*r)))))}}};g.Oi=3.141592653589793;g.ss=1.5707963267948966;g.nA=6.283185307179586;g.hD=3.552713678800501E-15;return g}();c.qM=n})(r||(r={}));(function(c){var n=function(){return function(b){this.ue=b;this.ll=this.ue.getCode();0>this.ll&&(this.ll=0)}}();c.SZ=n;var g=function(){function b(a){void 0===a&&(a=null);this.Kh=null;this.nn=!1;null!==a&&\n(this.Kh=new n(a))}b.prototype.yc=function(){return null!=this.Kh?this.Kh.ll:0};b.prototype.Vf=function(){var a=new b;this.copyTo(a);return a};b.prototype.copyTo=function(a){a.Kh=this.Kh;a.nn=this.nn};b.prototype.Wv=function(){var a=this.Vf();a.kt();return a};b.prototype.kt=function(){this.nn=!this.nn};b.prototype.cn=function(){return null!=this.Kh?this.Kh.ue:null};b.prototype.BK=function(a){if(0>=a)throw c.g.F();if(a!=this.yc()){a=c.Tf.geogtran(a);if(null==a)throw c.g.F(\"Geogtran not found.\");this.Kh=\nnew n(a)}};b.prototype.mH=function(){return null==this.Kh?null:this.Kh.ue.toString()};b.prototype.getName=function(){if(null==this.Kh||null==this.Kh.ue)return\"\";var a=\"\";this.nn&&(a+=\"~\");return a+=this.Kh.ue.getName()};b.prototype.pY=function(a){if(null==a)throw c.g.F();var b=null;try{b=c.Tf.fromString(c.Vc.PE_TYPE_GEOGTRAN,a)}catch(f){throw c.g.F();}this.Kh=new n(b)};b.prototype.Eb=function(a){return a==this?!0:a instanceof b&&(!(0>=this.yc()||this.yc()!=a.yc())||this.cn().isEqual(a.cn()))?this.nn==\na.nn:!1};b.prototype.toString=function(){var a=toString();return 200<a.length?a.substring(0,197)+\"... (\"+a.length.toString()+\" characters)\":a};b.create=function(a,d){var f=new b;f.BK(a);d&&f.kt();return f};b.gG=function(a,d){var f=new b;f.pY(a);d&&f.kt();return f};return b}();c.io=g})(r||(r={}));(function(c){var n=function(){function b(){}b.pa=function(a,d,f,e){var c=new b;c.vn=a;c.wn=d;c.MI=f;c.NI=e;return c};b.Hs=function(a,b){return a.vn==b.vn?a.wn==b.wn?0:a.wn<b.wn?-1:1:a.vn<b.vn?-1:1};return b}(),\ng=function(){function b(){this.Hw=!1;this.OI=[];this.aB=[];this.jI=this.Hw=this.iI=!1;this.kq()}b.zo=function(){null==b.FG&&(b.FG=new b);return b.FG};b.c_=function(){return b.zo().Hw};b.f_=function(){return b.zo().jI};b.z_=function(a,d){if(a==d)return null;var f=b.zo();if(f.iI){var e=b.FA(f.aB,a,d);return null!=e?e:null}e=b.FA(f.aB,a,d);return null!=e?e:b.FA(f.OI,a,d)};b.gO=function(a,b,f,e,h){var l=c.ny.create();if(0<a)try{var k=c.io.create(a,b);if(0==k.yc())return null;l.add(k);if(0<f){var g=c.io.create(f,\ne);if(0==g.yc())return null;l.add(g)}h&&(l=l.Wv())}catch(w){l=null}return l};b.FA=function(a,d,f){if(d==f||0==a.length)return null;for(var e=n.pa(d,f,0,0),c=!1,l=!1,k=0,g=0,w=-1,p=0;p<a.length;p++)if(0===n.Hs(e,a[p])){w=p;break}if(0>w||a[w].vn!=e.vn||a[w].wn!=e.wn){e=n.pa(f,d,0,0);d=-1;for(p=0;p<a.length;p++)if(0===n.Hs(e,a[p])){d=p;break}0<=d&&a[d].vn==e.vn&&a[d].wn==e.wn&&(k=a[d].MI,g=a[d].NI,l=c=!0)}else k=a[w].MI,g=a[w].NI,c=!1,l=!0;if(!l)return null;0==k&&(k=g,g=0);e=a=!1;0>k&&(k=-k,a=!0);0>\ng&&(g=-g,e=!0);return b.gO(k,a,g,e,c)};b.prototype.kq=function(){this.CE(this.OI)&&(this.Hw=!0);this.CE(this.aB)&&(this.jI=!0);this.iI=!this.Hw};b.prototype.CE=function(a){try{for(var b=[],b=b.sort(n.Hs),f=0;f<b.length;f++)a.push(b[f])}catch(e){}return!0};b.Q_=function(){return null};return b}();c.RZ=g})(r||(r={}));(function(c){var n=function(){function c(){}c.prototype.My=function(b){this.Hi=b};c.prototype.OE=function(b){this.Mb=b};c.prototype.PE=function(b){this.np=b};c.KF=function(b){return b.u()||\n1607!=b.G()&&1736!=b.G()?!1:!0};c.IF=function(b){return b.u()||1607!=b.G()&&1736!=b.G()||20>b.D()?!1:!0};c.JF=function(b){return b.u()||1607!=b.G()&&1736!=b.G()||20>b.D()?!1:!0};return c}();c.wl=n})(r||(r={}));(function(c){var n=function(){function g(){}g.nX=function(b){var a=new c.Ja;a.$x(b.R.o,b.R.A);a.Xj(b.R.o,b.R.B);a.Xj(b.R.v,b.R.B);a.Xj(b.R.v,b.R.A);return a};g.Xg=function(b,a){return null===b?null:c.os.local().V(b,a,null)};g.hZ=function(b,a){var d=c.ei.local(),f=new c.hd(b);return d.V(f,a,\nnull).next()};g.Vm=function(b,a,d){return c.cq.local().V(b,a,d,null)};g.Pp=function(b,a,d){return c.uy.local().V(b,a,d,null)};g.PY=function(b,a,d){var f=c.uy.local();b=new c.hd(b);a=new c.hd(a);d=f.V(b,a,d,null);for(f=[];null!=(a=d.next());)f.push(a);return f};g.Eb=function(b,a,d){return c.Gj.local().V(3,b,a,d,null)};g.RR=function(b,a,d){return c.Gj.local().V(4,b,a,d,null)};g.MU=function(b,a,d){var f=c.tk.local();b=new c.hd(b);a=new c.hd(a);d=f.V(b,a,d,null);for(f=[];null!=(a=d.next());)f.push(a);\nreturn f};g.OR=function(b,a,d){var f=c.cq.local();b=new c.hd(b);a=new c.hd(a);d=f.V(b,a,d,null);for(f=[];null!=(a=d.next());)f.push(a);return f};g.Ma=function(b,a,d){return c.tk.local().V(b,a,d,null)};g.sZ=function(b,a,d){return c.Gj.local().V(2,b,a,d,null)};g.contains=function(b,a,d){return c.Gj.local().V(1,b,a,d,null)};g.zR=function(b,a,d){return c.Gj.local().V(16,b,a,d,null)};g.touches=function(b,a,d){return c.Gj.local().V(8,b,a,d,null)};g.pW=function(b,a,d){return c.Gj.local().V(32,b,a,d,null)};\ng.OU=function(b,a,d){return c.Gj.local().V(1073741824,b,a,d,null)};g.ZB=function(b,a,d,f){return c.qN.local().V(b,a,d,f,null)};g.Cb=function(b,a,d,f){var e=null;if(null!=d){if(e=d.Nd(),null!=f&&e.yc()!=f.yc()&&e.nd!=f.nd)throw c.g.vk();}else if(null!=f)throw c.g.F();b=c.iN.local().V(b,a,null);null!==e&&null!==f&&(b=c.oc.li(b,e,f));return b};g.clip=function(b,a,d){return c.cN.local().V(b,c.h.pa(a.R.o,a.R.A,a.R.v,a.R.B),d,null)};g.Hl=function(b,a,d){if(null==b||null==a)return null;b=c.eN.local().V(!0,\nb,a,d,null);for(a=[];null!=(d=b.next());)d.u()||a.push(d);return a.slice(0)};g.RP=function(b,a,d,f,e,h,l,k){if(!0===e)return g.ZM(b,a,d,f,h,l,k);e=d;if(null!=a){if(l=a.Nd(),null!=f&&l.yc()!=f.yc()){if(l.nd!=f.nd)throw c.g.vk();e=[];c.oc.eG(d,d.length,f,l,e)}}else if(null!=f)throw c.g.F();d=c.DD.local();if(h){b=new c.hd(b);a=d.V(b,a,e,h,null);for(b=[];null!=(h=a.next());)b.push(h);h=b.slice(0)}else for(h=[],f=0;f<b.length;f++)h[f]=d.V(b[f],a,e[f],null);return h};g.ZM=function(b,a,d,f,e,h,l){if(null===\na)throw c.g.F();if(null===f||void 0===f)f=4326!==a.yc()?a.Nd():c.oc.ze(9001);if(0!==f.nd)throw c.g.F();c.oc.eG(d,d.length,f,c.oc.ze(9001),d);f=c.JD.local();if(e){b=new c.hd(b);a=f.V(b,a,h,d,l,!1,e,null);for(d=[];null!=(h=a.next());)d.push(h);e=d.slice(0)}else{e=[];for(var k=0;k<b.length;k++)e[k]=f.V(b[k],a,h,d[k],l,!1,null)}return e};g.buffer=function(b,a,d,f,e,h,l){var k=d;if(!1===e){if(null!=a){if(e=a.Nd(),null!=f&&e.yc()!=f.yc()){if(e.nd!=f.nd)throw c.g.vk();k=c.oc.li(d,f,e)}}else if(null!=f)throw c.g.F();\nb=c.DD.local().V(b,a,k,null)}else{if(null===a)throw c.g.F();if(null===f||void 0===f)f=4326!==a.yc()?a.Nd():c.oc.ze(9001);if(0!==f.nd)throw c.g.F();k=c.oc.li(d,f,c.oc.ze(9001));b=c.JD.local().V(b,a,h,k,l,!1,null)}return b};g.nW=function(b,a,d,f,e,h,l){if(null!=a){var k=a.Nd();if(null!=l&&k.yc()!=l.yc()){if(k.nd!=l.nd)throw c.g.vk();d=c.oc.li(d,l,k)}}else if(null!=l)throw c.g.F();b=new c.hd(b);a=c.MD.local().V(b,a,d,f,e,h,null);for(d=[];null!=(f=a.next());)d.push(f);return d.slice(0)};g.offset=function(b,\na,d,f,e,h,l){if(null!=a){var k=a.Nd();if(null!=l&&k.yc()!=l.yc()){if(k.nd!=l.nd)throw c.g.vk();d=c.oc.li(d,l,k)}}else if(null!=l)throw c.g.F();return c.MD.local().V(b,a,d,f,e,h,null)};g.iR=function(b){return c.FD.local().V(b,null)};g.jR=function(b,a){for(var d=c.FD.local(),f=new c.hd(b),d=d.V(f,a,null),f=[],e;null!=(e=d.next());)f.push(e);return f};g.$z=function(b,a,d){return c.sy.local().$z(b,a,d)};g.aA=function(b,a){return c.sy.local().aA(b,a)};g.bA=function(b,a,d,f){return c.sy.local().bA(b,a,\nd,f)};g.DC=function(b,a){return c.Km.local().V(b,a,!1,null)};g.ZU=function(b,a){return c.Km.local().Wq(b,a,null)};g.HS=function(b,a,d,f,e){var h=c.HD.local();if(null!=a){if(a=a.Nd(),null!=e&&a.yc()!=e.yc()){if(a.nd!=e.nd)throw c.g.vk();d=c.oc.li(d,e,a)}}else if(null!=e)throw c.g.F();return h.V(b,d,f,null)};g.Ls=function(b,a,d,f){var e=c.Jm.local();if(null!=a){if(a=a.Nd(),null!=f&&a.yc()!=f.yc()){if(a.nd!=f.nd)throw c.g.vk();d=c.oc.li(d,f,a)}}else if(null!=f)throw c.g.F();return e.V(b,d,null)};g.Fz=\nfunction(b,a,d,f,e){void 0===e&&(e=0);var h=c.kN.local();if(4==e)throw c.g.df();if(0!==e)throw c.g.df();if(null!=a){var l=a.Nd();if(null!=f&&l.yc()!=f.yc()){if(l.nd!=f.nd)throw c.g.vk();d=c.oc.li(d,f,l)}}else if(null!=f)throw c.g.F();return h.V(b,d,a,e,null)};g.NS=function(b,a,d,f){if(null===b)return 0;if(4==f)throw c.g.df();if(0!==f)throw c.g.df();if(197==b.G())b=g.nX(b);else if(1736!=b.G())return 0;f=c.fb.kc(a);b=c.fb.Xg(b,a,f,null);b=c.rM.OS([b])[0];if(null!==d){if(2!==d.nd)throw c.g.F(\"Unit must be a area unit type\");\nb=c.oc.li(b,c.oc.ze(109404),d)}return b};g.RS=function(b,a,d,f){b=c.mN.local().V(b,a,f,null);if(null!==d){if(0!==d.nd)throw c.g.F(\"Unit must be a linear unit type\");b=c.oc.li(b,c.oc.ze(9001),d)}return b};g.xW=function(b,a,d){if(null===b)return 0;var f=null;if(null!=a){f=a.Nd();if(0==f.nd&&(f=c.oc.lH(f),null==f&&null!==d))throw c.g.F();if(null!=d&&f.yc()!=d.yc()&&f.nd!=d.nd)throw c.g.vk();}else if(null!=d)throw c.g.F();return 1736==b.G()||197==b.G()?(b=b.hf(),null!==d?c.oc.li(b,f,d):b):0};g.yW=function(b,\na,d){if(null===b||b.u()||1>b.tb())return 0;var f=null;if(null!=a){if(f=a.Nd(),null!=d&&f.yc()!=d.yc()&&f.nd!=d.nd)throw c.g.vk();}else if(null!=d)throw c.g.F();1736==b.G()||197==b.G()?a=b.Gg():c.T.Oc(b.G())?(a=new c.Ua(b.description),a.dc(b,!0)):a=b;b=0;a=a.Fa();for(var e=new c.b,h=new c.b;a.Ya();)for(;a.Ea();){var l=a.ba();l.Oq(e);l.Ps(h);b+=c.b.Cb(e,h)}null!==f&&null!==d&&(b=c.oc.li(b,f,d));return b};g.$Z=function(b,a){return c.Sd.QS(b,a)};g.dG=function(b){return void 0!==b.points?g.lW(b,void 0===\nb.hasZ?!1:b.hasZ,void 0===b.hasM?!1:b.hasM):void 0!==b.rings?g.wH(b.rings,void 0===b.hasZ?!1:b.hasZ,void 0===b.hasM?!1:b.hasM,\"P\"):void 0!==b.paths?g.wH(b.paths,void 0===b.hasZ?!1:b.hasZ,void 0===b.hasM?!1:b.hasM,\"L\"):void 0!==b.x?g.vW(b):void 0!==b.xmin?g.dW(b):null};g.vW=function(b){if(null==b.x||\"NaN\"==b.x)return new c.Wa;var a=new c.Wa(b.x,b.y);void 0!==b.z&&null!==b.z&&a.sY(b.z);void 0!==b.m&&null!==b.m&&a.cY(b.m);return a};g.dW=function(b){if(null==b.xmin||\"NaN\"==b.xmin)return new c.ci;var a=\nnew c.ci(b.xmin,b.ymin,b.xmax,b.ymax);void 0!==b.zmin&&null!==b.zmin&&a.setInterval(1,0,b.zmin,b.zmax);void 0!==b.mmin&&null!==b.mmin&&a.setInterval(2,0,b.mmin,b.mmax);return a};g.lW=function(b,a,d){var f=0,e=new c.Ed,h=3*b.points.length;0!=h%2&&h++;2>h&&(h=2);var l=c.J.truncate(3*b.points.length/2);4>l?l=4:16>l&&(l=16);for(var h=c.Uc.Um(h,0),k=c.Uc.Um(l),l=c.Uc.Um(l),g=0;g<b.points.length;g++)h.write(2*g,b.points[g][0]),h.write(2*g+1,b.points[g][1]),k.write(g,a||d?b.points[g][2]:NaN),l.write(g,d&&\na?b.points[g][3]:NaN),f++;0!=f&&(e.resize(f),e.Yn(0,h));a&&(e.Ud(1),e.Yn(1,k));d&&(e.Ud(2),e.Yn(2,0==a?k:l));e.Dc(16777215);return e};g.wH=function(b,a,d,f){var e,h=0,l=2;\"P\"==f?(e=new c.Ja,h=1,l=3):e=new c.Ua;for(var k=c.Uc.wh(0),g=c.Uc.vq(0),w=0,p=0,q=[],t=[],n=0;n<b.length;n++){var r=b[n].length;q[n]=!1;if(\"P\"===f&&b[n][0][0]===b[n][b[n].length-1][0]&&b[n][0][1]===b[n][b[n].length-1][1]){var v=0==d?!0:b[n][0][3]===b[n][b[n].length-1][3]||void 0===b[n][0][3]&&void 0===b[n][b[n].length-1][3];(0==\na||b[n][0][2]===b[n][b[n].length-1][2]||void 0===b[n][0][2]&&void 0===b[n][b[n].length-1][2])&&v&&(q[n]=!0,--r)}r>=l?(t[n]=!1,p+=1,k.add(w),g.add(h),w+=r):t[n]=!0}f=3*w;0!=f%2&&f++;2>f&&(f=2);n=c.J.truncate(3*w/2);4>n?n=4:16>n&&(n=16);f=c.Uc.Um(f,0);h=c.Uc.Um(n);l=c.Uc.Um(n);for(n=r=0;n<b.length;n++)if(!1===t[n])for(v=0;v<b[n].length;v++){var x=!1;v===b[n].length-1&&!0===q[n]&&(x=!0);x||(f.write(2*r,b[n][v][0]),f.write(2*r+1,b[n][v][1]),h.write(r,a||d?b[n][v][2]:NaN),l.write(r,d&&a?b[n][v][3]:NaN),\nr++)}0!=w&&(b=e,k.resize(p),g.resize(p),0<w&&(k.add(w),g.add(0)),b.Yn(0,f),b.GK(g),b.HK(k));a&&(e.Ud(1),e.Yn(1,h));d&&(e.Ud(2),e.Yn(2,0==a?h:l));e.Dc(16777215);return e};return g}();c.cc=n})(r||(r={}));(function(c){var n=function(){function c(){}c.Hm=function(b){var a=0,d,f=b.length,e=b[0],c;for(d=0;d<f-1;d++)c=b[d+1],a+=(c[0]-e[0])*(c[1]+e[1]),e=c;return 0<=a};c.rotate=function(b,a,d){a=a*Math.PI/180;var f=Math.cos(a),e=Math.sin(a);if(void 0!==b.paths){a={paths:[]};for(var h=0;h<b.paths.length;h++){for(var l=\nb.paths[h],k=[],m=0;m<l.length;m++){var w=l[m].slice(0);k.push(w);var p=f*(l[m][0]-d.x)-e*(l[m][1]-d.y)+d.x,q=e*(l[m][0]-d.x)+f*(l[m][1]-d.y)+d.y;w[0]=p;w[1]=q}a.paths.push(k)}return a}if(void 0!==b.rings){a={rings:[]};for(h=0;h<b.rings.length;h++){for(var l=b.rings[h],k=[],t=c.Hm(l),m=0;m<l.length;m++)w=l[m].slice(0),k.push(w),p=f*(l[m][0]-d.x)-e*(l[m][1]-d.y)+d.x,q=e*(l[m][0]-d.x)+f*(l[m][1]-d.y)+d.y,w[0]=p,w[1]=q;c.Hm(k)!==t&&k.reverse();a.rings.push(k)}return a}if(void 0!==b.x)return a={x:f*(b.x-\nd.x)-e*(b.y-d.y)+d.x,y:e*(b.x-d.x)+f*(b.y-d.y)+d.y},void 0!==b.z&&(a.z=b.z),void 0!==b.m&&(a.m=b.m),a;if(void 0!==b.points){a={points:[]};b=b.points;for(m=0;m<b.length;m++)h=b[m].slice(0),h[0]=f*(b[m][0]-d.x)-e*(b[m][1]-d.y)+d.x,h[1]=e*(b[m][0]-d.x)+f*(b[m][1]-d.y)+d.y,a.points.push(h);return a}return null};c.zG=function(b,a){var d,f;if(void 0!==b.paths){d={paths:[]};for(var e=0;e<b.paths.length;e++){for(var h=b.paths[e],l=[],k=0;k<h.length;k++){var m=h[k].slice(0);l.push(m);f=a.x-h[k][0];m[0]=h[k][0]+\n2*f}d.paths.push(l)}return d}if(void 0!==b.rings){d={rings:[]};for(e=0;e<b.rings.length;e++){for(var h=b.rings[e],w=c.Hm(h),l=[],k=0;k<h.length;k++)m=h[k].slice(0),l.push(m),f=a.x-h[k][0],m[0]=h[k][0]+2*f;c.Hm(l)!==w&&l.reverse();d.rings.push(l)}return d}if(void 0!==b.x)return f=a.x-b.x,d={x:b.x+2*f,y:b.y},void 0!==b.z&&(d.z=b.z),void 0!==b.m&&(d.m=b.m),d;if(void 0!==b.points){d={points:[]};e=b.points;for(k=0;k<e.length;k++)h=e[k].slice(0),f=a.x-h[0],h[0]+=2*f,d.points.push(h);return d}return void 0!==\nb.xmin?(d={o:b.xmin,A:b.ymin,v:b.xmax,B:b.ymax},void 0!==b.zmin&&(d.zmin=b.zmin,d.zmax=b.zmax),void 0!==b.mmin&&(d.mmin=b.mmin,d.mmax=b.mmax),f=a.x-b.xmin,d.xmax=b.xmin+2*f,f=a.x-b.xmax,d.xmin=b.xmax+2*f,d):null};c.AG=function(b,a){var d,f;if(void 0!==b.paths){d={paths:[]};for(var e=0;e<b.paths.length;e++){for(var h=b.paths[e],l=[],k=0;k<h.length;k++){var m=h[k].slice(0);l.push(m);f=a.y-h[k][1];m[1]=h[k][1]+2*f}d.paths.push(l)}return d}if(void 0!==b.rings){d={rings:[]};for(e=0;e<b.rings.length;e++){for(var h=\nb.rings[e],w=c.Hm(h),l=[],k=0;k<h.length;k++)m=h[k].slice(0),l.push(m),f=a.y-h[k][1],m[1]=h[k][1]+2*f;c.Hm(l)!==w&&l.reverse();d.rings.push(l)}return d}if(void 0!==b.x)return f=a.y-b.y,d={y:b.y+2*f,x:b.x},void 0!==b.z&&(d.z=b.z),void 0!==b.m&&(d.m=b.m),d;if(void 0!==b.points){d={points:[]};e=b.points;for(k=0;k<e.length;k++)h=e[k].slice(0),f=a.y-h[1],h[1]+=2*f,d.points.push(h);return d}return void 0!==b.xmin?(d={o:b.xmin,A:b.ymin,v:b.xmax,B:b.ymax},void 0!==b.zmin&&(d.zmin=b.zmin,d.zmax=b.zmax),void 0!==\nb.mmin&&(d.mmin=b.mmin,d.mmax=b.mmax),f=a.y-b.ymin,d.ymax=b.ymin+2*f,f=a.y-b.ymax,d.ymin=b.ymax+2*f,d):null};return c}();c.Wp=n})(r||(r={}));(function(c){var n=function(){function g(){}g.bh=function(b,a){var d=a;null==d&&(d=c.ye.Ig());switch(b){case 33:return new c.Wa(d);case 322:return new c.Hb(d);case 197:return new c.ci(d);case 550:return new c.Ed(d);case 1607:return new c.Ua(d);case 1736:return new c.Ja(d);default:throw c.g.X(\"invalid argument.\");}};return g}();c.vM=n})(r||(r={}));(function(c){var n=\nfunction(){function g(b,a){this.tf=c.ia.zd(b,-1);this.va=new c.Lu;this.bm=a}g.prototype.yX=function(b){this.va.pu(Math.min(this.tf.size,b));this.va.Vn(b)};g.prototype.addElement=function(b,a){if(void 0===a)return this.dP(b);var d=c.J.truncate(a%this.tf.size),f=this.tf.get(d);-1==f&&(f=this.va.mi(),this.tf.set(d,f));return this.va.addElement(f,b)};g.prototype.dP=function(b){var a=this.bm.Wz(b),a=c.J.truncate(a%this.tf.size),d=this.tf.get(a);-1==d&&(d=this.va.mi(),this.tf.set(a,d));return this.va.addElement(d,\nb)};g.prototype.kd=function(b,a){if(void 0===a)this.HR(b);else{var d=c.J.truncate(a%this.tf.size),f=this.tf.get(d);if(-1==f)throw c.g.F();for(var e=this.va.xc(f),h=-1;-1!=e;){var l=this.va.nb(e);this.va.ja(e)==b?(this.va.kd(f,h,e),-1==this.va.xc(f)&&(this.va.zh(f),this.tf.set(d,-1))):h=e;e=l}}};g.prototype.HR=function(b){var a=this.bm.Wz(b),a=c.J.truncate(a%this.tf.size),d=this.tf.get(a);if(-1==d)throw c.g.F();for(var f=this.va.xc(d),e=-1;-1!=f;){var h=this.va.nb(f);this.va.ja(f)==b?(this.va.kd(d,\ne,f),-1==this.va.xc(d)&&(this.va.zh(d),this.tf.set(a,-1))):e=f;f=h}};g.prototype.iT=function(b){b=c.J.truncate(b%this.tf.size);b=this.tf.get(b);return-1==b?-1:this.va.xc(b)};g.prototype.yT=function(b){return this.va.nb(b)};g.prototype.Kd=function(b){var a=this.bm.Wz(this.ja(b)),a=c.J.truncate(a%this.tf.size),d=this.tf.get(a);if(-1==d)throw c.g.F();for(var f=this.va.xc(d),e=-1;-1!=f;){if(f==b){this.va.kd(d,e,f);-1==this.va.xc(d)&&(this.va.zh(d),this.tf.set(a,-1));return}e=f;f=this.va.nb(f)}throw c.g.F();\n};g.prototype.ja=function(b){return this.va.ja(b)};g.prototype.clear=function(){this.tf=c.ia.zd(this.tf.size,-1);this.va.clear()};g.prototype.size=function(){return this.va.eH()};return g}();c.FM=n})(r||(r={}));(function(c){var n=function(){function g(){this.kj=new c.ad(3);this.va=new c.ad(6);this.tV=!1;this.Ge=-1}g.prototype.Kl=function(b){this.kj.kd(b)};g.prototype.Bx=function(){return this.kj.Pe()};g.prototype.Pv=function(b){this.va.kd(b)};g.prototype.GB=function(){return this.va.Pe()};g.prototype.vC=\nfunction(b,a){this.kj.P(b,1,a)};g.prototype.Qx=function(b,a){this.kj.P(b,2,a)};g.prototype.bY=function(b,a){this.kj.P(b,3,a)};g.prototype.tC=function(b,a){this.va.P(b,4,a)};g.prototype.eY=function(b,a){this.va.P(b,3,a)};g.prototype.KK=function(b,a){this.va.P(b,2,a)};g.prototype.mi=function(b){var a=this.GB();this.va.P(a,3,this.Ge);this.va.P(a,4,0);this.va.P(a,5,b);-1!=this.Ge&&this.KK(this.Ge,a);return this.Ge=a};g.prototype.zh=function(b){this.RF(b);var a=this.va.S(b,2),d=this.va.S(b,3);-1!=a?this.eY(a,\nd):this.Ge=d;-1!=d&&this.KK(d,a);this.Pv(b);return d};g.prototype.pu=function(b){this.va.Qe(b)};g.prototype.$G=function(b){return this.va.S(b,5)};g.prototype.aY=function(b,a){this.va.P(b,5,a)};g.prototype.addElement=function(b,a){return this.pU(b,a)};g.prototype.pU=function(b,a){var d=this.Bx();this.Qx(d,-1);-1==this.va.S(b,0)&&this.va.P(b,0,d);var f=this.va.S(b,1);this.vC(d,f);-1!=f&&this.Qx(f,d);this.va.P(b,1,d);this.setData(d,a);this.tC(b,this.at(b)+1);this.tV&&this.bY(d,b);return d};g.prototype.kd=\nfunction(b,a){var d=this.Ve(a),f=this.nb(a);-1!=d?this.Qx(d,f):this.va.P(b,0,f);-1!=f?this.vC(f,d):this.va.P(b,1,d);this.Kl(a);this.tC(b,this.at(b)-1);return f};g.prototype.Vn=function(b){this.kj.Qe(b)};g.prototype.getData=function(b){return this.kj.S(b,0)};g.prototype.setData=function(b,a){this.kj.P(b,0,a)};g.prototype.nb=function(b){return this.kj.S(b,2)};g.prototype.Ve=function(b){return this.kj.S(b,1)};g.prototype.xc=function(b){return this.va.S(b,0)};g.prototype.Fc=function(b){return this.va.S(b,\n1)};g.prototype.clear=function(){for(var b=this.Ge;-1!=b;)b=this.zh(b)};g.prototype.RF=function(b){for(var a=this.Fc(b);-1!=a;){var d=a,a=this.Ve(d);this.Kl(d)}this.va.P(b,0,-1);this.va.P(b,1,-1);this.tC(b,0)};g.prototype.u=function(){return 0==this.kj.size};g.prototype.eH=function(){return this.kj.size};g.prototype.at=function(b){return this.va.S(b,4)};g.prototype.cA=function(b){return this.va.S(b,3)};return g}();c.Xp=n})(r||(r={}));(function(c){var n=function(){function g(b){void 0===b?(this.Qg=\nnew c.ad(2),this.va=new c.ad(4),this.Ge=-1,this.Cw=!0):(this.Qg=new c.ad(2),this.va=new c.ad(b?4:2),this.Ge=-1,this.Cw=b)}g.prototype.Kl=function(b){this.Qg.kd(b)};g.prototype.Bx=function(){return this.Qg.Pe()};g.prototype.Pv=function(b){this.va.kd(b)};g.prototype.GB=function(){return this.va.Pe()};g.prototype.mi=function(){var b=this.GB();this.Cw&&(this.va.P(b,3,this.Ge),-1!=this.Ge&&this.va.P(this.Ge,2,b),this.Ge=b);return b};g.prototype.zh=function(b){for(var a=this.xc(b);-1!=a;){var d=a,a=this.nb(a);\nthis.Kl(d)}this.Cw&&(a=this.va.S(b,2),d=this.va.S(b,3),-1!=a?this.va.P(a,3,d):this.Ge=d,-1!=d&&this.va.P(d,2,a));this.Pv(b)};g.prototype.pu=function(b){this.va.Qe(b)};g.prototype.addElement=function(b,a){var d=this.va.S(b,1),f=this.Bx();-1!=d?this.Qg.P(d,1,f):this.va.P(b,0,f);this.va.P(b,1,f);this.Qg.P(f,0,a);return f};g.prototype.Vn=function(b){this.Qg.Qe(b)};g.prototype.kd=function(b,a,d){-1!=a?(this.Qg.P(a,1,this.Qg.S(d,1)),this.va.S(b,1)==d&&this.va.P(b,1,a)):(this.va.P(b,0,this.Qg.S(d,1)),this.va.S(b,\n1)==d&&this.va.P(b,1,-1));this.Kl(d)};g.prototype.mz=function(b,a){var d=this.va.S(b,1),f=this.va.S(a,0);-1!=f&&(-1!=d?this.Qg.P(d,1,f):this.va.P(b,0,f),this.va.P(b,1,this.va.S(a,1)));this.Cw&&(d=this.va.S(a,2),f=this.va.S(a,3),-1!=d?this.va.P(d,3,f):this.Ge=f,-1!=f&&this.va.P(f,2,d));this.Pv(a)};g.prototype.ja=function(b){return this.Qg.S(b,0)};g.prototype.kk=function(b,a){this.Qg.P(b,0,a)};g.prototype.nb=function(b){return this.Qg.S(b,1)};g.prototype.xc=function(b){return this.va.S(b,0)};g.prototype.yo=\nfunction(b){return this.ja(this.xc(b))};g.prototype.clear=function(){this.Qg.Vi(!0);this.va.Vi(!0);this.Ge=-1};g.prototype.u=function(b){return void 0===b?0==this.Qg.size:-1==this.va.S(b,0)};g.prototype.eH=function(){return this.Qg.size};g.prototype.cA=function(b){return this.va.S(b,3)};return g}();c.Lu=n})(r||(r={}));(function(c){var n=function(){function g(){}g.$D=function(b,a,d,f,e,h,l){var k=new c.b;k.L(b);b=new c.b;b.L(a);e.Ny(k);e.Ny(b);a=e.Wu(k);var m=e.Wu(b);0==m&&(m=e.ZG());if(k.x!=b.x&&\n(k.y!=b.y||k.y!=e.A&&k.y!=e.B)||m>a!=h){a=e.AE(k);var m=e.AE(b),w,p=h?1:3;do a=a+p&3,w=e.Gx(a),0!=l&&(f=g.$D(k,w,d,f,e,h,l)),d[f++].ka(w.x,w.y),k=w;while((a&3)!=m);0!=l&&(f=g.$D(k,b,d,f,e,h,l))}else if(e=new c.b,e.ka(b.x-k.x,b.y-k.y),0!=l&&(l=c.J.truncate(e.SO()/l),0<l))for(e.scale(1/(l+1)),h=0;h<l;h++)k.add(e),d[f++].ka(k.x,k.y);return f};g.be=function(b,a,d){a=a.no();b=null!=b&&void 0!==b.re?b.re(0):0;d&&(a*=4,b*=1.1);return Math.max(b,a)};g.Cs=function(b){return 2*Math.sqrt(2)*b};g.sP=function(b){return Math.sqrt(2)*\nb};g.ah=function(b,a,d){var f=new c.h;a.s(f);return g.be(b,f,d)};g.GF=function(b,a,d){a=a.xf(1,0).no();b=null!=b?b.re(1):0;d&&(a*=4,b*=1.1);return Math.max(b,a)};g.a_=function(b,a){var d=new c.h;b.ac(d);d.Nb(a);return d};g.Zv=function(b,a){var d=new c.h;b.ac(d);var f=new c.h;a.ac(f);d.Nb(f);return d};g.j_=function(b,a){var d=b.nT(a),f=b.wa(a),e=b.Gc(a),h=b.Ba(d);d==f?(e=b.Ba(e-1),d=b.Ba(f+1)):d==e-1?(e=b.Ba(d-1),d=b.Ba(f)):(e=b.Ba(d-1),d=b.Ba(d+1));h=c.b.zp(e,h,d);return 0==h?0<b.Sm(a):-1==h};g.bQ=\nfunction(b){var a=new c.h;b.ac(a);if(a.u())return null;var d=new c.gq(a,8),f=-1,e=new c.h,h=!1;do for(var l=0,k=b.aa();l<k;l++)if(b.jk(l,e),f=d.lw(l,e,f),-1==f){if(h)throw c.g.X(\"internal error\");b.uo(a,!1);h=!0;d.reset(a,8);break}else h=!1;while(h);return d};g.BF=function(b){var a=new c.h;b.ac(a);for(var d=new c.gq(a,8),f=-1,e=b.Fa(),h=new c.h,l=!1;e.Ya();)for(;e.Ea();){var k=e.ba(),g=e.Db();k.s(h);f=d.lw(g,h,f);if(-1==f){if(l)throw c.g.za();b.uo(a,!1);l=!0;d.reset(a,8);e.yj();break}}return d};g.Lj=\nfunction(b,a){var d=new c.h;b.ac(d);for(var f=new c.gq(d,8),e=-1,h=new c.h,l=b.Fa(),k=!1;l.Ya();)for(;l.Ea();){var g=l.ba(),w=l.Db();g.s(h);if(h.Yb(a)&&(e=f.lw(w,h,e),-1==e)){if(k)throw c.g.X(\"internal error.\");b.uo(d,!1);k=!0;f.reset(d,8);l.yj();break}}return f};g.S_=function(b){var a=new c.h;b.ac(a);for(var d=new c.gq(a,8),f=new c.b,e=new c.h,h=!1,l=0;l<b.D();l++)if(b.w(l,f),e.I(f),-1==d.eh(l,e)){if(h)throw c.g.za();b.uo(a,!1);h=!0;d.reset(a,8);l=-1}return d};g.CF=function(b,a){for(var d=new c.gq(a,\n8),f=new c.b,e=!1,h=new c.h,l=0;l<b.D();l++)if(b.w(l,f),a.contains(f)&&(h.I(f),-1==d.eh(l,h))){if(e)throw c.g.za();e=!0;l=new c.h;b.uo(l,!1);d.reset(l,8);l=-1}return d};g.dT=function(b,a,d){var f=new c.h,e=new c.h;b.ac(f);a.ac(e);f.O(d,d);e.O(d,d);var h=new c.h;h.I(f);h.Ma(e);b=b.Fa();a=a.Fa();var l=new c.gD;l.zC(d);var k=!1;for(l.bL();b.Ya();)for(;b.Ea();)b.ba().s(f),f.Yb(h)&&(k=!0,d=new c.h,d.I(f),l.$E(b.Db(),d));l.uG();if(!k)return null;f=!1;for(l.aL();a.Ya();)for(;a.Ea();)a.ba().s(e),e.Yb(h)&&\n(f=!0,d=new c.h,d.I(e),l.WE(a.Db(),d));l.tG();return f?l:null};g.eT=function(b,a,d,f,e){var h=b.G(),l=a.G(),k=new c.h,g=new c.h;b.ac(k);a.ac(g);k.O(d,d);g.O(d,d);var w=new c.h;w.I(k);w.Ma(g);var p=new c.gD;p.zC(d);var q=!1;p.bL();var t=0;for(d=b.aa();t<d;t++)if(!f||1736!=h||b.rw(t))b.jk(t,k),k.Yb(w)&&(q=!0,p.$E(t,k));p.uG();if(!q)return null;b=!1;p.aL();f=0;for(d=a.aa();f<d;f++)if(!e||1736!=l||a.rw(f))a.jk(f,g),g.Yb(w)&&(b=!0,p.WE(f,g));p.tG();return b?p:null};g.o_=function(b,a){return 0<b.Lk(a)};\ng.R_=function(b,a){var d=new c.h;b.iX(a,d);var d=new c.gq(d,8),f=-1,e=new c.h,h=b.Fa();h.fC(a);if(h.Ya())for(;h.Ea();){var l=h.ba(),k=h.Db();l.ac(e);f=d.lw(k,e,f);if(-1==f)throw c.g.X(\"internal error\");}return d};g.Fv=function(b,a,d){if(b!=a)for(var f=0;f<d;f++)null==b[f]?b[f]=c.b.El(a[f]):b[f].L(a[f])};g.oz=function(b,a,d,f){var e=0;for(f+=0;e<f;d++,e++)null==b[e]&&(b[e]=[0,0]),b[e][0]=a[d].x,b[e][1]=a[d].y};g.nz=function(b,a,d,f){var e=a,h=0;for(a=f+a;e<a;h++,e++)null==b[e]?b[e]=c.b.pa(d[h][0],\nd[h][1]):b[e].ka(d[h][0],d[h][1])};g.kR=function(b,a,d){if(b!=a)for(var f=0;f<d;f++)null==b[f]?b[f]=new c.Wa(a[f]):a[f].copyTo(b[f])};g.FP=function(b,a,d,f){var e=f.ca;f=f.ha;for(var c=0;c<a;c+=d){var l=b.read(c);l<e?b.write(c,e):l>f&&b.write(c,f)}};g.vP=function(b,a,d,f){var e=f.ca;f=f.ha;for(var c=0;c<a;c+=d){var l=b.read(c);l<e?b.write(c,e):l>f&&b.write(c,f)}};g.UK=function(b,a,d){if(b.hasAttribute(d)){var f=b.G();if(c.T.gh(f)){var e=c.ma.si(d),f=c.ma.Xa(d),h=b.D();if(1==e){b=b.Pa(d);g.FP(b,h*\nf,f,a);return}if(2==e){b=b.Pa(d);g.vP(b,h*f,f,a);return}throw c.g.X(\"snap_coordinate not implemented\");}if(197==f)h=b.xf(d,0),f=!1,h.ca<a.ca&&(f=!0,h.ca=a.ca),h.ha>a.ha&&(f=!0,h.ha=a.ha),f&&b.setInterval(d,0,h);else if(33==f)h=b.Yc(d,0),f=!1,h<a.ca&&(f=!0,h=a.ca),h>a.ha&&(f=!0,h=a.ha),f&&b.setAttribute(d,0,h);else if(c.T.Oc(f))h=b.dt(d,0),f=!1,h<a.ca&&(f=!0,h=a.ca),h>a.ha&&(f=!0,h=a.ha),f&&b.Tx(d,0,h),h=b.Os(d,0),h<a.ca&&(f=!0,h=a.ca),h>a.ha&&(f=!0,h=a.ha),f&&b.Lx(d,0,h);else throw c.g.X(\"snap_coordinate not implemented\");\n}};g.jo=function(b,a,d,f,e){var c=0;null!=a&&(c=a.re(b),e&&!f||null==a||(c+=1.01*a.gA(b)));f&&(d*=4,c*=1.01);return Math.max(c,d)};g.T_=function(b,a,d,f){a=c.h.DO(a.Be(),a.nf(),d.Be(),d.nf());return g.jo(0,b,a,f,!1)};g.Zy=function(b,a,d){a=a.no();return g.jo(0,b,a,d,!1)};g.U_=function(b,a,d){a=a.no();return g.jo(1,b,a,d,!1)};g.hQ=function(b,a){var d=new c.h;a.s(d);return g.Zy(b,d,!0)};g.$y=function(b,a){var d=a.no();return g.jo(0,b,d,!1,!0)};g.V_=function(b,a,d){a=a.no();return g.jo(1,b,a,d,!0)};\ng.vv=function(b,a){var d=new c.h;a.s(d);return g.$y(b,d)};g.NH=function(b,a,d,f){f*=f;var e=new c.b;e.zc(b,a);b=new c.b;b.zc(d,a);a=e.qk();d=b.qk();if(a<=f&&d<=f)return!0;var h=c.Ub.Yx(e.Ui(b));return h<=f*a||h<=f*d?0<=e.oi(b):!1};g.VK=function(b,a,d,f){for(var e=0;e<a;e++){var h=b[e].y,l=c.J.pk(h,d,f);l!=h&&(b[e].y=l)}};return g}();c.na=n})(r||(r={}));(function(c){var n=function(){function a(b){this.ab=b}a.prototype.compare=function(a,b,f){a=a.ja(f);f=this.ab.Pk(b);var c=this.ab.Pk(a);return f<c?\n-1:f==c?d.Vq(b)&&d.tw(a)?-1:d.Vq(a)&&d.tw(b)?1:0:1};return a}(),g=function(){function a(b){this.ab=b}a.prototype.hs=function(a,b,d){this.ab.BY(d,a,b)};a.prototype.Qq=function(a){return this.ab.Pk(a)};return a}(),b;(function(a){a[a.initialize=0]=\"initialize\";a[a.pIn=1]=\"pIn\";a[a.pL=2]=\"pL\";a[a.pR=3]=\"pR\";a[a.pT=4]=\"pT\";a[a.right=5]=\"right\";a[a.left=6]=\"left\";a[a.all=7]=\"all\"})(b||(b={}));var a=function(){function a(){this.ab=null;this.pj=new c.Ac;this.oh=new c.ia(0);this.Og=[0,0]}a.prototype.Ni=function(a,\nb){this.pj.ca=a.ca-b;this.pj.ha=a.ha+b;this.oh.resize(0);this.Ee=0;this.Og[0]=0};a.prototype.eC=function(a,b,d){if(a>b)throw c.g.F();this.pj.ca=a-d;this.pj.ha=b+d;this.oh.resize(0);this.Ee=0;this.Og[0]=0};a.prototype.Wn=function(a,b){this.pj.ca=a-b;this.pj.ha=a+b;this.oh.resize(0);this.Ee=0;this.Og[0]=0};a.prototype.next=function(){if(!this.ab.ar)throw c.g.Da();if(0>this.Ee)return-1;for(var a=!0;a;)switch(this.Og[this.Ee]){case 1:a=this.qW();break;case 2:a=this.rW();break;case 3:a=this.sW();break;\ncase 4:a=this.tW();break;case 5:a=this.DX();break;case 6:a=this.mV();break;case 7:a=this.wP();break;case 0:a=this.rA();break;default:throw c.g.za();}return-1!=this.jh?this.Gq()>>1:-1};a.CZ=function(b,d,c){var k=new a;k.ab=b;k.oh.yb(20);k.Ni(d,c);return k};a.DZ=function(b,d,c){var k=new a;k.ab=b;k.oh.yb(20);k.Wn(d,c);return k};a.pa=function(b){var d=new a;d.ab=b;d.oh.yb(20);d.Ee=-1;return d};a.prototype.rA=function(){this.jh=this.HI=this.lj=this.Sc=-1;if(null!=this.ab.Je&&0<this.ab.Je.size)return this.Og[0]=\n1,this.lj=this.ab.Mf,!0;this.Ee=-1;return!1};a.prototype.qW=function(){this.Sc=this.lj;if(-1==this.Sc)return this.jh=this.Ee=-1,!1;var a=this.ab.Hq(this.Sc);if(this.pj.ha<a)return a=this.ab.Ok(this.Sc),this.lj=this.ab.Qj(this.Sc),-1!=a&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=6),!0;if(a<this.pj.ca)return a=this.ab.Ok(this.Sc),this.lj=this.ab.Nk(this.Sc),-1!=a&&(this.Ei=this.ab.Zs(a),this.Og[++this.Ee]=5),!0;this.Og[this.Ee]=2;this.HI=this.Sc;a=this.ab.Ok(this.Sc);this.lj=this.ab.Qj(this.Sc);-1!=\na&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=7);return!0};a.prototype.rW=function(){this.Sc=this.lj;if(-1==this.Sc)return this.Og[this.Ee]=3,this.lj=this.ab.Nk(this.HI),!0;if(this.ab.Hq(this.Sc)<this.pj.ca){var a=this.ab.Ok(this.Sc);this.lj=this.ab.Nk(this.Sc);-1!=a&&(this.Ei=this.ab.Zs(a),this.Og[++this.Ee]=5);return!0}a=this.ab.Ok(this.Sc);this.lj=this.ab.Qj(this.Sc);-1!=a&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=7);a=this.ab.Nk(this.Sc);-1!=a&&this.oh.add(a);return!0};a.prototype.sW=function(){this.Sc=\nthis.lj;if(-1==this.Sc)return this.Og[this.Ee]=4,!0;if(this.pj.ha<this.ab.Hq(this.Sc)){var a=this.ab.Ok(this.Sc);this.lj=this.ab.Qj(this.Sc);-1!=a&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=6);return!0}a=this.ab.Ok(this.Sc);this.lj=this.ab.Nk(this.Sc);-1!=a&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=7);a=this.ab.Qj(this.Sc);-1!=a&&this.oh.add(a);return!0};a.prototype.tW=function(){if(0==this.oh.size)return this.jh=this.Ee=-1,!1;this.Sc=this.oh.get(this.oh.size-1);this.oh.resize(this.oh.size-1);var a=\nthis.ab.Ok(this.Sc);-1!=a&&(this.Ei=this.ab.Ol(a),this.Og[++this.Ee]=7);-1!=this.ab.Qj(this.Sc)&&this.oh.add(this.ab.Qj(this.Sc));-1!=this.ab.Nk(this.Sc)&&this.oh.add(this.ab.Nk(this.Sc));return!0};a.prototype.mV=function(){this.jh=this.Ei;if(-1!=this.jh&&d.Vq(this.Gq())&&this.ab.Pk(this.Gq())<=this.pj.ha)return this.Ei=this.dH(),!1;this.Ee--;return!0};a.prototype.DX=function(){this.jh=this.Ei;if(-1!=this.jh&&d.tw(this.Gq())&&this.ab.Pk(this.Gq())>=this.pj.ca)return this.Ei=this.KT(),!1;this.Ee--;\nreturn!0};a.prototype.wP=function(){this.jh=this.Ei;if(-1!=this.jh&&d.Vq(this.Gq()))return this.Ei=this.dH(),!1;this.Ee--;return!0};a.prototype.dH=function(){return this.ab.pg?this.ab.vg.nb(this.jh):this.ab.sj.nb(this.jh)};a.prototype.KT=function(){return this.ab.pg?this.ab.vg.Ve(this.jh):this.ab.sj.Ve(this.jh)};a.prototype.Gq=function(){return this.ab.pg?this.ab.vg.ja(this.jh):this.ab.sj.getData(this.jh)};return a}();c.WZ=a;var d=function(){function b(a){this.on=this.zi=this.vg=this.sj=this.xn=this.ak=\nthis.Je=this.bk=null;this.pg=a;this.ar=this.Ew=!1}b.prototype.cs=function(){this.ql(!0)};b.prototype.zs=function(a,b){if(!this.Ew)throw c.g.Da();this.bk.push(new c.Ac(a,b))};b.prototype.yq=function(){if(!this.Ew)throw c.g.X(\"invalid call\");this.Ew=!1;this.ar=!0;this.pg||(this.rU(),this.Mw=this.bk.length)};b.prototype.eh=function(a){if(!this.pg||!this.ar)throw c.g.F(\"invalid call\");if(-1==this.Mf){var b=this.bk.length;if(this.SA){var d=new c.ia(0);d.yb(2*b);this.VJ(d);this.zi.yb(2*b);this.zi.resize(0);\nthis.UJ(d);this.xn.resize(b,-1);this.xn.Zh(-1,0,b);this.SA=!1}else this.xn.Zh(-1,0,b);this.Mf=this.Hv()}b=this.DH(a<<1,this.Mf);d=this.vg.addElement((a<<1)+1,this.iA(b));this.MK(b,d);this.xn.set(a,b);this.Mw++};b.prototype.remove=function(a){if(!this.pg||!this.ar)throw c.g.X(\"invalid call\");var b=this.xn.get(a);if(-1==b)throw c.g.F(\"the interval does not exist in the interval tree\");this.xn.set(a,-1);this.Mw--;var d=this.iA(b),f;f=this.vg.TT(d);this.vg.Kd(this.rT(b),d);this.vg.Kd(this.NT(b),d);a=\nthis.vg.size(d);0==a&&(this.vg.JR(d),this.PK(f,-1));this.ak.kd(b);for(var d=this.fH(f),g=this.Qj(f),w=this.Nk(f),b=0;!(0<a||f==this.Mf||-1!=g&&-1!=w);)f==this.Qj(d)?-1!=g?(this.rl(d,g),this.mk(g,d),this.rl(f,-1)):-1!=w?(this.rl(d,w),this.mk(w,d),this.tl(f,-1)):this.rl(d,-1):-1!=g?(this.tl(d,g),this.mk(g,d),this.rl(f,-1)):-1!=w?(this.tl(d,w),this.mk(w,d),this.tl(f,-1)):this.tl(d,-1),this.mk(f,-1),b++,f=d,d=this.Ok(f),a=-1!=d?this.vg.size(d):0,g=this.Qj(f),w=this.Nk(f),d=this.fH(f)};b.prototype.reset=\nfunction(){if(!this.pg||!this.ar)throw c.g.F(\"invalid call\");this.ql(!1)};b.prototype.size=function(){return this.Mw};b.prototype.mf=function(){return a.pa(this)};b.prototype.VJ=function(a){for(var b=this.bk.length,d=0;d<2*b;d++)a.add(d);this.CY(a,2*b)};b.prototype.UJ=function(a){for(var b=NaN,d=0;d<a.size;d++){var f=a.get(d),c=this.Pk(f);c!=b&&(this.zi.add(f),b=c)}};b.prototype.rU=function(){var a=this.bk.length,b=new c.ia(0);b.yb(2*a);this.VJ(b);this.zi.yb(2*a);this.zi.resize(0);this.UJ(b);this.ak.Qe(a);\nthis.sj.Vn(2*a);var d=c.Uc.wh(a);d.Zh(-1,0,a);this.Mf=this.Hv();for(a=0;a<b.size;a++){var f=b.get(a),g=d.get(f>>1);-1!=g?this.MK(g,this.sj.addElement(this.iA(g),f)):(g=this.DH(f,this.Mf),d.set(f>>1,g))}};b.prototype.DH=function(a,b){var d=b,f=b,g=b,w,p=-1,q=0,t=this.zi.size-1,n=0,r=a>>1,v=NaN,x=NaN;w=!0;for(var B=this.xT(r),r=this.uT(r);w;){q<t?(n=q+c.J.truncate((t-q)/2),-1==this.Qz(d)&&this.vK(d,this.zi.get(n),this.zi.get(n+1))):-1==this.Qz(d)&&this.vK(d,this.zi.get(q),this.zi.get(q));var y=this.Hq(d);\nif(r<y)-1!=g&&(g==d?(f=d,v=y,g=this.Qj(d),-1!=g?x=this.Hq(g):x=NaN):x>y&&(y<v?this.rl(f,d):this.tl(f,d),this.tl(d,g),this.pg&&(this.mk(d,f),this.mk(g,d)),f=d,v=y,g=-1,x=NaN)),t=this.sT(d),-1==t&&(t=this.Hv(),this.ZX(d,t)),d=t,t=n;else if(B>y)-1!=g&&(g==d?(f=d,v=y,g=this.Nk(d),-1!=g?x=this.Hq(g):x=NaN):x<y&&(y<v?this.rl(f,d):this.tl(f,d),this.rl(d,g),this.pg&&(this.mk(d,f),this.mk(g,d)),f=d,v=y,g=-1,x=NaN)),q=this.OT(d),-1==q&&(q=this.Hv(),this.jY(d,q)),d=q,q=n+1;else{w=this.Ok(d);-1==w&&(w=this.xR(d),\nthis.PK(d,w));var A=this.eP(w,a),p=this.vR();this.mY(p,w);this.YX(p,A);d!=g&&(y<v?this.rl(f,d):this.tl(f,d),this.pg&&this.mk(d,f),-1!=g&&(x<y?this.rl(d,g):this.tl(d,g),this.pg&&this.mk(g,d)));w=!1}}return p};b.prototype.Hv=function(){return this.Je.Pe()};b.prototype.xR=function(a){return this.pg?this.vg.Ks(a):this.sj.mi(a)};b.prototype.vR=function(){return this.ak.Pe()};b.prototype.ql=function(a){a?(this.Ew=this.SA=!0,this.ar=!1,null==this.zi?this.zi=c.Uc.wh(0):this.zi.resize(0),null==this.bk?this.bk=\n[]:this.bk.length=0):this.SA=!1;this.pg?null==this.xn?(this.xn=c.Uc.wh(0),this.vg=new c.uk,this.vg.Ep(new n(this))):this.vg.clear():null==this.sj?this.sj=new c.Xp:this.sj.clear();null==this.Je?(this.ak=new c.ad(3),this.Je=new c.ad(this.pg?8:7)):(this.ak.Vi(!1),this.Je.Vi(!1));this.Mf=-1;this.Mw=0};b.prototype.vK=function(a,b,d){this.TX(a,b);this.UX(a,d)};b.prototype.Hq=function(a){var b=this.Qz(a);if(-1==b)return NaN;b=this.Pk(b);a=this.Pk(this.ZS(a));return b==a?b:.5*(b+a)};b.prototype.TX=function(a,\nb){this.Je.P(a,0,b)};b.prototype.UX=function(a,b){this.Je.P(a,1,b)};b.prototype.ZX=function(a,b){this.Je.P(a,3,b)};b.prototype.jY=function(a,b){this.Je.P(a,4,b)};b.prototype.PK=function(a,b){this.Je.P(a,2,b)};b.prototype.rl=function(a,b){this.Je.P(a,5,b)};b.prototype.tl=function(a,b){this.Je.P(a,6,b)};b.prototype.mk=function(a,b){this.Je.P(a,7,b)};b.prototype.mY=function(a,b){this.ak.P(a,0,b)};b.prototype.eP=function(a,b){return this.pg?this.vg.addElement(b,a):this.sj.addElement(a,b)};b.prototype.YX=\nfunction(a,b){this.ak.P(a,1,b)};b.prototype.MK=function(a,b){this.ak.P(a,2,b)};b.prototype.Ol=function(a){return this.pg?this.vg.xc(a):this.sj.xc(a)};b.prototype.Zs=function(a){return this.pg?this.vg.Fc(a):this.sj.Fc(a)};b.Vq=function(a){return 0==(a&1)};b.tw=function(a){return 1==(a&1)};b.prototype.Qz=function(a){return this.Je.S(a,0)};b.prototype.ZS=function(a){return this.Je.S(a,1)};b.prototype.Ok=function(a){return this.Je.S(a,2)};b.prototype.sT=function(a){return this.Je.S(a,3)};b.prototype.OT=\nfunction(a){return this.Je.S(a,4)};b.prototype.Qj=function(a){return this.Je.S(a,5)};b.prototype.Nk=function(a){return this.Je.S(a,6)};b.prototype.fH=function(a){return this.Je.S(a,7)};b.prototype.iA=function(a){return this.ak.S(a,0)};b.prototype.rT=function(a){return this.ak.S(a,1)};b.prototype.NT=function(a){return this.ak.S(a,2)};b.prototype.xT=function(a){return this.bk[a].ca};b.prototype.uT=function(a){return this.bk[a].ha};b.prototype.CY=function(a,b){null==this.on&&(this.on=new c.Hu);var d=\nnew g(this);this.on.sort(a,0,b,d)};b.prototype.BY=function(a,d,c){var k=this;a.Gd(d,c,function(a,d){var c=k.Pk(a),e=k.Pk(d);return c<e||c==e&&b.Vq(a)&&b.tw(d)?-1:1})};b.prototype.Pk=function(a){var d=this.bk[a>>1];return b.Vq(a)?d.ca:d.ha};return b}();c.ns=d})(r||(r={}));(function(c){var n=function(){function g(b){if(null==b)throw c.g.X(\"Invalid arguement\");this.Ke=b;var a=b.fT();a.cU()?b.je.UH()?this.Zo=c.di.PannableFold:this.Zo=c.di.Clip:this.Zo=c.di.DontClip;a.dU()?b.He.UH()?this.Dn=c.di.PannableFold:\nthis.Dn=c.di.Clip:this.Dn=c.di.DontClip;this.pn=a.yv;this.yI=a.uz;b=this.Ke.EI;this.mI=b.et(2147483648);this.Gw=b.et(1073741824)}g.Xg=function(b,a,d){return a.xr.Xg(b,d)};g.gs=function(b,a,d,f){return b.xr.gs(a,d,f)};g.Du=function(b,a,d,f){d=0>d?a.length:d;b=b.xr.gs(a,d,f);if(b==d)return b;for(var c=a=0;c<d;c++){var h=f[c];h.isNaN()||(a<c&&f[a].L(h),a++)}for(;a<d;a++)f[a].$c();return b};g.MC=function(b,a,d,f){return b.xr.MC(a,d,f)};g.iL=function(b,a,d,f){d=0>d?a.length:d;b=b.xr.MC(a,d,f);if(b==d)return b;\nfor(var c=a=0;c<d;c++){var h=f[c];isNaN(h.x)||(a<c&&f[a].I(h.x,h.y,h.z),a++)}for(;a<d;a++)f[a].dv();return b};g.transform=function(b,a,d,f,e){if(b.Ho())return c.na.kR(f,a,d),d;for(var h=[],l=0,k=0;k<d;){for(var m=Math.min(h.length,d-k),w=k,p=0;w<m;w++,p++)null==h[p]?h[p]=a[w].w():a[w].w(h[p]);var q;q=e?g.Du(b,h,m,h):g.gs(b,h,m,h);for(p=w=0;w<q;w++,p++)null==f[k]&&(f[k]=new c.Wa(a[k])),f[k].rb(h[p]);k+=m;l+=q}return l};g.jL=function(b,a,d){if(0==d)return[];var f=new c.Ed;f.oP(a,2*d);a=this.Xg(f,b,\nnull);b=a.Pa(0);a=2*a.D();d=c.J.gf(a);b.pl(0,a,d,0,!0);return d};g.prototype.gs=function(b,a,d){if(this.Ke.Ho())return b!=d&&c.na.Fv(d,b,a),a;var f=this.Ke.je,e=this.Ke.He,h=f.Fb(),l=e.Fb();if(0==h&&h===l){var k=f.Yi(),e=e.Yi(),e=k/e,k=new c.Hd;k.Op(e,e);k.$Y(b,a,d);return a}k=c.J.qv(Math.min(a,64));if(3==h){var g;g=f.ij;f=g.Gk();h=f.Fb();d!=b&&c.na.Fv(d,b,a);c.Ib.Dl(g,d,a,!0);g.Du(c.Om.forward,d,a);c.Ib.Cl(g,d,a,!0)}if(3==h||3===l)throw c.g.X(\"image: transform_in_place_\");if(2==h)this.Zo==c.di.Clip?\n(d!=b&&c.na.Fv(d,b,a),b=f.Mk(),c.Ib.KU(b,f,d,a)):(d!=b&&c.na.Fv(d,b,a),f.Jc()&&(h=f.re(0),g=f.qe(),c.Ib.zY(d,a,g,h),c.Ib.BG(d,a,f,0))),c.Ib.xN(f,d,a,k);else for(h=f.re(0),g=f.qe(),f=0;f<a;f++)c.Ib.AY(b[f],g,h,d[f]);c.Ib.vN(this.Ke,d,a,k);b=0;(l=2==l)?b=e.pi():isNaN(this.pn)||(b=this.pn);l&&this.Dn!=c.di.Clip||c.Ib.BG(d,a,e.kc(),b);l&&(c.Ib.LH(d,a,e,this.Dn),c.Ib.wN(e,d,a,k));b=a;for(f=0;f<a;++f)d[f].isNaN()&&b--;return b};g.prototype.MC=function(b,a,d){a=0>a?b.length:a;if(this.Ke.Ho()){for(var f=\n0;f<a;++f)null==d[f]&&(d[f]=new c.qd),d[f].I(b[f].x,b[f].y,b[f].z);return a}var e=this.Ke.je,f=this.Ke.He,h=e.Fb(),l=f.Fb();if(0==h&&h==l)return e=e.Yi(),f=f.Yi(),f=e/f,e=new c.fO,e.Op(f,f,f),e.transform(b,a,d),a;h=new c.Ed;h.Ud(1);h.Ud(3);h.nP(b);b=h.Pa(3);f=0;for(e=a;f<e;f++)b.write(f,f);h=this.Xg(h,null);for(f=0;f<a;++f)null==d[f]?d[f]=c.qd.pa(NaN,NaN,NaN):d[f].dv();if(null==h)return 0;b=h.Pa(3);var l=h.Pa(0),k=h.Pa(1);h.gX(d,a);f=0;for(e=h.D();f<e;f++)a=b.read(f),l.pX(2*f,d[a]),d[a].z=k.read(f);\nreturn h.D()};g.prototype.Xg=function(b,a){if(this.Ke.Ho()||b.u())return b;if(33==b.G())return this.PJ(b);var d=this.Ke.je,f=this.Ke.He,e=d.Fb(),h=f.Fb();if(0==e&&e==h)return d=d.Yi(),f=f.Yi(),d/=f,f=new c.Hd,f.Op(d,d),d=c.T.oe(b),d.Xc(f),d;switch(b.G()){case 1607:case 1736:f=this.NJ(b,a);break;case 550:f=this.XW(b,a);break;case 197:f=this.WW(b,a);break;default:throw c.g.X(\"\");}return f};g.prototype.PJ=function(b){var a=b.w(),d=[];d[0]=a;this.gs(d,1,d);b=new c.Wa(b);b.rb(d[0]);return b};g.prototype.NJ=\nfunction(b,a){if(b.hn())throw c.g.X(\"curves not supported\");var d=b.G();if(1736==d)return this.YW(b,a);if(1607==d)return this.ZW(b,a);throw c.g.X(\"projectMultiPath\");};g.prototype.YW=function(b,a){var d=this.Ke.je,f=this.Ke.He,e=d.Fb(),h=f.Fb(),l=c.J.qv(Math.min(b.D(),64)),k=c.Ja.oe(b);if(3==e){var m=d.ij,d=m.Gk(),e=d.Fb(),k=m.Dl(k,!0);this.qq(m,c.Om.forward,k);k=m.Cl(k,!0)}m=null;3==h&&(m=f.ij,f=m.Gk(),h=f.Fb());var w=2==e,p=2==h,q=p?f.kc():f,t=!p&&!this.Gw,h=!1,n=k;if(w){if(n=c.Ib.MJ(n,d,this.Zo,\na),n.u())return n}else{k=new c.h;n.ac(k);e=d.qe();if(k.A<e.A||k.B>e.B){var r=c.h.pa(k.o-1,e.A,k.v+1,e.B),n=c.uh.rq(n,r,d,NaN,0,a);if(n.u())return n}k.N()>2*e.N()&&(n=c.Ib.Aq(n,-2*e.N(),2*e.N(),d,!0,0,!0,a))}k=this.yI;(e=!isNaN(k))&&(n=c.Jm.local().V(n,k,a));var r=p?f.Sj():null,v=NaN;w&&(v=d.pi());var x=null!=f.Ws();if(this.mI)w&&(c.Ib.qs(d,v,n,l),e&&(w=d.Ch(),v=d.kc().Ch(),k*=v/w)),c.Ib.ps(this.Ke,n,t,l),e&&(w=d.kc().Ch(),v=f.kc().Ch(),k*=v/w),d=n;else{var B=new c.Ua(n.description);B.VE(n);w&&(c.Ib.qs(d,\nv,B,l),e&&(w=d.Ch(),v=d.kc().Ch(),k*=v/w));c.Ib.ps(this.Ke,B,t,l);e&&(w=d.kc().bn(),v=f.kc().bn(),k*=v/w);t=NaN;p?(r=f.Sj(),t=f.pi()):isNaN(this.pn)||(t=this.pn);w=g.se(d)|g.se(f);v=10*q.re(0);this.Gw&&(w=3,v=0);d=c.Ib.LS(n,d,B,q,t,a,w,v)}x&&(d=c.Ib.kF(d,f,a));p&&(h||(p=q.qe().N(),d.xf(0,0).N()>=p-q.re(0)&&(q=r.getNorthPoleLocation(),p=r.getSouthPoleLocation(),n=r.getNorthPoleGeometry(),r=r.getSouthPoleGeometry(),t=0,n==c.Bg.PE_POLE_POINT&&q!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY&&(t=1),r==c.Bg.PE_POLE_POINT&&\np!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY&&(t|=2),0!==t&&(h=!0))),d=c.Ib.uA(d,f,this.Dn,a),e&&(d=c.Jm.local().V(d,k,a)),c.Ib.vy(f,d,l));if(d.u())return d;h&&(d=c.Km.local().V(d,f,!1,a));null!=m&&(d=m.Cl(d,!1),this.qq(m,c.Om.reverse,d),d=m.Dl(d,!1));return d};g.se=function(b){if(2!=b.Fb())return 0;var a=0,d=b.Sj();b=d.getNorthPoleLocation();var f=d.getSouthPoleLocation(),e=d.getNorthPoleGeometry(),d=d.getSouthPoleGeometry();e==c.Bg.PE_POLE_POINT&&b!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY&&(a=1);d==c.Bg.PE_POLE_POINT&&\nf!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY&&(a|=2);return a};g.prototype.ZW=function(b,a){var d=this.Ke.je,f=this.Ke.He,e=d.Fb(),h=f.Fb(),l=c.J.qv(Math.min(b.D(),64)),k=c.Ua.oe(b);if(3==e){var m=d.ij,d=m.Gk(),e=d.Fb(),k=m.Dl(k,!0);this.qq(m,c.Om.forward,k);k=m.Cl(k,!0)}m=null;3==h&&(m=f.ij,f=m.Gk(),h=f.Fb());var w=2==e,e=(h=2==h)?f.kc():f,p=!h&&!this.Gw;if(w){if(k=c.Ib.MJ(k,d,this.Zo,a),k.u())return k}else{var q=new c.h;k.ac(q);var t=d.qe();if(q.A<t.A||q.B>t.B)if(q=c.h.pa(q.o-1,t.A,q.v+1,t.B),k=c.uh.rq(k,q,\nd,NaN,0,a),k.u())return k}var n=NaN;w&&(n=d.pi());var q=null!=f.Ws(),t=this.yI,r=!isNaN(t);r&&(k=c.Jm.local().V(k,t,a));if(this.mI)w&&c.Ib.qs(d,n,k,l),r&&(w=d.Ch(),n=d.kc().Ch(),t*=n/w),c.Ib.ps(this.Ke,k,p,l),r&&(w=d.kc().Ch(),n=f.kc().Ch(),t*=n/w),d=k;else{var v=new c.Ua(k.description);v.VE(k);w&&(c.Ib.qs(d,n,v,l),r&&(w=d.Ch(),n=d.kc().Ch(),t*=n/w));c.Ib.ps(this.Ke,v,p,l);r&&(w=d.kc().Ch(),n=f.kc().Ch(),t*=n/w);p=NaN;h?p=f.pi():isNaN(this.pn)||(p=this.pn);w=g.se(d)|g.se(f);n=10*e.re(0);this.Gw&&\n(w=3,n=0);d=c.Ib.MS(k,d,v,e,p,a,w,n)}q&&(d=c.Ib.kF(d,f,a));h&&(d=c.Ib.uA(d,f,this.Dn,a),r&&(d=c.Jm.local().V(d,t,a)),c.Ib.vy(f,d,l));if(d.u())return d;null!=m&&(d=m.Cl(d,!1),this.qq(m,c.Om.reverse,d),d=m.Dl(d,!1));return d};g.prototype.WW=function(b,a){var d=(b.fa()+b.N())/400;if(0!=d){var f=c.Jm.local().V(b,d,a),f=this.NJ(f,a),d=b.Ka();f.Qn(d)}else d=new c.Wa(b.Bq()),f=this.PJ(d),d=b.Ka(),f.u()?d.Oa():(b.copyTo(d),f=f.w(),d.I(f.x,f.y,f.x,f.y));return d};g.prototype.XW=function(b,a){var d=c.T.oe(b),\nf=this.Ke.je,e=this.Ke.He,h=f.Fb(),l=e.Fb(),k=c.J.qv(Math.min(d.D(),64));if(3==h){var g=f.ij,f=g.Gk(),h=f.Fb(),d=g.Cl(d,!0);this.qq(g,c.Om.forward,d);d=g.Dl(d,!0)}if(2==h){this.Zo==c.di.Clip?d=c.tk.local().V(d,f.Mk(),f,a):f.Jc()&&(h=new c.h,d.ac(h),f.qe().contains(h)||(this.Zo==c.di.PannableFold&&(d=c.Ib.Mj(d,f)),c.Ib.xu(d,f.qe(),f.re(0),!0),d=c.Ib.Xm(d,f,0,!0,0,a)));if(d.u())return d;c.Ib.qs(f,0,d,k)}else c.Ib.xu(d,f.qe(),f.re(0),!0);c.Ib.ps(this.Ke,d,!1,k);f=0;h=!1;g=null;3==l&&(h=!0,g=e.ij,e=g.Gk(),\nl=e.Fb());(l=2==l)?f=e.pi():isNaN(this.pn)||(f=this.pn);l&&this.Dn!=c.di.Clip||(d=c.Ib.Xm(d,e.kc(),f,!1,0,a));if(l&&(d=c.Ib.uA(d,e,this.Dn,a),c.Ib.vy(e,d,k),d.u()))return d;h&&(d=g.Cl(d,!0),this.qq(g,c.Om.reverse,d),d=g.Dl(d,!0));return d};g.prototype.qq=function(b,a,d){var f=d.D();if(0!=f){for(var e=d.Pa(0),h=c.J.gf(200,0),l=[],k=0;k<f;){var g=Math.min(100,f-k);e.pl(2*k,2*g,h,2,!0);for(var w=0;w<g;++w)l[w]=c.b.pa(h[2*k],h[2*k+1]);b.Du(a,l,g);k+=g}d.Dc(1993)}};g.rk=function(b,a,d){if(null==b||null==\na||!a.Jc())throw c.g.X(\"Invalid Arguement\");if(b.u())return b;var f;f=b.G();197==f?(f=new c.Ja(b.description),f.jd(b,!1)):c.T.Oc(f)?(f=new c.Ua(b.description),f.dc(b,!0)):f=b;f=c.Ib.Mj(f,a);return f.u()?f:c.Ib.Xm(f,a,0,f!=b,0,d)};g.Nj=function(b,a,d,f){if(null==b||null==a||!a.Jc())throw c.g.X(\"Invalid Arguement\");if(b.u())return b;var e=b.G();if(c.T.Ic(e)){b=c.Ib.Mj(b,a);e=new c.h;b.s(e);for(var h=c.na.Zy(a,e,!1),l=a.Bh(),k=Math.floor((e.o-l.o)/l.N())*l.N()+l.o;k<e.v;)k>e.o+h&&k<e.v-h&&(b=c.Ib.qU(b,\na,d,k)),k+=l.N()}else{if(197==e)return e=new c.Ja(b.description),e.jd(b,!1),g.Nj(e,a,d,f);if(c.T.Oc(e))return e=new c.Ua(b.description),e.dc(b,!0),g.Nj(e,a,d,f)}return g.rk(b,a,f)};g.Yp=function(b,a,d,f){var e=a.Fb(),h=new c.fE;a.jX(h);if(0==e)return g.Dj(b,h,a,d);f==c.Up.foldAndClipWithHorizon&&a.Jc()&&(b=g.rk(b,a,d));b=g.Dj(b,h,a,d);if(f==c.Up.clipToDomainOnly||b.u())return b;if(1==e)return f==c.Up.clipWithHorizon?(f=new c.h,b.ac(f),e=a.qe(),h=.01*e.N(),f.A=e.A,f.B=e.B,f.o-=h,f.v+=h,c.uh.rq(b,f,\na,NaN,0,d)):b;if(2==e)return e=a.Mk(),f==c.Up.clipWithHorizon||f==c.Up.foldAndClipWithHorizon?(a=c.tk.local().V(b,e,a,d),a==e?c.T.oe(a):a):b;if(3==e)return b;throw c.g.X(\"missing implementation\");};g.Dj=function(b,a,d,f){var e=a.XT(),h=b.hasAttribute(1),l=b.hasAttribute(2),k=new c.Ac;k.Oa();var g=new c.Ac;g.Oa();h&&(k=a.YT());l&&(g=a.tT());a=c.uh.rq(b,e,d,NaN,0,f);h&&(h=a.xf(1,0),k.contains(h)||(b==a&&(a=c.T.oe(a)),c.na.UK(a,k,1)));l&&(h=a.xf(2,0),g.contains(h)||(b==a&&(a=c.T.oe(a)),c.na.UK(a,g,2)));\nreturn a};return g}();c.ko=n})(r||(r={}));(function(c){var n=function(g){function b(a,b,f,e){g.call(this);void 0===a?this.description=c.ye.Ig():void 0===f?this.description=a:(this.description=c.ye.Ig(),this.xC(a,b),this.vm(f,e))}O(b,g);b.prototype.G=function(){return 322};b.prototype.Rb=function(){var a=this.ua-this.sa,b=this.ra-this.oa;return Math.sqrt(a*a+b*b)};b.prototype.fh=function(a){var b=this.ua-this.sa,f=this.ra-this.oa;return Math.sqrt(b*b+f*f)<=a};b.prototype.Go=function(){return!1};b.prototype.Eg=\nfunction(){var a=new c.b;a.zc(this.Cc(),this.ec());return a};b.gR=function(a,d){return new b(a.x,a.y,d.x,d.y)};b.prototype.Qn=function(a){a.Oa();a.Fg(this.description);var b=new c.h;this.s(b);a.Gp(b);for(var b=1,f=this.description.Ga;b<f;b++)for(var e=this.description.rd(b),h=c.ma.Xa(e);b<h;b++){var l=this.xf(e,0);a.setInterval(e,0,l)}};b.prototype.s=function(a){a.I(this.ua,this.ra,this.sa,this.oa);a.normalize()};b.prototype.Cp=function(a){a.Oa();a.Nb(this.ua,this.ra,this.ae(0,1,0));a.Nb(this.sa,\nthis.oa,this.ae(1,1,0))};b.prototype.Xc=function(a){if(a instanceof c.Hd){this.Bc();var b=new c.b;b.x=this.ua;b.y=this.ra;a.$h(b,b);this.ua=b.x;this.ra=b.y;b.x=this.sa;b.y=this.oa;a.$h(b,b);this.sa=b.x;this.oa=b.y}else this.Bc(),b=new c.qd,b.x=this.ua,b.y=this.ra,b.z=this.ae(0,1,0),b=a.Rp(b),this.ua=b.x,this.ra=b.y,this.oo(0,1,0,b.z),b.x=this.sa,b.y=this.oa,b.z=this.ae(1,1,0),b=a.Rp(b),this.sa=b.x,this.oa=b.y,this.oo(1,1,0,b.z)};b.prototype.Ka=function(){return new b(this.description)};b.prototype.Cy=\nfunction(a,b){return(this.sa-a-(this.ua-a))*(this.oa-b+(this.ra-b))*.5};b.prototype.cy=function(a){return a*this.Rb()};b.prototype.bI=function(a){return a/this.Rb()};b.prototype.PG=function(a){return c.Ub.Xq(this.ua,this.sa,a)};b.prototype.YS=function(a){return c.Ub.Xq(this.ra,this.oa,a)};b.prototype.Hl=function(a,b){var f=new c.Cg;this.yh(a,b,f);return f.get()};b.prototype.yh=function(a,b,f){if(null==f)throw c.g.F();f.Js();f=f.get();f.Fg(this.description);var e=new c.b;this.gc(a,e);f.xC(e.x,e.y);\nthis.gc(b,e);f.vm(e.x,e.y);for(var e=1,h=this.description.Ga;e<h;e++)for(var l=this.description.Td(e),k=c.ma.Xa(l),g=0;g<k;g++){var w=this.Yc(a,l,g);f.Tx(l,g,w);w=this.Yc(b,l,g);f.Lx(l,g,w)}};b.prototype.Yc=function(a,b,f){if(0==b)return 0==f?this.gc(a).x:this.gc(a).y;switch(c.ma.Xz(b)){case 0:return.5>a?this.dt(b,f):this.Os(b,f);case 1:var e=this.dt(b,f);b=this.Os(b,f);return c.Ub.Xq(e,b,a);case 2:throw c.g.X(\"not implemented\");}throw c.g.za();};b.prototype.pe=function(a,b){var f=this.sa-this.ua,\nc=this.oa-this.ra,h=f*f+c*c;if(0==h)return.5;f=((a.x-this.ua)*f+(a.y-this.ra)*c)/h;b||(0>f?f=0:1<f&&(f=1));return f};b.prototype.Tq=function(a,b,f,c){if(a){a=this.oa-this.ra;if(0==a)return b==this.oa?-1:0;b=(b-this.ra)/a;if(0>b||1<b)return 0;null!=f&&(f[0]=this.PG(b))}else{a=this.sa-this.ua;if(0==a)return b==this.sa?-1:0;b=(b-this.ua)/a;if(0>b||1<b)return 0;null!=f&&(f[0]=this.YS(b))}null!=c&&(c[0]=b);return 1};b.prototype.pf=function(a,b){var f=this.oa-this.ra;if(0==f)return a==this.oa?b:NaN;var f=\n(a-this.ra)/f,c=this.PG(f);1==f&&(c=this.sa);return c};b.prototype.av=function(a,b,f){return 0<=this.lq(a.x,a.y,b,f)};b.prototype.Si=function(a,b,f){return 0<=this.lq(a,b,f,!0)};b.prototype.mt=function(a,b){return this.av(a,b,!1)};b.prototype.BJ=function(){if(this.oa<this.ra||this.oa==this.ra&&this.sa<this.ua){var a=this.ua;this.ua=this.sa;this.sa=a;a=this.ra;this.ra=this.oa;this.oa=a;for(var a=0,b=this.description.Er-2;a<b;a++){var f=this.la[a];this.la[a]=this.la[a+b];this.la[a+b]=f}}};b.prototype.ev=\nfunction(a,b){var f=c.b.pa(a,b);f.sub(this.ec());var e=new c.b;e.zc(this.Cc(),this.ec());var h=e.Ui(f),f=8.881784197001252E-16*(Math.abs(e.x*f.y)+Math.abs(e.y*f.x));return h>f?-1:h<-f?1:0};b.prototype.lq=function(a,b,f,e){var h=this.ua,l=this.ra,k=a-h,g=b-l,k=Math.sqrt(k*k+g*g);if(k<=Math.max(f,6.661338147750939E-16*k))return e&&0==k?NaN:0;k=a-this.sa;g=b-this.oa;k=Math.sqrt(k*k+g*g);if(k<=Math.max(f,6.661338147750939E-16*k))return e&&0==k?NaN:1;k=this.sa-this.ua;g=this.oa-this.ra;e=Math.sqrt(k*k+\ng*g);if(0<e){var w=1/e,k=k*w,g=g*w,p=a-h,q=b-l,t=p*k+q*g,n=1.7763568394002505E-15*(Math.abs(p*k)+Math.abs(q*g)),r=k,k=-g,g=r,n=Math.max(f,n);if(t<-n||t>e+n)return NaN;if(Math.abs(p*k+q*g)<=Math.max(f,1.7763568394002505E-15*(Math.abs(p*k)+Math.abs(q*g)))&&(k=c.J.pk(t*w,0,1),.5>=k?(g=this.ua+(this.sa-this.ua)*k,e=this.ra+(this.oa-this.ra)*k):(g=this.sa-(this.sa-this.ua)*(1-k),e=this.oa-(this.oa-this.ra)*(1-k)),c.b.xz(g,e,a,b)<=f)){if(.5>k){if(c.b.xz(g,e,h,l)<=f)return 0}else if(c.b.xz(g,e,this.sa,this.oa)<=\nf)return 1;return k}}return NaN};b.prototype.Eb=function(a){return null==a?!1:a==this?!0:a.constructor!==this.constructor?!1:this.NO(a)};b.prototype.JE=function(a,b,f){var e=f?this.ua:this.sa;f=f?this.ra:this.oa;var h=new c.b;h.x=a.sa-e;h.y=a.oa-f;return b.oi(h)>6.661338147750939E-16*b.zE(h)?(h.x=a.ua-e,h.y=a.ra-f,b.oi(h)<=6.661338147750939E-16*b.zE(h)):!0};b.prototype.IE=function(a){var b=new c.b;b.x=this.sa-this.ua;b.y=this.oa-this.ra;if(!this.JE(a,b,!1))return!1;b.Lr();return this.JE(a,b,!0)?!0:\n!1};b.We=function(a,b){var f=a.ev(b.ua,b.ra),c=a.ev(b.sa,b.oa);if(0>f&&0>c||0<f&&0<c)return!1;f=b.ev(a.ua,a.ra);c=b.ev(a.sa,a.oa);if(0>f&&0>c||0<f&&0<c)return!1;f=a.Rb();c=b.Rb();return f>c?a.IE(b):b.IE(a)};b.se=function(a,b,f){var e=c.b.pa(NaN,NaN),h=a.sa-a.ua,l=a.oa-a.ra,k=b.sa-b.ua,g=b.oa-b.ra,w=k*l-h*g;if(0==w)return e;var p=8.881784197001252E-16*(Math.abs(k*l)+Math.abs(h*g)),q=b.ua-a.ua,t=b.ra-a.ra,n=k*t-q*g,r=n/w,v=Math.abs(w),k=(8.881784197001252E-16*(Math.abs(k*t)+Math.abs(q*g))*v+p*Math.abs(n))/\n(w*w)+2.220446049250313E-16*Math.abs(r);if(r<-k||r>1+k)return e;g=h*t-q*l;k=g/w;h=(8.881784197001252E-16*(Math.abs(h*t)+Math.abs(q*l))*v+p*Math.abs(g))/(w*w)+2.220446049250313E-16*Math.abs(k);if(k<-h||k>1+h)return e;r=c.J.pk(r,0,1);h=c.J.pk(k,0,1);l=a.gc(r);w=b.gc(h);p=new c.b;p.zc(l,w);if(p.length()>f&&(p.add(l,w),p.scale(.5),r=a.pe(p,!1),h=b.pe(p,!1),a=a.gc(r),b=b.gc(h),a.sub(b),a.length()>f))return e;e.ka(r,h);return e};b.RO=function(a,d,f,c){var h=0;if(a.ua==d.ua&&a.ra==d.ra||a.ua==d.sa&&a.ra==\nd.oa)if(h++,!c)return 1;if(a.sa==d.ua&&a.oa==d.ra||a.sa==d.sa&&a.oa==d.oa){h++;if(2==h)return 2;if(!c)return 1}return d.Si(a.ua,a.ra,f)||d.Si(a.sa,a.oa,f)||a.Si(d.ua,d.ra,f)||a.Si(d.sa,d.oa,f)?1:c&&0!=h?0:0==b.We(a,d)?0:1};b.Gy=function(a,d,f,e,h,l){var k=0,g=a.lq(d.ua,d.ra,l,!1),w=a.lq(d.sa,d.oa,l,!1),p=d.lq(a.ua,a.ra,l,!1),q=d.lq(a.sa,a.oa,l,!1);isNaN(g)||(null!=e&&(e[k]=g),null!=h&&(h[k]=0),null!=f&&(f[k]=c.b.pa(d.ua,d.ra)),k++);isNaN(w)||(null!=e&&(e[k]=w),null!=h&&(h[k]=1),null!=f&&(f[k]=c.b.pa(d.sa,\nd.oa)),k++);2==k||isNaN(p)||0==g&&0==p||0==w&&1==p||(null!=e&&(e[k]=0),null!=h&&(h[k]=p),null!=f&&(f[k]=c.b.pa(a.ua,a.ra)),k++);2==k||isNaN(q)||1==g&&0==q||1==w&&1==q||(null!=e&&(e[k]=1),null!=h&&(h[k]=q),null!=f&&(f[k]=c.b.pa(d.sa,d.oa)),k++);if(0<k)return 2==k&&null!=e&&e[0]>e[1]&&(a=e[0],e[0]=e[1],e[1]=a,null!=h&&(e=h[0],h[0]=h[1],h[1]=e),null!=f&&(h=c.b.pa(f[0].x,f[0].y),f[0]=f[1],f[1]=h)),k;k=b.se(a,d,l);if(isNaN(k.x))return 0;null!=f&&(f[0]=a.gc(k.x));null!=e&&(e[0]=k.x);null!=h&&(h[0]=k.y);\nreturn 1};b.prototype.qH=function(){return 0};b.prototype.iq=function(){};b.prototype.toString=function(){return\"Line: [\"+this.ua.toString()+\", \"+this.ra.toString()+\", \"+this.sa.toString()+\", \"+this.oa.toString()+\"]\"};return b}(c.dE);c.Hb=n})(r||(r={}));(function(c){var n=function(){function c(){this.am=[];this.Ca=-1}c.prototype.Ia=function(){return this.Ca};c.prototype.next=function(){if(null!=this.am&&0!=this.am.length){this.Ca++;var b=this.am[0];1>=this.am.length?this.am=[]:this.am=this.am.slice(1);\nreturn b}return this.am=null};c.prototype.TY=function(b){this.am.push(b)};c.prototype.Re=function(){return!0};return c}();c.RM=n})(r||(r={}));(function(c){(function(c){c[c.enumFillRuleOddEven=0]=\"enumFillRuleOddEven\";c[c.enumFillRuleWinding=1]=\"enumFillRuleWinding\"})(c.JN||(c.JN={}));var n=function(g){function b(a,b){g.call(this);this.$f=!1;this.ur=null;this.gr=this.hr=0;this.bj=null;this.hh=!1;this.Xd=this.tj=this.cf=this.jb=this.kb=null;this.mr=this.Ta=this.ir=0;if(void 0===b)this.$f=a,this.hh=\n!1,this.qa=this.gr=this.hr=this.ir=0,this.description=c.ye.Ig();else{if(null==b)throw c.g.F();this.$f=a;this.hh=!1;this.qa=this.gr=this.hr=this.ir=0;this.description=b}this.bj=null;this.Ta=0}O(b,g);b.prototype.hn=function(){return 0<this.ir};b.prototype.Fy=function(){this.Bc();null==this.ur?this.ur=new c.Wa(this.description):this.ur.Fg(this.description)};b.prototype.$x=function(a,b){var f=new c.b;f.x=a;f.y=b;this.zu(f)};b.prototype.zu=function(a){this.Fy();this.ur.rb(a);this.hh=!0};b.prototype.Rf=\nfunction(a){if(a.u())throw c.g.F();this.om(a.description);this.Fy();a.copyTo(this.ur);this.hh=!0};b.prototype.By=function(){var a=1;this.hh&&(this.Fy(),null==this.kb?(this.kb=c.Uc.wh(2),this.kb.write(0,0),this.jb=c.Uc.vq(2,0)):(this.kb.resize(this.kb.size+1,0),this.jb.resize(this.jb.size+1,0)),this.$f&&this.jb.write(this.jb.size-2,1),a++);var b=this.qa;this.kb.write(this.kb.size-1,this.qa+a);this.zl(b+a);this.jb.write(this.kb.size-1,0);this.hh&&(this.vu(b,this.ur),this.hh=!1)};b.prototype.Xj=function(a,\nb){this.By();this.rb(this.qa-1,a,b)};b.prototype.aj=function(a){this.By();this.rb(this.qa-1,a)};b.prototype.lineTo=function(a){this.By();this.vu(this.qa-1,a)};b.prototype.oW=function(a){this.Bc();if(this.$f)throw c.g.za();var b=this.aa();if(a>b)throw c.g.za();if(this.Qb(a)){if(null==this.jb)throw c.g.za();var f=this.qa,e=this.wa(a),h=this.Gc(a);this.zl(this.qa+1);this.wc();for(var l=0,k=this.description.Ga;l<k;l++)if(null!=this.ya[l]){var g=c.ma.Xa(this.description.Td(l));this.ya[l].Rk(g*h,this.ya[l],\ng*e,g,!0,1,g*f)}for(;b>a;b--)f=this.kb.read(b),this.kb.write(b,f+1);this.jb.fz(a,1)}};b.prototype.sq=function(){var a;this.Cu();void 0===a&&(this.hh=!1,a=this.aa()-1);var b=this.jb.read(a);this.jb.write(a,b|1);null!=this.cf&&(a=this.Gc(a)-1,this.cf.write(a,1),this.tj.write(a,-1))};b.Dj=function(a){return b.se[a]};b.prototype.Qb=function(a){return 0!=(this.jb.read(a)&1)};b.prototype.Eo=function(a){if(this.Qb(a))return!0;var b=this.wa(a);a=this.Gc(a)-1;if(b>a)return!1;b=this.Ba(b);a=this.Ba(a);return b.ub(a)};\nb.prototype.ft=function(a){return 0!=(this.jb.read(a)&2)};b.prototype.dc=function(a,b){this.om(a.description);if(322==a.G()){var f=new c.Wa;if(b||this.u())a.Dp(f),this.Rf(f);a.Bp(f);this.lineTo(f)}else throw c.g.za();};b.prototype.oq=function(a){var b=0==this.qa;this.$x(a.o,a.A);this.Xj(a.o,a.B);this.Xj(a.v,a.B);this.Xj(a.v,a.A);this.sq();this.hh=!1;b&&this.lg(256,!1)};b.prototype.jd=function(a,b){if(!a.u()){for(var f=0==this.qa,e=new c.Wa(this.description),h=0;4>h;h++)a.ig(b?4-h-1:h,e),0==h?this.Rf(e):\nthis.lineTo(e);this.sq();this.hh=!1;f&&!b&&this.lg(256,!1)}};b.prototype.add=function(a,b){for(var f=0;f<a.aa();f++)this.Ti(a,f,!b)};b.prototype.Ti=function(a,b,f){this.Yf(-1,a,b,f)};b.prototype.Bl=function(a,b){this.sA(a,b)};b.prototype.Bs=function(a,b,f,e,h){h||0!=this.aa()||(h=!0);0>b&&(b=a.aa()-1);if(b>=a.aa()||0>f||0>e||e>a.ew(b))throw c.g.X(\"index out of bounds\");if(0!=e){var l=a.Qb(b)&&f+e==a.ew(b);if(!l||1!=e){this.hh=!1;this.om(a.description);f=a.wa(b)+f+1;h&&(e++,f--);l&&e--;l=this.qa;this.zl(this.qa+\ne);this.wc();if(h){if(0==e)return;this.kb.add(this.qa);h=a.jb.read(b);h&=-5;this.$f&&(h|=1);this.jb.write(this.jb.size-1,h);this.jb.add(0)}else this.kb.write(this.jb.size-1,this.qa);h=0;for(var k=this.description.Ga;h<k;h++){var g=this.description.rd(h),w=c.ma.Xa(g),p=a.description.mg(g);0>p||null==a.ya[p]?this.ya[h].Vj(w*l,c.ma.de(g),e*w,w*l):this.ya[h].Rk(w*l,a.ya[p],w*f,e*w,!0,w,w*l)}if(this.hn())throw c.g.za();if(a.ft(b))throw c.g.za();this.Dc(1993)}}};b.prototype.eK=function(){for(var a=0,b=\nthis.aa();a<b;a++)this.CX(a)};b.prototype.CX=function(a){this.wc();if(a>=this.aa())throw c.g.F();var b=this.wa(a),f=this.La(a);a=this.Qb(a)?1:0;for(var e=0,h=this.description.Ga;e<h;e++)if(null!=this.ya[e]){var l=c.ma.Xa(this.description.Td(e));this.ya[e].Zd(l*(b+a),l*(f-a),l)}this.Dc(1993)};b.prototype.Rr=function(a){this.wc();var b=this.aa();0>a&&(a=b-1);if(a>=b)throw c.g.F();for(var f=this.wa(a),e=this.La(a),h=0,l=this.description.Ga;h<l;h++)if(null!=this.ya[h]){var k=c.ma.Xa(this.description.Td(h));\nthis.ya[h].Fk(k*f,k*e,k*this.qa)}for(f=a+1;f<=b;f++)h=this.kb.read(f),this.kb.write(f-1,h-e);if(null==this.jb)for(f=a+1;f<=b;f++)a=this.jb.read(f),this.jb.write(f-1,a);this.kb.resize(b);this.jb.resize(b);this.qa-=e;this.lh-=e;this.Dc(1993)};b.prototype.Yf=function(a,b,f,e){if(b==this)throw c.g.F();if(f>=b.aa())throw c.g.F();var h=this.aa();if(a>h)throw c.g.F();0>a&&(a=h);0>f&&(f=b.aa()-1);this.hh=!1;this.om(b.description);b.wc();var l=b.wa(f),k=b.La(f),g=this.qa,w=b.Qb(f)&&!e?1:0;this.zl(this.qa+\nk);this.wc();for(var p=a<h?this.wa(a):g,q=0,t=this.description.Ga;q<t;q++){var n=this.description.Td(q),r=b.description.mg(n),v=c.ma.Xa(n);0<=r&&null!=b.ya[r]?(0!=w&&this.ya[q].Rk(p*v,b.ya[r],v*l,v,!0,v,v*g),this.ya[q].Rk((p+w)*v,b.ya[r],v*(l+w),v*(k-w),e,v,v*(g+w))):this.ya[q].Vj(p*v,c.ma.de(n),v*k,v*g)}this.kb.add(g+k);for(e=h;e>=a+1;e--)l=this.kb.read(e-1),this.kb.write(e,l+k);b.ft(f);this.jb.add(0);for(e=h-1;e>=a+1;e--)h=this.jb.read(e),h&=-5,this.jb.write(e+1,h);h=b.DT().read(f);h&=-5;this.$f&&\n(h|=1);this.jb.write(a,h)};b.prototype.sA=function(a,b){var f=-1,e=this.aa();if(f>e)throw c.g.F();0>f&&(f=e);this.hh=!1;var h=this.qa;this.zl(this.qa+b);this.wc();var l=f<e?this.wa(f):h;if(null!=a)this.ya[0].Sq(2*l,a,0,b,!0,2*h);else{var k=c.ma.de(0);this.ya[0].Vj(2*l,k,2*b,2*h)}for(var g=1,w=this.description.Ga;g<w;g++){var k=this.description.rd(g),p=c.ma.Xa(k),k=c.ma.de(k);this.ya[g].Vj(l*p,k,p*b,p*h)}this.kb.add(this.qa);for(h=e;h>=f+1;h--)l=this.kb.read(h-1),this.kb.write(h,l+b);this.jb.add(0);\nfor(h=e-1;h>=f+1;h--)e=this.jb.read(h),e&=-5,this.jb.write(h+1,e);this.$f&&this.jb.write(f,1)};b.prototype.EH=function(a,b,f){var e=-1;0>a&&(a=this.aa());if(a>this.aa()||e>this.La(a)||f>b.length)throw c.g.X(\"index out of bounds\");if(0!=f){a==this.aa()&&(this.kb.add(this.qa),this.$f?this.jb.add(1):this.jb.add(0));0>e&&(e=this.La(a));this.wc();var h=this.qa;this.zl(this.qa+f);this.wc();for(var l=0,k=this.description.Ga;l<k;l++){var g=this.description.Td(l),w=c.ma.Xa(g);this.ya[l].ho(w*(this.wa(a)+e+\nf),(h-this.wa(a)-e)*w,this.ya[l],w*(this.wa(a)+e),!0,w);0==l?this.ya[l].ks(w*(this.wa(a)+e),f,b,0,!0):this.ya[l].Zh(c.ma.de(g),(this.wa(a)+e)*w,f*w)}this.hn()&&(this.cf.ho(this.wa(a)+e+f,h-this.wa(a)-e,this.cf,this.wa(a)+e,!0,1),this.tj.ho(this.wa(a)+e+f,h-this.wa(a)-e,this.tj,this.wa(a)+e,!0,1),this.cf.Zh(1,this.wa(a)+e,f),this.tj.Zh(-1,this.wa(a)+e,f));a+=1;for(b=this.aa();a<=b;a++)this.kb.write(a,this.kb.read(a)+f)}};b.prototype.Zf=function(a,b,f){var e=this.aa();0>a&&(a=this.aa());if(a>=e||b>\nthis.La(a))throw c.g.X(\"index out of bounds\");a==this.aa()&&(this.kb.add(this.qa),this.$f?this.jb.add(1):this.jb.add(0));0>b&&(b=this.La(a));var h=this.qa;this.zl(this.qa+1);this.wc();var l=this.wa(a);this.ya[0].eh(2*(l+b),f,2*h);f=1;for(var k=this.description.Ga;f<k;f++){var g=this.description.Td(f),w=c.ma.Xa(g);this.ya[f].Vj(w*(l+b),c.ma.de(g),w,w*h)}for(a+=1;a<=e;a++)this.kb.write(a,this.kb.read(a)+1)};b.prototype.dC=function(a,b){var f=this.aa();0>a&&(a=f-1);if(a>=f||b>=this.La(a))throw c.g.X(\"index out of bounds\");\nthis.wc();var e=this.wa(a);0>b&&(b=this.La(a)-1);for(var e=e+b,h=0,l=this.description.Ga;h<l;h++)if(null!=this.ya[h]){var k=c.ma.Xa(this.description.Td(h));this.ya[h].Fk(k*e,k,k*this.qa)}for(;f>=a+1;f--)e=this.kb.read(f),this.kb.write(f,e-1);this.qa--;this.lh--;this.Dc(1993)};b.prototype.FF=function(a,b,f,e){a=this.wa(a)+b;f=this.wa(f)+e;if(f<a||0>a||f>this.D()-1)throw c.g.F();e=this.Fa();b=0;e.Tb(a);do{for(;e.Ea();){a=e.ba();if(e.Db()==f)break;a=a.Rb();b+=a}if(e.Db()==f)break}while(e.Ya());return b};\nb.prototype.gQ=function(a,b,f){b=this.wa(a)+b;f=this.wa(a)+f;if(0>b||f>this.D()-1)throw c.g.F();var e=this.Fa();if(b>f){if(!this.Qb(a))throw c.g.F(\"cannot iterate across an open path\");e.kC()}var h=a=0;e.Tb(b);do h+=a,a=e.ba().Rb();while(e.Db()!=f);return h};b.prototype.Gg=function(){return c.Pi.Rm(this,null)};b.prototype.GU=function(a,b,f,e){for(var h=a;h<f-1;h++)if(this.Qb(h))throw c.g.F(\"cannot interpolate across closed paths\");h=this.description.Ga;if(1!=h){var l=this.FF(a,b,f,e);if(0!=l)for(var k=\n1;k<h;k++){var g=this.description.rd(k);if(2!=c.ma.Xz(g))for(var w=c.ma.Xa(g),p=0;p<w;p++)this.IU(g,a,b,f,e,l,p)}}};b.prototype.FU=function(a,b,f){var e=this.description.Ga;if(1!=e){var h=this.gQ(a,b,f);if(0!=h)for(var l=1;l<e;l++){var k=this.description.rd(l);if(2!=c.ma.Xz(k))for(var g=c.ma.Xa(k),w=0;w<g;w++)this.HU(k,a,b,f,h,w)}}};b.prototype.IU=function(a,b,f,e,h,l,k){var g=this.Fa();b=this.wa(b)+f;e=this.wa(e)+h;h=this.Yc(a,b,k);f=this.Yc(a,e,k);var w=h,p=0;g.Tb(b);do if(g.Ea()){g.ba();if(g.Db()==\ne)break;this.setAttribute(a,g.Db(),k,w);g.Li();do{b=g.ba();if(g.Jk()==e)return;b=b.Rb();p+=b;w=c.Ub.Xq(h,f,p/l);g.Fo()||this.setAttribute(a,g.Jk(),k,w)}while(g.Ea())}while(g.Ya())};b.prototype.HU=function(a,b,f,e,h,l){var k=this.Fa(),g=this.wa(b)+f;b=this.wa(b)+e;if(b!=g){e=this.Yc(a,g,l);f=this.Yc(a,b,l);var w=0;k.Tb(g);k.kC();g=e;do{var p=k.ba();this.setAttribute(a,k.Db(),l,g);g=p.Rb();w+=g;g=c.Ub.Xq(e,f,w/h)}while(k.Jk()!=b)}};b.prototype.Oa=function(){this.ir=0;this.hh=!1;this.Xd=this.cf=this.tj=\nthis.jb=this.kb=null;this.NE()};b.prototype.Xc=function(a){a instanceof c.Hd?this.lF(a,-1):this.zP(a)};b.prototype.lF=function(a,b){if(!this.u()&&!a.Ho()){this.wc();var f=this.ya[0],e=new c.b,h=new c.b,l,k,g;0>b?(l=this.hn(),k=0,g=this.qa):(l=this.ft(b),k=this.wa(b),g=this.Gc(b));for(;k<g;k++){e.x=f.read(2*k);e.y=f.read(2*k+1);if(l){var w=this.tj.read(k);if(0<=w)switch(this.cf.read(k)&7){case 2:h.x=this.Xd.read(w);h.y=this.Xd.read(w+1);a.$h(h,h);this.Xd.write(w,h.x);this.Xd.write(w+1,h.y);h.x=this.Xd.read(w+\n3);h.y=this.Xd.read(w+4);a.$h(h,h);this.Xd.write(w+3,h.x);this.Xd.write(w+4,h.y);break;case 4:throw c.g.za();}}a.$h(e,e);f.write(2*k,e.x);f.write(2*k+1,e.y)}this.Dc(1993)}};b.prototype.zP=function(a){if(!this.u()){this.Ud(1);this.wc();for(var b=this.ya[0],f=this.ya[1],e=new c.qd,h=new c.qd,l=this.hn(),k=0;k<this.qa;k++){e.x=b.read(2*k);e.y=b.read(2*k+1);e.z=f.read(k);if(l){var g=this.tj.read(k);if(0<=g)switch(this.cf.read(k)&7){case 2:h.x=this.Xd.read(g);h.y=this.Xd.read(g+1);h.z=this.Xd.read(g+2);\nh=a.Rp(h);this.Xd.write(g,h.x);this.Xd.write(g+1,h.y);this.Xd.write(g+1,h.z);h.x=this.Xd.read(g+3);h.y=this.Xd.read(g+4);h.z=this.Xd.read(g+5);h=a.Rp(h);this.Xd.write(g+3,h.x);this.Xd.write(g+4,h.y);this.Xd.write(g+5,h.z);break;case 4:throw c.g.za();}}e=a.Rp(e);b.write(2*k,e.x);b.write(2*k+1,e.y);f.write(k,e.z)}this.Dc(1993)}};b.prototype.Py=function(){null==this.kb&&(this.kb=c.Uc.wh(1,0),this.jb=c.Uc.vq(1,0));null!=this.cf&&(this.cf.resize(this.lh,1),this.tj.resize(this.lh,-1))};b.prototype.iq=function(a){a.hh=\n!1;a.ir=this.ir;a.mr=this.mr;null!=this.kb?a.kb=c.ia.Bk(this.kb):a.kb=null;null!=this.jb?a.jb=c.Fm.Bk(this.jb):a.jb=null;null!=this.tj?a.tj=c.ia.Bk(this.tj):a.tj=null;null!=this.cf?a.cf=c.Fm.Bk(this.cf):a.cf=null;null!=this.Xd?a.Xd=c.Rd.Bk(this.Xd):a.Xd=null;a.hr=this.hr;a.gr=this.gr;this.yk(1024)?a.bj=null:a.bj=this.bj};b.prototype.Rb=function(){if(!this.yk(512))return this.hr;for(var a=this.Fa(),b=new c.ry(0);a.Ya();)for(;a.Ea();)b.add(a.ba().Rb());this.hr=b.en();this.lg(512,!1);return b.en()};\nb.prototype.Eb=function(a){if(a==this)return!0;if(!(a instanceof b&&g.prototype.Eb.call(this,a)))return!1;var d=this.aa();return d!=a.aa()||null!=this.kb&&!this.kb.Eb(a.kb,0,d+1)||this.mr!=a.mr||null!=this.jb&&!this.jb.Eb(a.jb,0,d)?!1:g.prototype.Eb.call(this,a)};b.prototype.Fa=function(){return new c.ZN(this)};b.prototype.Oy=function(a){g.prototype.Oy.call(this,a);if(this.hn())for(a=this.Fa();a.Ya();)for(;a.Ea();)break};b.prototype.uo=function(a,b){g.prototype.uo.call(this,a,b);if(this.hn())for(var f=\nthis.Fa();f.Ya();)for(;f.Ea();)break};b.prototype.Iy=function(){null==this.kb||0==this.kb.size?this.qa=0:this.qa=this.kb.read(this.kb.size-1)};b.prototype.hf=function(){if(!this.$f)return 0;this.gv();return this.gr};b.prototype.rw=function(a){if(!this.$f)return!1;if(!this.yk(8))return 0!=(this.jb.read(a)&4);this.gv();return 0<this.bj.read(a)};b.prototype.Sm=function(a){if(!this.$f)return 0;this.gv();return this.bj.read(a)};b.prototype.gv=function(){if(this.yk(1024)){var a=this.aa();null==this.bj?\nthis.bj=new c.Rd(a):this.bj.size!=a&&this.bj.resize(a);for(var a=new c.ry(0),b=new c.ry(0),f=new c.b,e=0,h=this.Fa();h.Ya();){b.reset();for(this.w(this.wa(h.Ta),f);h.Ea();)b.add(h.ba().Cy(f.x,f.y));a.add(b.en());var l=e++;this.bj.write(l,b.en())}this.gr=a.en();this.lg(1024,!1)}};b.prototype.zT=function(){if(this.$f){this.Al();for(var a=0,b=this.aa(),f=0;f<b;f++)0!=(this.jb.read(f)&4)&&a++}};b.prototype.Al=function(){if(this.yk(8)){this.gv();var a=this.aa();if(null==this.jb||this.jb.size<a)this.jb=\nc.Uc.vq(a+1);for(var b=1,f=0;f<a;f++){var e=this.bj.read(f);0==f&&(b=0<e?1:-1);0<e*b?this.jb.jC(f,4):this.jb.fz(f,4)}this.lg(8,!1)}};b.prototype.cw=function(a){var b=this.Ta,f=this.aa();if(0<=b&&b<f){if(a<this.Gc(b)){if(a>=this.wa(b))return b;b--}else b++;if(0<=b&&b<f&&a>=this.wa(b)&&a<this.Gc(b))return this.Ta=b}if(5>f){for(b=0;b<f;b++)if(a<this.Gc(b))return this.Ta=b;throw c.g.X(\"corrupted geometry\");}b=0;for(--f;f>b;){var e=b+(f-b>>1),h=this.wa(e);if(a<h)f=e-1;else if(b=this.Gc(e),a>=b)b=e+1;else return this.Ta=\ne}return this.Ta=b};b.prototype.nT=function(a){var b=this.Pa(0);this.ET();var f=this.Gc(a),e=this.wa(a);a=-1;var h=new c.b,l=new c.b;h.y=-Infinity;h.x=-Infinity;for(e+=0;e<f;e++)b.fc(2*e,l),-1==h.compare(l)&&(a=e,h.L(l));return a};b.prototype.jA=function(){var a=this.D();if(!this.$f)for(var a=a-this.aa(),b=0,f=this.aa();b<f;b++)this.Qb(b)&&a++;return a};b.prototype.ew=function(a){var b=this.La(a);this.Qb(a)||b--;return b};b.prototype.Ka=function(){return new b(this.$f,this.description)};b.prototype.tb=\nfunction(){return this.$f?2:1};b.prototype.G=function(){return this.$f?1736:1607};b.prototype.ET=function(){this.Cu()};b.prototype.HK=function(a){this.kb=a;this.Dc(16777215)};b.prototype.PT=function(){this.Cu();return this.cf};b.prototype.DT=function(){this.Cu();return this.jb};b.prototype.GK=function(a){this.jb=a;this.Dc(16777215)};b.prototype.aa=function(){return null!=this.kb?this.kb.size-1:0};b.prototype.Gc=function(a){return this.kb.read(a+1)};b.prototype.La=function(a){return this.kb.read(a+\n1)-this.kb.read(a)};b.prototype.wa=function(a){return this.kb.read(a)};b.prototype.Xu=function(a,b){null==this.ob&&(this.ob=new c.wl);var f=c.xy.lX(b),e=this.ob.Hi;if(null!=e)if(e.jl<a||f>e.LT())this.ob.My(null);else return!0;e=c.xy.create(this,a,f);this.ob.My(e);return!0};b.prototype.jc=function(){var a=g.prototype.jc.call(this);if(!this.Hc()){var b=this.aa();null!=this.kb&&this.kb.Ak(a,0,b+1);null!=this.jb&&this.jb.Ak(a,0,b)}return a};b.prototype.jH=function(a){return null!=this.cf?this.cf.read(a):\n1};b.prototype.ic=function(a,b,f){var e=this.cw(a);if(a==this.Gc(e)-1&&!this.Qb(e))throw c.g.X(\"index out of bounds\");this.wc();var h=this.cf,l=1;null!=h&&(l=h.read(a)&7);switch(l){case 1:b.Js();break;case 2:throw c.g.za();case 4:throw c.g.za();default:throw c.g.za();}b=b.get();f?b.Fg(c.ye.Ig()):b.Fg(this.description);e=a==this.Gc(e)-1&&this.Qb(e)?this.wa(e):a+1;h=new c.b;this.w(a,h);b.Mc(h);this.w(e,h);b.Zc(h);if(!f)for(f=1,h=this.description.Ga;f<h;f++)for(var l=this.description.Td(f),g=c.ma.Xa(l),\nm=0;m<g;m++){var w=this.Yc(l,a,m);b.Tx(l,m,w);w=this.Yc(l,e,m);b.Lx(l,m,w)}};b.prototype.jk=function(a,b){if(a>=this.aa())throw c.g.F();if(this.u())b.Oa();else{if(this.ft(a))throw c.g.X(\"not implemented\");var f=this.Pa(0),e=new c.b,h=new c.h;h.Oa();for(var l=this.wa(a),g=this.Gc(a);l<g;l++)f.fc(2*l,e),h.Nb(e);b.I(h)}};b.prototype.iX=function(a,b){if(a>=this.aa())throw c.g.F();if(this.u())b.Oa();else{if(this.ft(a))throw c.g.X(\"not implemented\");var f=this.Pa(0),e=new c.b,h=new c.h;h.Oa();for(var l=\nthis.wa(a),g=this.Gc(a);l<g;l++)f.fc(2*l,e),h.Nb(e);b.I(h)}};b.prototype.Hj=function(a){null==this.ob&&(this.ob=new c.wl);if(0==a||16>this.D())return!1;a=c.na.BF(this);this.ob.OE(a);return!0};b.prototype.CO=function(){null==this.ob&&(this.ob=new c.wl);if(null!=this.ob.np)return!0;this.ob.PE(null);var a=c.na.bQ(this);this.ob.PE(a);return!0};b.prototype.Hp=function(a){this.mr=a};b.prototype.xo=function(){return this.mr};b.prototype.VE=function(a){if(this==a)throw c.g.X(\"MultiPathImpl.add\");for(var b=\nthis.aa(),f=0;f<a.aa();f++)this.Ti(a,f,!0),this.oW(b),b++};b.prototype.oQ=function(a){var b=this.cw(a),f=this.wa(b);if(f!=a){b=this.Gc(b);if(a>=b||a<f)throw c.g.X(\"change_ring_start_point\");for(var e=0,h=this.description.Ga;e<h;e++){var l=this.description.rd(e),l=c.ma.Xa(l);this.ya[e].rotate(f*l,a*l,b*l)}}};b.se=[0,0,6,0,8,0];return b}(c.Mu);c.xl=n})(r||(r={}));(function(c){var n=function(g){function b(a){g.call(this);if(void 0!==a){if(null==a)throw c.g.F();this.description=a}else this.description=\nc.ye.Ig();this.qa=0}O(b,g);b.prototype.Ka=function(){return new b(this.description)};b.prototype.add=function(a){this.resize(this.qa+1);this.Yh(this.qa-1,a)};b.prototype.lv=function(a,b){this.resize(this.qa+1);var f=new c.b;f.ka(a,b);this.rb(this.qa-1,f)};b.prototype.Id=function(a,b,f){f=0>f?a.D():f;if(0>b||b>a.D()||f<b)throw c.g.F();if(b!=f){this.om(a.description);f-=b;var e=this.qa;this.resize(this.qa+f);this.wc();for(var h=0,l=a.description.Ga;h<l;h++){var g=a.description.Td(h),m=c.ma.Xa(g),w=\nthis.Pa(g),g=a.Pa(g);w.Rk(e*m,g,b*m,f*m,!0,1,e*m)}}};b.prototype.ZE=function(a,b){var f=a.length,e=0>b?f:b;if(0>f||0>e)throw c.g.F();if(0!=e){f=e-0;e=this.qa;this.resize(this.qa+f);for(var h=0;h<f;h++)this.rb(e+h,a[0+h])}};b.prototype.dC=function(a){if(0>a||a>=this.D())throw c.g.X(\"index out of bounds\");this.wc();for(var b=0,f=this.description.Ga;b<f;b++)if(null!=this.ya[b]){var e=c.ma.Xa(this.description.Td(b));this.ya[b].Fk(e*a,e,e*this.qa)}this.qa--;this.lh--;this.Dc(1993)};b.prototype.resize=\nfunction(a){this.zl(a)};b.prototype.iq=function(){};b.prototype.Oa=function(){g.prototype.NE.call(this)};b.prototype.Xc=function(a){if(a instanceof c.Hd){if(!this.u()){this.wc();for(var b=this.ya[0],f=new c.b,e=0;e<this.qa;e++)f.x=b.read(2*e),f.y=b.read(2*e+1),a.$h(f,f),b.write(2*e,f.x),b.write(2*e+1,f.y);this.Dc(1993)}}else if(!this.u()){this.wc();this.Ud(1);this.wc();for(var b=this.ya[0],f=this.ya[1],h=new c.qd,e=0;e<this.qa;e++){h.x=b.read(2*e);h.y=b.read(2*e+1);h.z=f.read(e);var l=a.Rp(h);b.write(2*\ne,l.x);b.write(2*e+1,l.y);f.write(e,l.z)}this.Dc(1993)}};b.prototype.tb=function(){return 0};b.prototype.G=function(){return 550};b.prototype.hf=function(){return 0};b.prototype.Rb=function(){return 0};b.prototype.Eb=function(a){return a==this?!0:a instanceof b?g.prototype.Eb.call(this,a):!1};b.prototype.nP=function(a){var b=a.length,f=b;if(0>b||0>b||0>f)throw c.g.F();this.Ud(1);if(0!=f){b=f-0;f=this.qa;this.aK(this.qa+b);for(var e=this.Pa(0),h=0;h<b;h++){var l=a[0+h].y;e.write(2*(f+h),a[0+h].x);\ne.write(2*(f+h)+1,l)}e=this.Pa(1);for(h=0;h<b;h++)e.write(f+h,a[0+h].z);this.Dc(1993)}};b.prototype.oP=function(a,b){var f=a.length,e=0>b?f:b;if(0>f||0>e)throw c.g.F();if(0!=e){f=e-0;if(0!=(f&1))throw c.g.F();e=this.qa;this.aK(this.qa+f/2);this.ya[0].js(2*e,f,a,0,!0)}};b.prototype.aK=function(a){var b=this.qa;this.zl(a);if(this.qa>b){a=1;for(var f=this.description.Ga;a<f;a++){var e=this.description.rd(a),h=c.ma.Xa(e);this.ya[a].Vj(h*b,c.ma.de(e),h*(this.qa-b),h*b)}}};b.prototype.fX=function(a,b){var f=\nthis.qa,f=Math.min(f,b+1E3);if(0>b||b>=this.qa||f<b||1E3!=a.length)throw c.g.F();var e=this.Pa(0),h=f-b,l=[];e.pl(2*b,2*h,l,0,!0);for(e=0;e<h;e++)a[e]=c.b.pa(l[2*e],l[2*e+1]);return f};b.prototype.gX=function(a,b){var f=this.qa,f=Math.min(f,0+b);if(0>=this.qa||0>f||a.length!=b)throw c.g.F();var e=this.Pa(0),h=null,l=c.ma.de(1),g=this.hasAttribute(1);g&&(h=this.Pa(1));var f=f-0,m=[],w=[];e.pl(0,2*f,m,0,!0);h.pl(0,f,w,0,!0);for(e=0;e<f;e++)a[e]=new c.qd(m[2*e],m[2*e+1],g?w[e]:l)};b.prototype.Iy=function(){};\nb.prototype.Py=function(){};b.prototype.Xu=function(){return!1};b.prototype.Hj=function(){return!1};b.prototype.Gg=function(){return null};return b}(c.Mu);c.Ed=n})(r||(r={}));(function(c){(function(c){c[c.NotDetermined=0]=\"NotDetermined\";c[c.Structure=1]=\"Structure\";c[c.DegenerateSegments=2]=\"DegenerateSegments\";c[c.Clustering=3]=\"Clustering\";c[c.Cracking=4]=\"Cracking\";c[c.CrossOver=5]=\"CrossOver\";c[c.RingOrientation=6]=\"RingOrientation\";c[c.RingOrder=7]=\"RingOrder\";c[c.OGCPolylineSelfTangency=8]=\n\"OGCPolylineSelfTangency\";c[c.OGCPolygonSelfTangency=9]=\"OGCPolygonSelfTangency\";c[c.OGCDisconnectedInterior=10]=\"OGCDisconnectedInterior\"})(c.YM||(c.YM={}));var n=function(){function c(b,a,d){void 0===b?(this.Ii=0,this.mm=this.lm=-1):(this.Ii=b,this.lm=a,this.mm=d)}c.prototype.ms=function(b){this.Ii=b.Ii;this.lm=b.lm;this.mm=b.mm};return c}();c.$d=n})(r||(r={}));(function(c){var n=function(){function g(){}g.YZ=function(b){if(!1===b)throw c.g.KL();};g.SK=function(b){return isNaN(b)?NaN:0===b?b:0<\nb?1:-1};g.qv=function(b){var a;void 0===a&&(a=0);for(var d=[],f=0;f<b;f++)d[f]=g.gf(2,a);return d};g.gf=function(b,a){void 0===a&&(a=0);for(var d=[],f=0;f<b;f++)d[f]=a;return d};g.Nv=function(b,a){var d,f;void 0===d&&(d=0);for(void 0===f&&(f=b.length-1);d<=f;d++)b[d]=a};g.pk=function(b,a,d){return b<a?a:b>d?d:b};g.t_=function(){return 4};g.dh=function(b,a){var d=5381;void 0!==a?d=(a<<5)+a+(b&255):d=(d<<5)+d+(b&255);d=(d<<5)+d+(b>>8&255);d=(d<<5)+d+(b>>16&255);return(d<<5)+d+(b>>24&255)&2147483647};\ng.Zi=function(){throw Error(\"Not Implemented\");};g.p_=function(){return-Infinity};g.r_=function(){return Infinity};g.h_=function(){return 2147483647};g.UZ=function(){return 2.220446049250313E-16};g.VZ=function(){return 1.7976931348623157E308};g.IB=function(b){return g.eZ(b)+12345&2147483647};g.gI=function(b){var a=32,d=b%g.qA|0,f=b/g.qA|0;if(0===(a&=63))return b;32>a?(b=d>>>a|f<<32-a,a=f>>a):(b=f>>a-32,a=0<=f?0:-1);return a*g.qA+(b>>>0)};g.eZ=function(b){var a;a=1103515245;b|=0;var d=a&65535;return((a-\nd)*b|0)+(d*b|0)|0};g.truncate=function(b){return 0>b?-1*Math.floor(Math.abs(b)):Math.floor(b)};g.hV=Math.pow(2,53)-1;g.XZ=-g.hV;g.jD=65536;g.K_=16777216;g.qA=g.jD*g.jD;return g}();c.J=n})(r||(r={}));(function(c){(function(c){c[c.Project=0]=\"Project\";c[c.Union=1]=\"Union\";c[c.Difference=2]=\"Difference\";c[c.Proximity2D=3]=\"Proximity2D\";c[c.Relate=4]=\"Relate\";c[c.Equals=5]=\"Equals\";c[c.Disjoint=6]=\"Disjoint\";c[c.Intersects=7]=\"Intersects\";c[c.Within=8]=\"Within\";c[c.Contains=9]=\"Contains\";c[c.Crosses=\n10]=\"Crosses\";c[c.Touches=11]=\"Touches\";c[c.Overlaps=12]=\"Overlaps\";c[c.Buffer=13]=\"Buffer\";c[c.Distance=14]=\"Distance\";c[c.Intersection=15]=\"Intersection\";c[c.Clip=16]=\"Clip\";c[c.Cut=17]=\"Cut\";c[c.DensifyByLength=18]=\"DensifyByLength\";c[c.DensifyByAngle=19]=\"DensifyByAngle\";c[c.LabelPoint=20]=\"LabelPoint\";c[c.GeodesicBuffer=21]=\"GeodesicBuffer\";c[c.GeodeticDensifyByLength=22]=\"GeodeticDensifyByLength\";c[c.ShapePreservingDensify=23]=\"ShapePreservingDensify\";c[c.GeodeticLength=24]=\"GeodeticLength\";\nc[c.GeodeticArea=25]=\"GeodeticArea\";c[c.Simplify=26]=\"Simplify\";c[c.SimplifyOGC=27]=\"SimplifyOGC\";c[c.Offset=28]=\"Offset\";c[c.Generalize=29]=\"Generalize\";c[c.SymmetricDifference=30]=\"SymmetricDifference\";c[c.ConvexHull=31]=\"ConvexHull\";c[c.Boundary=32]=\"Boundary\";c[c.SimpleRelation=33]=\"SimpleRelation\"})(c.tN||(c.tN={}));var n=function(){function g(){}g.prototype.G=function(){return null};g.prototype.qo=function(){return!1};g.prototype.wv=function(){return!1};g.NZ=function(b){c.T.gh(b.G())&&(b=b.ob,\nnull!=b&&(b.My(null),b.OE(null)))};return g}();c.ef=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 13};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e,h){return a instanceof c.T?(h=new c.hd(a),this.V(h,b,[f],!1,e).next()):!0===e?(f=new c.ED(a,b,f,!1,h),c.ei.local().V(f,b,h)):new c.ED(a,b,f,!1,h)};b.$=null;return b}(c.ef);c.DD=n})(r||(r={}));(function(c){var n=function(){function g(b,a,\nd,f,e){this.Ca=-1;this.ie=b;this.JA=a;this.yt=d;this.uV=new c.h;this.uV.Oa();this.To=-1;this.lc=e}g.prototype.next=function(){for(var b;null!=(b=this.ie.next());)return this.Ca=this.ie.Ia(),this.To+1<this.yt.length&&this.To++,this.buffer(b,this.yt[this.To]);return null};g.prototype.Ia=function(){return this.Ca};g.prototype.buffer=function(b,a){return c.QL.buffer(b,a,this.JA,NaN,96,this.lc)};g.prototype.Re=function(){return!0};return g}();c.ED=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,\narguments)}O(b,g);b.prototype.G=function(){return 16};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f,e).next()):new c.dN(a,b,f,e)};b.$=null;return b}(c.ef);c.cN=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d){this.Ca=-1;if(null==b)throw c.g.F();this.R=a;this.$k=b;this.ta=c.na.be(d,a,!1)}g.prototype.next=function(){var b;return null!=(b=this.$k.next())?(this.Ca=this.$k.Ia(),c.ne.clip(b,this.R,\nthis.ta,0)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.Re=function(){return!0};return g}();c.dN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 31};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f){return a instanceof c.T?c.GD.EF(a):new c.GD(b,a,f)};b.$=null;return b}(c.ef);c.FD=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d){this.bB=new c.Ju;this.Ca=-1;if(null==\na)throw c.g.F();this.oI=b;this.Pc=!1;this.$k=a;this.lc=d}g.prototype.next=function(){if(this.oI){if(!this.Pc){var b=this.fQ(this.$k);this.Pc=!0;return b}return null}if(!this.Pc){b=this.$k.next();if(null!=b)return this.Ca=this.$k.Ia(),g.EF(b);this.Pc=!0}return null};g.prototype.Ia=function(){return this.Ca};g.prototype.fQ=function(b){for(var a;null!=(a=b.next());)this.bB.Jb(a);return this.bB.VS()};g.prototype.Re=function(){if(this.Pc)return!0;if(!this.oI)throw c.g.X(\"Invalid call for non merging convex hull.\");\nvar b=this.$k.next();if(null!=b)return this.bB.Jb(b),!0;throw c.g.X(\"Expects a non-null geometry.\");};g.EF=function(b){if(g.Wg(b))return b;var a=b.G();if(c.xl.Oc(a))return a=new c.Ua(b.description),a.dc(b,!0),a;if(550==a&&2==b.D()){var d=new c.Wa,a=new c.Ua(b.description);b.Ae(0,d);a.Rf(d);b.Ae(1,d);a.lineTo(d);return a}return c.Ju.VQ(b)};g.Wg=function(b){if(b.u())return!0;var a=b.G();return 33==a||197==a?!0:c.xl.Oc(a)?!1:550==a?1==b.D()?!0:!1:1607==a?1==b.aa()&&2>=b.D()?!0:!1:1!=b.aa()?!1:2>=b.D()?\n!0:c.Ju.VH(b,0)};return g}();c.GD=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 17};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e,h){return new c.fN(a,b,f,e,h)};b.$=null;return b}(c.ef);c.eN=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f,e){this.qg=null;if(null==a||null==d)throw c.g.X(\"invalid argument\");this.rV=b;this.WA=a;this.xI=d;b=c.na.Zv(a,d);this.ta=c.na.be(f,\nb,!0);this.wI=-1;this.ke=e}g.prototype.Ia=function(){return 0};g.prototype.next=function(){this.IS();return++this.wI<this.qg.length?this.qg[this.wI]:null};g.prototype.IS=function(){if(null==this.qg)switch(this.qg=[],this.WA.G()){case 1607:this.KS();break;case 1736:this.JS()}};g.prototype.KS=function(){var b=new c.Ua,a=new c.Ua,d=new c.Ua;this.qg.push(b);this.qg.push(a);var f=[];c.XL.VL(this.rV,this.WA,this.xI,this.ta,f,this.ke);for(var e=0;e<f.length;e++){var h=f[e];0==h.nx?b.add(h.Y,!1):1==h.nx||\n2==h.nx?a.add(h.Y,!1):3==h.nx?this.qg.push(h.Y):d.add(h.Y,!1)}d.u()||b.u()&&a.u()&&!(3<=this.qg.length)||this.qg.push(d);b.u()&&a.u()&&3>this.qg.length&&(this.qg.length=0)};g.prototype.JS=function(){var b=new c.ia(0),a=new c.fd,d=a.iG(),f=a.Jb(this.WA),e=a.Jb(this.xI),h=new c.Dg;try{h.Xr(a,this.ta,this.ke);h.Hl(d,f,e,b);var l=a.Se(f),k=new c.Ja,g=new c.Ja;this.qg.length=0;this.qg.push(k);this.qg.push(g);for(f=0;f<b.size;f++){var w,p=new c.fd,q=p.Jb(l),t=p.Jb(a.Se(b.get(f)));h.Wr(p,this.ke);var n=\nh.nw(q,t);w=p.Se(n);if(!w.u()){var r=a.VG(b.get(f),d);2==r?k.add(w,!1):1==r?g.add(w,!1):this.qg.push(w);var v=new c.fd,q=v.Jb(l),t=v.Jb(a.Se(b.get(f)));h.Wr(v,this.ke);l=v.Se(h.Vm(q,t))}}!l.u()&&0<b.size&&this.qg.push(l);k.u()&&g.u()&&(this.qg.length=0)}finally{h.qh()}};g.prototype.Re=function(){return!0};return g}();c.fN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 18};b.local=function(){null===b.$&&(b.$=new b);return b.$};\nb.prototype.V=function(a,b,f){if(a instanceof c.T)return a=new c.hd(a),this.V(a,b,f).next();if(0>=b)throw c.g.F();return new c.gN(a,b,f)};b.$=null;return b}(c.ef);c.Jm=n})(r||(r={}));(function(c){var n=function(){function g(b,a){this.Ca=-1;this.ie=b;this.Kt=a}g.prototype.Ia=function(){return this.Ca};g.prototype.next=function(){var b;return null!=(b=this.ie.next())?(this.Ca=this.ie.Ia(),this.KR(b)):null};g.prototype.KR=function(b){if(b.u()||1>b.tb())return b;var a=b.G();if(1736==a||1607==a)return this.wz(b);\nif(c.T.Oc(a))return this.MR(b);if(197==a)return this.LR(b);throw c.g.za();};g.prototype.MR=function(b){if(b.Rb()<=this.Kt)return b;var a=new c.Ua(b.description);a.dc(b,!0);return this.wz(a)};g.prototype.LR=function(b){var a=new c.Ja(b.description);a.jd(b,!1);var d=new c.h;b.s(d);b=d.fa();return d.N()<=this.Kt&&b<=this.Kt?a:this.wz(a)};g.prototype.wz=function(b){for(var a=b.Ka(),d=b.Fa();d.Ya();)for(var f=!0;d.Ea();){var e=d.ba();if(322!=e.G())throw c.g.X(\"not implemented\");var h=d.Fo(),l=e.Rb();if(l>\nthis.Kt){var k=Math.ceil(l/this.Kt),l=new c.Wa(b.description);f&&(e.Dp(l),a.Rf(l));for(var g=f=1/k,w=0,k=k-1;w<k;w++)e.Fx(g,l),a.lineTo(l),g+=f;h?a.sq():(e.Bp(l),a.lineTo(l))}else h?a.sq():a.dc(e,f);f=!1}return a};g.prototype.Re=function(){return!0};return g}();c.gN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.G=function(){return 2};b.prototype.V=function(a,b,f,e){return a instanceof c.T?\n(a=new c.hd(a),b=new c.hd(b),this.V(a,b,f,e).next()):new c.hN(a,b,f,e)};b.Vm=function(a,d,f,e){if(a.u()||d.u())return a;var h=a.tb(),l=d.tb();if(h>l)return a;var k=a.G(),g=d.G(),w=new c.h,p=new c.h,q=new c.h;a.s(w);d.s(p);q.I(w);q.Nb(p);var q=c.na.be(f,q,!0),t=q*Math.sqrt(2)*1.00001,n=new c.h;n.I(w);n.O(t,t);if(!n.Yb(p))return a;if(1==h&&2==l)return b.TL(a,d,g,f,e);if(33==k)switch(c.xl.Oc(g)?(f=new c.Ua(d.description),f.dc(d,!0)):f=d,g){case 1736:return b.hO(a,f,q);case 1607:return b.lO(a,f,q);case 550:return b.WN(a,\nf,q);case 197:return b.QN(a,f,q);case 33:return b.dO(a,f,q);default:throw c.g.F();}else if(550==k)switch(g){case 1736:return b.DM(a,d,q);case 197:return b.nM(a,d,q);case 33:return b.yM(a,d,q)}return c.Dg.Vm(a,d,f,e)};b.hO=function(a,b,f){return 0==c.gd.WH(b,a,f)?a:a.Ka()};b.lO=function(a,b,f){var e=a.w();b=b.Fa();for(var h=f*Math.sqrt(2)*1.00001,l=h*h,k=new c.h;b.Ya();)for(;b.Ea();){var g=b.ba();g.s(k);k.O(h,h);if(k.contains(e)){if(g.mt(e,f))return a.Ka();var w=g.ec();if(c.b.sc(e,w)<=l)return a.Ka();\nw=g.Cc();if(c.b.sc(e,w)<=l)return a.Ka()}}return a};b.WN=function(a,b,f){var e=b.Pa(0);b=b.D();var h=a.w(),l=new c.b;f=f*Math.sqrt(2)*1.00001;f*=f;for(var k=0;k<b;k++)if(e.fc(2*k,l),c.b.sc(l,h)<=f)return a.Ka();return a};b.QN=function(a,b,f){var e=new c.h;b.s(e);e.O(f,f);b=a.w();return e.contains(b)?a.Ka():a};b.dO=function(a,b,f){f=f*Math.sqrt(2)*1.00001;f*=f;var e=a.w();b=b.w();return c.b.sc(e,b)<=f?a.Ka():a};b.DM=function(a,b,f){var e=new c.h;b.s(e);e.O(f,f);for(var h=a.D(),l=!1,k=[],g=0;g<h;g++)k[g]=\n!1;for(var w=new c.b,g=0;g<h;g++)a.w(g,w),e.contains(w)&&0!=c.gd.ge(b,w,f)&&(l=!0,k[g]=!0);if(!l)return a;b=a.Ka();for(g=0;g<h;g++)k[g]||b.Id(a,g,g+1);return b};b.nM=function(a,b,f){var e=new c.h;b.s(e);e.O(f,f);b=a.D();var h=!1;f=[];for(var l=0;l<b;l++)f[l]=!1;for(var k=new c.b,l=0;l<b;l++)a.w(l,k),e.contains(k)&&(h=!0,f[l]=!0);if(!h)return a;e=a.Ka();for(l=0;l<b;l++)f[l]||e.Id(a,l,l+1);return e};b.yM=function(a,b,f){var e=a.Pa(0),h=a.D(),l=b.w(),k=new c.b,g=!1;b=[];for(var w=0;w<h;w++)b[w]=!1;w=\nf*Math.sqrt(2)*1.00001;f=w*w;for(w=0;w<h;w++)e.fc(2*w,k),c.b.sc(k,l)<=f&&(g=!0,b[w]=!0);if(!g)return a;e=a.Ka();for(w=0;w<h;w++)b[w]||e.Id(a,w,w+1);return e};b.TL=function(a,b,f,e,h){var l=new c.ci;a.Qn(l);var k=new c.h;b.s(k);l.Nb(k);l.O(.1*l.N(),.1*l.fa());k=new c.Ja;k.jd(l,!1);1736==f?k.add(b,!0):k.jd(b,!0);return c.tk.local().V(a,k,e,h)};b.$=null;return b}(c.ef);c.cq=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f){this.ot=null==a;this.Ca=-1;this.ie=b;this.JA=d;this.xV=a.next();\nthis.lc=f}g.prototype.next=function(){if(this.ot)return null;var b;return null!=(b=this.ie.next())?(this.Ca=this.ie.Ia(),c.cq.Vm(b,this.xV,this.JA,this.lc)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.Re=function(){return!0};return g}();c.hN=n})(r||(r={}));(function(c){var n=function(){function b(a){this.ke=a;this.Zj=new c.h;this.Zj.Oa();this.Jh=new c.h;this.Jh.Oa()}b.prototype.Bu=function(){var a;a=this.Zj.o;this.Zj.o=this.Jh.o;this.Jh.o=a;a=this.Zj.v;this.Zj.v=this.Jh.v;this.Jh.v=\na;a=this.Zj.A;this.Zj.A=this.Jh.A;this.Jh.A=a;a=this.Zj.B;this.Zj.B=this.Jh.B;this.Jh.B=a};b.prototype.$R=function(a,b){var f=!this.Zj.Yb(this.Jh);if(c.T.Ic(a.G())&&c.T.Ic(b.G())){if(a.D()>b.D())return this.uF(a,b,f);this.Bu();f=this.uF(b,a,f);this.Bu();return f}if(550==a.G()&&c.T.Ic(b.G()))return f=this.vF(b,a,f),this.Bu(),f;if(550==b.G()&&c.T.Ic(a.G()))return this.vF(a,b,f);if(550==a.G()&&550==b.G()){if(a.D()>b.D())return this.wF(a,b);this.Bu();f=this.wF(b,a);this.Bu();return f}return 0};b.prototype.uF=\nfunction(a,b,f){var e=a.Fa(),h=b.Fa(),l=new c.h,k=new c.h,g=1.7976931348623157E308;if(!f&&this.rZ(a,b,e,h))return 0;for(;e.Ya();)for(;e.Ea();)if(a=e.ba(),a.s(l),!(l.Zx(this.Jh)>g)){for(;h.Ya();)for(;h.Ea();)if(b=h.ba(),b.s(k),l.Zx(k)<g&&(b=a.Cb(b,f),b*=b,b<g)){if(0==b)return 0;g=b}h.yj()}return Math.sqrt(g)};b.prototype.vF=function(a,b,f){var e=a.Fa(),h=new c.h,l=1.7976931348623157E308,k=new c.b,g,w=b.D();for(f=!f&&1736==a.G();e.Ya();)for(;e.Ea();){var p=e.ba();p.s(h);if(!(1<w&&h.Zx(this.Jh)>l)){for(var q=\n0;q<w;q++){b.w(q,k);if(f&&0!=c.gd.ge(a,k,0))return 0;g=p.pe(k,!1);k.sub(p.gc(g));g=k.qk();if(g<l){if(0==g)return 0;l=g}}f=!1}}return Math.sqrt(l)};b.prototype.wF=function(a,b){for(var f=1.7976931348623157E308,e=new c.b,h=new c.b,l,k=a.D(),g=b.D(),w=0;w<k;w++)if(a.w(w,e),!(1<g&&this.Jh.ZK(e)>f))for(var p=0;p<g;p++)if(b.w(p,h),l=c.b.sc(e,h),l<f){if(0==l)return 0;f=l}return Math.sqrt(f)};b.prototype.rZ=function(a,b,f,e){if(1736==a.G()){for(;e.Ya();)if(e.Ea()){var h=e.ba();if(0!=c.gd.ge(a,h.Cc(),0))return!0}e.yj()}if(1736==\nb.G()){for(;f.Ya();)if(f.Ea()&&(a=f.ba(),0!=c.gd.ge(b,a.Cc(),0)))return!0;f.yj()}return!1};b.prototype.Rm=function(a,b){if(a.u()||b.u())return NaN;a.s(this.Zj);b.s(this.Jh);return this.$R(a,b)};return b}(),g=function(b){function a(){b.apply(this,arguments)}O(a,b);a.prototype.V=function(a,b,e){if(null==a||null==b)throw c.g.F();if(a.u()||b.u())return NaN;var h,l;h=a.G();l=b.G();if(33==h){if(33==l)return c.b.Cb(a.w(),b.w());if(197==l)return e=new c.h,b.s(e),e.Cb(a.w());h=new c.Ed;h.add(a);a=h}else if(197==\nh){if(197==l)return l=new c.h,a.s(l),e=new c.h,b.s(e),e.Cb(l);h=new c.Ja;h.jd(a,!1);a=h}33==l?(l=new c.Ed,l.add(b),b=l):197==l&&(l=new c.Ja,l.jd(b,!1),b=l);return(new n(e)).Rm(a,b)};a.local=function(){null===a.$&&(a.$=new a);return a.$};a.prototype.G=function(){return 14};a.$=null;return a}(c.ef);c.iN=g})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f){this.LI=b;this.TI=a;this.ke=f;this.lI=d}g.prototype.next=function(){var b=this.LI.next();return null==b?null:this.lD(b)};g.prototype.Ia=\nfunction(){return this.LI.Ia()};g.prototype.lD=function(b){var a=b.G();if(c.T.Jo(a))return b;if(197==a)return a=new c.Ja(b.description),a.jd(b,!1),this.lD(a);if(b.u())return b;if(null==b)throw c.g.za();for(var a=b.Ka(),d=new c.Hb,f=0,e=b.aa();f<e;f++)this.pM(b,f,a,d);return a};g.prototype.pM=function(b,a,d,f){if(!(2>b.La(a))){var e=b.wa(a),h=b.Gc(a)-1,l=b.Pa(0),k=b.Qb(a),g=new c.ia(0);g.yb(b.La(a)+1);var w=new c.ia(0);w.yb(b.La(a)+1);g.add(k?e:h);g.add(e);for(e=new c.b;1<g.size;){var p=g.Fc();g.Pf();\nvar q=g.Fc();b.w(p,e);f.Mc(e);b.w(q,e);f.Zc(e);q=this.lM(f,e,l,p,q,h);0<=q?(g.add(q),g.add(p)):w.add(p)}k||w.add(g.get(0));if(w.size==g.size)d.Ti(b,a,!0);else if(2<=w.size&&(!this.lI||2!=w.size||!(k||c.b.Cb(b.Ba(w.get(0)),b.Ba(w.get(1)))<=this.TI))){a=new c.Wa;f=0;for(h=w.size;f<h;f++)b.Ae(w.get(f),a),0==f?d.Rf(a):d.lineTo(a);k&&(this.lI||2!=w.size||d.lineTo(a),d.sq())}}};g.prototype.lM=function(b,a,d,f,c,h){var l=c-1;c<=f&&(l=h);h=c=-1;for(f+=1;f<=l;f++){d.fc(2*f,a);var g=a.x,m=a.y;b.gc(b.pe(a,!1),\na);a.x-=g;a.y-=m;g=a.length();g>this.TI&&g>h&&(c=f,h=g)}return c};g.prototype.Re=function(){return!0};return g}();c.jN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 29};b.prototype.V=function(a,b,f,e){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f,e).next()):new c.jN(a,b,f,e)};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.$=null;return b}(c.ef);c.HD=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,\narguments)}O(b,g);b.prototype.G=function(){return 21};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e,h,l,g,m){return a instanceof c.T?(m=new c.hd(a),this.V(m,b,f,[e],h,l,!1,g).next()):!0===g?(f=new c.KD(a,b,f,e,h,!1,!1,m),c.ei.local().V(f,b,m)):new c.KD(a,b,f,e,h,!1,!1,m)};b.$=null;return b}(c.ef);c.JD=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f,e,h,l,g){if(h)throw c.g.df();if(null==a)throw c.g.F();this.Ca=-1;this.Ht=b;this.Rg=a;this.$e=d;\nthis.yt=f;this.Po=e;this.To=-1;this.lc=g;this.vV=new c.h;this.vV.Oa()}g.prototype.next=function(){for(var b;null!=(b=this.Ht.next());)return this.Ca=this.Ht.Ia(),this.To+1<this.yt.length&&this.To++,this.SS(b,this.yt[this.To]);return null};g.prototype.Ia=function(){return this.Ca};g.prototype.SS=function(b,a){return c.sM.buffer(b,this.Rg,this.$e,a,this.Po,this.lc)};g.prototype.Re=function(){return!0};return g}();c.KD=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}\nO(b,g);b.prototype.G=function(){return 24};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e){if(null==b)throw c.g.F();if(a.u()||1>a.tb())return 0;if(4==f)throw c.g.df();var h=c.fb.kc(b),l=c.fb.hw(h),g=c.fb.Sv(h),l=l*(2-l),m=h.Nd().Ai,w=a.G(),p;1736==w||197==w?p=a.Gg():c.T.Oc(w)?(p=new c.Ua(a.description),p.dc(a,!0)):p=a;if(0==h.Eb(b)){if(c.fb.Jc(b)){p=c.gi.Mj(p,b);1607==w&&p==a&&(p=c.T.oe(a));a=new c.Ac;c.fb.Bh(b).Sn(a);for(var w=0,q=p.D();w<q;w++){var t=p.Ba(w);\nt.x=c.gi.Nn(t.x,a);p.rb(w,t)}}a=p.Ka();p=c.gi.OJ(b,h,p,a,e)?a:c.fb.Xg(p,b,h,e)}return this.bS(p,f,g,l,m)};b.prototype.bS=function(a,b,f,e,h){var l=new c.ea(0),g=0;for(a=a.Fa();a.Ya();)for(;a.Ea();){var m=a.ba(),w=m.ec(),m=m.Cc();w.scale(h);m.scale(h);c.mb.Ld(f,e,w.x,w.y,m.x,m.y,l,null,null,b);g+=l.j}return g};b.$=null;return b}(c.ef);c.mN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 18};b.local=function(){null===b.$&&(b.$=\nnew b);return b.$};b.prototype.V=function(a,b,f,e,h){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f,e,h).next()):new c.lN(a,f,e,b,-1,-1,h)};b.$=null;return b}(c.ef);c.kN=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f,e,h){if(0<h)throw c.g.df();if(4!=d&&0<e)throw c.g.df();if(null==a)throw c.g.F();this.Ca=-1;this.Ht=b;this.Rg=a;this.$e=d;this.CV=f;this.BV=e}g.prototype.next=function(){for(var b;null!=(b=this.Ht.next());)return this.Ca=this.Ht.Ia(),this.Hz(b);return null};g.prototype.Ia=\nfunction(){return this.Ca};g.prototype.Hz=function(b){return c.Ej.Ls(b,this.Rg,this.$e,this.CV,this.BV,this.lc)};g.prototype.Re=function(){return!0};return g}();c.lN=n})(r||(r={}));(function(c){(function(c){c[c.Unknown=0]=\"Unknown\";c[c.Contains=1]=\"Contains\";c[c.Within=2]=\"Within\";c[c.Equals=3]=\"Equals\";c[c.Disjoint=4]=\"Disjoint\";c[c.Touches=8]=\"Touches\";c[c.Crosses=16]=\"Crosses\";c[c.Overlaps=32]=\"Overlaps\";c[c.NoThisRelation=64]=\"NoThisRelation\";c[c.Intersects=1073741824]=\"Intersects\";c[c.IntersectsOrDisjoint=\n1073741828]=\"IntersectsOrDisjoint\"})(c.BM||(c.BM={}));var n=function(){function g(){}g.s_=function(b,a,d,f){if(a.u()||b.u())return 4;var e=b.G(),h=a.G(),l;c.T.Oc(e)&&(b=l=new c.Ua(b.description),l.dc(b,!0));c.T.Oc(h)&&(a=l=new c.Ua(a.description),l.dc(a,!0));switch(e){case 33:switch(h){case 33:return g.FN(b,a,d);case 197:return g.se(g.CD(a,b,d));case 550:return g.se(g.aE(a,b,d));case 1607:return g.se(g.aD(a,b,d,f));case 1736:return g.se(g.oE(a,b,d))}throw c.g.za();case 197:switch(h){case 33:return g.CD(b,\na,d);case 197:return g.JM(b,a,d);case 550:return g.se(g.TD(a,b,d,f));case 1607:return g.se(g.tE(a,b));case 1736:return g.se(g.kE(a,b))}throw c.g.za();case 550:switch(h){case 33:return g.aE(b,a,d);case 197:return g.TD(b,a,d,f);case 550:return g.ZD(b,a,d,f);case 1607:return g.se(g.vE(a,b));case 1736:return g.se(g.mE(a,b))}throw c.g.za();case 1607:switch(h){case 33:return g.aD(b,a,d,f);case 197:return g.tE(b,a);case 550:return g.vE(b,a);case 1607:return g.mO(b,a);case 1736:return g.se(g.rE(a,b))}throw c.g.za();\ncase 1736:switch(h){case 33:return g.oE(b,a,d);case 197:return g.kE(b,a);case 550:return g.mE(b,a);case 1607:return g.rE(b,a);case 1736:return g.XN(b,a)}throw c.g.za();default:throw c.g.za();}};g.FN=function(b,a,d){b=b.w();a=a.w();return g.iE(b,a,d)};g.iE=function(b,a,d){b.sub(a);return b.qk()<=d*d?3:4};g.CD=function(b,a,d){var f=new c.h;b.s(f);b=a.w();return g.QM(f,b,d)};g.QM=function(b,a,d){b.O(-d,-d);if(b.contains(a))return 1;b.O(d,d);return b.contains(a)?8:4};g.UM=function(b,a,d){return a.contains(d)?\n1:b.contains(d)?8:4};g.JM=function(b,a,d){var f=new c.h;b.s(f);b=new c.h;a.s(b);return g.NM(f,b,d)};g.NM=function(b,a,d){var f=0;b.contains(a)&&(f|=1);a.contains(b)&&(f|=2);if(0!=f)return f;b.O(-d,-d);a.O(-d,-d);if(b.Yb(a))return f=b,f.O(d,d),f=f.contains(a)?1:0,a.O(d,d),f|=a.contains(b)?2:0,0!=f?f:32;f=b;f.O(d,d);a.O(d,d);return f.Yb(a)?8:4};g.aE=function(b,a,d){a=a.w();return g.cE(b,a,d)};g.cE=function(b,a,d){for(var f=0,c=b.D();f<c;f++){var h;h=b.Ba(f);h=g.iE(h,a,d);if(4!=h)return 0!=(h&2)&&1!=\nc?1:h}return 4};g.TD=function(b,a,d,f){var e=new c.h;a.s(e);return g.aN(b,e,d,f)};g.aN=function(b,a,d,f){a.O(-d,-d);a.O(d,d);for(var c=d=0,h=b.D();c<h;c++){var l;l=b.Ba(c);l=g.se(g.UM(a,a,l));if(4!=l&&(d|=l,4==f))return 1073741824}return 0==d?4:2==d?d:32};g.ZD=function(b,a,d,f){for(var c=0,h=0,l=a.D();h<l;h++){var k;k=a.Ba(h);k=g.cE(b,k,d);if(4!=k&&(c++,4==f))return 1073741824}return 0<c?c==a.D()?3==f?(k=g.ZD(a,b,d,1),1==k?3:0):1:32:0};g.aD=function(b,a,d,f){a=a.w();return g.iO(b,a,d,f)};g.XM=function(b,\na){var d=null,f=b.ob;null!=f&&(d=f.Hi);if(null!=d){d=d.rm(a.x,a.y);if(0==d)return 4;if(1==d)return 1}else return-1;return 0};g.iO=function(b,a,d,f){if(0==(f&1073741839))return 64;var e=g.XM(b,a);if(0<e)return e;d*=d;for(e=b.Fa();e.Ya();){var h=e.Ta;if(!b.Qb(h)){var l=b.La(h),h=b.wa(h);if(0==l)continue;if(c.b.sc(b.Ba(h),a)<=d||1<l&&c.b.sc(b.Ba(h+l-1),a)<=d)return 8}if(8!=f)for(;e.Ea();)if(l=e.ba(),l=l.gc(l.pe(a,!1)),c.b.sc(l,a)<=d)return 0!=(f&1073741828)?1073741824:1}return 0!=(f&1073741828)?4:64};\ng.tE=function(b,a){var d=new c.h;a.s(d);return g.eO(b,d)};g.eO=function(b,a){var d=g.eq(b,a);return 0<d?d:0};g.eq=function(b,a){var d;d=b.ob;if(null!=d)d=d.Hi;else return-1;if(null!=d){d=d.Rn(a);if(0==d)return 4;if(1==d)return 1}else return-1;return 0};g.vE=function(b,a){var d=new c.h;a.s(d);d=g.eq(b,d);return 0<d?d:0};g.uv=function(b,a){var d=new c.h;a.s(d);d=g.eq(b,d);return 0<d?d:-1==d&&(d=new c.h,b.s(d),d=g.eq(a,d),0<d)?g.se(d):0};g.mO=function(b,a){var d=g.uv(b,a);return 0<d?d:0};g.oE=function(b,\na,d){a=a.w();return g.RN(b,a,d)};g.RN=function(b,a,d){b=c.gd.ge(b,a,d);if(0==b)return 4;if(1==b)return 1;if(2==b)return 8;throw c.g.za();};g.kE=function(b,a){var d=new c.h;a.s(d);return g.ON(b,d)};g.ON=function(b,a){var d=g.eq(b,a);return 0<d?d:0};g.mE=function(b,a){var d=g.uv(b,a);return 0<d?d:0};g.rE=function(b,a){var d=g.uv(b,a);return 0<d?d:0};g.XN=function(b,a){var d=g.uv(b,a);return 0<d?d:0};g.kX=function(b,a){var d=b.G(),f=a.G(),e;if(c.T.gh(d)&&(e=b.ob,null!=e&&(e=e.Hi,null!=e))){if(33==f){var h=\na.w();e=e.rm(h.x,h.y)}else h=new c.h,a.s(h),e=e.Rn(h);if(1==e)return 1;if(0==e)return 4}if(c.T.gh(f)&&(e=a.ob,null!=e&&(e=e.Hi,null!=e))){33==d?(d=b.w(),e=e.rm(d.x,d.y)):(d=new c.h,b.s(d),e=e.Rn(d));if(1==e)return 2;if(0==e)return 4}return 0};g.se=function(b){0!=(b&1)&&(b=b&-2|2);0!=(b&2)&&(b=b&-3|1);return b};return g}();c.nN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.G=function(){return 15};\nb.prototype.V=function(a,b,f,e,h){return a instanceof c.T?(a=new c.hd(a),b=new c.hd(b),this.V(a,b,f,e,h).next()):void 0===h?new c.LD(a,b,f,e,-1):new c.LD(a,b,f,e,h)};b.prototype.qo=function(a,b,f){if(!this.wv(a))return!1;b=c.na.ah(b,a,!1);var e=a.Hj(f);return e=e||a.Xu(b,f)};b.prototype.wv=function(a){return c.xy.bz(a)};b.$=null;return b}(c.ef);c.tk=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f,e){this.ot=null==a;this.Ca=-1;this.ie=b;this.Rg=d;this.sf=a.next();this.$j=this.sf.G();\nthis.lc=f;this.ej=e;if(-1!=this.ej&&(0>=this.ej||7<this.ej))throw c.g.F(\"bad dimension mask\");}g.prototype.next=function(){if(this.ot)return null;var b;if(null!=this.ox){b=this.ox.next();if(null!=b)return b;this.ox=null}for(;null!=(b=this.ie.next());){this.Ca=this.ie.Ia();if(-1==this.ej)return b=this.Ma(b);this.ox=this.LU(b);return b=this.ox.next()}return null};g.prototype.Ia=function(){return this.Ca};g.prototype.Ma=function(b){var a=this.oL(b);if(null!=a)return a;var a=c.na.Zv(this.sf,b),d=c.na.be(this.Rg,\na,!0),a=new c.h;this.sf.s(a);var f=new c.h;b.s(f);a.O(2*d,2*d);a.Ma(f);a.O(100*d,100*d);d=c.ne.clip(this.sf,a,0,0);b=c.ne.clip(b,a,0,0);return c.Dg.nw(b,d,this.Rg,this.lc)};g.prototype.JJ=function(b,a,d){var f=0;if(0!=(a&1))null==d[0]&&(d[0]=new c.Ed(b)),f++;else for(var e=0;e<d.length-1;e++)d[e]=d[e+1];if(0!=(a&2))null==d[f]&&(d[f]=new c.Ua(b)),f++;else for(e=f;e<d.length-1;e++)d[e]=d[e+1];if(0!=(a&4))null==d[f]&&(d[f]=new c.Ja(b)),f++;else for(e=f;e<d.length-1;e++)d[e]=d[e+1];if(3!=f){b=[];for(e=\n0;e<f;e++)b[e]=d[e];return new c.hd(b)}return new c.hd(d)};g.prototype.LU=function(b){var a=this.oL(b);if(null!=a){var d=[null,null,null];d[a.tb()]=a;return this.JJ(b.description,this.ej,d)}a=c.na.Zv(this.sf,b);d=c.na.be(this.Rg,a,!0);a=new c.h;this.sf.s(a);a.O(2*d,2*d);var f=new c.h;b.s(f);a.Ma(f);a.O(100*d,100*d);d=c.ne.clip(this.sf,a,0,0);a=c.ne.clip(b,a,0,0);d=c.Dg.wA(a,d,this.Rg,this.lc);return this.JJ(b.description,this.ej,d)};g.prototype.oL=function(b){var a=c.na.Zv(b,this.sf),d=c.na.be(this.Rg,\na,!0),a=b.G(),f=b.u(),e=this.sf.u(),e=f||e;if(!e){e=new c.h;b.s(e);var h=new c.h;this.sf.s(h);h.O(2*d,2*d);e=!e.Yb(h)}if(!e)if(h=c.nN.kX(this.sf,b),4==h)e=!0;else{if(0!=(h&2))return this.sf;if(0!=(h&1))return b}if(e)return d=c.T.lf(a),e=c.T.lf(this.$j),d<e?g.$(b,f):d>e?this.dK():0==d?550==a&&33==this.$j?this.dK():g.$(b,f):g.$(b,f);if((-1==this.ej||4==this.ej)&&197==a&&197==this.$j)return d=this.sf,a=new c.h,b.s(a),f=new c.h,d.s(f),a.Ma(f),d=new c.ci,b.copyTo(d),d.Gp(a),d;if(197==a&&0==c.T.lf(this.$j)||\n197==this.$j&&0==c.T.lf(a))return f=197==a?b:this.sf,b=197==a?this.sf:b,a=new c.h,f.s(a),c.ne.clip(b,a,d,0);if(0==c.T.lf(a)&&0<c.T.lf(this.$j)||0<c.T.lf(a)&&0==c.T.lf(this.$j)){d=c.na.ah(this.Rg,b,!1);if(550==a||33==a)return c.Dg.MH(b,this.sf,d);if(550==this.$j||33==this.$j)return c.Dg.MH(this.sf,b,d);throw c.g.za();}return-1!=this.ej&&2!=this.ej||1607!=a||1736!=this.$j?-1!=this.ej&&2!=this.ej||1736!=a||1607!=this.$j?null:this.lL(this.sf,b):this.lL(b,this.sf)};g.prototype.lL=function(b,a){var d=b,\nf=a,e=c.na.ah(this.Rg,a,!1),h=new c.h;f.s(h);var l=new c.h;d.s(l);l.O(2*e,2*e);h.Ma(l);h.O(10*e,10*e);var d=b=c.ne.clip(b,h,0,0),l=new c.ia(0),g=-1,m=f.ob;if(null!=m){var w=m.Hi;if(null!=w){g=0;l.yb(d.D()+d.aa());for(var p=new c.h,q=d.Fa();q.Ya();)for(;q.Ea();){q.ba().s(p);var t=w.Rn(p);1==t?l.add(1):0==t?l.add(0):(l.add(-1),g++)}}}5<a.D()&&(f=a=c.ne.clip(a,h,0,0),m=f.ob);0>g&&(g=d.jA());h=d.D()+f.D();if(g*f.D()>Math.log(h)*h*4)return null;h=null;g=f.Fa();null!=m&&null!=m.Mb&&(h=m.Mb);null==h&&20<\nf.D()&&(h=c.na.BF(f));for(var f=b.Ka(),m=null,w=d.Fa(),p=[0,0,0,0,0,0,0,0,0],q=new c.Rd(0),t=new c.Cg,n=-1,r=0,v=0,x=0<l.size,B=-1;w.Ya();){for(var B=w.Ta,y=0,n=-1,r=0;w.Ea();){var A=x?c.J.truncate(l.get(v)):-1;v++;var C=w.ba();if(0>A){if(null!=h)for(null==m?m=h.qT(C,e):m.Wn(C,e),A=m.next();-1!=A;A=m.next()){g.Tb(h.ja(A));for(var A=g.ba(),D=C.Ma(A,null,p,null,e),A=0;A<D;A++)q.add(p[A])}else for(g.yj();g.Ya();)for(;g.Ea();)for(A=g.ba(),D=C.Ma(A,null,p,null,e),A=0;A<D;A++)q.add(p[A]);if(0<q.size){q.Gd(0,\nq.size,function(a,b){return a-b});var E=0;q.add(1);for(var D=-1,A=0,F=q.size;A<F;A++){var G=q.get(A);if(G!=E){var H=!1;0!=E||1!=G?(C.yh(E,G,t),E=t.get()):(E=C,H=!0);if(2<=y){f.Bs(d,B,n,r,3==y);if(1!=this.fF(a,E.ec(),e)&&1!=this.gF(a,E,e))return null;f.dc(E,!1);y=1;r=0}else switch(D=this.gF(a,E,e),D){case 1:H?2>y?(n=w.Db()-d.wa(B),r=1,y=0==y?3:2):r++:(f.dc(E,0==y),y=1);break;case 0:y=0;n=-1;r=0;break;default:return null}E=G}}}else{A=this.fF(a,C.ec(),e);if(0>A)return null;1==A?(2>y&&(n=w.Db()-d.wa(B),\ny=0==y?3:2),r++):(n=-1,r=0)}q.clear(!1)}else 0!=A&&1==A&&(0==y?(y=3,n=w.Db()-d.wa(B)):1==y?(y=2,n=w.Db()-d.wa(B)):r++)}2<=y&&(f.Bs(d,B,n,r,3==y),n=-1)}return f};g.prototype.fF=function(b,a,d){return c.ff.kn(b,a,d)};g.prototype.gF=function(b,a,d){var f=a.ec();a=a.Cc();var e=c.ff.kn(b,f,d),h=c.ff.kn(b,a,d);if(1==e&&0==h||0==e&&1==h)return-1;if(0==e||0==h)return 0;if(1==e||1==h)return 1;e=new c.b;e.add(f,a);e.scale(.5);b=c.ff.kn(b,e,d);return 0==b?0:1==b?1:-1};g.$=function(b,a){return a?b:b.Ka()};g.prototype.dK=\nfunction(){null==this.KI&&(this.KI=this.sf.Ka());return this.KI};g.prototype.Re=function(){return!0};return g}();c.LD=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 28};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e,h,l,g){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f,e,h,l,g).next()):new c.oN(a,b,f,e,h,l,g)};b.$=null;return b}(c.ef);c.MD=n})(r||(r={}));(function(c){var n=function(){function g(b,\na,d,f,c,h,l){this.Ca=-1;this.ie=b;this.fk=a;this.Qa=d;this.jj=f;this.jB=c;this.GI=h;this.ke=l}g.prototype.next=function(){var b=this.ie.next();return null!=b?(this.Ca=this.ie.Ia(),this.bN(b)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.bN=function(b){var a;a=0>=this.GI?c.na.ah(this.fk,b,!1):this.GI;return c.UL.V(b,this.Qa,this.jj,this.jB,a,this.ke)};g.prototype.Re=function(){return!0};return g}();c.oN=n})(r||(r={}));(function(c){(function(c){c[c.clipToDomainOnly=1]=\"clipToDomainOnly\";\nc[c.clipWithHorizon=2]=\"clipWithHorizon\";c[c.foldAndClipWithHorizon=3]=\"foldAndClipWithHorizon\"})(c.Up||(c.Up={}));var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 0};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f).next()):new c.pN(a,b,f)};b.prototype.transform=function(a,b,f,e){return c.ko.transform(a,b,f,e,!0)};b.prototype.jL=function(a,b,f){return c.ko.jL(a,b,f)};\nb.prototype.Du=function(a,b,f,e){return c.ko.Du(a,b,f,e)};b.prototype.XY=function(a,b,f,e){return c.ko.gs(a,b,f,e)};b.prototype.iL=function(a,b,f,e){return c.ko.iL(a,b,f,e)};b.$=null;return b}(c.ef);c.os=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d){this.Ca=-1;this.ie=b;this.LV=a;this.ke=d}g.prototype.next=function(){var b=this.ie.next();return null!=b?(this.Ca=this.ie.Ia(),c.ko.Xg(b,this.LV,this.ke)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.Re=function(){return!0};\nreturn g}();c.pN=n})(r||(r={}));(function(c){var n=function(){function b(){}b.prototype.reset=function(){this.Lh=this.Zk=-1;this.qt=this.$q=!1};b.prototype.tS=function(a,b,f){for(a.Tb(b,f);a.Ea();){var c=a.ba(),c=c.Rb();if(0!=c)return a.Db()}for(a.Tb(b,f);a.pA();)if(c=a.Li(),c=c.Rb(),0!=c)return a.Db();return-1};b.prototype.uS=function(a,b){for(a.Tb(b,-1);a.pA();)if(0!=a.Li().Rb())return a.Db();return-1};b.prototype.sS=function(a,b){a.Tb(b,-1);for(a.ba();a.Ea();)if(0!=a.ba().Rb())return a.Db();return-1};\nb.prototype.rS=function(a,b,f,e){this.Zk=this.tS(b,f,e);if(-1!=this.Zk){b.Tb(this.Zk,-1);var h=b.ba(),l=h.gc(h.pe(a,!1));f=c.b.sc(l,a);e=new c.b;e.L(l);e.sub(h.ec());l=new c.b;l.L(a);l.sub(h.ec());this.$q=0>e.Ui(l);this.Lh=this.sS(b,this.Zk);if(-1!=this.Lh){b.Tb(this.Lh,-1);var h=b.ba(),g=h.pe(a,!1),g=h.gc(g),m=c.b.sc(g,a);m>f?this.Lh=-1:(e.L(g),e.sub(h.ec()),l.L(a),l.sub(h.ec()),this.qt=0>e.Ui(l))}-1==this.Lh&&(this.Lh=this.uS(b,this.Zk),-1!=this.Lh&&(b.Tb(this.Lh,-1),h=b.ba(),g=h.pe(a,!1),g=h.gc(g),\nm=c.b.sc(g,a),m>f?this.Lh=-1:(e.L(g),e.sub(h.ec()),l.L(a),l.sub(h.ec()),this.qt=0>e.Ui(l),a=this.Zk,this.Zk=this.Lh,this.Lh=a,a=this.$q,this.$q=this.qt,this.qt=a)))}};b.prototype.eQ=function(a,b,f,c,h){f=f.Fa();this.rS(a,f,c,h);if(-1!=this.Zk&&-1==this.Lh)return this.$q;if(-1!=this.Zk&&-1!=this.Lh){if(this.$q==this.qt)return this.$q;f.Tb(this.Zk,-1);a=f.ba().Eg(1);f.Tb(this.Lh,-1);b=f.ba().Eg(0);return 0<=a.Ui(b)?!0:!1}return b};return b}(),g=function(b){function a(){b.apply(this,arguments)}O(a,b);\na.local=function(){null===a.$&&(a.$=new a);return a.$};a.prototype.G=function(){return 3};a.prototype.$z=function(a,b,e,h){void 0===h&&(h=!1);if(a.u())return new c.Mm;b=b.w();var l=a,g=a.G();197==g&&(l=new c.Ja,l.jd(a,!1),g=1736);switch(g){case 33:return this.FJ(l,b);case 550:return this.rJ(l,b);case 1607:case 1736:return this.$V(l,b,e,h);default:throw c.g.X(\"not implemented\");}};a.prototype.aA=function(a,b){if(a.u())return new c.Mm;var e=b.w(),h=a,l=a.G();197==l&&(h=new c.Ja,h.jd(a,!1),l=1736);switch(l){case 33:return this.FJ(h,\ne);case 550:case 1607:case 1736:return this.rJ(h,e);default:throw c.g.X(\"not implemented\");}};a.prototype.bA=function(a,b,e,h){if(0>h)throw c.g.F();if(a.u())return[];b=b.w();var l=a,g=a.G();197==g&&(l=new c.Ja,l.jd(a,!1),g=1736);switch(g){case 33:return this.FW(l,b,e,h);case 550:case 1607:case 1736:return this.cW(l,b,e,h);default:throw c.g.X(\"not implemented\");}};a.prototype.$V=function(a,b,e,h){if(1736==a.G()&&e&&(e=new c.h,a.s(e),e=c.na.be(null,e,!1),0!=(h?c.gd.ge(a,b,0):c.gd.ge(a,b,e)))){var l=\nnew c.Mm(b,0,0);h&&l.NK(!0);return l}for(var g=a.Fa(),l=new c.b,m=e=-1,w=1.7976931348623157E308,p=0;g.Ya();)for(;g.Ea();){var q=g.ba(),q=q.gc(q.pe(b,!1)),t=c.b.sc(q,b);t<w?(p=1,l=q,e=g.Db(),m=g.Ta,w=t):t==w&&p++}l=new c.Mm(l,e,Math.sqrt(w));h&&(g.Tb(e,m),q=g.ba(),h=0>c.b.zp(b,q.ec(),q.Cc()),1<p&&(p=new n,p.reset(),h=p.eQ(b,h,a,e,m)),l.NK(h));return l};a.prototype.FJ=function(a,b){var e=a.w(),h=c.b.Cb(e,b);return new c.Mm(e,0,h)};a.prototype.rJ=function(a,b){for(var e=a.Pa(0),h=a.D(),l=0,g=0,m=0,w=\n1.7976931348623157E308,p=0;p<h;p++){var q=new c.b;e.fc(2*p,q);var n=c.b.sc(q,b);n<w&&(g=q.x,m=q.y,l=p,w=n)}e=new c.Mm;e.Ly(g,m,l,Math.sqrt(w));return e};a.prototype.FW=function(a,b,e,h){if(0==h)return e=[];e*=e;a=a.w();b=c.b.sc(a,b);b<=e?(e=[],h=new c.Mm,h.Ly(a.x,a.y,0,Math.sqrt(b)),e[0]=h):e=[];return e};a.prototype.cW=function(a,b,e,h){if(0==h)return h=[];var l=a.Pa(0),g=a.D();a=[];var m=0;e*=e;for(var w=0;w<g;w++){var p=l.read(2*w),q=l.read(2*w+1),n=b.x-p,u=b.y-q,n=n*n+u*u;n<=e&&(u=new c.Mm,u.Ly(p,\nq,w,Math.sqrt(n)),m++,a.push(u))}b=a.length;a.sort(function(a,b){return a.Qa<b.Qa?-1:a.Qa==b.Qa?0:1});if(h>=b)return a.slice(0);a.length=h;return a.slice(0)};a.$=null;return a}(c.ef);c.sy=g})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 4};b.prototype.V=function(a,b,f,e,h){return c.Nm.ZB(a,b,f,e,h)};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.wv=function(a){return c.Gu.cz(a)};b.prototype.qo=function(a,\nb,f){return c.Gu.UE(a,b,f)};b.$=null;return b}(c.ef);c.qN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 33};b.prototype.V=function(a,b,f,e,h){return 1073741824===a?!c.Fd.$B(b,f,e,4,h):c.Fd.$B(b,f,e,a,h)};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.wv=function(a){return c.Gu.cz(a)};b.prototype.qo=function(a,b,f){return c.Gu.UE(a,b,f)};b.$=null;return b}(c.ef);c.Gj=n})(r||(r={}));(function(c){var n=function(){function g(b,\na,d,f){this.ke=f;this.sV=d;this.Ca=-1;if(null==b)throw c.g.F();this.$k=b;this.fk=a}g.prototype.next=function(){var b;return null!=(b=this.$k.next())?(this.Ca=this.$k.Ia(),this.DC(b)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.DC=function(b){if(null==b)throw c.g.F();return c.ty.TK(b,this.fk,this.sV,this.ke)};g.prototype.Re=function(){return!0};return g}();c.rN=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 26};\nb.prototype.V=function(a,b,f,e){return a instanceof c.T?(a=new c.hd(a),this.V(a,b,f,e).next()):new c.rN(a,b,f,e)};b.prototype.Wq=function(a,b,f,e,h){return 0<(void 0!==e?c.ty.Wq(a,b,f,e,h):c.ty.Wq(a,b,!1,null,f))};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.$=null;return b}(c.ef);c.Km=n})(r||(r={}));(function(c){var n=function(){function a(){this.nr=0}a.prototype.iY=function(a){this.nr&=-2;this.nr=this.nr|(a?1:0)};a.prototype.fn=function(){return 0!=(this.nr&1)};a.prototype.hH=function(){return this.fn()?\n0:1};return a}();c.KZ=n;var g=function(){return function(){}}(),b=function(){return function(a,b,d,f){this.x=a;this.y=b;this.$i=d;this.ln=f}}(),a=function(){function a(b){this.bf=b}a.prototype.compare=function(a,b,d){a=a.ja(d);b=this.bf.Nf.read(2*b);a=this.bf.Nf.read(2*a);b-=a;return 0>b?-1:0<b?1:0};return a}(),d=function(){function a(b){this.bf=b}a.prototype.compare=function(a,b,d){b=this.bf.ib[b];a=this.bf.ib[a.ja(d)];var f=b.fn(),c=a.fn();d=b.Le.pf(this.bf.wp,0);var e=a.Le.pf(this.bf.wp,0);d==\ne&&(d=Math.min(f?b.Le.ra:b.Le.oa,c?a.Le.ra:a.Le.oa),f=.5*(d-this.bf.wp)+this.bf.wp,f==this.bf.wp&&(f=d),d=b.Le.pf(f,0),e=a.Le.pf(f,0));return d<e?-1:d>e?1:0};return a}(),f=function(){function a(b,d){this.QJ=new c.b;this.parent=b;this.ZT=d}a.prototype.hs=function(a,b,d){var f=this.parent,c=this.ZT;d.Gd(a,b,function(a,b){return f.ki(a,b,c)})};a.prototype.Qq=function(a){a=this.parent.Gi.get(a);this.parent.Nf.fc(2*(a>>1),this.QJ);return this.QJ.y+(0!=(a&1)?this.parent.hk:-this.parent.hk)};return a}(),\ne=function(){function e(a,b,d,f,h){this.zI=a.description;this.Y=a;this.mh=b;this.hk=c.na.ah(this.mh,a,!1);this.pp=c.na.ah(this.mh,a,!0);this.eB=d;this.qV=this.zI.Ga;this.ib=[];this.cp=[];this.Hh=new c.Xp;this.hb=new c.uk;this.ve=new c.$d;this.kI=this.Ul=h}e.prototype.BA=function(){this.kI=!0;return(!c.T.Ic(this.Y.G())||this.OF()&&this.NF(!1))&&this.qQ()?c.T.Ic(this.Y.G())?this.tQ()?1607==this.Y.G()?this.vQ()?2:0:this.wQ()?this.xQ():0:0:2:0};e.prototype.JC=function(a,b){var d=this.Nf.read(2*a),f=this.Nf.read(2*\na+1),e=this.Nf.read(2*b),h=this.Nf.read(2*b+1),g=!c.Iu.pw(d,f,e,h,this.hk*this.hk);return g?g:0==this.Y.tb()?!1:d==e&&f==h};e.prototype.OF=function(){for(var a=this.Y,b=a.$f?3:2,d=0,f=a.aa();d<f;d++)if(a.La(d)<b)return this.ve=new c.$d(1,d,0),!1;return!0};e.prototype.NF=function(a){for(var b=this.Y,d=b.Fa(),f=b.hasAttribute(1),b=f?c.na.GF(this.mh,b,!1):0;d.Ya();)for(;d.Ea();){var e=d.ba();if(!(e.Rb()>this.hk)){if(a&&f){var h=e.dt(1,0),e=e.dt(1,0);if(Math.abs(e-h)>b)continue}this.ve=new c.$d(2,d.Db(),\n-1);return!1}}return!0};e.prototype.qQ=function(){var b=this.Y,d=null;c.T.Ic(this.Y.G())&&(d=this.Y);var e=(this.kI||this.Ul)&&null!=d,h=b.D();this.Nf=b.Pa(0);this.Gi=new c.ia(0);this.Gi.yb(2*h);this.Fi=new c.ia(0);this.Fi.yb(2*h);e&&(null==this.im&&(this.im=new c.ia(0)),this.im.yb(h));for(var g=b=0;g<h;g++)if(this.Gi.add(2*g),this.Gi.add(2*g+1),this.Fi.add(2*g),this.Fi.add(2*g+1),e){for(;g>=d.Gc(b);)b++;this.im.add(b)}(new c.Hu).sort(this.Fi,0,2*h,new f(this,e));this.hb.clear();this.hb.Ep(new a(this));\nthis.hb.Qe(h);d=0;for(h*=2;d<h;d++)if(e=this.Fi.get(d),b=this.Gi.get(e),e=b>>1,0==(b&1)){b=this.hb.addElement(e,-1);g=this.hb.Ve(b);if(-1!=g&&!this.JC(this.hb.ja(g),e))return this.ve=new c.$d(3,e,this.hb.ja(g)),!1;var q=this.hb.nb(b);if(-1!=q&&!this.JC(this.hb.ja(q),e))return this.ve=new c.$d(3,e,this.hb.ja(q)),!1}else if(b=this.hb.search(e,-1),g=this.hb.Ve(b),q=this.hb.nb(b),this.hb.Kd(b,-1),-1!=g&&-1!=q&&!this.JC(this.hb.ja(g),this.hb.ja(q)))return this.ve=new c.$d(3,this.hb.ja(g),this.hb.ja(q)),\n!1;return!0};e.prototype.tQ=function(){return 10>this.Y.D()?this.rQ():this.sQ()};e.prototype.sQ=function(){var a=new c.fd;a.Jb(this.Y);var b=new c.$d;return c.Ku.tJ(!1,a,this.hk,b,this.ke)?(b.lm=a.Za(b.lm),b.mm=a.Za(b.mm),this.ve.ms(b),!1):!0};e.prototype.rQ=function(){for(var a=this.Y,b=a.Fa(),a=a.Fa();b.Ya();)for(;b.Ea();){var d=b.ba();if(!b.Io()||!b.UU()){a.zX(b);do for(;a.Ea();){var f=a.ba(),f=d.ys(f,this.hk,!0);if(0!=f)return this.ve=new c.$d(2==f?5:4,b.Db(),a.Db()),!1}while(a.Ya())}}return!0};\ne.prototype.wQ=function(){var a=this.Y;this.ib.length=0;this.cp.length=0;this.ug=a.Fa();this.ug.kC();var b=new c.ia(0);b.yb(10);for(var d=NaN,f=0,e=0,a=2*a.D();e<a;e++){var h=this.Fi.get(e),h=this.Gi.get(h);if(0==(h&1)){var h=h>>1,g=this.Nf.read(2*h),n=this.Nf.read(2*h+1);if(0!=b.size&&(g!=d||n!=f)){if(!this.KJ(b))return!1;null!=b&&b.clear(!1)}b.add(h);d=g;f=n}}return this.KJ(b)?!0:!1};e.prototype.vQ=function(){for(var a=this.Y,b=Array(a.aa()),d=0,f=a.aa();d<f;d++)b[d]=a.Eo(d);var f=new g,e,h,n,u=\nnew c.b,d=this.Fi.get(0),d=this.Gi.get(d),r=d>>1;this.Nf.fc(2*r,u);d=this.im.get(r);e=b[d];h=a.wa(d);n=a.Gc(d)-1;f.Il=r==h||r==n;f.Uy=this.Ul?!e&&f.Il:f.Il;f.$i=d;f.x=u.x;f.y=u.y;f.ln=r;for(var v=new g,x=1,B=this.Fi.size;x<B;x++)if(d=this.Fi.get(x),d=this.Gi.get(d),0==(d&1)){r=d>>1;this.Nf.fc(2*r,u);d=this.im.get(r);d!=f.$i&&(e=b[d],h=a.wa(d),n=a.Gc(d)-1);var y,A=r==h||r==n;y=this.Ul?!e&&f.Il:f.Il;v.x=u.x;v.y=u.y;v.$i=d;v.ln=r;v.Uy=y;v.Il=A;if(v.x==f.x&&v.y==f.y)if(this.Ul){if(!v.Uy||!f.Uy)if(v.$i!=\nf.$i||!v.Il&&!f.Il)return this.ve=new c.$d(8,v.ln,f.ln),!1}else if(!v.Il||!f.Il)return this.ve=new c.$d(5,v.ln,f.ln),!1;d=f;f=v;v=d}return!0};e.prototype.QF=function(){for(var a=this.Y,d=[],f=-1,e=!1,h=0,g=a.aa();h<g;h++)a.rw(h)&&(e=!1,f++,h<g-1&&(a.rw(h+1)||(e=!0))),d[h]=e?f:-1;var e=new c.b,h=this.Fi.get(0),h=this.Gi.get(h),n=h>>1;this.Nf.fc(2*n,e);for(var h=this.im.get(n),f=new b(e.x,e.y,h,n,d[h]),a=[],u=1,g=this.Fi.size;u<g;u++)if(h=this.Fi.get(u),h=this.Gi.get(h),0==(h&1)){n=h>>1;this.Nf.fc(2*\nn,e);h=this.im.get(n);h=new b(e.x,e.y,h,n,d[h]);if(h.x==f.x&&h.y==f.y){if(h.$i==f.$i)return this.ve=new c.$d(9,h.ln,f.ln),!1;0<=d[h.$i]&&d[h.$i]==d[f.$i]&&(0!=a.length&&a[a.length-1]==f||a.push(f),a.push(h))}f=h}if(0==a.length)return!0;h=new c.Xp(!0);c.J.Nv(d,-1);e=-1;u=new c.b;u.$c();f=0;for(g=a.length;f<g;f++){n=a[f];if(n.x!=u.x||n.y!=u.y)e=h.mi(0),u.x=n.x,u.y=n.y;var r=d[n.$i];-1==r&&(r=h.mi(2),d[n.$i]=r);h.addElement(r,e);h.addElement(e,r)}g=new c.ia(0);g.yb(10);for(f=h.Ge;-1!=f;f=h.cA(f))if(a=\nh.$G(f),0==(a&1)&&0!=(a&2)){a=-1;g.add(f);for(g.add(-1);0<g.size;){e=g.Fc();g.Pf();u=g.Fc();g.Pf();n=h.$G(u);if(0!=(n&1)){a=0==(n&2)?e:u;break}h.aY(u,n|1);for(n=h.xc(u);-1!=n;n=h.nb(n))r=h.getData(n),r!=e&&(g.add(r),g.add(u))}if(-1!=a){h=-1;f=0;for(g=d.length;f<g;f++)if(d[f]==a){h=f;break}this.ve=new c.$d(10,h,-1);return!1}}return!0};e.prototype.xQ=function(){var a=this.Y;if(0>=a.hf())return this.ve=new c.$d(6,1==a.aa()?1:-1,-1),0;if(1==a.aa())return this.Ul&&!this.QF()?0:2;this.hp=c.ia.zd(a.aa(),\n0);this.qB=c.ia.zd(a.aa(),-1);for(var b=-1,f=0,e=0,h=a.aa();e<h;e++){var g=a.Sm(e);this.hp.write(e,0>g?0:256);if(0<g)b=e,f=g;else{if(0==g)return this.ve=new c.$d(6,e,-1),0;if(0>b||f<Math.abs(g))if(this.ve=new c.$d(7,e,-1),this.Ul)return 0;this.qB.write(e,b)}}this.Wt=a.aa();this.Bn=new c.ia(0);this.Bn.yb(10);h=a.D();this.wp=NaN;a=new c.ia(0);a.yb(10);this.Jr=c.ia.zd(h,-1);this.ux=c.ia.zd(h,-1);null!=this.Yj?this.Yj.clear(!1):this.Yj=new c.ia(0);this.Yj.yb(10);this.hb.clear();this.hb.Ep(new d(this));\nb=0;for(h*=2;0<this.Wt&&b<h;b++)if(f=this.Fi.get(b),f=this.Gi.get(f),0==(f&1)){f>>=1;e=this.Nf.read(2*f+1);if(e!=this.wp&&0!=a.size){if(!this.ju(a))return 0;null!=a&&a.clear(!1)}a.add(f);this.wp=e}return 0<this.Wt&&!this.ju(a)?0:this.Ul?0==this.ve.Ii&&this.QF()?2:0:0==this.ve.Ii?2:1};e.prototype.KJ=function(a){if(1==a.size)return!0;for(var b=0,d=a.size;b<d;b++){var f=a.get(b);this.ug.Tb(f);var e=this.ug.Li();this.ib.push(this.Gv(e,f,this.ug.Ta,!0));this.ug.ba();e=this.ug.ba();this.ib.push(this.Gv(e,\nf,this.ug.Ta,!1))}var h=this;this.ib.sort(function(a,b){return h.VR(a,b)});f=this.Hh.Ge;-1==f&&(f=this.Hh.mi(0));this.Hh.Vn(this.ib.length);b=0;for(d=this.ib.length;b<d;b++)this.Hh.addElement(f,b);for(var b=!0,g=d=-1;b;){b=!1;e=this.Hh.xc(f);if(-1==e)break;for(var n=this.Hh.nb(e);-1!=n;){d=this.Hh.getData(e);g=this.Hh.getData(n);d=this.ib[d].up;g=this.ib[g].up;if(d==g)if(b=!0,this.Hh.kd(f,e),e=this.Hh.Ve(n),n=this.Hh.kd(f,n),-1==n||-1==e)break;else continue;e=n;n=this.Hh.nb(e)}}b=this.Hh.at(f);this.Hh.RF(f);\nif(0<b)return this.ve=new c.$d(5,d,g),!1;b=0;for(d=a.size;b<d;b++)this.WB(this.ib[b]);this.ib.length=0;return!0};e.prototype.ju=function(a){for(var b=0,d=a.size;b<d;b++){var f=a.get(b),e=this.Jr.read(f);if(-1!=e){var h=this.hb.ja(e);this.Yj.add(h);this.hb.Kd(e,-1);this.WB(this.ib[h]);this.ib[h]=null;this.Jr.write(f,-1)}e=this.ux.read(f);-1!=e&&(h=this.hb.ja(e),this.Yj.add(h),this.hb.Kd(e,-1),this.WB(this.ib[h]),this.ib[h]=null,this.ux.write(f,-1))}b=0;for(d=a.size;b<d;b++){f=a.get(b);this.ug.Tb(f);\ne=this.ug.Li();if(e.ra>e.oa){var g=this.ug.Db(),n=this.Gv(e,f,this.ug.Ta,!0);0<this.Yj.size?(h=this.Yj.Fc(),this.Yj.Pf(),this.ib[h]=n):(h=this.ib.length,this.ib.push(n));e=this.hb.addElement(h,-1);-1==this.Jr.read(g)?this.Jr.write(g,e):this.ux.write(g,e);0==(this.hp.read(this.ug.Ta)&3)&&this.Bn.add(e)}this.ug.ba();e=this.ug.ba();e.ra<e.oa&&(g=this.ug.Jk(),n=this.Gv(e,f,this.ug.Ta,!1),0<this.Yj.size?(h=this.Yj.Fc(),this.Yj.Pf(),this.ib[h]=n):(h=this.ib.length,this.ib.push(n)),e=this.hb.addElement(h,\n-1),-1==this.Jr.read(g)?this.Jr.write(g,e):this.ux.write(g,e),0==(this.hp.read(this.ug.Ta)&3)&&this.Bn.add(e))}b=0;for(d=this.Bn.size;b<d&&0<this.Wt;b++)if(e=this.Bn.get(b),0==(this.hp.read(this.ib[this.hb.ja(e)].pB)&3)){a=-1;for(var f=this.hb.Ve(e),r=e,n=null,h=-1,v=0;-1!=f;){h=this.hb.ja(f);n=this.ib[h];h=n.pB;v=this.hp.read(h);if(0!=(v&3))break;r=f;f=this.hb.Ve(f)}-1==f?(g=1,f=r):(a=1==(v&3)?h:this.qB.read(h),g=0!=n.hH()?0:1,f=this.hb.nb(f));do{h=this.hb.ja(f);n=this.ib[h];h=n.pB;r=this.hp.read(h);\nif(0==(r&3)){if(g!=n.hH())return this.ve=new c.$d(6,h,-1),!1;v=0==g||n.fn()?2:1;r=r&252|v;this.hp.write(h,v);if(2==v&&0==this.ve.Ii&&this.qB.read(h)!=a&&(this.ve=new c.$d(7,h,-1),this.Ul))return!1;this.Wt--;if(0==this.Wt)return!0}1==(r&3)&&(a=h);r=f;f=this.hb.nb(f);g=0!=g?0:1}while(r!=e)}null!=this.Bn?this.Bn.clear(!1):this.Bn=new c.ia(0);return!0};e.prototype.Gv=function(a,b,d,f){if(322==a.G())a=this.sR(a);else throw c.g.za();a.up=b;a.pB=d;a.nr=0;a.iY(f);return a};e.prototype.sR=function(a){var b;\n0<this.cp.length?(b=this.cp[this.cp.length-1],this.cp.length=this.cp.length-1,a.copyTo(b.Le)):(b=new n,b.Le=c.dE.oe(a));return b};e.prototype.WB=function(a){322==a.Le.G()&&this.cp.push(a)};e.prototype.aW=function(){for(var a=this.Y.D(),b=new c.ia(0),d=0;d<a;d++)b.add(d);var f=this;b.Gd(0,a,function(a,b){return f.Cv(a,b)});for(d=1;d<a;d++)if(0==this.Cv(b.get(d-1),b.get(d)))return this.ve=new c.$d(3,b.get(d-1),b.get(d)),0;return 2};e.prototype.KW=function(){return this.OF()?this.NF(!0)?2:0:0};e.prototype.IW=\nfunction(){return this.BA()};e.prototype.bW=function(){for(var a=this.Y.D(),b=new c.ia(0),d=0;d<a;d++)b.add(d);var f=this;b.Gd(0,a,function(a,b){return f.TQ(a,b)});var e=Array(a);c.J.Nv(e,!1);e[b.get(0)]=!0;for(d=1;d<a;d++){var h=b.get(d-1),g=b.get(d);0==this.Cv(h,g)?e[g]=!1:e[g]=!0}for(var b=this.Y.Ka(),h=this.Y,g=0,n=1,d=0;d<a;d++)e[d]?n=d+1:(g<n&&b.Id(h,g,n),g=d+1);g<n&&b.Id(h,g,n);b.Zg(2,this.pp);return b};e.prototype.LW=function(){var a=this.Y,b=a.Fa(),d=a.Fa(),f=this.Y.Ka(),e=this.Y,h=a.hasAttribute(1),\ng=h?c.na.GF(this.mh,a,!0):0,n=new c.ia(0),r=new c.ia(0);n.yb(c.J.truncate(a.D()/2+1));for(r.yb(c.J.truncate(a.D()/2+1));b.Ya();)if(d.Ya(),!(2>a.La(b.Ta))){d.BX();for(var v,x,B=!0;b.Ea();){var y=b.ba(),A=d.Li();if(b.Db()>d.Db())break;B&&(n.add(b.Db()),r.add(d.Jk()),B=!1);x=n.Fc();var C=b.Jk();if(1<C-x){var D=new c.b;D.zc(a.Ba(x),a.Ba(C));v=D.length()}else v=y.Rb();x=r.Fc();C=d.Db();1<C-x?(D=new c.b,D.zc(a.Ba(x),a.Ba(C)),x=D.length()):x=A.Rb();v>this.pp?n.add(b.Jk()):h&&(v=a.Yc(1,n.Fc(),0),y=y.Os(1,\n0),Math.abs(y-v)>g&&n.add(b.Jk()));x>this.pp?r.add(d.Db()):h&&(v=a.Yc(1,r.Fc(),0),y=A.Os(1,0),Math.abs(y-v)>g&&r.add(d.Db()))}n.Fc()<r.Fc()?n.size>r.size?n.Pf():r.Pf():(n.Fc()!=r.Fc()&&r.Pf(),r.Pf());if(2<=r.size+n.size){B=new c.Wa;A=0;for(y=n.size;A<y;A++)e.Ae(n.get(A),B),0==A?f.Rf(B):f.lineTo(B);for(A=r.size-1;0<A;A--)e.Ae(r.get(A),B),f.lineTo(B);e.Qb(b.Ta)?f.sq():0<r.size&&(e.Ae(r.get(0),B),f.lineTo(B))}null!=n&&n.clear(!1);null!=r&&r.clear(!1)}f.Zg(2,this.pp);return f};e.prototype.JW=function(){return this.yY()};\ne.prototype.yY=function(){if(1736==this.Y.G()&&1==this.Y.xo())return c.Dg.ol(this.Y,this.pp,!0,!1,this.ke);this.gj=new c.fd;this.gj.Jb(this.Y);0!=this.gj.vd&&(1!=this.eB&&c.sk.V(this.gj,this.pp,this.ke,!0),1736==this.Y.G()&&c.lo.V(this.gj,this.gj.sd,this.eB,!1,this.ke));this.Y=this.gj.Se(this.gj.sd);1736==this.Y.G()&&(this.Y.Al(),this.Y.Hp(0));this.Y.Zg(2,this.pp);return this.Y};e.tc=function(a,b,d){if(a.u())return 1;var f=a.G();if(33==f)return 1;if(197==f)return d=new c.h,a.s(d),d.fh(c.na.ah(b,a,\n!1))?0:1;if(c.T.Oc(f))throw c.g.za();if(!c.T.gh(f))throw c.g.za();var f=c.na.ah(b,a,!1),g=a.Lk(f);d=d?-1:g;if(-1!=d)return d;1==d&&(f=0);d=(new e(a,b,d,0,!1)).BA();a.Zg(d,f);return d};e.Wq=function(a,b,d,f,g){null!=f&&(f.Ii=0,f.lm=-1,f.mm=-1);if(a.u())return 1;var q=a.G();if(33==q)return 1;var n=c.na.ah(b,a,!1);if(197==q)return b=new c.h,a.s(b),b.fh(n)?(null!=f&&(f.Ii=2,f.lm=-1,f.mm=-1),0):1;if(c.T.Oc(q))return n=new c.Ua(a.description),n.dc(a,!0),e.Wq(n,b,d,f,g);g=a.Lk(n);d=d?-1:g;if(-1!=d)return d;\nb=new e(a,b,d,0,!1);if(550==q)d=b.aW();else if(1607==q)d=b.KW();else if(1736==q)d=b.IW();else throw c.g.za();a.Zg(d,n);null!=f&&0==d&&f.ms(b.ve);return d};e.Bb=function(a,b,d,f,g){null!=f&&(f.Ii=0,f.lm=-1,f.mm=-1);if(a.u())return 1;var q=a.G();if(33==q)return 1;var n=c.na.ah(b,a,!1);if(197==q)return b=new c.h,a.s(b),b.fh(n)?(null!=f&&(f.Ii=2,f.lm=-1,f.mm=-1),0):1;if(c.T.Oc(q))return q=new c.Ua(a.description),q.dc(a,!0),e.Wq(q,b,d,f,g);a=new e(a,b,-1,0,!0);if(550==q||1607==q||1736==q)b=a.BA();else throw c.g.za();\nnull!=f&&f.ms(a.ve);return b};e.TK=function(a,b,d,f){if(a.u())return a;var g=a.G();if(33==g)return a;var q=c.na.ah(b,a,!1);if(197==g)return b=new c.h,a.s(b),b.fh(q)?a.Ka():a;if(c.T.Oc(g))return g=new c.Ua(a.description),g.dc(a,!0),e.TK(g,b,d,f);f=a.Lk(q);d=d?-1:f;if(2==d)return a;a=new e(a,b,d,0,!1);if(550==g)a=a.bW();else if(1607==g)a=a.LW();else if(1736==g)a=a.JW();else throw c.g.za();return a};e.EC=function(a,b,d,f){if(a.u())return a;var g=a.G();if(33==g)return a;var q=c.na.ah(b,a,!1);if(197==\ng)return b=new c.h,a.s(b),b.fh(q)?a.Ka():a;if(c.T.Oc(g))return q=new c.Ua(a.description),q.dc(a,!0),e.EC(q,b,d,f);if(!c.T.gh(g))throw c.g.X(\"OGC simplify is not implemented for this geometry type \"+g);return c.Dg.EC(a,q,!1,f)};e.prototype.ki=function(a,b,d){if(a==b)return 0;a=this.Gi.get(a);var f=this.Gi.get(b);b=a>>1;var e=f>>1,h=new c.b,g=new c.b;this.Nf.fc(2*b,h);h.y+=0!=(a&1)?this.hk:-this.hk;this.Nf.fc(2*e,g);g.y+=0!=(f&1)?this.hk:-this.hk;a=h.compare(g);return 0==a&&d?(d=this.im.get(b)-this.im.get(e),\n0>d?-1:0<d?1:0):a};e.prototype.Cv=function(a,b){if(a==b)return 0;var d=this.Y,f=d.Ba(a),e=d.Ba(b);if(f.x<e.x)return-1;if(f.x>e.x)return 1;if(f.y<e.y)return-1;if(f.y>e.y)return 1;for(f=1;f<this.qV;f++)for(var e=this.zI.rd(f),h=c.ma.Xa(e),g=0;g<h;g++){var n=d.Yc(e,a,g),r=d.Yc(e,b,g);if(n<r)return-1;if(n>r)return 1}return 0};e.prototype.TQ=function(a,b){var d=this.Cv(a,b);return 0==d?a<b?-1:1:d};e.prototype.VR=function(a,b){if(a===b)return 0;var d=a.Le.Eg(a.fn()?1:0);a.fn()&&d.Lr();var f=b.Le.Eg(b.fn()?\n1:0);b.fn()&&f.Lr();var c=d.$u(),e=f.$u();return e==c?(c=d.Ui(f),Math.abs(c)<=8.881784197001252E-16*(Math.abs(f.x*d.y)+Math.abs(f.y*d.x))&&(c--,c++),0>c?1:0<c?-1:0):c<e?-1:1};return e}();c.ty=e})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 30};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.prototype.V=function(a,b,f,e){return a instanceof c.T?(a=new c.hd(a),b=new c.hd(b),this.V(a,b,f,e).next()):new c.sN(a,b,f,e)};\nb.Pp=function(a,d,f,e){var h=a.tb(),l=d.tb();if(a.u()&&d.u())return h>l?a:d;if(a.u())return d;if(d.u())return a;var g=new c.h,m=new c.h,n=new c.h;a.s(g);d.s(m);n.I(g);n.Nb(m);g=c.na.be(f,n,!0);m=a.G();n=d.G();return 33==m&&33==n?b.oO(a,d,g):m!=n?0<h||0<l?h>l?a:d:550==m?b.XJ(a,d,g):b.XJ(d,a,g):c.Dg.Pp(a,d,f,e)};b.oO=function(a,b,f){f=f*Math.sqrt(2)*1.00001;f*=f;var e=a.w(),h=b.w(),l=new c.Ed(a.description);c.b.sc(e,h)>f&&(l.add(a),l.add(b));return l};b.XJ=function(a,b,f){var e=a.Pa(0),h=a.D(),l=b.w(),\ng=a.Ka();f=f*Math.sqrt(2)*1.00001;var m=new c.h;a.s(m);m.O(f,f);if(m.contains(l)){f*=f;for(var m=!1,n=[],p=0;p<h;p++)n[p]=!1;for(p=0;p<h;p++){var q=e.read(2*p),t=e.read(2*p+1),q=q-l.x,t=t-l.y;q*q+t*t<=f&&(m=!0,n[p]=!0)}if(m)for(p=0;p<h;p++)n[p]||g.Id(a,p,p+1);else g.Id(a,0,h),g.add(b)}else g.Id(a,0,h),g.add(b);return g};b.$=null;return b}(c.ef);c.uy=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d,f){this.ot=null==a;this.Ca=-1;this.ie=b;this.Rg=d;this.MV=a.next();this.lc=f}g.prototype.next=\nfunction(){if(this.ot)return null;var b;return null!=(b=this.ie.next())?(this.Ca=this.ie.Ia(),c.uy.Pp(b,this.MV,this.Rg,this.lc)):null};g.prototype.Ia=function(){return this.Ca};g.prototype.Re=function(){return!0};return g}();c.sN=n})(r||(r={}));(function(c){var n=function(){function a(){}a.prototype.kw=function(){this.Iz=null;this.gy=-1;this.rL=!1};return a}(),g=function(){function a(){this.Es=0;this.Pj=[]}a.prototype.qP=function(a){this.Es+=a.gy;this.Pj.push(a)};a.prototype.MW=function(){this.Es-=\nthis.Pj[this.Pj.length-1].gy;this.Pj.length=this.Pj.length-1};a.prototype.Ty=function(){return this.Pj[this.Pj.length-1]};a.prototype.Eb=function(a){return a===this};return a}(),b=function(){function a(a,b,c){this.Ca=-1;this.Pc=!1;this.QI=[!1,!1,!1,!1];this.jr=[0,0,0,0];this.TA=!1;this.bl=-1;this.Yq=0;this.Ro=-1;this.rp=[];this.ie=a;this.Rg=b;this.lc=c}a.tc=function(a){var b=[],c;for(c in a)b.push(Number(c));b.sort(function(a,b){return a-b});return b};a.prototype.sH=function(b){var f=this.rp[b],e=\na.tc(f)[0],h=f[e],l=h.Ty().Iz,h=h.Ty().rL;delete f[e];h&&(l=c.Km.local().V(l,this.Rg,!1,this.lc),0==b&&33==l.G()&&(b=new c.Ed(l.description),l.u()||b.add(l),l=b));return l};a.prototype.next=function(){if(this.Pc&&this.Ro==this.bl)return null;for(;!this.cL(););if(-1==this.bl)return null;if(this.TA){for(this.Ro++;;){if(this.Ro>this.bl||0>this.Ro)throw c.g.za();if(this.QI[this.Ro])break}this.Ca++;return this.sH(this.Ro)}this.Ca=0;this.Ro=this.bl;return this.sH(this.bl)};a.prototype.Ia=function(){return this.Ca};\na.prototype.cL=function(){if(this.Pc)return!0;var a=null;null!=this.ie&&(a=this.ie.next(),null==a&&(this.Pc=!0,this.ie=null));if(null!=a){var b=a.tb();this.QI[b]=!0;b>=this.bl&&!this.TA&&(this.dF(b,!1,a),b>this.bl&&!this.TA&&this.xX(b))}if(0<this.Yq)for(b=0;b<=this.bl;b++)for(;1<this.jr[b];)if(a=this.JQ(b),0!=a.length)a=c.Dg.SR(a,this.Rg,this.lc),this.dF(b,!0,a);else break;return this.Pc};a.prototype.JQ=function(b){for(var f=[],c=[],h=this.rp[b],l=a.tc(h),g=0;g<l.length;g++){var m=l[g],n=h[m];if(this.Pc||\n1E4<n.Es&&1<n.Pj.length){this.jr[b]-=n.Pj.length;for(this.Yq-=n.Pj.length;0<n.Pj.length;)f.push(n.Ty().Iz),n.MW();c.push(m)}}for(g=0;g<c.length;g++)delete h[c[g]];return f};a.prototype.xX=function(a){for(var b=0;b<a;b++)this.rp[b]=[],this.Yq-=this.jr[b],this.jr[b]=0};a.prototype.dF=function(b,f,c){var h=new n;h.kw();h.Iz=c;c=a.Mg(c);h.gy=c;c=a.We(c);if(b+1>this.rp.length)for(var l=0,k=Math.max(2,b+1);l<k;l++)this.rp.push([]);l=this.rp[b][c];void 0===l&&(l=new g,this.rp[b][c]=l);h.rL=f;l.qP(h);this.jr[b]++;\nthis.Yq++;this.bl=Math.max(this.bl,b)};a.We=function(a){return 0<a?c.J.truncate(Math.log(a)/Math.log(4)+.5):0};a.Mg=function(a){var b=a.G();if(c.T.gh(b))return a.D();if(33==b)return 1;if(197==b)return 4;if(c.T.Oc(b))return 2;throw c.g.za();};a.prototype.Re=function(){return this.cL()};return a}();c.uN=b})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments)}O(b,g);b.prototype.G=function(){return 1};b.prototype.V=function(a,b,f,e){return void 0===e?new c.uN(a,b,f):this.aS(a,\nb,f,e)};b.prototype.aS=function(a,b,f,e){a=new c.hd([a,b]);return this.V(a,f,e).next()};b.local=function(){null===b.$&&(b.$=new b);return b.$};b.$=null;return b}(c.ef);c.ei=n})(r||(r={}));(function(c){var n;(function(c){c[c.nextPath=0]=\"nextPath\";c[c.nextSegment=1]=\"nextSegment\";c[c.iterate=2]=\"iterate\"})(n||(n={}));n=function(){function g(b,a,d,f){this.Ot=new c.h;this.FV=b;this.GV=a;this.br=f;this.ip=-1;this.Vl=!1;var e=b.ob;null!=e&&(e=f?e.np:e.Mb,null!=e&&(this.Pc=!1,this.ta=d,this.Mb=e,this.lx=\nthis.Mb.mf(),this.cr=this.Vl=!0,this.Zb=0,f?this.ip=a.aa():this.Cd=a.Fa()));this.Vl||(e=a.ob,null!=e&&(e=f?e.np:e.Mb,null!=e&&(this.Pc=!1,this.ta=d,this.Mb=e,this.lx=this.Mb.mf(),this.Vl=!0,this.cr=!1,this.Zb=0,f?this.ip=b.aa():this.Cd=b.Fa())));this.Vl||(this.Ci=f?c.na.eT(b,a,d,1<=b.Lk(0),1<=a.Lk(0)):c.na.dT(b,a,d))}g.prototype.next=function(){if(this.Vl){if(this.Pc)return!1;for(var b=!0;b;)switch(this.Zb){case 0:b=this.iW();break;case 1:b=this.jW();break;case 2:b=this.DA();break;default:throw c.g.X(\"internal error\");\n}return this.Pc?!1:!0}return null==this.Ci?!1:this.Ci.next()};g.prototype.Ql=function(){return this.Vl?this.cr?this.Mb.ja(this.Bt):this.br?this.ip:this.Cd.Db():this.Ci.Ql(this.Ci.sg)};g.prototype.Ml=function(){return this.Vl?this.cr?this.br?this.ip:this.Cd.Db():this.Mb.ja(this.Bt):this.Ci.Ml(this.Ci.bg)};g.prototype.fA=function(){if(!this.br)throw c.g.X(\"internal error\");return this.Vl?this.cr?this.Mb.RG(this.Bt):this.Ot:this.Ci.fA(this.Ci.sg)};g.prototype.Jz=function(){if(!this.br)throw c.g.X(\"internal error\");\nreturn this.Vl?this.cr?this.Ot:this.Mb.RG(this.Bt):this.Ci.Jz(this.Ci.bg)};g.prototype.iW=function(){if(!this.br){if(!this.Cd.Ya())return this.Pc=!0,!1;this.Zb=1;return!0}if(-1==--this.ip)return this.Pc=!0,!1;this.cr?this.GV.jk(this.ip,this.Ot):this.FV.jk(this.ip,this.Ot);this.lx.Ni(this.Ot,this.ta);this.Zb=2;return!0};g.prototype.jW=function(){if(!this.Cd.Ea())return this.Zb=0,!0;var b=this.Cd.ba();this.lx.Wn(b,this.ta);this.Zb=2;return!0};g.prototype.DA=function(){this.Bt=this.lx.next();return-1==\nthis.Bt?(this.Zb=this.br?0:1,!0):!1};return g}();c.Lm=n})(r||(r={}));(function(c){c=c.CN||(c.CN={});c[c.enumClosed=1]=\"enumClosed\";c[c.enumHasNonlinearSegments=2]=\"enumHasNonlinearSegments\";c[c.enumOGCStartPolygon=4]=\"enumOGCStartPolygon\";c[c.enumCalcMask=4]=\"enumCalcMask\"})(r||(r={}));(function(c){var n=function(){function g(){}g.Cb=function(b,a,d,f,e,h,l,k,m){var n=[0,0,0],p=[0,0,0],q=[0,0,0],t=[0,0,0,0],u=new c.ea(0),r=new c.ea(0),v=new c.ea(0);if(null!=l||null!=k||null!=m)if(c.l.Qi(a))c.vh.Cb(b,\nd,f,e,h,l,k,m);else{e=c.C.da(e);d=c.C.da(d);var x=c.C.da(e-d);if(c.l.W(f,h)&&(c.l.W(d,e)||c.l.W(c.l.K(f),1.570796326794897)))null!=l&&(l.j=0),null!=k&&(k.j=0),null!=m&&(m.j=0);else{if(c.l.W(f,-h)){if(c.l.W(c.l.K(f),1.570796326794897)){null!=l&&(l.j=2*c.C.Yg(b,a));null!=k&&(k.j=0<f?c.C.da(3.141592653589793-c.C.da(e)):c.C.da(e));null!=m&&(m.j=0<f?c.C.da(e):c.C.da(3.141592653589793-c.C.da(e)));return}c.l.W(c.l.K(x),3.141592653589793)&&(null!=l&&(l.j=2*c.C.Yg(b,a)),null!=k&&(k.j=0),null!=m&&(m.j=0))}else{if(c.l.W(c.l.K(f),\n1.570796326794897)||c.l.W(c.l.K(h),1.570796326794897)){c.yl.Cb(b,a,d,f,e,h,l,k,m);return}if(c.l.W(d,e)||c.l.W(c.l.K(x),3.141592653589793)){c.yl.Cb(b,a,d,f,e,h,l,k,m);return}if(c.l.xd(f)){c.yl.Cb(b,a,d,f,e,h,l,k,m);return}}var B=Math.sqrt(1-a);e=c.C.da(e-d);d=0;c.C.Dk(1,a,f,d,0,u,r,v);n[0]=u.j;n[1]=r.j;n[2]=v.j;c.C.Dk(1,a,h,e,0,u,r,v);p[0]=u.j;p[1]=r.j;p[2]=v.j;q[0]=0;q[1]=0;q[2]=-1*a*c.C.n(1,a,f)*Math.sin(f);0>e?c.C.Or(q,p,n,t,0):c.C.Or(q,n,p,t,0);for(var r=[0,0,0],v=[0,0,0],y=[0,0,0],n=[0,0,0],u=\n[0,0,0],A=Math.acos(t[2]/1),C=1-a,D=Math.tan(A),E=1+D*D/C,F=2*q[2]*D/C,D=Math.sqrt(F*F-4*E*(q[2]*q[2]/C-1)),E=2*E,C=(-F+D)/E,F=(-F-D)/E,D=Math.tan(A),E=D*C+q[2],A=(C+F)/2,q=(E+(D*F+q[2]))/2,D=c.C.Sp(C-A,E-q),C=q/B*1.570796326794897,F=0;100>F;F++){E=c.C.Cm(a,C);E=E*E/Math.cos(C)*(Math.sin(C)-q*E/(1*(1-a)));if(c.l.xd(E))break;C-=E}var q=c.C.n(1,a,C)*Math.cos(C),q=Math.sqrt((q-A)*(q+A)),D=1-D/q,D=D*(2-D),E=c.C.eo(r),A=c.C.eo(v),C=c.C.eo(y),G=c.C.Eu(y,r),F=c.C.Eu(y,v);c.C.fy(y,r,n);c.C.fy(y,v,u);r=Math.acos(G/\n(C*E));v=Math.acos(F/(C*A));v*=c.l.Ab(1,c.C.Eu(n,u));if(1.570796326794897<=c.l.K(r)&&1.570796326794897<=c.l.K(v)||3.141592653589793<c.l.K(r-v))r=(3.141592653589793-c.l.K(r))*c.l.Ab(1,r),v=(3.141592653589793-c.l.K(v))*c.l.Ab(1,v);n=c.C.ik(D,v);u=c.C.q(q,D,c.C.ik(D,r));n=c.C.q(q,D,n);n=c.l.K(n-u)*b;r=new c.ea(0);v=new c.ea(0);y=t[1]/1;y*=-c.l.Ab(1,x);u=Math.acos(y)*c.l.Ab(1,x);g.Uf(b,a,d,f,n,u,r,v);c.l.W(e,r.j)&&c.l.W(h,v.j)||(D=c.C.Sp(c.C.da(e-r.j),h-v.j),g.Uf(b,a,d,f,n,c.C.da(u+3.141592653589793),\nr,v),E=c.C.Sp(c.C.da(e-r.j),h-v.j),E<D&&(u=c.C.da(u+3.141592653589793)));r=[0,0,0,0];v=[0,0,0,0];q=[0,0,0];D=[0,0,0];b=[0,0,0];d=[0,0,0];f=[0,0,0];y=[0,0,0];q[0]=0;q[1]=0;q[2]=B;D[0]=0;D[1]=0;D[2]=0;c.C.Or(D,q,p,r,0);c.l.xd(h)?(b[0]=p[0],b[1]=p[1],b[2]=1,d[0]=1*Math.cos(e)-1*Math.sin(e),d[1]=1*Math.sin(e)+1*Math.cos(e)):(a=c.C.n(1,a,h)*Math.cos(h),b[0]=0,b[1]=0,p[2]+=Math.tan(1.570796326794897-c.l.K(h))*a*c.l.Ab(1,h),d[0]=a*Math.cos(e)-a*Math.sin(e),d[1]=a*Math.sin(e)+a*Math.cos(e));d[2]=p[2];c.C.Or(p,\nd,b,v,1);c.C.fy(v,r,f);c.C.fy(v,t,y);y=c.C.Eu(f,y)/(c.C.eo(f)*c.C.eo(y));y*=c.l.Ab(1,x);e=Math.acos(y)*-c.l.Ab(1,x);0<u&&0<e?e=c.C.da(e+3.141592653589793):0>u&&0>e&&(e=c.C.da(e+3.141592653589793));null!=l&&(l.j=n);null!=k&&(k.j=u);null!=m&&(m.j=e)}}};g.Uf=function(b,a,d,f,e,h,l,g){var m=[0,0,0],n=[0,0,0],p=[0,0,0],q=[0,0,0],t=[0,0,0],u=[0,0,0],r=[0,0,0],v=[0,0,0,0],x=new c.ea(0),B=new c.ea(0),y=new c.ea(0),A=new c.ea(0),C=new c.ea(0),D=new c.ea(0);if(null!=l&&null!=g)if(c.l.Qi(a))c.vh.Uf(b,d,f,e,\nh,l,g);else if(c.l.xd(e))null!=l&&(l.j=d),null!=g&&(g.j=f);else if(h=c.C.da(h),0>e&&(e=c.l.K(e),h=c.C.da(h+3.141592653589793)),d=c.C.da(d),f=c.C.da(f),1.570796326794897<c.l.K(f)&&(d=c.C.da(d+3.141592653589793),f=c.l.Ab(3.141592653589793,f)-f),c.l.W(c.l.K(f),1.570796326794897)||c.l.xd(f)||c.l.xd(h)||c.l.W(c.l.K(h),3.141592653589793))c.yl.Uf(b,a,d,f,e,h,l,g);else{var E=Math.sqrt(1-a);b=e/b;c.C.Dk(1,a,f,0,0,A,C,D);m[0]=A.j;m[1]=C.j;m[2]=C.j;r[0]=0;r[1]=0;r[2]=-1*a*c.C.n(1,a,f)*Math.sin(f);A=c.C.n(1,\na,f);C=c.C.da(1.570796326794897-h);D=Math.sin(C);e=Math.cos(f);f=Math.sin(f);t[0]=A*e-f*D;t[1]=Math.cos(C);t[2]=(1-a)*A*f+e*D;0>h?c.C.Or(r,t,m,v,0):c.C.Or(r,m,t,v,0);m=Math.acos(v[2]/1);v=Math.atan2(-v[1],-v[0]);f=1-a;t=Math.tan(m);C=1+t*t/f;A=2*r[2]*t/f;t=Math.sqrt(A*A-4*C*(r[2]*r[2]/f-1));C*=2;f=(-A+t)/C;A=(-A-t)/C;t=Math.tan(m);C=t*f+r[2];m=(f+A)/2;r=(C+(t*A+r[2]))/2;t=c.C.Sp(f-m,C-r);E=r/E*1.570796326794897;for(f=0;100>f;f++){A=c.C.Cm(a,E);A=A*A/Math.cos(E)*(Math.sin(E)-r*A/(1*(1-a)));if(c.l.xd(A))break;\nE-=A}E=c.C.n(1,a,E)*Math.cos(E);E=Math.sqrt((E-m)*(E+m));r=1-t/E;r*=2-r;u=Math.acos(c.C.Eu(u,n)/(c.C.eo(u)*c.C.eo(n)));u*=c.l.Ab(1,n[0]);h=(c.C.q(E,r,c.C.ik(r,u))+b*c.l.Ab(1,h))/c.C.Yg(E,r);h=c.C.da(1.570796326794897*h);h=c.C.xp(r,h);c.C.n(E,r,h);t=c.C.da(v+d);d=Math.cos(t);h=Math.sin(t);p[0]=q[0]*d+q[1]*-h;p[1]=q[0]*h+q[1]*d;p[2]=q[2];c.C.kQ(a,p[0],p[1],p[2],y,B,x);null!=l&&(l.j=B.j);null!=g&&(g.j=y.j)}};return g}();c.WD=n})(r||(r={}));(function(c){var n=function(){function a(b){this.ab=null;this.mu=\nnew c.b;this.nu=new c.b;this.a=b}a.prototype.compare=function(a,b,d){this.a.Nc(b,this.mu);this.a.Nc(a.ja(d),this.nu);return this.mu.compare(this.nu)};return a}(),g=function(){function a(b){this.cg=new c.b;this.fl=new c.b;this.a=b}a.prototype.Yh=function(a){this.cg.L(a)};a.prototype.compare=function(a,b){this.a.Nc(a.ja(b),this.fl);return this.cg.compare(this.fl)};return a}(),b=function(a){function b(d){a.call(this,d.a,d.ta,!1);this.bb=d}O(b,a);b.prototype.compare=function(a,b,d){if(this.Ng)return-1;\nvar f=this.bb.he.yo(this.bb.ri(b));a=a.ja(d);var c=this.bb.he.yo(this.bb.ri(a));this.rn=d;return this.YF(b,f,a,c)};return b}(c.gE),a=function(a){function b(d){a.call(this,d.a,d.ta);this.bb=d}O(b,a);b.prototype.compare=function(a,b){if(this.Ng)return-1;var d=this.bb.he.yo(this.bb.ri(a.ja(b)));this.rn=b;return this.ZF(b,d)};return b}(c.bO),d=function(){function d(){this.Tc=this.Hf=this.Xo=this.he=this.Gh=this.Od=this.ib=this.a=null;this.ih=!1;this.Th=this.An=this.Fe=this.hl=this.Ih=this.cl=this.gg=\nthis.we=null;this.Vh=this.zr=this.BB=this.ta=0;this.Kw=this.Lo=!1;this.mp=new c.b;this.oj=new c.b;this.ib=new c.ad(8);this.Od=new c.ad(5);this.Gh=new c.Lu;this.he=new c.Lu;this.ih=!1;this.Th=new c.b;this.Th.ka(0,0);this.ta=0;this.Vh=-1;this.Lo=!1;this.a=null;this.Hf=new c.uk;this.Tc=new c.uk;this.Ih=new c.ia(0);this.hl=new c.eE;this.gg=new c.ia(0);this.cl=new c.ia(0);this.Xo=new c.Wa}d.prototype.JY=function(a,b){var d=new c.Hd;d.yC();a.Xc(d);this.Yr(a);this.Lo=!1;this.ta=b;this.BB=b*b;var f=this.HC();\na.Xc(d);f||(this.mS(),f||this.HC());-1!=this.Vh&&(this.a.le(this.Vh),this.Vh=-1);this.a=null;return this.Lo};d.prototype.NY=function(a,b){this.Yr(a);this.Lo=!1;this.ta=b;this.BB=b*b;this.ih=!1;this.HC();this.ih||(this.ih=1==a.zq(b,!0,!1));-1!=this.Vh&&(this.a.le(this.Vh),this.Vh=-1);this.a=null};d.prototype.Jg=function(a,b){return this.ib.S(a,0+b)};d.prototype.mC=function(a,b,d){this.ib.P(a,0+b,d)};d.prototype.ri=function(a){return this.ib.S(a,2)};d.prototype.VX=function(a,b){this.ib.P(a,2,b)};d.prototype.cH=\nfunction(a,b){return this.ib.S(a,3+b)};d.prototype.Jq=function(a){return this.ib.S(a,7)};d.prototype.um=function(a,b){this.ib.P(a,7,b)};d.prototype.Kq=function(a,b){return this.ib.S(a,3+this.Iq(a,b))};d.prototype.Zr=function(a,b,d){this.ib.P(a,3+this.Iq(a,b),d)};d.prototype.HT=function(a,b){return this.ib.S(a,5+this.Iq(a,b))};d.prototype.as=function(a,b,d){this.ib.P(a,5+this.Iq(a,b),d)};d.prototype.Ns=function(a){return this.Od.S(a,0)};d.prototype.SX=function(a,b){this.Od.P(a,0,b)};d.prototype.Nz=\nfunction(a){return this.Od.S(a,4)};d.prototype.Vr=function(a,b){this.Od.P(a,4,b)};d.prototype.Nl=function(a){return this.Od.S(a,1)};d.prototype.ao=function(a,b){this.Od.P(a,1,b)};d.prototype.Mz=function(a){return this.Od.S(a,3)};d.prototype.tu=function(a,b){this.Od.P(a,3,b)};d.prototype.Mn=function(a){var b=this.Od.Pe(),d=this.Gh.mi();this.SX(b,d);-1!=a?(this.Gh.addElement(d,a),this.a.Va(a,this.Vh,b),this.Vr(b,this.a.Za(a))):this.Vr(b,-1);return b};d.prototype.ER=function(a){this.Od.kd(a)};d.prototype.bF=\nfunction(a,b){this.Gh.addElement(this.Ns(a),b);this.a.Va(b,this.Vh,a)};d.prototype.cu=function(a){var b=this.ib.Pe(),d=this.he.mi();this.VX(b,d);-1!=a&&this.he.addElement(d,a);return b};d.prototype.cF=function(a,b){this.he.addElement(this.ri(a),b)};d.prototype.Jv=function(a){this.ib.kd(a);a=this.Ih.Ov(a);0<=a&&this.Ih.HJ(a)};d.prototype.Jj=function(a,b){if(-1==this.Jg(a,0))this.mC(a,0,b);else if(-1==this.Jg(a,1))this.mC(a,1,b);else throw c.g.za();this.Ry(a,b)};d.prototype.Ry=function(a,b){var d=this.Nl(b);\nif(-1!=d){var f=this.Kq(d,b);this.as(f,b,a);this.Zr(a,b,f);this.Zr(d,b,a);this.as(a,b,d)}else this.as(a,b,a),this.Zr(a,b,a),this.ao(b,a)};d.prototype.Iq=function(a,b){return this.Jg(a,0)==b?0:1};d.prototype.Ln=function(a,b){var d=this.Mz(b);-1!=d&&(this.Hf.Kd(d,-1),this.tu(b,-1));var f,d=this.Nl(b);if(-1!=d){var c=f=d,g;do{g=!1;var p=this.Iq(f,b),q=this.cH(f,p);if(this.Jg(f,p+1&1)==a){this.Kv(f);this.he.zh(this.ri(f));this.Jv(f);if(f==q){d=-1;break}d==f&&(d=this.Nl(b),c=q,g=!0)}f=q}while(f!=c||g);\nif(-1!=d){do p=this.Iq(f,b),q=this.cH(f,p),this.mC(f,p,a),f=q;while(f!=c);f=this.Nl(a);-1!=f?(c=this.Kq(f,a),g=this.Kq(d,a),c==f?(this.ao(a,d),this.Ry(f,a),this.ao(a,f)):g==d&&this.Ry(d,a),this.Zr(d,a,c),this.as(c,a,d),this.Zr(f,a,g),this.as(g,a,f)):this.ao(a,d)}}d=this.Ns(a);f=this.Ns(b);for(c=this.Gh.xc(f);-1!=c;c=this.Gh.nb(c))this.a.Va(this.Gh.ja(c),this.Vh,a);this.Gh.mz(d,f);this.ER(b)};d.prototype.UV=function(a,b){var d=this.Jg(a,0),f=this.Jg(a,1),c=this.Jg(b,0),g=this.Jg(b,1);this.he.mz(this.ri(a),\nthis.ri(b));b==this.Nl(d)&&this.ao(d,a);b==this.Nl(f)&&this.ao(f,a);this.Kv(b);this.Jv(b);d==c&&f==g||f==c&&d==g||(this.wo(d,this.mp),this.wo(c,this.oj),this.mp.ub(this.oj)?(d!=c&&this.Ln(d,c),f!=g&&this.Ln(f,g)):(f!=c&&this.Ln(f,c),d!=g&&this.Ln(d,g)))};d.prototype.Kv=function(a){var b=this.Jg(a,1);this.mG(a,this.Jg(a,0));this.mG(a,b)};d.prototype.mG=function(a,b){var d=this.Kq(a,b),f=this.HT(a,b),c=this.Nl(b);d!=a?(this.Zr(f,b,d),this.as(d,b,f),c==a&&this.ao(b,d)):this.ao(b,-1)};d.prototype.jF=\nfunction(a,b,d){var f=this.he.xc(a),c=this.he.ja(f);a=this.jf(c);var g=this.jf(this.a.U(c));this.a.bs(c,b,d,!0);for(f=this.he.nb(f);-1!=f;f=this.he.nb(f)){var c=this.he.ja(f),p=this.jf(c)==a;this.a.bs(c,b,d,p)}f=b.Mq(d,0).ec();b=b.Mq(d,b.Rl(d)-1).Cc();this.sL(a,f);this.sL(g,b)};d.prototype.fG=function(a,b,d){var f=this.ri(a),c=this.Jg(a,0),g=this.Jg(a,1),p=this.cu(-1);this.Ih.add(p);this.um(p,-3);this.gg.add(p);this.Jj(p,c);a=1;for(b=b.Rl(d);a<b;a++)d=this.Mn(-1),this.cl.add(d),this.gg.add(d),this.Jj(p,\nd),p=this.cu(-1),this.Ih.add(p),this.um(p,-3),this.gg.add(p),this.Jj(p,d);this.Jj(p,g);for(f=this.he.xc(f);-1!=f;f=this.he.nb(f))if(g=this.he.ja(f),this.jf(g)==c){a=0;do 0<a&&(p=this.gg.get(a-1),this.bF(p,g),-1==this.Nz(p)&&this.Vr(p,this.a.Za(g))),p=this.gg.get(a),a+=2,this.cF(p,g),g=this.a.U(g);while(a<this.gg.size)}else{a=this.gg.size-1;do a<this.gg.size-2&&(p=this.gg.get(a+1),this.bF(p,g),0>this.Nz(p)&&this.Vr(p,this.a.Za(g))),p=this.gg.get(a),a-=2,this.cF(p,g),g=this.a.U(g);while(0<=a)}this.gg.clear(!1)};\nd.prototype.jf=function(a){return this.a.Sa(a,this.Vh)};d.prototype.LJ=function(a,b,d){var f=this.Jg(b,0),g=new c.b;this.wo(f,g);var n=new c.b,p=this.Jg(b,1);this.wo(p,n);var q=d.Rl(a),t=d.Mq(a,0),u=new c.b;t.Oq(u);if(!g.ub(u)){if(!this.ih){var r=g.compare(this.Th),u=u.compare(this.Th);0>r*u&&(this.ih=!0)}this.HG(f,this.gg);this.cl.add(f)}!this.ih&&1<q&&(r=g.compare(n),t=t.Cc(),g.compare(t)!=r||t.compare(n)!=r?this.ih=!0:0>t.compare(this.Th)&&(this.ih=!0));t=d.Mq(a,q-1);a=t.Cc();n.ub(a)||(this.ih||\n(r=n.compare(this.Th),u=a.compare(this.Th),0>r*u&&(this.ih=!0)),this.HG(p,this.gg),this.cl.add(p));this.gg.add(b);n=0;for(p=this.gg.size;n<p;n++)a=this.gg.get(n),d=this.Jq(a),c.ad.CA(d)&&(this.Tc.Kd(d,-1),this.um(a,-1)),a!=b&&-3!=this.Jq(a)&&(this.Ih.add(a),this.um(a,-3));this.gg.clear(!1)};d.prototype.pQ=function(a,b){this.we.compare(this.Tc,this.Tc.ja(a),b);this.we.Ng&&(this.we.Gs(),this.yG(a,b))};d.prototype.yG=function(a,b){this.Lo=!0;var d=this.Tc.ja(a),f=this.Tc.ja(b),g,n;n=this.he.yo(this.ri(d));\nvar p=this.he.yo(this.ri(f));g=this.a.ic(n);null==g&&(null==this.Fe&&(this.Fe=new c.Hb),this.a.pd(n,this.Fe),g=this.Fe);n=this.a.ic(p);null==n&&(null==this.An&&(this.An=new c.Hb),this.a.pd(p,this.An),n=this.An);this.hl.Ap(g);this.hl.Ap(n);this.hl.Ma(this.ta,!0)&&(this.ih=!0);this.YK(d,f,-1,this.hl);this.hl.clear()};d.prototype.yS=function(a,b){this.Lo=!0;var d=this.Tc.ja(b),f,g=this.he.yo(this.ri(d));f=this.a.ic(g);null==f&&(null==this.Fe&&(this.Fe=new c.Hb),this.a.pd(g,this.Fe),f=this.Fe);g=this.NG(a);\nthis.hl.Ap(f);this.a.wj(g,this.Xo);this.hl.tA(this.ta,this.Xo,!0);this.YK(d,-1,a,this.hl);this.hl.clear()};d.prototype.tU=function(){if(0!=this.Ih.size)for(;0!=this.Ih.size;){if(this.Ih.size>Math.max(100,this.a.vd)){this.Ih.clear(!1);this.ih=!0;break}var a=this.Ih.Fc();this.Ih.Pf();this.um(a,-1);-1!=this.QU(a)&&this.sU(a);this.Ko=!1}};d.prototype.sU=function(a){var b;this.Ko?(b=this.Tc.jv(this.$I,this.WI,a,!0),this.Ko=!1):b=this.Tc.aF(a);-1==b?this.UV(this.Tc.ja(this.Tc.QG()),a):(this.um(a,b),this.we.Ng&&\n(this.we.Gs(),this.yG(this.we.rn,b)))};d.prototype.QU=function(a){var b=this.Jg(a,0);a=this.Jg(a,1);this.wo(b,this.mp);this.wo(a,this.oj);if(c.b.sc(this.mp,this.oj)<=this.BB)return this.ih=!0,-1;var d=this.mp.compare(this.Th),f=this.oj.compare(this.Th);return 0>=d&&0<f?a:0>=f&&0<d?b:-1};d.prototype.kS=function(){var a=new c.ia(0);a.yb(this.a.vd);for(var b=this.a.Qr(),d=b.next();-1!=d;d=b.next())-1!=this.a.Sa(d,this.Vh)&&a.add(d);this.a.Xx(a,a.size);this.lS(a)};d.prototype.lS=function(a){this.Hf.clear();\nthis.Hf.Qe(a.size);this.Hf.Ep(new n(this.a));var b=new c.b;b.$c();for(var d=-1,f=new c.b,g=0,w=a.size;g<w;g++){var p=a.get(g);this.a.Nc(p,f);f.ub(b)?(p=this.a.Sa(p,this.Vh),this.Ln(d,p)):(d=this.jf(p),this.a.Nc(p,b),p=this.Hf.ro(p),this.tu(d,p))}};d.prototype.mS=function(){var a=new c.ia(0);a.yb(this.a.vd);for(var b=this.Hf.xc(-1);-1!=b;b=this.Hf.nb(b))a.add(this.Hf.ja(b));this.Hf.clear();this.a.Xx(a,a.size);for(var b=0,d=a.size;b<d;b++){var f=a.get(b),g=this.jf(f),f=this.Hf.ro(f);this.tu(g,f)}};\nd.prototype.HG=function(a,b){var d=this.Nl(a);if(-1!=d){var f=d;do c.ad.CA(this.Jq(f))&&b.add(f),f=this.Kq(f,a);while(f!=d)}};d.prototype.sL=function(a,b){for(var d=this.Gh.xc(this.Ns(a));-1!=d;d=this.Gh.nb(d))this.a.Qf(this.Gh.ja(d),b)};d.prototype.YK=function(a,b,d,f){this.Kv(a);-1!=b&&this.Kv(b);this.LJ(0,a,f);-1!=b&&this.LJ(1,b,f);-1!=d&&(f.cg.w(this.mp),this.wo(d,this.oj),this.oj.ub(this.mp)||this.cl.add(d));d=0;for(var c=this.cl.size;d<c;d++){var g=this.cl.get(d),p=this.Mz(g);-1!=p&&(this.Hf.Kd(p,\n-1),this.tu(g,-1))}d=this.ri(a);c=-1!=b?this.ri(b):-1;this.jF(d,f,0);-1!=b&&this.jF(c,f,1);this.fG(a,f,0);-1!=b&&this.fG(b,f,1);this.he.zh(d);this.Jv(a);-1!=b&&(this.he.zh(c),this.Jv(b));d=0;for(c=this.cl.size;d<c;d++)g=this.cl.get(d),g==this.zr&&(this.Kw=!0),p=this.Mz(g),-1==p&&(p=this.Hf.aF(this.NG(g)),-1==p?(a=this.jf(this.Hf.ja(this.Hf.QG())),this.Ln(a,g)):this.tu(g,p));this.cl.clear(!1)};d.prototype.wo=function(a,b){this.a.pH(this.Nz(a),b)};d.prototype.NG=function(a){return this.Gh.yo(this.Ns(a))};\nd.prototype.HC=function(){this.Kw=!1;this.zr=-1;null==this.we&&(this.Tc.Dw=!1,this.we=new b(this),this.Tc.Oo=this.we);var d=new c.ia(0),f=null,l=null,k=0;this.WI=this.$I=-1;this.Ko=!1;for(var m=this.Hf.xc(-1);-1!=m;){k++;this.Ko=!1;var n=this.Hf.ja(m);this.zr=this.jf(n);this.a.Nc(n,this.Th);this.we.QK(this.Th.y,this.Th.x);var p,q=this.Nl(this.zr);p=-1==q;if(!p){n=q;do{var t=this.Jq(n);-1==t?(this.Ih.add(n),this.um(n,-3)):-3!=t&&d.add(t);n=this.Kq(n,this.zr)}while(n!=q)}if(0<d.size){this.Ko=1==d.size&&\n1==this.Ih.size;p=0;for(q=d.size;p<q;p++)n=this.Tc.ja(d.get(p)),this.um(n,-2);var u=-2,r=-2;p=0;for(q=d.size;p<q;p++){t=d.get(p);if(-2==u){var v=this.Tc.Ve(t);-1!=v?(n=this.Tc.ja(v),n=this.Jq(n),-2!=n&&(u=v)):u=-1}-2==r&&(t=this.Tc.nb(t),-1!=t?(n=this.Tc.ja(t),n=this.Jq(n),-2!=n&&(r=t)):r=-1);if(-2!=u&&-2!=r)break}p=0;for(q=d.size;p<q;p++)t=d.get(p),n=this.Tc.ja(t),this.Tc.Kd(t,-1),this.um(n,-1);d.clear(!1);this.$I=-1!=u?u:-1;this.WI=-1!=r?r:-1;-1!=u&&-1!=r?this.Ko||this.pQ(u,r):-1==u&&-1==r&&(this.Ko=\n!1)}else p&&(null==f&&(f=new a(this)),f.Yh(this.Th),this.Tc.lK(f),f.Ng&&(f.Gs(),this.yS(this.zr,f.rn)));this.tU();this.Kw?(this.Kw=!1,null==l&&(l=new g(this.a)),l.Yh(this.Th),m=this.Hf.lK(l)):m=this.Hf.nb(m)}return this.Lo};d.prototype.Yr=function(a){this.a=a;this.Vh=this.a.Vd();this.ib.Qe(a.vd+32);this.Od.Qe(a.vd);this.Gh.pu(a.vd);this.Gh.Vn(a.vd);this.he.pu(a.vd+32);this.he.Vn(a.vd+32);for(a=this.a.sd;-1!=a;a=this.a.Ue(a))if(c.T.Ic(this.a.hc(a)))for(q=this.a.Pb(a);-1!=q;q=this.a.Sb(q)){var b=this.a.La(q),\nd=this.a.cb(q),f=this.Mn(d),g=this.cu(d);this.Jj(g,f);t=this.a.U(d);d=0;for(b-=2;d<b;d++){var n=this.a.U(t),p=this.Mn(t);this.Jj(g,p);g=this.cu(t);this.Jj(g,p);t=n}this.a.Qb(q)?(p=this.Mn(t),this.Jj(g,p),g=this.cu(t),this.Jj(g,p),this.Jj(g,f)):(p=this.Mn(t),this.Jj(g,p))}else for(var q=this.a.Pb(a);-1!=q;q=this.a.Sb(q))for(var t=this.a.cb(q),f=0,b=this.a.La(q);f<b;f++)this.Mn(t),t=this.a.U(t);this.kS()};return d}();c.XD=d})(r||(r={}));(function(c){var n=function(g){function b(a,d,f){g.call(this);\nif(void 0!==a)if(void 0!==f){this.description=c.ye.Ig();var e=new c.qd;e.I(a,d,f);this.CC(e)}else if(void 0!==d)this.description=c.ye.Ig(),this.rb(a,d);else if(a instanceof c.ma)this.description=a;else if(a instanceof c.b)this.description=c.ye.Ig(),this.rb(a);else if(a instanceof b)this.description=a.description,this.rb(a.Be(),a.nf()),null!==a.la&&(this.la=a.la.slice(0));else throw c.g.F();else this.description=c.ye.Ig()}O(b,g);b.prototype.w=function(a){if(void 0!==a){if(this.Hc())throw c.g.X(\"This operation should not be performed on an empty geometry.\");\na.ka(this.la[0],this.la[1])}else{if(this.Hc())throw c.g.X(\"This operation should not be performed on an empty geometry.\");a=new c.b;a.ka(this.la[0],this.la[1]);return a}};b.prototype.rb=function(a,b){\"number\"===typeof a?(this.Bc(),null==this.la&&this.nq(),this.la[0]=a,this.la[1]=b):(this.Bc(),this.rb(a.x,a.y))};b.prototype.mA=function(){if(this.Hc())throw c.g.X(\"This operation should not be performed on an empty geometry.\");var a=new c.qd;a.x=this.la[0];a.y=this.la[1];this.description.uH()?a.z=this.la[2]:\na.z=c.ma.de(1);return a};b.prototype.CC=function(a){this.Bc();var b=this.hasAttribute(1);b||c.ma.PH(1,a.z)||(this.Ud(1),b=!0);null==this.la&&this.nq();this.la[0]=a.x;this.la[1]=a.y;b&&(this.la[2]=a.z)};b.prototype.Be=function(){if(this.Hc())throw c.g.X(\"This operation should not be performed on an empty geometry.\");return this.la[0]};b.prototype.BC=function(a){this.setAttribute(0,0,a)};b.prototype.nf=function(){if(this.Hc())throw c.g.X(\"This operation should not be performed on an empty geometry.\");\nreturn this.la[1]};b.prototype.RK=function(a){this.setAttribute(0,1,a)};b.prototype.rH=function(){return this.Yc(1,0)};b.prototype.sY=function(a){this.setAttribute(1,0,a)};b.prototype.aH=function(){return this.Yc(2,0)};b.prototype.cY=function(a){this.setAttribute(2,0,a)};b.prototype.yc=function(){return this.KG(3,0)};b.prototype.BK=function(a){this.setAttribute(3,0,a)};b.prototype.Yc=function(a,b){var f=this.description.mg(a);return 0<=f?this.la[this.description.xk(f)+b]:c.ma.de(a)};b.prototype.KG=\nfunction(a,b){var f=this.description.mg(a);return 0<=f?this.la[this.description.xk(f)+b]:c.ma.de(a)};b.prototype.setAttribute=function(a,b,f){this.Bc();var c=this.description.mg(a);0>c&&(this.Ud(a),c=this.description.mg(a));null==this.la&&this.nq();this.la[this.description.xk(c)+b]=f};b.prototype.G=function(){return 33};b.prototype.tb=function(){return 0};b.prototype.Oa=function(){this.Bc();null!=this.la&&(this.la[0]=NaN,this.la[1]=NaN)};b.prototype.mo=function(a){if(null!=this.la){for(var b=c.ye.vx(a,\nthis.description),f=[],e=0,h=0,g=a.Ga;h<g;h++){var k=a.rd(h),m=c.ma.Xa(k);if(-1==b[h])for(var n=c.ma.de(k),k=0;k<m;k++)f[e]=n,e++;else for(n=this.description.xk(b[h]),k=0;k<m;k++)f[e]=this.la[n],e++,n++}this.la=f}this.description=a};b.prototype.nq=function(){this.bK(this.description.af.length);b.Bb(this.description.af,this.la,this.description.af.length);this.la[0]=NaN;this.la[1]=NaN};b.prototype.Xc=function(a){if(a instanceof c.Hd){if(!this.Hc()){var b=this.w();a.$h(b,b);this.rb(b)}}else this.Hc()||\n(this.Ud(1),b=this.mA(),this.CC(a.Rp(b)))};b.prototype.copyTo=function(a){if(33!=a.G())throw c.g.F();a.Bc();null==this.la?(a.Oa(),a.la=null,a.Fg(this.description)):(a.Fg(this.description),a.bK(this.description.af.length),b.Bb(this.la,a.la,this.description.af.length))};b.prototype.Ka=function(){return new b(this.description)};b.prototype.u=function(){return this.Hc()};b.prototype.Hc=function(){return null==this.la||isNaN(this.la[0])||isNaN(this.la[1])};b.prototype.Qn=function(a){a.Oa();this.description!=\na.description&&a.Fg(this.description);a.Nb(this)};b.prototype.s=function(a){this.Hc()?a.Oa():(a.o=this.la[0],a.A=this.la[1],a.v=this.la[0],a.B=this.la[1])};b.prototype.Cp=function(a){if(this.Hc())a.Oa();else{var b=this.mA();a.o=b.x;a.A=b.y;a.Bf=b.z;a.v=b.x;a.B=b.y;a.$g=b.z}};b.prototype.xf=function(a,b){var f=new c.Ac;if(this.Hc())return f.Oa(),f;var e=this.Yc(a,b);f.ca=e;f.ha=e;return f};b.prototype.bK=function(a){if(null==this.la)this.la=c.J.gf(a);else if(this.la.length<a){for(var b=this.la.slice(0),\nf=this.la.length;f<a;f++)b[f]=0;this.la=b}};b.Bb=function(a,b,f){if(0<f)for(f=0;f<a.length;f++)b[f]=a[f]};b.prototype.Eb=function(a){if(a==this)return!0;if(!(a instanceof b)||this.description!=a.description)return!1;if(this.Hc())return a.Hc()?!0:!1;for(var d=0,f=this.description.af.length;d<f;d++)if(this.la[d]!=a.la[d])return!1;return!0};b.prototype.jc=function(){var a=this.description.jc();if(!this.Hc())for(var b=0,f=this.description.af.length;b<f;b++)var e=this.la[b],e=c.J.truncate(e^e>>>32),a=\nc.J.dh(e,a);return a};b.prototype.Gg=function(){return null};return b}(c.T);c.Wa=n})(r||(r={}));(function(c){var n=function(){function c(b,a,d){void 0!==b&&(this.x=b,this.y=a,this.z=d)}c.pa=function(b,a,d){var f=new c;f.x=b;f.y=a;f.z=d;return f};c.prototype.I=function(b,a,d){this.x=b;this.y=a;this.z=d};c.prototype.Vx=function(){this.z=this.y=this.x=0};c.prototype.normalize=function(){var b=this.length();0==b&&(this.x/=b,this.y/=b,this.z/=b)};c.prototype.length=function(){return Math.sqrt(this.x*this.x+\nthis.y*this.y+this.z*this.z)};c.prototype.sub=function(b){return new c(this.x-b.x,this.y-b.y,this.z-b.z)};c.prototype.Vg=function(b){return new c(this.x*b,this.y*b,this.z*b)};c.prototype.dv=function(){this.x=NaN};c.prototype.Hy=function(){return isNaN(this.x)};c.prototype.oi=function(b){return this.x*b.x+this.y*b.y+this.z*b.z};return c}();c.qd=n})(r||(r={}));(function(c){var n=function(){function g(b,a,d){this.tx=this.dx=null;this.tg=a;this.EV=a.y-d;this.DV=a.y+d;this.Ir=0;this.NA=b;this.ta=d;this.QV=\nd*d;this.OA=0!=d;this.yw=!1}g.prototype.result=function(){return 0!=this.Ir?1:0};g.prototype.YO=function(b){b=b.gc(b.pe(this.tg,!1));return c.b.sc(b,this.tg)<=this.QV?!0:!1};g.prototype.pG=function(b){if(!this.OA&&(this.NA&&this.tg.ub(b.ec())||this.tg.ub(b.Cc())))this.yw=!0;else if(b.ra==this.tg.y&&b.ra==b.oa){if(this.NA&&!this.OA){var a=Math.max(b.ua,b.sa);this.tg.x>Math.min(b.ua,b.sa)&&this.tg.x<a&&(this.yw=!0)}}else{var d=!1,a=Math.max(b.ua,b.sa);this.tg.x>a?d=!0:this.tg.x>=Math.min(b.ua,b.sa)&&\n(d=0<b.Tq(!0,this.tg.y,this.tx,null)&&this.tx[0]<=this.tg.x);if(d){if(this.tg.y==b.ec().y){if(this.tg.y<b.Cc().y)return}else if(this.tg.y==b.Cc().y&&this.tg.y<b.ec().y)return;this.Ir=this.NA?this.Ir^1:this.Ir+(b.ec().y>b.Cc().y?1:-1)}}};g.prototype.ku=function(b){var a=b.xf(0,1);if(a.ca>this.DV||a.ha<this.EV)return!1;if(this.OA&&this.YO(b))return!0;if(a.ca>this.tg.y||a.ha<this.tg.y)return!1;null==this.dx&&(this.dx=[null,null,null,null,null]);null==this.tx&&(this.tx=[0,0,0]);a=b.qH(this.dx);if(0<a)for(b=\n0;b<a;b++){var d=this.dx[b].get();this.pG(d);if(this.yw)return!0}else if(this.pG(b),this.yw)return!0;return!1};g.$=function(b,a,d){a=new g(0==b.xo(),a,d);for(b=b.Fa();b.Ya();)for(;b.Ea();)if(d=b.ba(),a.ku(d))return-1;return a.result()};g.bd=function(b,a,d,f){var e=new c.h;b.ac(e);e.O(f,f);var h=new g(0==b.xo(),d,f);b=b.Fa();var l=new c.h;l.I(e);l.v=d.x+f;l.A=d.y-f;l.B=d.y+f;d=a.Yz(l,f);for(f=d.next();-1!=f;f=d.next())if(b.Tb(a.ja(f)),b.Ea()&&(f=b.ba(),h.ku(f)))return-1;return h.result()};g.kn=function(b,\na,d){if(b.u())return 0;var f=new c.h;b.ac(f);f.O(d,d);if(!f.contains(a))return 0;f=b.ob;if(null!=f){var e=f.Hi;if(null!=e){e=e.rm(a.x,a.y);if(1==e)return 1;if(0==e)return 0}f=f.Mb;if(null!=f)return g.bd(b,f,a,d)}return g.$(b,a,d)};g.XU=function(b,a,d,f){if(b.u())return 0;var e=new c.h;b.ac(e);e.O(f,f);if(!e.contains(a,d))return 0;e=b.ob;if(null!=e&&(e=e.Hi,null!=e)){e=e.rm(a,d);if(1==e)return 1;if(0==e)return 0}return g.$(b,c.b.pa(a,d),f)};g.WU=function(b,a,d){return a.u()?0:g.kn(b,a.w(),d)};g.zA=\nfunction(b,a,d,f,e){var h=new c.h;b.ac(h);h.O(f,f);if(!h.contains(d))return 0;var l=new g(!0,d,f);if(null!=e){var k=new c.h;k.I(h);k.v=d.x+f;k.A=d.y-f;k.B=d.y+f;b=b.Fa();f=e.Yz(k,f);for(k=f.next();-1!=k;k=f.next())if(b.Tb(e.ja(k),a),b.Ea()&&b.Ta==a&&(k=b.ba(),l.ku(k)))return-1}else if(b=b.Fa(),b.fC(a),b.Ya())for(;b.Ea();)if(k=b.ba(),l.ku(k))return-1;return l.result()};g.yA=function(b,a,d){var f=new c.h;b.ac(f);f.O(d,d);if(!f.contains(a))return 0;a=new g(!1,a,d);for(d=b.Fa();d.Ya();)if(!(0>b.Sm(d.Ta))){for(a.Ir=\n0;d.Ea();)if(f=d.ba(),a.ku(f))return-1;if(0!=a.Ir)return 1}return a.result()};g.Oi=function(b,a,d,f,e){var h=b.Fa();h.fC(a);if(!h.Ya()||!h.Ea())throw c.g.X(\"corrupted geometry\");for(a=2;2==a&&h.Ea();)a=h.ba().gc(.5),a=g.zA(b,d,a,f,e);if(2==a)throw c.g.X(\"internal error\");return 1==a?!0:!1};g.qm=function(b,a){var d=b.D();return 16>d?!1:2*d+Math.log(d)/Math.log(2)*1*a<1*d*a};return g}();c.ff=n})(r||(r={}));(function(c){var n=function(c){function b(a){c.call(this,!0,a)}O(b,c);b.prototype.Ka=function(){return new b(this.description)};\nb.prototype.tb=function(){return 2};b.prototype.G=function(){return 1736};b.prototype.KH=function(a,b,f){this.FU(a,b,f)};b.prototype.hT=function(){this.zT()};return b}(c.xl);c.Ja=n})(r||(r={}));(function(c){(function(c){c[c.PiPOutside=0]=\"PiPOutside\";c[c.PiPInside=1]=\"PiPInside\";c[c.PiPBoundary=2]=\"PiPBoundary\"})(c.IN||(c.IN={}));var n=function(){function g(){}g.WH=function(b,a,d){b=c.ff.WU(b,a,d);return 0==b?0:1==b?1:2};g.ge=function(b,a,d){b=c.ff.kn(b,a,d);return 0==b?0:1==b?1:2};g.dX=function(b,\na,d,f){b=c.ff.XU(b,a,d,f);return 0==b?0:1==b?1:2};g.m_=function(b,a,d,f){return 0==c.ff.zA(b,a,d,f,null)?0:1};g.yA=function(b,a,d){return 0==c.ff.yA(b,a,d)?0:1};g.NR=function(b,a,d,f,e){if(a.length<d||e.length<d)throw c.g.F();for(var h=0;h<d;h++)e[h]=g.ge(b,a[h],f)};g.YR=function(b,a,d,f,e){if(a.length/2<d||e.length<d)throw c.g.F();for(var h=0;h<d;h++)e[h]=g.dX(b,a[2*h],a[2*h+1],f)};g.fL=function(b,a,d,f,e){if(1736==b.G())g.NR(b,a,d,f,e);else if(197==b.G()){var h=new c.h;b.s(h);g.OM(h,a,d,f,e)}else throw c.g.X(\"invalid_call\");\n};g.v_=function(b,a,d,f,e){if(1736==b.G())g.YR(b,a,d,f,e);else if(197==b.G()){var h=new c.h;b.s(h);g.SM(h,a,d,f,e)}else throw c.g.Da();};g.OM=function(b,a,d,f,e){if(a.length<d||e.length<d)throw c.g.F();if(b.u())for(f=0;f<d;f++)e[f]=0;else for(b.O(.5*-f,.5*-f),b.O(.5*f,.5*f),f=0;f<d;f++)b.contains(a[f])?e[f]=1:b.contains(a[f])?e[f]=2:e[f]=0};g.SM=function(b,a,d,f,e){if(a.length/2<d||e.length<d)throw c.g.F();if(b.u())for(f=0;f<d;f++)e[f]=0;else for(b.O(.5*-f,.5*-f),b.O(.5*f,.5*f),f=0;f<d;f++)b.contains(a[2*\nf],a[2*f+1])?e[f]=1:b.contains(a[2*f],a[2*f+1])?e[f]=2:e[f]=0};g.$T=function(b,a,d,f,c){for(var h=0;h<d;h++)c[h]=b.mt(a[h],f)?2:0};g.jS=function(b,a,d,f,c){var h=b.ob,g=null;null!=h&&(g=h.Hi);for(var h=d,k=0;k<d;k++)if(c[k]=1,null!=g){var m=a[k];0==g.rm(m.x,m.y)&&(c[k]=0,h--)}if(0!=h)for(b=b.Fa();b.Ya()&&0!=h;)for(;b.Ea()&&0!=h;)for(g=b.ba(),k=0;k<d&&0!=h;k++)1==c[k]&&g.mt(a[k],f)&&(c[k]=2,h--);for(k=0;k<d;k++)1==c[k]&&(c[k]=0)};g.gL=function(b,a,d,f,e){var h=b.G();if(1607==h)g.jS(b,a,d,f,e);else if(c.T.Oc(h))g.$T(b,\na,d,f,e);else throw c.g.X(\"Invalid call.\");};return g}();c.gd=n})(r||(r={}));(function(c){var n=function(c){function b(a,b){2==arguments.length?(c.call(this,!1,a.description),this.Rf(a),this.lineTo(b)):c.call(this,!1,a)}O(b,c);b.prototype.Ka=function(){return new b(this.description)};b.prototype.tb=function(){return 1};b.prototype.G=function(){return 1607};b.prototype.KH=function(a,b,f,c){this.GU(a,b,f,c)};return b}(c.xl);c.Ua=n})(r||(r={}));(function(c){var n=function(){function c(){}c.$_=function(){};\nreturn c}();c.d_=n})(r||(r={}));(function(c){(function(a){a[a.clipWithInputHorizon=1]=\"clipWithInputHorizon\";a[a.clipWithOutputHorizon=2]=\"clipWithOutputHorizon\"})(c.fM||(c.fM={}));var n=function(){function a(){this.Jl=3;this.uz=this.yv=NaN}a.prototype.cU=function(){return this.et(1)};a.prototype.dU=function(){return this.et(2)};a.prototype.et=function(a){return 0!=(this.Jl&a)};a.prototype.Vf=function(){var b=new a;b.yv=this.yv;b.uz=this.uz;b.Jl=this.Jl;return b};return a}();c.OZ=n;(function(a){a[a.Dont_Geonomalize_Polygon=\n2147483648]=\"Dont_Geonomalize_Polygon\";a[a.Dont_Adjust_At_Poles=1073741824]=\"Dont_Adjust_At_Poles\"})(c.gM||(c.gM={}));var g=function(){function a(){this.Jl=0}a.prototype.et=function(a){return 0!=(this.Jl&a)};a.oe=function(b){var f=new a;f.Jl=b.Jl;return f};a.prototype.FO=function(a){this.Jl=a.Jl};return a}();c.PZ=g;var b=function(){function a(a,b,e){this.je=a;this.He=b;this.rg=new c.h;this.rg.I(e);this.zV=a.jc()+b.jc()+this.rg.jc().toString()}a.prototype.jc=function(){return this.zV};a.prototype.Eb=\nfunction(a){return this==a||this.je.Eb(a.je)&&this.He.Eb(a.He)&&this.rg.Eb(a.rg)};return a}();c.e_=b;b=function(){function a(){this.He=this.je=null;this.DI=new n;this.EI=new g;this.xr=this.ue=null;this.sr=this.Tl=!0}a.Is=function(b,f,c,h){var g;void 0===h&&(h=null);void 0===g&&(g=null);var k=new a;k.kq(b,f,c,h,g);return k};a.prototype.kq=function(a,b,e,h,g){if(null==a||null==b)throw c.g.X(\"invalidArgument\");this.je=a;this.He=b;this.sr=this.Tl=!1;null!=h&&(this.DI=h.Vf());null!=g&&this.EI.FO(g);g=\n!1;1==b.Fb()&&null!=h&&(h=h.yv,isNaN(h)||0==h||(g=!0));if(a==b)this.Tl=!g,this.sr=!0;else{h=a.Fb();var k=b.Fb();if(0==h||0==k){if(null!=e)throw c.g.F();null!=a.Nd()&&null!=b.Nd()&&(this.Tl=a.Nd().Eb(b.Nd()))}else 3==h||3==k?this.Tl=a.Eb(b):this.je.iU(this.He)?this.Tl=!g:this.Tl=!1,this.ue=e,null!=this.ue&&this.ue.Mp(),this.sr=(null==this.ue||0==this.ue.count())&&this.je.kc().Eb(this.He.kc())}this.wL()};a.prototype.Wv=function(){var b=new a;b.je=this.He;b.He=this.je;null!=this.ue&&(b.ue=this.ue.Wv());\nb.Tl=this.Tl;b.sr=this.sr;b.wL();return b};a.prototype.Ho=function(){return this.Tl};a.prototype.fT=function(){return this.DI.Vf()};a.prototype.Eb=function(b){return b==this?!0:b instanceof a&&this.je.Eb(b.je)&&this.He.Eb(b.He)?this.ue==b.ue?!0:null!=this.ue&&null!=b.ue&&this.ue.Eb(b.ue)?!0:!1:!1};a.prototype.wL=function(){this.xr=new c.ko(this)};a.u_={};return a}();c.rs=b})(r||(r={}));(function(c){var n=function(){function b(){}b.uq=function(a){return a*b.pO};b.Wx=function(a,d){return b.VN(d-a)};\nb.cO=function(a){if(-360<=a&&720>a)return 0>a?a+=360:360<=a&&(a-=360),a;a=c.Ub.hM(a);0>a&&(a+=360);return a};b.VN=function(a){a=b.cO(a);180<a&&(a-=360);return a};b.QZ=.0174532925199433;b.pO=57.29577951308232;return b}();c.ls=n;var g=function(){function b(){}b.Mj=function(a,b){var f=new c.h;a.s(f);var e=c.fb.Bh(b),h=new c.h;h.I(e);h.o=f.o;h.v=f.v;h.O(.01*h.fa(),0);e=c.na.be(b,f,!1);return h.contains(f)?a:c.ne.clip(a,h,e,0)};b.ht=function(a,d,f,e,h){if(!c.fb.Jc(d))throw c.g.F();var g=c.na.ah(d,a,!1),\nk=c.fb.Bh(d),m=c.fb.kc(d),n=m.Nd().Ai,p=c.fb.hw(m),m=c.fb.Sv(m),p=p*(2-p),q=new c.Ac;k.Sn(q);var t=[[0,0],[0,0]];2==c.Sd.Fb(d)?e?(t[0][0]=b.Nn(h,q),t[0][1]=k.Cq(),c.fb.lu(),k=t[0][0]*n):(t[0][0]=k.Hk(),t[0][1]=h,c.fb.lu(),k=t[0][1]*n):k=h*n;if(!e&&0!=k)throw c.g.F();var u=new c.ea,r=new c.fd;a=r.Jb(a);for(var v=[0],x=new c.b,B=new c.b,y=new c.b,A=new c.b,C=new c.b,D=new c.b,E=r.Pb(a);-1!=E;E=r.Sb(E)){var F=r.cb(E);r.w(F,y);for(var G=!1,H=F=r.U(F);-1!=H;H=r.U(H)){if(H==F){if(G)break;G=!0}r.w(H,A);\nif(e&&g<h-y.x&&A.x-h>g||g<h-A.x&&y.x-h>g||!e&&g<-y.y&&A.y>g||g<-A.y&&y.y>g){do if(!(Math.abs(y.x-A.x)>=.5*q.N())){2==c.Sd.Fb(d)?(t[0][0]=b.Nn(y.x,q),t[0][1]=y.y,t[1][0]=b.Nn(A.x,q),t[1][1]=A.y,c.fb.VW(),C.x=t[0][0]*n,C.y=t[0][1]*n,D.x=t[1][0]*n,D.y=t[1][1]*n):(C.x=y.x*n,C.y=y.y*n,D.x=A.x*n,D.y=A.y*n);D.x=6.283185307179586*(A.x-y.x)/q.N()+C.x;if(e){if(B.x=k,B.y=b.FB(m,p,C,D,k,f),isNaN(B.y))break}else{B.x=b.DB(m,p,C,D,f);if(isNaN(B.x))break;B.y=0}c.mb.Ld(m,p,C.x,C.y,D.x,D.y,u,null,null,f);var I=u.j;\nc.mb.Ld(m,p,C.x,C.y,B.x,B.y,u,null,null,f);var K=u.j;2==c.Sd.Fb(d)?(t[0][0]=B.x/n,t[0][1]=B.y/n,c.fb.US(),e?(x.y=t[0][1],x.x=h):(x.x=b.Zp(t[0][0],y.x,A.x,q),x.y=h)):e?(x.x=h,x.y=B.y/n):(x.x=b.Zp(B.x/n,y.x,A.x,q),x.y=h);v[0]=0<I?c.J.pk(K/I,0,1):.5;0!=v[0]&&1!=v[0]&&(I=r.Ra(H),r.zm(I,v,1),r.rb(r.U(I),x.x,x.y))}while(0)}y.L(A)}}return r.Se(a)};b.Xm=function(a,d,f,e,h){if(a.u())return a;var g=c.fb.ee(d);return b.Aq(a,f-180*g,360*g,d,e,h,!0)};b.FB=function(a,d,f,e,h,g){if(3.141592653589793<=Math.abs(f.x-\ne.x)||!b.Cj(f.x,e.x,h))return NaN;var k;f.x>e.x?k=e:(k=f,f=e);e=new c.ea(0);var m=new c.ea(0),n=new c.ea(0);c.mb.Ld(a,d,k.x,k.y,f.x,f.y,m,e,null,g);var p=m.j,q=0,t=1,u=new c.b;for(u.L(k);p*(t-q)>1E-12*a;){var r=.5*(q+t);c.mb.Oj(a,d,k.x,k.y,p*r,e.j,m,n,g);u.x=m.j;u.y=n.j;if(u.x==h)break;if(b.Cj(k.x,u.x,h))t=r;else if(b.Cj(f.x,u.x,h))q=r;else return NaN}return u.y};b.Cj=function(a,b,f){a=n.uq(a);b=n.Wx(a,n.uq(b));f=n.Wx(a,n.uq(f));return 0==f||0<b&&0<f&&f<=b||0>b&&0>f&&f>=b?!0:!1};b.Nn=function(a,b){var f=\nb.ha-b.ca;return b.wu(a-Math.floor((a-b.ca)/f)*f)};b.Zp=function(a,b,f,e){var h=new c.Ac;h.I(b,f);f=e.N();a=Math.floor((a-b)/f)*f+a;for(h=h.Wf();Math.abs(a-h)>Math.abs(a+f-h);)a+=f;return a};b.DB=function(a,b,f,e,h){var g;f.y>e.y?g=e:(g=f,f=e);e=new c.Ac;e.I(g.y,f.y);if(!e.contains(0)||3.141592653589793<=Math.abs(g.x-f.x))return NaN;if(g.x==f.x)return g.x;var k=new c.ea(0),m=new c.ea(0),n=new c.ea(0);c.mb.Ld(a,b,g.x,g.y,f.x,f.y,m,k,null,h);var p=m.j,q=0,t=1,u=new c.b;for(u.L(g);p*(t-q)>1E-12*a;){var r=\n.5*(q+t);c.mb.Oj(a,b,g.x,g.y,p*r,k.j,m,n,h);u.x=m.j;u.y=n.j;e.I(g.y,u.y);if(0==u.y)break;if(e.contains(0))t=r;else if(e.I(f.y,u.y),e.contains(0))q=r;else return NaN}return u.x};b.Aq=function(a,b,f,e,h,g,k){var m=new c.h;a.s(m);if(m.u())return a;var n=new c.Ac;m.Sn(n);var p=new c.Ac;p.I(b,b+f);if(p.contains(n)&&p.ha!=n.ha)return a;var q=new c.h;q.I(m);var t=a.G();if(33==t){q=h?a:a.Vf();m=q.Be();if(m<p.ca||m>=p.ha||k&&m==p.ha)m+=Math.ceil((p.ca-m)/f)*f,m=p.wu(m),q.BC(m);return q}if(550==t){q=h?a:a.Vf();\ne=q.Pa(0);t=2*q.D();a=!1;for(h=0;h<t;h+=2)if(m=e.read(h),m<p.ca||m>=p.ha||k&&m==p.ha)a=!0,m+=Math.ceil((p.ca-m)/f)*f,m=p.wu(m),e.write(h,m);a&&q.Dc(1993);return q}if(p.contains(n))return a;if(197==t)return f=h?a:a.Vf(),m.Ma(q),f.Gp(m),f;var u=.1*Math.max(m.fa(),m.N());q.O(0,u);k=a;p=e.re(0);a=c.ei.local();h=new c.Hd;for(var r=0;;){var v=Math.floor((n.ca-b)/f),x=Math.ceil((n.ha-b)/f);if(3<x-v){v=Math.floor(.5*(x+v));q.o=m.o-u;q.v=b+f*v;var B=c.ne.clip(k,q,p,g);q.o=q.v;q.v=m.v+u;var y=c.ne.clip(k,q,\np,g);h.Ag((v-x)*f,0);y.Xc(h);1736==t?k=a.V(B,y,e,null):(k=B,k.add(y,!1));k.s(m);m.Sn(n);r++}else break}q.o=b;q.v=b+f;b=new c.h;b.I(q);b.O(p,0);b=Math.floor((m.o-q.o)/f)*f;0!=b?(q.move(b,0),h.Ag(-b,0)):h.qC();b=1607==t?new c.Ua(k.description):new c.Ja(k.description);g=new c.h;for(n=new c.h;m.v>q.o;){u=c.ne.clip(k,q,p,0);u.s(n);if(1607==t?!u.u()&&(n.N()>p||n.fa()>p):!u.u()&&(1736!=t||n.N()>p))u.Xc(h),u.s(n),b.s(g),g.O(p,p),g.Yb(n)&&1736==t?b=a.V(b,u,e,null):b.add(u,!1);q.move(f,0);h.shift(-f,0)}return b};\nb.OJ=function(a,b,f,e,h){var g=new c.Ed(f.description);g.Id(f,0,-1);h=c.fb.Xg(g,a,b,h);g=f.D();e.Oa();if(!c.fb.Jc(a)||g!=h.D())return!1;var k=new c.h;f.s(k);var m=new c.h;h.s(m);k=k.N();m=m.N();if(0!=k&&0!=m){if(m/=k,a=c.fb.Bh(b).N()/c.fb.Bh(a).N(),1E-10<Math.abs(m/a-1))return!1}else if(0!=k||0!=m)return!1;e.add(f,!1);for(f=0;f<g;f++)a=h.Ba(f),e.rb(f,a);return!0};b.vA=function(){throw c.g.df();};return b}();c.gi=g})(r||(r={}));(function(c){(function(a){a[a.Clip=0]=\"Clip\";a[a.DontClip=1]=\"DontClip\";\na[a.PannableFold=2]=\"PannableFold\"})(c.di||(c.di={}));var n=c.di;(function(a){a[a.Geodesic=0]=\"Geodesic\";a[a.Loxodrome=1]=\"Loxodrome\";a[a.GreatElliptic=2]=\"GreatElliptic\";a[a.NormalSection=3]=\"NormalSection\";a[a.ShapePreserving=4]=\"ShapePreserving\"})(c.mD||(c.mD={}));var g=c.mD,b=function(){function a(){}a.iw=function(a,b,e){if(e||0<b){a=a.toString(c.Vc.PE_STR_NAME_CANON|c.Vc.PE_STR_AUTH_NONE);b=[];for(e=0;e<a.length;e++)b[e]=\"a\"<=a[e]&&\"z\">=a[e]?b[e]=a[e].toUpperCase():a[e];return b.join()}return a.toString(c.Vc.PE_STR_AUTH_TOP)};\na.qs=function(a,b,e,h){var g=h.length,k=e.D();if(0!=k){var m=e.Pa(0),n=Math.min(k,g),p=0,q=a.Kg();isNaN(b)&&(b=0);var t=a.Jc();a=t?a.kc().qe().N():0;for(var u=179*a/360;0<k;){m.Hx(p<<1,n,h,0,!0);c.fi.projToGeogCenter(q,n,h,b);if(t)for(var r=0;r<n;r++){var v=h[r][0]-b,x=c.Ub.sign(v),B=m.read(2*(p+r));0>x*c.Ub.sign(B)&&Math.abs(v)>u&&(h[r][0]+=-x*a)}m.hy(p<<1,n,h,0,!0);p+=n;k-=n;n=Math.min(k,g)}e.Dc(1993)}};a.J_=function(a,b,e,h){var g=a.Kg();isNaN(b)&&(b=0);var k=e.Be();h[0][0]=k;h[0][1]=e.nf();c.fi.projToGeogCenter(g,\n1,h,b);a.Jc()&&(b=c.Ub.sign(h[0][0]-b),0>b*c.Ub.sign(k)&&(a=a.kc().qe().N(),Math.abs(h[0][0])>179*a/360&&(h[0][0]-=b*a)));e.rb(h[0][0],h[0][1])};a.xN=function(a,b,e,h){var g=0,k=a.Kg();isNaN(g)&&(g=0);var m=a.Jc(),n=a.ee();a=360*n;for(var n=179*n,p=h.length,q=0;q<e;){for(var t=q;t<e&&b[t].isNaN();++t)q++;var u=Math.min(p,e-q);if(0<u){for(var t=1,r=q+1;t<u;++t,++r)if(b[r].isNaN()){u=t;break}c.na.oz(h,b,q,u);c.fi.projToGeogCenter(k,u,h,g);if(m)for(t=0,r=q;t<u;++t,++r){var v=b[r].x,x=h[t][0]-g,B=c.Ub.sign(x);\n0>B*c.Ub.sign(v)&&Math.abs(x)>n&&(h[t][0]-=B*a)}c.na.nz(b,q,h,u);q+=u}}};a.vy=function(a,b,e){var h=e.length,g=b.D();if(!(1>g)){var k=b.Pa(0),m=Math.min(g,h),n=0,p=a.Kg(),q=a.Jc(),t=q?a.qe().N():0,u=179*t/360,r=0;for(q&&(r=a.pi());0<g;){k.Hx(n<<1,m,e,0,!0);c.fi.geogToProj(p,m,e);if(q)for(a=0;a<m;a++){var v=e[a][0],x=c.Ub.sign(v),B=k.read(2*(n+a))-r;0>x*c.Ub.sign(B)&&Math.abs(v)>u&&(e[a][0]+=-x*t)}k.hy(n<<1,m,e,0,!0);n+=m;g-=m;m=Math.min(g,h)}b.Dc(1993)}};a.B_=function(a,b,e){if(!b.u()){var h=a.Kg();\ne[0][0]=b.Be();e[0][1]=b.nf();c.fi.geogToProj(h,1,e);if(a.Jc()){var h=c.Ub.sign(e[0][0]),g=a.pi();0>h*c.Ub.sign(b.Be()-g)&&(a=a.qe().N(),Math.abs(e[0][0])>179*a/360&&(e[0][0]-=h*a))}b.rb(e[0][0],e[0][1])}};a.wN=function(a,b,e,h){if(0!=e){var g=a.Kg(),k=a.Jc(),m=k?a.qe().N():0,n=179*m/360,p=0;k&&(p=a.pi());for(a=0;a<e;){for(var q=a;q<e&&b[q].isNaN();++q)a++;var t=Math.min(h.length,e-a);if(0<t){for(var q=1,u=a+1;q<t;++q,++u)if(b[u].isNaN()){t=q;break}c.na.oz(h,b,a,t);c.fi.geogToProj(g,t,h);if(k)for(q=\n0,u=a;q<t;q++){var r=h[q][0],v=c.Ub.sign(r);0>v*c.Ub.sign(b[u].x-p)&&Math.abs(r)>n&&(h[q][0]-=v*m)}c.na.nz(b,a,h,t);a+=t}}}};a.ps=function(a,b,e,h){var g=b.D();if(0!=g){var k=b.Pa(0),m=a.je,n=a.He,p=m.kc().Yi(),q=n.kc().Yi(),t=m.ee(),u=n.ee();a=a.ue;if(null==a||0==a.count()){e=p/q;h=(m.dn()-n.dn())*u;q=-90*t;a=90*t;p=!1;u=1;for(m=2*g;u<m;)t=k.get(u),n=c.J.pk(t,q,a),n!=t&&(k.set(u,n),p=!0),u+=2;if(0!=h||1!=e)for(p=!0,q=new c.b,u=0;u<g;u++)k.fc(2*u,q),q.x*=e,q.x+=h,q.y*=e,k.fo(2*u,q);p&&b.Dc(1993)}else{var m=\nh.length,n=Math.min(g,m),r=c.J.gf(n),v=null,x=0,B=NaN,y=NaN,A=360*u,C=u/t;e&&(y=90*u,B=89.9*t,v=c.J.gf(n));for(var D=!0,E=0;0!=g;){t=!1;k.Hx(x<<1,n,h,0,!0);for(u=0;u<n;u++)r[u]=h[u][0];if(e)for(u=0;u<n;u++){var F=Math.abs(h[u][1])-B;0<F&&(t=h[u][1],h[u][1]=c.Ub.Fl(B,t),v[u]=c.Ub.Fl(F,t),t=!0)}u=h[0][0];a.transform(h,n,p,q);D&&(E=h[0][0]-C*u,D=!1);for(u=0;u<n;u++)F=h[u][0]-r[u]*C-E,200<Math.abs(F)&&(h[u][0]=0<F?h[u][0]-A:h[u][0]+A);if(t){for(u=0;u<n;u++)0!=v[u]&&(h[u][1]+=C*v[u],h[u][1]>y?h[u][1]=\ny:h[u][1]<-y&&(h[u][1]=-y));for(t=0;t<n;t++)v[t]=0}k.hy(x<<1,n,h,0,!0);x+=n;g-=n;n=Math.min(g,m)}b.Dc(1993)}}};a.A_=function(a,b,e,h){if(b.u())return!1;var g=a.je,k=a.He,m=a.ue,n=g.kc().Yi(),p=k.kc().Yi();h[0][0]=b.Be();h[0][1]=b.nf();if(null!=m&&0<m.count()){a=!0;var q=!1,t=NaN,u=0,r=1;e&&(e=g.ee(),t=k.ee(),r=t/e,t*=90,g=89.9*e,k=Math.abs(h[0][1])-g,0<k&&(q=h[0][1],h[0][1]=c.Ub.Fl(g,q),u=c.Ub.Fl(k,q),q=!0));m.transform(h,1,n,p);q&&0!=u&&(h[0][1]+=r*u,h[0][1]>t?h[0][1]=t:h[0][1]<-t&&(h[0][1]=-t));\nb.rb(h[0][0],h[0][1])}else{e=g.ee();a=c.J.pk(h[0][1],-90*e,90*e)!=h[0][1];t=k.ee();m=(g.dn()-k.dn())*t;n/=p;if(1!=n||0!=m)a=!0,h[0][0]*=n,h[0][0]+=m,h[0][1]*=n;a&&b.rb(h[0][0],h[0][1])}return a};a.vN=function(a,b,e,h){var g;if(a.sr)h=90*a.je.ee(),c.na.VK(b,e,-h,h);else{var k=a.ue,m=a.je,n=a.He;a=m.Xs();var p=n.Xs(),q=m.ee(),t=90*q,u=n.ee();if(null==k||0==k.count()){if(h=a/p,k=(m.dn()-n.dn())*u,c.na.VK(b,e,-t,t),0!=k||1!=h)for(u=0;u<e;u++)b[u].x*=h,b[u].x+=k,b[u].y*=h}else for(var m=Math.min(e,h.length),\nt=c.J.gf(m),n=360*u,q=u/q,r=!0,v=0,x=0;0!=e;){for(u=0;u<m;u++)t[u]=b[u+x].x;u=b[0].x;c.na.oz(h,b,x,m);k.transform(h,m,a,p);c.na.nz(b,x,h,m);r&&(v=b[0].x-q*u,r=!1);for(u=0;u<m;u++)g=b[x+u].x-t[u]*q-v,200<Math.abs(g)&&(b[x+u].x=0<g?b[x+u].x-n:b[x+u].x+n);x+=m;e-=m;m=Math.min(e,h.length)}}};a.ZZ=function(b,f,c,h){return a.Xm(b,f,isNaN(c)?0:c,!0,h,null)};a.Vu=function(a,b){var c=a.Bh();isNaN(b)||c.xv(b,0);return c};a.LS=function(b,f,e,h,g,k,m,n){for(var p=a.Vu(h,g),q=p.N(),t=q/360,u=a.lE*t,r=b.Pa(0),\nv=f.Jc(),x=v?q/f.qe().N():0,B=!1,y=new c.Ja(e.description),A=0,C=e.aa();A<C;++A){var D=v,E=new c.Ua(e.description);E.Ti(e,A,!0);if(0!=m){var F=a.bE(!0,E,p.B-n,p.B,m);(B=B||F)&&(D=!1)}var G=-1;D&&(G=b.wa(A));var H=E.Pa(0),I=E.D(),K=0,J=H.read(0),L=0,F=3*h.re(0),M=!1,R=new c.b;R.$c();var O=new c.b;O.$c();for(var Q=!1,N=1;N<I;++N){var P=c.b.pa(H.Of(2*N),H.Of(2*N+1)),Z=P.x,T=Z+K,X=T-J;P.x=T;if(Math.abs(X)>u){if(D){var W=G+(N+1<I?N:0),Y=r.read(2*(G+N-1)),W=(r.read(2*W)-Y)*x;Math.abs(X-W)>1*t&&(D=!1)}D||\n(K-=c.Ub.Fl(q,T-J),T=Z+K,++L,Q=0!=K,P.x=T)}else M||c.na.NH(O,R,P,F)&&(M=!0);Q&&H.write(2*N,T);J=T;O.L(R);R.L(P)}0<L&&E.Dc(1993);D=E.Ba(0);I=E.Ba(I-1);E=c.b.Cb(D,I)<F?a.UR(E,h,g,k,M):a.hS(b,A,E,h,g);y.add(E,!1)}g=h.re(0);e=p.N()/180;a.xu(y,p,.1*g,!1);g=c.uh.clip(y,p,g,e,k);y=y!=g;b=b.hf();n=g.hf();m=0;0<n&&0>b?m=1:0>=n&&0<b&&(0==n?(n=NaN,2==f.Fb()?n=f.Mk().hf():1==f.Fb()&&(n=f.qe().IG()),b>.99*n&&(m=-1)):m=-1);0!=m&&(f=new c.Ja(g.description),f.oq(p),f=c.Jm.local().V(f,e,k),f.add(g,!1),y=!0,g=f);y&&\n(g=c.Km.local().V(g,h,!1,k));return g};a.hS=function(b,f,e,h,g){var k=e.D(),m=e.Ba(0),n=e.Ba(k-1);h=a.Vu(h,g);g=h.N();var m=c.Ub.sign(n.x-m.x),p=new c.h;e.ac(p);var q=h.Hk(),t,n=q-g,q=q+g;if(0<=m){for(var u=Math.ceil((n-p.o)/g),u=u*g;n>p.o+u;)u+=g;for(;n<p.v+u;)u-=g;t=u;720<p.N()&&(q=n+360*Math.ceil(p.N()/360))}else{u=Math.ceil((q-p.v)/g);for(u*=g;q<p.v+u;)u-=g;for(;q>p.o+u;)u+=g;t=u;720<p.N()&&(n=q-360*Math.ceil(p.N()/360))}var u=m*g,r=c.h.pa(p.o,p.A,p.v,p.B);r.move(t,0);var v=new c.Hd;v.Ag(t,0);\ne.Xc(v);p=new c.Ua(e.description);p.add(e,!1);t=e.Ba(k-1);g=0;for(var x=p.Ba(0).x,B=0;0<m?r.v<q:r.o>n;)1024<=B&&(B=0),r.move(u,0),v.Wb=u,e.Xc(v),x+=u,h.o<=x&&h.v>=x&&(g=p.D()-1),e.rb(0,t),t=e.Ba(k-1),p.Bs(e,0,0,k-1,!1);e=new c.Ja(p.description);k=0<b.Sm(f);e.add(p,!1);b=p.Ba(0);n=p.Ba(p.D()-1);f=e.aa()-1;(0>m?k:!k)?(m=c.b.pa(n.x,h.B),e.aj(m),m=c.b.pa(h.Hk(),h.B),e.aj(m),h=c.b.pa(b.x,h.B)):(m=c.b.pa(n.x,h.A),e.aj(m),m=c.b.pa(h.Hk(),h.A),e.aj(m),h=c.b.pa(b.x,h.A));e.aj(h);e.KH(0,f,0);e.oQ(g);return e};\na.UR=function(b,f,e,h,g){var k=new c.Ja(b.description);k.add(b,!1);k.dC(0,k.D()-1);var m=new c.h;k.ac(m);e=a.Vu(f,e);for(var n=e.N(),p=Math.ceil((e.o-m.o)/n),p=p*n;e.o>m.o+p;)p+=n;for(;e.o<m.v+p;)p-=n;p+=n;if(0!=p){m.move(p,0);var q=new c.Hd;q.Ag(p,0);k.Xc(q)}if(e.o<=m.o&&e.v>m.v)return g&&(g=k.hf(),k=c.Km.local().V(k,f,!0,h),f=k.hf(),(f=c.Ub.sign(g)!=c.Ub.sign(f))&&k.eK()),k;b=new c.Ja(b.description);b.add(k,!1);for(g=g||m.N()>n-f.re(0);m.o<e.v;)m.move(n,0),q=new c.Hd,q.Ag(n,0),k.Xc(q),b.add(k,!1);\ng&&(g=b.hf(),b.Hp(1),b=c.Km.local().V(b,f,!0,h),f=b.hf(),(f=c.Ub.sign(g)!=c.Ub.sign(f))&&b.eK());return b};a.bE=function(a,b,e,h,g){for(var k=b.Pa(0),m=b.D(),n=!1,p=0;p<m;p++){var q=c.b.pa(k.Of(2*p),k.Of(2*p+1));if(0!=(g&1)&&q.y>=e){n=!0;break}if(0!=(g&2)&&q.y<=-e){n=!0;break}}if(!n)return!1;k=!1;a&&(k=b.Eo(0));a=new c.fd;var m=a.Jb(b),n=a.Pb(m),t=-1,u=!0,r=new c.b;r.$c();for(var p=new c.Wa,v=-1,x=a.cb(n);-1!=x;x=a.U(x)){var q=a.Ba(x),B=0!=(g&1)&&90<=q.y?1:0,B=B|(0!=(g&2)&&q.y<=-e?2:0);if(0<t&&t!=\nB){if(r.x!=q.x){r.x=q.x;a.wj(a.Ra(x),p);var y=a.Wj(n,x,p);a.Qf(y,r)}if(k)for(v=-1!=v?a.U(v):a.cb(n),y=a.Ra(x);v!=y;)v=a.ud(v,!1);v=-1}0<B&&(q.y=c.Ub.Fl(h,q.y),a.Qf(x,q),u||t==B||(q.x!=r.x?(a.wj(x,p),y=a.Wj(n,x,p),a.rb(y,r.x,q.y),v=y):v=x));t=B;r=q;u=!1}if(k){if(-1!=v)for(v=a.U(v);-1!=v;)v=a.ud(v,!1);e=a.cb(n);a.Uq(e,a.Rj(n))||(a.wj(e,p),a.Wj(n,-1,p))}a.Se(m).copyTo(b);return!0};a.zZ=function(a,b){for(var c=0,h=a.La(b),g=b+1,k=a.aa();g<k&&!(0<a.Sm(g));++g)c++;return 64<h&&3<=c};a.uA=function(b,f,e,\nh){var g=b;if(g.u()||e==n.DontClip)return g;var k=g.G();if(33==k)return h=g,g=[h.w()],a.LH(g,1,f,e),g[0].isNaN()?h.Oa():h.rb(g[0]),b;b=f.kc();var m=b.ee(),w=90*m,p=180*m,q=360*m,t=f.pi(),r=.5*m,z=new c.h;g.s(z);var v=f.Vs(),x=f.ES(),B=197==v.G();f=new c.h;v.s(f);e==n.PannableFold&&(e=b.qe().N(),f.o=t-.5*e,f.v=f.o+e);if(z.A<-w||z.B>w){(new c.h).I(z.o-m,-w,z.v+m,w);g=c.uh.rq(g,f,b,NaN,0,h);if(g.u())return g;g.s(z)}if(x&&(f.B<z.A||f.A>z.B))return g.Ka();z.N()>q&&(g=a.Aq(g,t-p,q,b,!0,0,!0,h),g.s(z));\nw=a.DN(z.o,z.v,f.o,f.v,q);0!=w&&z.move(w,0);if(z.v>f.v||z.o<f.o){if(z.v>f.v)for(;z.o>=f.v;)z.move(-q,0),w-=q;for(;z.o<f.v-q;)z.move(q,0),w+=q}e=c.na.vv(b,v);0!=w&&(m=new c.Hd,m.Ag(w,0),g.Xc(m));if(x){if(B&&f.contains(z))return g;x=[null,null];for(w=0;2>w;w++){B?m=c.T.Ic(k)?c.uh.clip(g,f,e,r,h):c.uh.clip(g,f,e,0,h):(m=c.tk.local().V(g,v,b,h),m==v&&(m=c.T.oe(m)));if(f.o<=z.o&&f.v>=z.v||f.o>=z.o&&f.v<=z.v)return m;x[w]=m;0==w&&(z.move(-q,0),m=new c.Hd,m.Ag(-q,0),g.Xc(m))}if(550==k)x[0].Id(x[1],0,-1);\nelse if(c.T.Ic(k))x[0].add(x[1],!1);else if(33==k)x[0].u()&&(x[0]=x[1]);else throw c.g.X(\"intersect_with_GCS_horizon: unexpected geometry type\");return x[0]}if(f.B<z.A||f.A>z.B)return g;for(k=0;!g.u()&&z.v>f.o;)0!=k&&(m=new c.Hd,m.Ag(k,0),g.Xc(m)),c.Gj.local().V(4,g,v,b,h)||(g=c.cq.local().V(g,v,b,h),v==g&&(g=c.T.oe(g))),0!=k&&(r=new c.Hd,r.Ag(-k,0),g.Xc(r)),k-=q,z.move(-q,0);return g};a.LH=function(b,f,e,h){if(0!=f&&h!=n.DontClip)if(h==n.PannableFold){h=e.BT();for(var g=f,k=0;k<f;k++)if(b[k].y>h.B||\nb[k].y<h.A)b[k].$c(),g--;0!=g&&a.Uu(b,f,h.o,h.N())}else{h=e.ee();var m=90*h,w=180*h;h*=360;g=f;for(k=0;k<f;k++)if(b[k].y>m||b[k].y<-m)b[k].$c(),g--;if(0!=g){g=new c.h;g.Mx(b,f);var m=e.Vs(),p=e.Uv(),k=197==m.G(),q=new c.h;m.s(q);if(!p||!(q.B<g.A||q.A>g.B))if(p)if(a.Uu(b,f,q.Hk()-w,h),g=f,k)for(k=0;k<f;k++)q.contains(b[k])||(b[k].$c(),g--);else for(e=c.na.vv(e.kc(),m),k=0;k<f;k++)w=0!=c.gd.ge(m,b[k],e),w||(b[k].$c(),g--);else for(a.Uu(b,f,-w,h),g=f,e=c.na.vv(e.kc(),m),k=0;k<f;k++)if(w=b[k],w.isNaN()&&\ng--,p=a.qE(w.x,q.o,q.v,h),w.x+=p,w=0!=c.gd.ge(m,w,e))b[k].$c(),g--}}};a.b_=function(a,b,e){if(0<=b&&!a.Qb(b))return 0;var h=0;if(1==e.Fb())return b=90*e.ee(),b-=2*b/Math.PI*c.Vc.PE_HORIZON_DELTA,e=new c.h,a.s(e),e.B>=b&&(h=1),e.A<=-b&&(h|=2),h;var g=e.Sj();if(null==g)return 0;var k=null;0<=b&&(k=a);for(var m=0;2>m;m++)if((0<m?g.getSouthPoleLocation():g.getNorthPoleLocation())!=c.Bg.PE_POLE_OUTSIDE_BOUNDARY){var n=e.eA(0<m);n.isNaN()||(n=0>b?c.ff.yA(a,n,0):c.ff.zA(k,b,n,0,null),h|=n<<m)}return h};\na.Aq=function(a,b,e,h,g,k,m,n){var p=a.G(),q=b+e;if(33===p){h=g?a:a.Vf();var t=h.Be();if(t<b||t>=q||m&&t==q)t+=Math.ceil((b-t)/e)*e,t=c.J.pk(t,b,q),h.BC(t);return h}if(a.u())return a;t=new c.h;a.s(t);if(t.u())return a;var r=new c.Ac;t.Sn(r);var z=new c.Ac;z.I(b,q);if(z.contains(r))return a;q=new c.h;q.I(t);if(550===p){h=g?a:a.Vf();n=h.Pa(0);p=2*h.D();q=!1;for(b=0;b<p;b+=2)if(t=n.read(b),t<z.ca||t>=z.ha||m&&t==z.ha)q=!0,t+=Math.ceil((z.ca-t)/e)*e,t=z.wu(t),n.write(b,t);q&&h.Dc(1993);return h}if(197==\np)return e=g?a:a.Vf(),t.Ma(q),e.Gp(t),e;var v=.1*Math.max(t.fa(),t.N());q.O(0,v);m=a;z=h.re(0);a=c.ei.local();for(g=new c.Hd;;){var x=Math.floor((r.ca-b)/e),B=Math.ceil((r.ha-b)/e);if(3<B-x){x=Math.floor(.5*(B+x));q.o=t.o-v;q.v=b+e*x;var y=c.uh.clip(m,q,z,k,n);q.o=q.v;q.v=t.v+v;var A=c.uh.clip(m,q,z,k,n);g.Ag((x-B)*e,0);A.Xc(g);1736==p?m=a.V(y,A,h,null):(m=y,m.add(A,!1));m.s(t);t.Sn(r)}else break}q.o=b;q.v=b+e;b=new c.h;b.I(q);b.O(z,0);b=Math.floor((t.o-q.o)/e)*e;0!=b?(q.move(b,0),g.Ag(-b,0)):g.qC();\nb=1607==p?new c.Ua(m.description):new c.Ja(m.description);k=new c.h;for(r=new c.h;t.v>q.o;){v=c.uh.clip(m,q,z,0,n);v.s(r);if(1607==p?!v.u()&&(r.N()>z||r.fa()>z):!v.u()&&(1736!=p||r.N()>z))v.Xc(g),v.s(r),b.s(k),k.O(z,z),k.Yb(r)&&1736==p?b=a.V(b,v,h,null):b.add(v,!1);q.move(e,0);g.shift(-e,0)}return b};a.Uu=function(a,b,e,h){for(var g=e+h,k=0;k<b;k++){var m=a[k].x;e<=m&&m<g||!(m<e||m>g||m==g)||(m+=Math.ceil((e-m)/h)*h,m=c.J.pk(m,e,g),a[k].x=m)}};a.Xm=function(b,f,e,h,g,k){if(!f.Jc())throw c.g.X(\"fold_into_360_degree_range\");\nif(b.u())return b;var m;if(2==f.Fb())e=f.bw(),m=f.aw()-e;else{var n=f.ee();m=360*n;e-=180*n}return a.Aq(b,e,m,f,h,g,!0,k)};a.BG=function(b,c,e,h){if(2==e.Fb())h=e.bw(),e=e.aw()-h;else{var g=e.ee();e=360*g;h-=180*g}a.Uu(b,c,h,e)};a.Mj=function(a,b){var e=b.qe();if(33==a.G()){var h=a.nf();return e.A<=h&&h<=e.B?a:a.Ka()}h=new c.h;a.s(h);var g=new c.h;g.I(e);g.o=h.o;g.v=h.v;g.O(.01*g.fa(),0);e=c.na.$y(b,h);return g.contains(h)?a:c.uh.clip(a,g,e,0,null)};a.Im=function(a,b,c){return a>b.v&&a-b.v<c?b.v:\na<b.o&&b.o-a<c?b.o:a};a.AY=function(b,c,e,h){h.x=a.Im(b.x,c,e);h.y=b.y};a.zY=function(b,c,e,h){for(var g=0;g<c;g++)b[g].y<e.A||b[g].y>e.B?b[g].$c():b[g].x=a.Im(b[g].x,e,h)};a.xu=function(b,f,e,h){if(!b.u()){var g=b.G();if(!h||1736!=g)if(c.T.gh(g)){h=b.Pa(0);for(var g=0,k=b.D();g<k;g++){var m=h.read(2*g),n=a.Im(m,f,e);n!=m&&h.write(2*g,n)}b.Dc(1993)}else if(197==g)h=new c.h,b.s(h),h.o=a.Im(h.o,f,e),h.v=a.Im(h.v,f,e),b.Gp(h);else if(33==g)b.BC(a.Im(b.Be(),f,e));else throw c.g.X(\"internal error\");}};\na.qU=function(b,f,e,h){var g=new c.fd,k=g.Jb(b);b=c.na.vv(f,b);a.ht(g,k,f,b,e,!0,h);return g.Se(k)};a.ht=function(b,f,e,h,l,k,m){if(!e.Jc())throw c.g.F(\"invalid call\");var n=e.qe(),p=e.kc(),q=p.Kg().getDatum().getSpheroid(),p=p.Nd().Ai,t=q.getFlattening(),q=q.getAxis(),t=t*(2-t),r=new c.Ac;n.Sn(r);var z=null,v=[[0,0],[0,0]];2==e.Fb()?(z=e.Kg(),k?(v[0][0]=a.Nn(m,r),v[0][1]=n.Cq(),c.fi.projToGeog(z,1,v),n=v[0][0]*p):(v[0][0]=n.Hk(),v[0][1]=m,c.fi.projToGeog(z,1,v),n=v[0][1]*p)):n=m*p;if(!k&&0!=n&&l!=\ng.GreatElliptic)throw c.g.X(\"invalid argument\");var x=new c.ea,B=[0],y=new c.b,A=new c.b,C=new c.b,D=[null,null],E=new c.b,F=new c.b,G=new c.b,H=new c.b;for(f=b.Pb(f);-1!=f;f=b.Sb(f)){var I=b.cb(f);b.w(I,E);for(var J=!1,M=I=b.U(I);-1!=M;M=b.U(M)){if(M==I){if(J)break;J=!0}b.w(M,F);if(k&&(h<m-E.x&&F.x-m>h||h<m-F.x&&E.x-m>h)||!k&&(0!=m||h<-E.y&&F.y>h||h<-F.y&&E.y>h)){do if(!(Math.abs(E.x-F.x)>=.5*r.N())){2==e.Fb()?(v[0][0]=a.Nn(E.x,r),v[0][1]=E.y,v[1][0]=a.Nn(F.x,r),v[1][1]=F.y,c.fi.projToGeogCenter(z,\n2,v,0),G.x=v[0][0]*p,G.y=v[0][1]*p,H.y=v[1][1]*p):(G.x=E.x*p,G.y=E.y*p,H.y=F.y*p);H.x=2*(F.x-E.x)*Math.PI/r.N()+G.x;var L;if(k){A.x=n;A.y=a.FB(q,t,G,H,n,l);if(isNaN(A.y))break;D[0]=A;L=1}else if(l==g.GreatElliptic){var N=[0,0];L=c.yy.vA(q,t,G,H,n,N);if(0==L)break;A.x=N[0];A.y=n;D[0]=A;2==L&&(C.x=N[1],C.y=n,D[1]=C)}else{A.x=a.DB(q,t,G,H,l);if(isNaN(A.x))break;A.y=0;D[0]=A;L=1}for(var R=-1,N=0;N<L;N++){c.mb.Ld(q,t,G.x,G.y,H.x,H.y,x,null,null,l);var O=x.j;c.mb.Ld(q,t,G.x,G.y,D[N].x,D[N].y,x,null,null,\nl);var Q=x.j;2==e.Fb()?(v[0][0]=D[N].x/p,v[0][1]=D[N].y/p,c.fi.geogToProj(z,1,v),k?(y.y=v[0][1],y.x=m):(y.x=a.Zp(v[0][0],E.x,F.x,r),y.y=m)):k?(y.x=m,y.y=D[N].y/p):(y.x=a.Zp(D[N].x/p,E.x,F.x,r),y.y=m);B[0]=0<O?c.J.pk(Q/O,0,1):.5;if(0==B[0]||1==B[0])break;R>B[0]||(R=b.Ra(M),b.zm(R,B,1),b.rb(b.U(R),y.x,y.y),R=B[0])}}while(0)}E.L(F)}}};a.Nn=function(a,b){var c=b.ha-b.ca;return b.wu(a-Math.floor((a-b.ca)/c)*c)};a.Zp=function(a,b,e,h){var g=new c.Ac;g.I(b,e);e=h.N();a=Math.floor((a-b)/e)*e+a;for(g=g.Wf();Math.abs(a-\ng)>Math.abs(a+e-g);)a+=e;return a};a.Cj=function(a,b,e){a=c.ls.uq(a);b=c.ls.Wx(a,c.ls.uq(b));e=c.ls.Wx(a,c.ls.uq(e));return 0==e||0<b&&0<e&&e<=b||0>b&&0>e&&e>=b?!0:!1};a.FB=function(b,f,e,h,l,k){if(k==g.GreatElliptic)return c.yy.NU(f,e,h,l);if(Math.abs(e.x-h.x)>=Math.PI||!a.Cj(e.x,h.x,l))return NaN;var m;e.x>h.x?m=h:(m=e,e=h);h=new c.ea;var n=new c.ea,p=new c.ea;c.mb.Ld(b,f,m.x,m.y,e.x,e.y,n,h,null,k);var q=n.j,t=0,r=1,z=new c.b;for(z.L(m);q*(r-t)>1E-12*b;){var v=.5*(t+r);c.mb.Oj(b,f,m.x,m.y,q*v,\nh.j,n,p,k);z.x=n.j;z.y=p.j;if(z.x==l)break;if(a.Cj(m.x,z.x,l))r=v;else if(a.Cj(e.x,z.x,l))t=v;else return NaN}return z.y};a.DB=function(a,b,e,h,l){if(l==g.GreatElliptic)return l=[0,0],c.yy.vA(a,b,e,h,0,l),l[0];var k;e.y>h.y?k=h:(k=e,e=h);h=new c.Ac;h.I(k.y,e.y);if(!h.contains(0)||Math.abs(k.x-e.x)>=Math.PI)return NaN;if(k.x==e.x)return k.x;var m=new c.ea,n=new c.ea,p=new c.ea;c.mb.Ld(a,b,k.x,k.y,e.x,e.y,n,m,null,l);var q=n.j,t=0,r=1,z=new c.b;for(z.L(k);q*(r-t)>1E-12*a;){var v=.5*(t+r);c.mb.Oj(a,\nb,k.x,k.y,q*v,m.j,n,p,l);z.x=n.j;z.y=p.j;h.I(k.y,z.y);if(0==z.y)break;if(h.contains(0))r=v;else if(h.I(e.y,z.y),h.contains(0))t=v;else return NaN}return z.x};a.x_=function(a,b,e,h,g,k){if(b==g&&e!=k)throw c.g.F();if(0>=h)return 0;if(a.Ho()){k*=2;var m=2*e;a=2*h;for(e=0;e<a;e++)g[k+e]=b[m+e];return h}if(2>=h){k=[new c.b,new c.b];for(m=0;m<h;m++)k[m].ka(b[2*m],b[2*m+1]);b=c.os.local().XY(a,k,h,k);for(m=0;m<h;m++)g[2*m]=k[m].x,g[2*m+1]=k[m].y;return b}var n=a.je,m=a.He,p=n.Fb(),q=m.Fb();if(0==p&&p==\nq)return a=n.Yi(),m=m.Yi(),m=a/m,a=new c.Hd,a.Op(m,m),a.YY(b,e,g,k,h),h;p=new c.Ed;p.Ud(3);p.resize(h);for(var q=p.Pa(0),t=p.Pa(3),m=0,r=2*e,z=2*k;m<h;m++,z+=2){e=b[r++];var n=b[r++],v=z;if(isNaN(e)||isNaN(n))n=e=0,v=-1;t.write(m,v);q.write(2*m,e);q.write(2*m+1,n)}p.Dc(1993);b=c.os.local().V(p,a,null);m=0;for(k*=2;m<h;m++,k+=2)g[k]=NaN,g[k+1]=NaN;if(b.u())return 0;k=b.Pa(3);a=b.Pa(0);m=p=0;for(h=b.D();m<h;m++)b=k.read(m),-1!=b&&(e=a.read(2*m),n=a.read(2*m+1),g[b]=e,g[b+1]=n,p++);return p};a.OJ=function(a,\nb,e,h){if(!a.je.Jc())return!1;var g=new c.Ed(b.description);g.Id(b,0,-1);h=c.os.local().V(g,a,h);g=b.D();e.Oa();if(g!=h.D())return!1;var k=new c.h;b.s(k);var m=new c.h;h.s(m);k=k.N();m=m.N();if(0!=k&&0!=m){if(m/=k,a=a.He.Bh().N()/a.je.Bh().N(),1E-10<Math.abs(m/a-1))return!1}else if(0!=k||0!=m)return!1;e.add(b,!1);b=new c.b;for(a=0;a<g;a++)h.w(a,b),e.rb(a,b);return!0};a.rP=function(a,b){var c=a%(360*b);c>=180*b&&(c-=360*b);return c};a.MJ=function(b,f,e,h){if(e==n.Clip){var g=f.Mk();197==g.G()?(e=new c.h,\ng.s(e),g=c.na.$y(f,e),b=c.uh.clip(b,e,g,5E4*f.bn(),h)):c.Gj.local().V(1,g,b,f,h)||(b=c.tk.local().V(b,g,f,h),b==g&&(b=c.xl.oe(b)))}else f.Jc()&&(h=new c.h,b.ac(h),f.qe().contains(h)||(a.xu(b,f.qe(),f.re(0),!0),e==n.PannableFold&&(b=a.Mj(b,f)),b=a.Xm(b,f,0,!0,1E5*f.bn(),null)));return b};a.kF=function(a,b,e){var h=b.Ws();if(null==h)return a;b=b.kc();var g=b.qe().N(),k=new c.h;a.ac(k);var m=new c.Ac;k.Sn(m);for(var k=h.Fa(),h=null,n=new c.Hd;k.Ya();)for(;k.Ea();){var p=k.ba(),q=p.xf(0,0),t=new c.Ac;\nt.I(q.ca,q.ha);for(q=0;t.ha>m.ca;)t.move(-g),--q;for(;t.ca<=m.ha;){if(t.Yb(m)){null==h&&(h=new c.Ua);var r=c.Hb.gR(p.ec(),p.Cc());0!=q&&(n.Ag(q*g,0),r.Xc(n));h.dc(r,!0)}t.move(g);++q}}return null!=h?(b=c.na.hQ(b,h),b=c.na.Cs(b),c.Ku.lR(a,h,b,e)):a};a.DN=function(b,c,e,h,g){return b>=e&&c<=h?0:a.qE(.5*(c+b),e,h,g)};a.qE=function(a,b,e,h){return c.Ub.round((.5*(e+b)-a)/h)*h};a.MS=function(b,f,e,h,g,k,m,n){var p=a.Vu(h,g),q=p.N(),t=q/360,r=a.lE*t,z=b.Pa(0),v=f.Jc(),x=v?q/f.qe().N():0,B;f=b.Ka();for(var y=\n0,A=e.aa();y<A;++y){var C=v,D=new c.Ua(e.description);D.Ti(e,y,!0);B=e.Qb(y);0!=m&&(B=a.bE(B,D,p.B-n,p.B,m))&&(C=!1);var E=-1;B=D.D();var F=!1;C&&(E=b.wa(y),F=b.Qb(y));var G=D.Pa(0),H=0,I=G.read(0),J=0,M=3*h.re(0),L=!1,N=new c.b;N.$c();var O=new c.b;O.$c();for(var Q=!1,P=1;P<B;++P){var W=c.b.pa(G.Of(2*P),G.Of(2*P+1)),X=W.x,Z=X+H,T=Z-I;W.x=Z;if(Math.abs(T)>r){if(C){var Y=E+P-1,aa=E;if(!F||P+1<B)aa+=P;Y=z.read(2*Y);aa=(z.read(2*aa)-Y)*x;Math.abs(T-aa)>1*t&&(v=!1)}C||(H-=c.Ub.Fl(q,Z-I),Z=X+H,++J,Q=0!=\nH,W.x=Z)}else L||c.na.NH(N,O,W,M)&&(L=!0);Q&&G.write(2*P,Z);I=Z;N.L(O);O.L(W)}0!=J&&D.Dc(1993);C=D.Ba(0);B=D.Ba(B-1);c.b.Cb(C,B);D=a.FS(D,h,isNaN(g)?0:g,k);f.add(D,!1)}b=h.re(0);e=p.N()/180;a.xu(f,p,.1*b,!1);return c.uh.clip(f,p,b,e,k)};a.FS=function(b,c,e,h){return a.Xm(b,c,e,!0,0,h)};a.KU=function(a,b,e,h){var g=a.G();if(1736==g)for(b=null!=b?b.re(0):0,g=0;g<h;g++)1!=c.gd.ge(a,e[g],b)&&e[g].$c();else if(197==g)for(g=0;g<h;g++)a.hR(e[g])||e[g].$c();else throw c.g.F();};a.Dl=function(a,b,e,h){if(32>\ne)for(var g=new c.Wa,k=0;k<e;k++)g.rb(b[k]),a.Dl(g,h).w(b[k]);else{var m=new c.Ed;m.Ud(3);m.ZE(b,e);g=m.Pa(3);for(k=0;k<e;k++)g.write(k,k);k=a.Dl(m,h);a=k.Pa(0);g=k.Pa(3);h=c.b.pa(NaN,NaN);for(m=0;m<e;m++)b[m]=h;e=k.D();for(k=0;k<e;k++)h=g.read(k),a.fc(2*k,b[h])}};a.Cl=function(a,b,e,h){if(32>e)for(var g=new c.Wa,k=0;k<e;k++)g.rb(b[k]),a.Cl(g,h).w(b[k]);else{var m=new c.Ed;m.Ud(3);m.ZE(b,e);g=m.Pa(3);for(k=0;k<e;k++)g.write(k,k);k=a.Cl(m,h);a=k.Pa(0);g=k.Pa(3);h=c.b.pa(NaN,NaN);for(m=0;m<e;m++)b[m]=\nh;e=k.D();for(k=0;k<e;k++)h=g.read(k),a.fc(2*k,b[h])}};a.Z_=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";a.lE=210;return a}();c.Ib=b})(r||(r={}));(function(c){(function(c){c[c.rightSide=1]=\"rightSide\"})(c.LN||(c.LN={}));var n=function(){function g(b,a,d){this.xt=new c.b;void 0===b?this.up=-1:(this.xt.L(b),this.up=a,this.Qa=d,this.$w=0)}g.prototype.NK=function(b){this.$w=b?this.$w|1:this.$w&-2};g.prototype.u=function(){return 0>this.up};g.prototype.Oz=function(){if(this.u())throw c.g.X(\"invalid call\");return new c.Wa(this.xt.x,\nthis.xt.y)};g.prototype.Za=function(){if(this.u())throw c.g.X(\"invalid call\");return this.up};g.prototype.Rz=function(){if(this.u())throw c.g.X(\"invalid call\");return this.Qa};g.prototype.AA=function(){return 0!=(this.$w&1)};g.prototype.Ly=function(b,a,d,c){this.xt.x=b;this.xt.y=a;this.up=d;this.Qa=c};return g}();c.Mm=n})(r||(r={}));(function(c){var n=function(){function b(){}b.prototype.Wn=function(a,b){this.Rh.resize(0);this.hj.length=0;this.Vk=-1;a.ac(this.gl);this.gl.O(b,b);this.gl.Yb(this.Mb.Ha)?\n((this.rt=c.T.Oc(a.G()))?(this.gJ=a.ec(),this.fJ=a.Cc(),this.ta=b):this.ta=NaN,this.Rh.add(this.Mb.Mf),this.hj.push(this.Mb.Ha),this.Lt=this.Mb.Us(this.Mb.Mf)):this.Lt=-1};b.prototype.Ni=function(a,b){this.Rh.resize(0);this.hj.length=0;this.Vk=-1;this.gl.I(a);this.gl.O(b,b);this.ta=NaN;this.gl.Yb(this.Mb.Ha)?(this.Rh.add(this.Mb.Mf),this.hj.push(this.Mb.Ha),this.Lt=this.Mb.Us(this.Mb.Mf),this.rt=!1):this.Lt=-1};b.prototype.next=function(){if(0==this.Rh.size)return-1;this.Vk=this.Lt;var a=null,b=null,\nf,e=null,h=null;this.rt&&(a=new c.b,b=new c.b,e=new c.h);for(var l=!1;!l;){for(;-1!=this.Vk;){f=this.Mb.Kz(this.Mb.Tv(this.Vk));if(f.Yb(this.gl))if(this.rt){if(a.L(this.gJ),b.L(this.fJ),e.I(f),e.O(this.ta,this.ta),0<e.gz(a,b)){l=!0;break}}else{l=!0;break}this.Vk=this.Mb.$v(this.Vk)}if(-1==this.Vk){f=this.Rh.Fc();var k=this.hj[this.hj.length-1];null==h&&(h=[],h[0]=new c.h,h[1]=new c.h,h[2]=new c.h,h[3]=new c.h);g.uK(k,h);this.Rh.Pf();this.hj.length=this.hj.length-1;for(k=0;4>k;k++){var m=this.Mb.Eq(f,\nk);if(-1!=m&&0<this.Mb.QT(m)&&h[k].Yb(this.gl))if(this.rt){if(a.L(this.gJ),b.L(this.fJ),e.I(h[k]),e.O(this.ta,this.ta),0<e.gz(a,b)){var n=new c.h;n.I(h[k]);this.Rh.add(m);this.hj.push(n)}}else n=new c.h,n.I(h[k]),this.Rh.add(m),this.hj.push(n)}if(0==this.Rh.size)return-1;this.Vk=this.Mb.Us(this.Rh.get(this.Rh.size-1))}}this.Lt=this.Mb.$v(this.Vk);return this.Vk};b.fR=function(a,d,f){var e=new b;e.Mb=a;e.gl=new c.h;e.Rh=new c.ia(0);e.hj=[];e.Wn(d,f);return e};b.eR=function(a,d,f){var e=new b;e.Mb=\na;e.gl=new c.h;e.Rh=new c.ia(0);e.hj=[];e.Ni(d,f);return e};b.dR=function(a){var d=new b;d.Mb=a;d.gl=new c.h;d.Rh=new c.ia(0);d.hj=[];return d};return b}();c.g_=n;var g=function(){function b(a,b){this.Lf=new c.ad(11);this.yi=new c.ad(5);this.st=[];this.Ww=new c.ia(0);this.Ha=new c.h;this.ql(a,b)}b.prototype.reset=function(a,b){this.Lf.Vi(!1);this.yi.Vi(!1);this.st.length=0;this.Ww.clear(!1);this.ql(a,b)};b.prototype.eh=function(a,b){return this.mw(a,b,0,this.Ha,this.Mf,!1,-1)};b.prototype.lw=function(a,\nb,c){c=-1==c?this.Mf:this.gH(c);var e=this.fa(c),h=this.gT(c);return this.mw(a,b,e,h,c,!1,-1)};b.prototype.ja=function(a){return this.bT(a)};b.prototype.RG=function(a){return this.Kz(this.Tv(a))};b.prototype.fa=function(a){return this.Vv(a)};b.prototype.gT=function(a){var b=new c.h;b.I(this.Ha);var f=this.Vv(a);a=this.bH(a);for(var e=0;e<2*f;e+=2){var h=c.J.truncate(3&a>>e);0==h?(b.o=.5*(b.o+b.v),b.A=.5*(b.A+b.B)):1==h?(b.v=.5*(b.o+b.v),b.A=.5*(b.A+b.B)):(2==h?b.v=.5*(b.o+b.v):b.o=.5*(b.o+b.v),b.B=\n.5*(b.A+b.B))}return b};b.prototype.QT=function(a){return this.lA(a)};b.prototype.qT=function(a,b){return n.fR(this,a,b)};b.prototype.Yz=function(a,b){return n.eR(this,a,b)};b.prototype.mf=function(){return n.dR(this)};b.prototype.ql=function(a,b){if(0>b||32<2*b)throw c.g.F(\"invalid height\");this.AV=b;this.Ha.I(a);this.Mf=this.Lf.Pe();this.Ux(this.Mf,0);this.Ox(this.Mf,0);this.EK(this.Mf,0);this.AK(this.Mf,0)};b.prototype.mw=function(a,d,f,e,h,g,k){if(!e.contains(d))return 0==f?-1:this.mw(a,d,0,this.Ha,\nthis.Mf,g,k);if(!g)for(var m=h;-1!=m;m=this.CT(m))this.Ux(m,this.lA(m)+1);m=new c.h;m.I(e);e=h;var n=[];n[0]=new c.h;n[1]=new c.h;n[2]=new c.h;for(n[3]=new c.h;f<this.AV&&this.jQ(e);f++){b.uK(m,n);for(var p=!1,q=0;4>q;q++)if(n[q].contains(d)){var p=!0,t=this.Eq(e,q);-1==t&&(t=this.rR(e,q));this.Ux(t,this.lA(t)+1);e=t;m.I(n[q]);break}if(!p)break}return this.oU(a,d,f,m,e,g,h,k)};b.prototype.oU=function(a,b,c,e,h,g,k,m){var n=this.XG(h);if(g){if(h==k)return m;this.QR(m);g=m}else g=this.tR(),this.oC(g,\na),this.KX(this.Tv(g),b);this.hY(g,h);-1!=n?(this.Sx(g,n),this.Px(n,g)):this.wK(h,g);this.rC(h,g);this.Ox(h,this.Yv(h)+1);this.iQ(h)&&this.CS(c,e,h);return g};b.prototype.QR=function(a){var b=this.gH(a),c=this.XG(b),e=this.IT(a),h=this.$v(a);this.Us(b)==a?(-1!=h?this.Sx(h,-1):this.rC(b,-1),this.wK(b,h)):c==a?(this.Px(e,-1),this.rC(b,e)):(this.Sx(h,e),this.Px(e,h));this.Sx(a,-1);this.Px(a,-1);this.Ox(b,this.Yv(b)-1)};b.uK=function(a,b){var c=.5*(a.o+a.v),e=.5*(a.A+a.B);b[0].I(c,e,a.v,a.B);b[1].I(a.o,\ne,c,a.B);b[2].I(a.o,a.A,c,e);b[3].I(c,a.A,a.v,e)};b.prototype.iQ=function(a){return 8==this.Yv(a)&&!this.tH(a)};b.prototype.CS=function(a,b,c){var e,h,g=this.Us(c);do h=this.Tv(g),e=this.yi.S(g,0),h=this.Kz(h),this.mw(e,h,a,b,c,!0,g),g=e=this.$v(g);while(-1!=g)};b.prototype.jQ=function(a){return 8<=this.Yv(a)||this.tH(a)};b.prototype.tH=function(a){return-1!=this.Eq(a,0)||-1!=this.Eq(a,1)||-1!=this.Eq(a,2)||-1!=this.Eq(a,3)};b.prototype.rR=function(a,b){var c=this.Lf.Pe();this.OX(a,b,c);this.Ux(c,\n0);this.Ox(c,0);this.sl(c,a);this.AK(c,this.Vv(a)+1);this.EK(c,b<<2*this.Vv(a)|this.bH(a));return c};b.prototype.tR=function(){var a=this.yi.Pe(),b;0<this.Ww.size?(b=this.Ww.Fc(),this.Ww.Pf()):(b=this.st.length,this.st.push(new c.h));this.LX(a,b);return a};b.prototype.Eq=function(a,b){return this.Lf.S(a,b)};b.prototype.OX=function(a,b,c){this.Lf.P(a,b,c)};b.prototype.Us=function(a){return this.Lf.S(a,4)};b.prototype.wK=function(a,b){this.Lf.P(a,4,b)};b.prototype.XG=function(a){return this.Lf.S(a,\n5)};b.prototype.rC=function(a,b){this.Lf.P(a,5,b)};b.prototype.bH=function(a){return this.Lf.S(a,6)};b.prototype.EK=function(a,b){this.Lf.P(a,6,b)};b.prototype.Yv=function(a){return this.Lf.S(a,7)};b.prototype.lA=function(a){return this.Lf.S(a,8)};b.prototype.Ox=function(a,b){this.Lf.P(a,7,b)};b.prototype.Ux=function(a,b){this.Lf.P(a,8,b)};b.prototype.CT=function(a){return this.Lf.S(a,9)};b.prototype.sl=function(a,b){this.Lf.P(a,9,b)};b.prototype.Vv=function(a){return this.Lf.S(a,10)};b.prototype.AK=\nfunction(a,b){this.Lf.P(a,10,b)};b.prototype.bT=function(a){return this.yi.S(a,0)};b.prototype.oC=function(a,b){this.yi.P(a,0,b)};b.prototype.IT=function(a){return this.yi.S(a,1)};b.prototype.$v=function(a){return this.yi.S(a,2)};b.prototype.Sx=function(a,b){this.yi.P(a,1,b)};b.prototype.Px=function(a,b){this.yi.P(a,2,b)};b.prototype.gH=function(a){return this.yi.S(a,3)};b.prototype.hY=function(a,b){this.yi.P(a,3,b)};b.prototype.Tv=function(a){return this.yi.S(a,4)};b.prototype.LX=function(a,b){this.yi.P(a,\n4,b)};b.prototype.Kz=function(a){return this.st[a]};b.prototype.KX=function(a,b){this.st[a].I(b)};return b}();c.gq=g})(r||(r={}));(function(c){(function(b){b[b.Outside=0]=\"Outside\";b[b.Inside=1]=\"Inside\";b[b.Border=2]=\"Border\"})(c.AM||(c.AM={}));var n=function(){function b(a,b){this.Dh=null;this.OV=b;this.Dh=a}b.prototype.Kx=function(a,b){this.uI!=b&&a.flush();this.uI=b};b.prototype.qG=function(a,b){for(var c=0;c<b;)for(var e=a[c++],h=a[c++],g=a[c++]*this.OV;e<h;e++)this.Dh[g+(e>>4)]|=this.uI<<2*\n(e&15)};return b}();c.i_=n;var g=function(){function b(a,b,f){this.Dh=null;this.zB=this.jl=this.pJ=this.nJ=this.At=this.CI=this.hg=this.Hn=0;this.qj=this.kl=this.$l=null;a instanceof c.Mu?this.kw(a,b,f):this.kw(a,b,f)}b.create=function(a,d,f){if(!b.bz(a))throw c.g.F();return b.fe(a,d,f)};b.Cj=function(a,d,f){if(!b.bz(a))throw c.g.F();return b.se(a,d,f)};b.lX=function(a){switch(a){case 0:a=1024;break;case 1:a=16384;break;case 2:a=262144;break;default:throw c.g.X(\"Internal Error\");}return a};b.bz=function(a){return a.u()||\n1607!=a.G()&&1736!=a.G()?!1:!0};b.prototype.nS=function(a,b){for(var f=b.Fa(),e=new c.b,h=new c.b;f.Ya();)for(;f.Ea();){var g=f.ba();if(322!=g.G())throw c.g.X(\"Internal Error\");a.$h(g.ec(),e);a.$h(g.Cc(),h);this.qj.Qy(e.x,e.y,h.x,h.y)}this.qj.YJ(c.zy.py)};b.prototype.oS=function(){throw c.g.X(\"Internal Error\");};b.prototype.Bz=function(a,b){for(var f=1;4>f;f++)a.Qy(b[f-1].x,b[f-1].y,b[f].x,b[f].y);a.Qy(b[3].x,b[3].y,b[0].x,b[0].y);this.qj.YJ(c.zy.py)};b.prototype.dL=function(a,b,f){for(var e=[null,\nnull,null,null],h=0;h<e.length;h++)e[h]=new c.b;b=b.Fa();f=this.kl.ZY(f)+1.5;for(var h=new c.b,g=new c.b,k=new c.b,m=new c.b,n=new c.b,p=new c.h,q=new c.b;b.Ya();){var t=!1,r=!0;for(q.ka(0,0);b.Ea();){var z=b.ba();m.x=z.ua;m.y=z.ra;n.x=z.sa;n.y=z.oa;p.Oa();p.Nb(m.x,m.y);p.ml(n.x,n.y);if(this.$l.TH(p)){this.kl.$h(n,n);r?(this.kl.$h(m,m),q.L(m),r=!1):m.L(q);h.zc(n,m);var z=h.length(),v=.5>z;0==z?h.ka(1,0):(v||q.L(n),h.scale(f/z),g.ka(-h.y,h.x),k.ka(h.y,-h.x),m.sub(h),n.add(h),e[0].add(m,g),e[1].add(m,\nk),e[2].add(n,k),e[3].add(n,g),v?t=!0:this.Bz(a,e))}else t&&(this.Bz(a,e),t=!1),r=!0}t&&this.Bz(a,e)}};b.prototype.VC=function(a){return c.J.truncate(a*this.CI+this.nJ)};b.prototype.WC=function(a){return c.J.truncate(a*this.At+this.pJ)};b.fe=function(a,d,c){return new b(a,d,c)};b.se=function(a,d,c){return new b(a,d,c)};b.prototype.kw=function(a,b,f){this.hg=Math.max(c.J.truncate(2*Math.sqrt(f)+.5),64);this.Hn=c.J.truncate((2*this.hg+31)/32);this.$l=new c.h;this.jl=b;f=0;for(var e=this.hg,h=this.Hn;8<=\ne;)f+=e*h,e=c.J.truncate(e/2),h=c.J.truncate((2*e+31)/32);this.Dh=c.J.gf(f,0);this.qj=new c.zy;f=new n(this.Dh,this.Hn,this);this.qj.wY(this.hg,this.hg,f);a.s(this.$l);this.$l.O(b,b);var e=new c.h,h=c.h.pa(1,1,this.hg-2,this.hg-2),g=b*h.N();b*=h.fa();e.I(this.$l.Wf(),Math.max(g,this.$l.N()),Math.max(b,this.$l.fa()));this.zB=this.jl;this.kl=new c.Hd;this.kl.lU(e,h);new c.Hd;switch(a.G()){case 550:f.Kx(this.qj,2);this.oS();break;case 1607:f.Kx(this.qj,2);this.dL(this.qj,a,this.zB);break;case 1736:f.Kx(this.qj,\n1),this.nS(this.kl,a),f.Kx(this.qj,2),this.dL(this.qj,a,this.zB)}this.CI=this.kl.lb;this.At=this.kl.gb;this.nJ=this.kl.Wb;this.pJ=this.kl.bc;this.aQ()};b.prototype.aQ=function(){this.qj.flush();for(var a=0,b=this.hg*this.Hn,f=this.hg,e=c.J.truncate(this.hg/2),h=this.Hn,g=c.J.truncate((2*e+31)/32);8<f;){for(f=0;f<e;f++)for(var k=2*f,m=2*f+1,n=0;n<e;n++){var p=2*n,q=2*n+1,t=p>>4,p=2*(p&15),r=q>>4,q=2*(q&15),z=this.Dh[a+h*k+t]>>p&3,z=z|this.Dh[a+h*k+r]>>q&3,z=z|this.Dh[a+h*m+t]>>p&3,z=z|this.Dh[a+h*\nm+r]>>q&3;this.Dh[b+g*f+(n>>4)]|=z<<2*(n&15)}f=e;h=g;a=b;e=c.J.truncate(f/2);g=c.J.truncate((2*e+31)/32);b=a+h*f}};b.prototype.rm=function(a,b){if(!this.$l.contains(a,b))return 0;var c=this.VC(a),e=this.WC(b);if(0>c||c>=this.hg||0>e||e>=this.hg)return 0;c=this.Dh[this.Hn*e+(c>>4)]>>2*(c&15)&3;return 0==c?0:1==c?1:2};b.prototype.Rn=function(a){if(!a.Ma(this.$l))return 0;var b=this.VC(a.o),f=this.VC(a.v),e=this.WC(a.A);a=this.WC(a.B);0>b&&(b=0);0>e&&(e=0);f>=this.hg&&(f=this.hg-1);a>=this.hg&&(a=this.hg-\n1);if(b>f||e>a)return 0;for(var h=Math.max(f-b,1)*Math.max(a-e,1),g=0,k=this.Hn,m=this.hg,n=0;;){if(32>h||16>m){for(h=e;h<=a;h++)for(var p=b;p<=f;p++)if(n=this.Dh[g+k*h+(p>>4)]>>2*(p&15)&3,1<n)return 2;if(0==n)return 0;if(1==n)return 1}g+=k*m;m=c.J.truncate(m/2);k=c.J.truncate((2*m+31)/32);b=c.J.truncate(b/2);e=c.J.truncate(e/2);f=c.J.truncate(f/2);a=c.J.truncate(a/2);h=Math.max(f-b,1)*Math.max(a-e,1)}};b.prototype.LT=function(){return this.hg*this.Hn};return b}();c.xy=g})(r||(r={}));(function(c){(function(b){b[b.contains=\n1]=\"contains\";b[b.within=2]=\"within\";b[b.equals=3]=\"equals\";b[b.disjoint=4]=\"disjoint\";b[b.touches=8]=\"touches\";b[b.crosses=16]=\"crosses\";b[b.overlaps=32]=\"overlaps\";b[b.unknown=0]=\"unknown\";b[b.intersects=1073741824]=\"intersects\"})(c.SN||(c.SN={}));var n=function(){function b(){}b.pa=function(a,d,c,e,h,g,k,m){var n=new b;n.bx=a;n.zn=d;n.ek=c;n.rj=e;n.RI=h;n.G_=g;n.H_=k;n.I_=m;return n};return b}(),g=function(){function b(){}b.UE=function(a,d,f){if(!b.cz(a))return!1;var e=c.na.ah(d,a,!1);d=!1;c.wl.KF(a)&&\n(d=d||a.Xu(e,f));e=a.G();1736!=e&&1607!=e||!c.wl.IF(a)||0==f||(d=d||a.Hj(f));1736!=e&&1607!=e||!c.wl.JF(a)||0==f||(d=d||a.CO());return d};b.cz=function(a){return c.wl.KF(a)||c.wl.IF(a)||c.wl.JF(a)};return b}();c.Gu=g;g=function(){function b(){this.Ph=[]}b.$B=function(a,d,f,e,h){var g=a.G(),k=d.G();if(197==g){if(197==k)return b.sO(a,d,f,e);if(33==k)return 2==e?e=1:1==e&&(e=2),b.lG(d,a,f,e)}else if(33==g){if(197==k)return b.lG(a,d,f,e);if(33==k)return b.vO(a,d,f,e)}if(a.u()||d.u())return 4==e?!0:!1;\nvar m=new c.h;a.s(m);var n=new c.h;d.s(n);var p=new c.h;p.I(m);p.Nb(n);f=c.na.be(f,p,!1);if(b.Ek(m,n,f))return 4==e?!0:!1;m=!1;c.xl.Oc(g)&&(g=new c.Ua(a.description),g.dc(a,!0),a=g,g=1607);c.xl.Oc(k)&&(k=new c.Ua(d.description),k.dc(d,!0),d=k,k=1607);if(197!=g&&197!=k){if(a.tb()<d.tb()||33==g&&550==k)2==e?e=1:1==e&&(e=2)}else 1736!=g&&197!=k&&(2==e?e=1:1==e&&(e=2));switch(g){case 1736:switch(k){case 1736:m=b.gu(a,d,f,e,h);break;case 1607:m=b.On(a,d,f,e,h);break;case 33:m=b.fu(a,d,f,e,h);break;case 550:m=\nb.eu(a,d,f,e,h);break;case 197:m=b.eD(a,d,f,e,h)}break;case 1607:switch(k){case 1736:m=b.On(d,a,f,e,h);break;case 1607:m=b.NB(a,d,f,e,h);break;case 33:m=b.iu(a,d,f,e,h);break;case 550:m=b.hu(a,d,f,e,h);break;case 197:m=b.sD(a,d,f,e)}break;case 33:switch(k){case 1736:m=b.fu(d,a,f,e,h);break;case 1607:m=b.iu(d,a,f,e,h);break;case 550:m=b.au(d,a,f,e,h)}break;case 550:switch(k){case 1736:m=b.eu(d,a,f,e,h);break;case 1607:m=b.hu(d,a,f,e,h);break;case 550:m=b.EB(a,d,f,e,h);break;case 33:m=b.au(a,d,f,e,\nh);break;case 197:m=b.RJ(a,d,f,e)}break;case 197:switch(k){case 1736:m=b.eD(d,a,f,e,h);break;case 1607:m=b.sD(d,a,f,e);break;case 550:m=b.RJ(d,a,f,e)}}return m};b.sO=function(a,d,f,e){if(a.u()||d.u())return 4==e?!0:!1;var h=new c.h,g=new c.h,k=new c.h;a.s(h);d.s(g);k.I(h);k.Nb(g);a=c.na.be(f,k,!1);switch(e){case 4:return b.Ek(h,g,a);case 2:return b.SE(g,h,a);case 1:return b.SE(h,g,a);case 3:return b.We(h,g,a);case 8:return b.DP(h,g,a);case 32:return b.aP(h,g,a);case 16:return b.EL(h,g,a)}return!1};\nb.lG=function(a,d,f,e){if(a.u()||d.u())return 4==e?!0:!1;a=a.w();var h=new c.h,g=new c.h;d.s(h);g.I(a);g.Nb(h);d=c.na.be(f,g,!1);switch(e){case 4:return b.Dx(a,h,d);case 2:return b.YC(a,h,d);case 1:return b.EN(a,h,d);case 3:return b.qL(a,h,d);case 8:return b.XC(a,h,d)}return!1};b.vO=function(a,d,f,e){if(a.u()||d.u())return 4==e?!0:!1;a=a.w();d=d.w();var h=new c.h;h.I(a);h.Nb(d);f=c.na.be(f,h,!1);switch(e){case 4:return b.NN(a,d,f);case 2:return b.eL(d,a,f);case 1:return b.eL(a,d,f);case 3:return b.yL(a,\nd,f)}return!1};b.gu=function(a,d,c,e,h){switch(e){case 4:return b.iS(a,d,c);case 2:return b.Ex(d,a,c,h);case 1:return b.Ex(a,d,c,h);case 3:return b.jU(a,d,c);case 8:return b.mW(a,d,c);case 32:return b.iV(a,d,c,h)}return!1};b.On=function(a,d,c,e,h){switch(e){case 4:return b.GS(a,d,c);case 1:return b.MB(a,d,c,h);case 8:return b.wW(a,d,c,h);case 16:return b.EP(a,d,c)}return!1};b.fu=function(a,d,c,e){switch(e){case 4:return b.XR(a,d,c);case 1:return b.xO(a,d,c);case 8:return b.eW(a,d,c)}return!1};b.eu=\nfunction(a,d,c,e){switch(e){case 4:return b.CR(a,d,c);case 1:return b.uO(a,d,c);case 8:return b.TV(a,d,c);case 16:return b.uP(a,d,c)}return!1};b.eD=function(a,d,c,e,h){if(b.mQ(a,d,c))return 4==e?!0:!1;if(4==e)return!1;switch(e){case 2:return b.eX(a,d,c);case 1:return b.rO(a,d,c);case 3:return b.gU(a,d,c);case 8:return b.lV(a,d,c,h);case 32:return b.fV(a,d,c,h);case 16:return b.FL(a,d,c,h)}return!1};b.NB=function(a,d,c,e){switch(e){case 4:return b.yZ(a,d,c);case 2:return b.oD(d,a,c);case 1:return b.oD(a,\nd,c);case 3:return b.PL(a,d,c);case 8:return b.uD(a,d,c);case 32:return b.dM(a,d,c);case 16:return b.qD(a,d,c)}return!1};b.iu=function(a,d,c,e){switch(e){case 4:return b.wZ(a,d,c);case 1:return b.SY(a,d,c);case 8:return b.zM(a,d,c)}return!1};b.hu=function(a,d,c,e){switch(e){case 4:return b.uZ(a,d,c);case 1:return b.HX(a,d,c);case 8:return b.oM(a,d,c);case 16:return b.nZ(a,d,c)}return!1};b.sD=function(a,d,c,e){if(b.qZ(a,d,c))return 4==e?!0:!1;if(4==e)return!1;switch(e){case 2:return b.EM(a,d,c);case 1:return b.oX(a,\nd,c);case 3:return b.JL(a,d,c);case 8:return b.kM(a,d,c);case 32:return b.$L(a,d,c);case 16:return b.fZ(a,d,c)}return!1};b.EB=function(a,d,c,e){switch(e){case 4:return b.SL(a,d,c);case 2:return b.sJ(d,a,c);case 1:return b.sJ(a,d,c);case 3:return b.cM(a,d,c);case 32:return b.IM(a,d,c)}return!1};b.au=function(a,d,c,e){switch(e){case 4:return b.AJ(a,d,c);case 2:return b.TM(a,d,c);case 1:return b.pZ(a,d,c);case 3:return b.zx(a,d,c)}return!1};b.RJ=function(a,d,c,e){switch(e){case 4:return b.OL(a,d,c);\ncase 2:return b.PM(a,d,c);case 1:return b.mZ(a,d,c);case 3:return b.ZL(a,d,c);case 8:return b.MM(a,d,c);case 16:return b.IL(a,d,c)}return!1};b.jU=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(!b.We(e,h,f))return!1;e=b.vc(a,d,!1);if(4==e||1==e||2==e)return!1;if(b.qJ(a,d,f))return!0;e=a.Rb();h=d.Rb();return Math.abs(e-h)>4*Math.max(a.D(),d.D())*f?!1:b.PB(a,d,f,!0)};b.iS=function(a,d,c){var e=b.vc(a,d,!0);return 4==e?!0:1==e||2==e||1073741824==e?!1:b.cD(a,d,c)};b.mW=function(a,d,c){var e=\nb.vc(a,d,!1);return 4==e||1==e||2==e?!1:b.iD(a,d,c,null)};b.iV=function(a,d,c,e){var h=b.vc(a,d,!1);return 4==h||1==h||2==h?!1:b.dD(a,d,c,e)};b.Ex=function(a,d,f,e){var h=new c.h,g=new c.h;a.s(h);d.s(g);if(!b.Ec(h,g,f))return!1;h=b.vc(a,d,!1);return 4==h||2==h?!1:1==h?!0:b.CL(a,d,f,e)};b.GS=function(a,d,c){var e=b.vc(a,d,!0);return 4==e?!0:1==e||1073741824==e?!1:b.cD(a,d,c)};b.wW=function(a,d,c,e){var h=b.vc(a,d,!1);return 4==h||1==h?!1:b.kD(a,d,c,e)};b.EP=function(a,d,c){var e=b.vc(a,d,!1);return 4==\ne||1==e?!1:b.bD(a,d,c,null)};b.MB=function(a,d,f,e){var h=new c.h,g=new c.h;a.s(h);d.s(g);if(!b.Ec(h,g,f))return!1;h=b.vc(a,d,!1);return 4==h?!1:1==h?!0:b.DL(a,d,f,e)};b.XR=function(a,b,f){return 0==c.gd.WH(a,b,f)?!0:!1};b.eW=function(a,d,c){d=d.w();return b.fD(a,d,c)};b.xO=function(a,d,c){d=d.w();return b.BL(a,d,c)};b.CR=function(a,d,f){var e=b.vc(a,d,!1);if(4==e)return!0;if(1==e)return!1;e=new c.h;a.s(e);e.O(f,f);for(var h=new c.b,g=0;g<d.D();g++)if(d.w(g,h),e.contains(h)){var k=c.gd.ge(a,h,f);\nif(1==k||2==k)return!1}return!0};b.TV=function(a,b,f){var e=this.vc(a,b,!1);if(4==e||1==e)return!1;e=new c.h;a.s(e);e.O(f,f);var h,g=!1,k;k=a;for(var m=!1,n=0;n<b.D();n++){h=b.Ba(n);if(e.contains(h))if(h=c.gd.ge(k,h,f),2==h)g=!0;else if(1==h)return!1;m||(!c.ff.qm(a,b.D()-1)||null!=a.ob&&null!=a.ob.Mb?k=a:(k=new c.Ja,a.copyTo(k),k.Hj(1)),m=!0)}return g?!0:!1};b.uP=function(a,b,f){var e=this.vc(a,b,!1);if(4==e||1==e)return!1;var h=new c.h,e=new c.h,g=new c.h;a.s(h);b.s(g);e.I(h);e.O(f,f);var g=h=!1,\nk,m;m=a;for(var n=!1,p=0;p<b.D();p++){k=b.Ba(p);e.contains(k)?(k=c.gd.ge(m,k,f),0==k?g=!0:1==k&&(h=!0)):g=!0;if(h&&g)return!0;n||(!c.ff.qm(a,b.D()-1)||null!=a.ob&&null!=a.ob.Mb?m=a:(m=new c.Ja,a.copyTo(m),m.Hj(1)),n=!0)}return!1};b.uO=function(a,b,f){var e=new c.h,h=new c.h;a.s(e);b.s(h);if(!this.Ec(e,h,f))return!1;h=this.vc(a,b,!1);if(4==h)return!1;if(1==h)return!0;var h=!1,g,k;k=a;for(var m=!1,n=0;n<b.D();n++){g=b.Ba(n);if(!e.contains(g))return!1;g=c.gd.ge(k,g,f);if(1==g)h=!0;else if(0==g)return!1;\nm||(!c.ff.qm(a,b.D()-1)||null!=a.ob&&null!=a.ob.Mb?k=a:(k=new c.Ja,a.copyTo(k),k.Hj(1)),m=!0)}return h};b.gU=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(!b.We(e,h,f))return!1;e=new c.Ja;e.jd(d,!1);return b.PB(a,e,f,!0)};b.mQ=function(a,d,f){var e=b.vc(a,d,!1);if(4==e)return!0;if(1==e||2==e)return!1;var h=new c.h,e=new c.h;a.s(h);d.s(e);if(b.Ec(e,h,f))return!1;h=new c.b;e.Tn(h);d=c.gd.ge(a,h,f);if(0!=d)return!1;e.TJ(h);d=c.gd.ge(a,h,f);if(0!=d)return!1;e.Un(h);d=c.gd.ge(a,h,f);if(0!=d)return!1;\ne.WJ(h);d=c.gd.ge(a,h,f);if(0!=d)return!1;d=a.Pa(0);h=new c.h;h.I(e);h.O(f,f);for(var g=0,k=a.D();g<k;g++){var m=d.read(2*g),n=d.read(2*g+1);if(h.contains(m,n))return!1}return!b.XH(a,e,f)};b.lV=function(a,d,f,e){var h=b.vc(a,d,!1);if(4==h||1==h||2==h)return!1;var h=new c.h,g=new c.h;a.s(h);d.s(g);if(b.Ec(g,h,f))return!1;if(g.N()<=f&&g.fa()<=f)return d=d.Bq(),b.fD(a,d,f);if(g.N()<=f||g.fa()<=f)return h=new c.Ua,g=new c.Wa,d.ig(0,g),h.Rf(g),d.ig(2,g),h.lineTo(g),b.kD(a,h,f,e);h=new c.Ja;h.jd(d,!1);\nreturn b.iD(a,h,f,e)};b.fV=function(a,d,f,e){var h=b.vc(a,d,!1);if(4==h||1==h||2==h)return!1;var h=new c.h,g=new c.h;a.s(h);d.s(g);if(b.Ec(g,h,f)||g.N()<=f||g.fa()<=f)return!1;h=new c.Ja;h.jd(d,!1);return b.dD(a,h,f,e)};b.eX=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return b.Ec(h,e,f)};b.rO=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(!b.Ec(e,h,f))return!1;e=b.vc(a,d,!1);if(4==e||2==e)return!1;if(1==e)return!0;if(h.N()<=f&&h.fa()<=f)return d=d.Bq(),b.BL(a,d,f);if(h.N()<=f||\nh.fa()<=f)return h=new c.Ua,e=new c.Wa,d.ig(0,e),h.Rf(e),d.ig(2,e),h.lineTo(e),b.DL(a,h,f,null);h=new c.Ja;h.jd(d,!1);return b.CL(a,h,f,null)};b.FL=function(a,d,f,e){var h=new c.h,g=new c.h;a.s(h);d.s(g);if(b.Ec(g,h,f)||g.fa()>f&&g.N()>f||g.fa()<=f&&g.N()<=f)return!1;h=new c.Ua;g=new c.Wa;d.ig(0,g);h.Rf(g);d.ig(2,g);h.lineTo(g);return b.bD(a,h,f,e)};b.PL=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return b.We(e,h,f)&&4!=b.vc(a,d,!1)?b.qJ(a,d,f)?!0:b.PB(a,d,f,!1):!1};b.yZ=function(a,b,f){return 4==\nthis.vc(a,b,!1)?!0:(new c.Lm(a,b,f,!0)).next()?!this.fI(a,b,f):!1};b.uD=function(a,d,f){if(4==b.vc(a,d,!1))return!1;var e=new c.Rd(0);if(0!=b.SB(a,d,f,e))return!1;for(var h=new c.Ed,g=0;g<e.size;g+=2){var k=e.read(g),m=e.read(g+1);h.lv(k,m)}a=a.Gg();d=d.Gg();a.Id(d,0,d.D());return b.yx(a,h,f)};b.qD=function(a,d,f){if(4==b.vc(a,d,!1))return!1;var e=new c.Rd(0);if(0!=b.SB(a,d,f,e))return!1;for(var h=new c.Ed,g=0;g<e.size;g+=2){var k=e.read(g),m=e.read(g+1);h.lv(k,m)}a=a.Gg();d=d.Gg();a.Id(d,0,d.D());\nreturn!b.yx(a,h,f)};b.dM=function(a,d,c){return 4==b.vc(a,d,!1)?!1:b.$H(a,d,c)};b.oD=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return b.Ec(e,h,f)&&4!=b.vc(a,d,!1)?b.Wg(d,a,f,!1):!1};b.wZ=function(a,d,c){if(4==b.vc(a,d,!1))return!0;d=d.w();return!b.IA(a,d,c)};b.zM=function(a,d,c){if(4==b.vc(a,d,!1))return!1;d=d.w();return b.hC(a,d,c)};b.SY=function(a,d,c){if(4==b.vc(a,d,!1))return!1;d=d.w();return b.yH(a,d,c)};b.uZ=function(a,d,c){return 4==b.vc(a,d,!1)?!0:!b.ZH(a,d,c,!1)};b.oM=function(a,\nb,f){if(4==this.vc(a,b,!1))return!1;var e=a.Fa(),h=new c.h,g=new c.h,k=new c.h;a.s(h);b.s(g);h.O(f,f);g.O(f,f);k.I(h);k.Ma(g);var m,n,h=null;m=a.ob;null!=m?(n=m.Mb,h=m.np,null==n&&(n=m=c.na.Lj(a,k))):n=m=c.na.Lj(a,k);var p=n.mf(),q=null;null!=h&&(q=h.mf());var t=new c.b,r=new c.b,z=!1,v=f*f,h=new c.Fm(b.D());for(m=0;m<b.D();m++)h.write(m,0);for(m=0;m<b.D();m++)if(b.w(m,t),k.contains(t)){g.I(t.x,t.y,t.x,t.y);if(null!=q&&(q.Ni(g,f),-1==q.next()))continue;p.Ni(g,f);for(var x=p.next();-1!=x;x=p.next())if(e.Tb(n.ja(x)),\nx=e.ba(),x.gc(x.pe(t,!1),r),c.b.sc(t,r)<=v){h.write(m,1);z=!0;break}}if(!z)return!1;a=a.Gg();e=new c.Ed;g=new c.b;for(m=0;m<b.D();m++)0!=h.read(m)&&(b.w(m,g),e.lv(g.x,g.y));return this.yx(a,e,f)};b.nZ=function(a,b,f){if(4==this.vc(a,b,!1))return!1;var e=a.Fa(),h=new c.h,g=new c.h,k=new c.h;a.s(h);b.s(g);h.O(f,f);g.O(f,f);k.I(h);k.Ma(g);var m,n,h=null;m=a.ob;null!=m?(n=m.Mb,h=m.np,null==n&&(n=m=c.na.Lj(a,k))):n=m=c.na.Lj(a,k);var p=n.mf(),q=null;null!=h&&(q=h.mf());var t=new c.b,r=new c.b,z=!1,v=!1,\nx=f*f,h=new c.Fm(b.D());for(m=0;m<b.D();m++)h.write(m,0);for(m=0;m<b.D();m++)if(b.w(m,t),k.contains(t)){g.I(t.x,t.y,t.x,t.y);if(null!=q&&(q.Ni(g,f),-1==q.next())){v=!0;continue}p.Ni(g,f);for(var B=!1,y=p.next();-1!=y;y=p.next())if(e.Tb(n.ja(y)),y=e.ba(),y.gc(y.pe(t,!1),r),c.b.sc(t,r)<=x){h.write(m,1);B=z=!0;break}B||(v=!0)}else v=!0;if(!z||!v)return!1;a=a.Gg();e=new c.Ed;g=new c.b;for(m=0;m<b.D();m++)0!=h.read(m)&&(b.w(m,g),e.lv(g.x,g.y));return!this.yx(a,e,f)};b.HX=function(a,d,f){var e=new c.h,\nh=new c.h;a.s(e);d.s(h);if(!b.Ec(e,h,f)||4==b.vc(a,d,!1)||!b.ZH(a,d,f,!0))return!1;a=a.Gg();return!b.CJ(a,d,f)};b.JL=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return h.fa()>f&&h.N()>f?!1:b.We(e,h,f)};b.qZ=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return b.Ec(h,e,f)?!1:!b.XH(a,h,f)};b.kM=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(h.fa()<=f&&h.N()<=f)return h=d.Bq(),b.hC(a,h,f);if(h.fa()<=f||h.N()<=f)return h=new c.Ua,e=new c.Wa,d.ig(0,e),h.Rf(e),d.ig(2,e),h.lineTo(e),\nb.uD(a,h,f);a=a.Fa();d=new c.h;e=new c.h;d.I(h);e.I(h);d.O(-f,-f);e.O(f,f);for(var h=!1,g=new c.h,k=new c.h;a.Ya();)for(;a.Ea();){a.ba().s(g);k.I(d);k.Ma(g);if(!k.u()&&(k.fa()>f||k.N()>f))return!1;k.I(e);k.Ma(g);k.u()||(h=!0)}return h};b.$L=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(b.Ec(e,h,f)||b.Ec(h,e,f)||b.Ec(h,e,f)||h.fa()>f&&h.N()>f||h.fa()<=f&&h.N()<=f)return!1;e=new c.Ua;h=new c.Wa;d.ig(0,h);e.Rf(h);d.ig(2,h);e.lineTo(h);return b.$H(a,e,f)};b.EM=function(a,d,f){var e=new c.h,\nh=new c.h;a.s(e);d.s(h);if(!b.Ec(h,e,f)||h.fa()<=f&&h.N()<=f)return!1;if(h.fa()<=f||h.N()<=f)return b.Ec(h,e,f);a=a.Fa();d=new c.h;d.I(h);d.O(-f,-f);for(var h=!1,e=new c.h,g=new c.h;a.Ya();)for(;a.Ea();)a.ba().s(e),d.Tm(e)?h=!0:(g.I(d),g.Ma(e),!g.u()&&(g.fa()>f||g.N()>f)&&(h=!0));return h};b.oX=function(a,d,f){var e=new c.h,h=new c.h;d.s(h);a.s(e);if(!b.Ec(e,h,f)||h.fa()>f&&h.N()>f)return!1;if(h.fa()<=f&&h.N()<=f)return d=d.Bq(),b.yH(a,d,f);e=new c.Ua;h=new c.Wa;d.ig(0,h);e.Rf(h);d.ig(2,h);e.lineTo(h);\nreturn b.Wg(e,a,f,!1)};b.fZ=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(b.Ec(h,e,f)||h.fa()<=f&&h.N()<=f)return!1;if(h.fa()<=f||h.N()<=f)return e=new c.Ua,h=new c.Wa,d.ig(0,h),e.Rf(h),d.ig(2,h),e.lineTo(h),b.qD(a,e,f);a=a.Fa();d=new c.h;e=new c.h;e.I(h);d.I(h);e.O(-f,-f);d.O(f,f);for(var g=h=!1,k=new c.h,m=new c.h;a.Ya();)for(;a.Ea();)if(a.ba().s(k),g||d.contains(k)||(g=!0),h||(m.I(e),m.Ma(k),!m.u()&&(m.fa()>f||m.N()>f)&&(h=!0)),h&&g)return!0;return!1};b.cM=function(a,d,f){var e=new c.h,\nh=new c.h;a.s(e);d.s(h);return b.We(e,h,f)?b.jM(a,d,f)?!0:b.RC(a,d,f,!1,!0,!1):!1};b.SL=function(a,d,c){return!b.CJ(a,d,c)};b.IM=function(a,d,c){return b.RC(a,d,c,!1,!1,!0)};b.sJ=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return b.Ec(e,h,f)?b.RC(d,a,f,!0,!1,!1):!1};b.yx=function(a,b,f){f*=f;for(var e=new c.b,h=new c.b,g=0;g<b.D();g++){b.w(g,h);for(var k=!1,m=0;m<a.D();m++)if(a.w(m,e),c.b.sc(e,h)<=f){k=!0;break}if(!k)return!1}return!0};b.zx=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);\nd.s(h);return b.We(e,h,f)};b.AJ=function(a,d,c){d=d.w();return b.$t(a,d,c)};b.TM=function(a,d,c){return b.zx(a,d,c)};b.pZ=function(a,d,c){return!b.AJ(a,d,c)};b.ZL=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);return h.fa()>f||h.N()>f?!1:b.We(e,h,f)};b.OL=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(b.Ec(h,e,f))return!1;d=new c.h;d.I(h);d.O(f,f);f=new c.b;for(h=0;h<a.D();h++)if(a.w(h,f),d.contains(f))return!1;return!0};b.MM=function(a,b,f){var e=new c.h,h=new c.h,g=new c.h;b.s(e);\nif(e.fa()<=f&&e.N()<=f)return!1;if(e.fa()<=f||e.N()<=f){b=new c.b;var k=!1;h.I(e);g.I(e);h.O(f,f);e.fa()>f?g.O(0,-f):g.O(-f,0);for(var m=0;m<a.D();m++)if(a.w(m,b),h.contains(b)){if(e.fa()>f){if(b.y>g.A&&b.y<g.B)return!1}else if(b.x>g.o&&b.x<g.v)return!1;k=!0}return k}h.I(e);g.I(e);h.O(f,f);g.O(-f,-f);b=new c.b;k=!1;for(m=0;m<a.D();m++)if(a.w(m,b),h.contains(b)){if(g.Tm(b))return!1;k=!0}return k};b.PM=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(!b.Ec(h,e,f))return!1;if(h.fa()<=f&&h.N()<=\nf)return b.We(e,h,f);if(h.fa()<=f||h.N()<=f){d=!1;var e=new c.h,g=new c.h;e.I(h);g.I(h);h.fa()>f?e.O(0,-f):e.O(-f,0);g.O(f,f);for(var k=new c.b,m=0;m<a.D();m++){a.w(m,k);if(!g.contains(k))return!1;h.fa()>f?k.y>e.A&&k.y<e.B&&(d=!0):k.x>e.o&&k.x<e.v&&(d=!0)}return d}d=!1;e=new c.h;g=new c.h;e.I(h);g.I(h);e.O(-f,-f);g.O(f,f);k=new c.b;for(m=0;m<a.D();m++){a.w(m,k);if(!g.contains(k))return!1;e.Tm(k)&&(d=!0)}return d};b.mZ=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(!b.Ec(e,h,f)||h.fa()>f||\nh.N()>f)return!1;d=d.Bq();return!b.$t(a,d,f)};b.IL=function(a,d,f){var e=new c.h,h=new c.h;a.s(e);d.s(h);if(b.Ec(h,e,f)||h.fa()<=f&&h.N()<=f)return!1;if(h.fa()<=f||h.N()<=f){d=new c.h;e=new c.h;d.I(h);h.fa()>f?d.O(0,-f):d.O(-f,0);e.I(h);e.O(f,f);for(var g=new c.b,k=!1,m=!1,n=0;n<a.D();n++)if(a.w(n,g),k||(h.fa()>f?g.y>d.A&&g.y<d.B&&(k=!0):g.x>d.o&&g.x<d.v&&(k=!0)),m||e.contains(g)||(m=!0),k&&m)return!0;return!1}d=new c.h;e=new c.h;d.I(h);d.O(-f,-f);e.I(h);e.O(f,f);g=new c.b;m=k=!1;for(n=0;n<a.D();n++)if(a.w(n,\ng),!k&&d.Tm(g)&&(k=!0),m||e.contains(g)||(m=!0),k&&m)return!0;return!1};b.yL=function(a,b,f){return c.b.sc(a,b)<=f*f?!0:!1};b.NN=function(a,b,f){return c.b.sc(a,b)>f*f?!0:!1};b.eL=function(a,d,c){return b.yL(a,d,c)};b.qL=function(a,d,f){var e=new c.h;e.I(a);return b.We(e,d,f)};b.Dx=function(a,b,f){var e=new c.h;e.I(b);e.O(f,f);return!e.contains(a)};b.XC=function(a,b,f){if(b.fa()<=f&&b.N()<=f)return!1;var e=new c.h,h=new c.h;e.I(b);e.O(f,f);if(!e.contains(a))return!1;if(b.fa()<=f||b.N()<=f){h.I(b);\nb.fa()>f?h.O(0,-f):h.O(-f,0);if(b.fa()>f){if(a.y>h.A&&a.y<h.B)return!1}else if(a.x>h.o&&a.x<h.v)return!1;return!0}h.I(b);h.O(-f,-f);return h.Tm(a)?!1:!0};b.YC=function(a,b,f){if(b.fa()<=f&&b.N()<=f)return!0;if(b.fa()<=f||b.N()<=f){var e=new c.h;e.I(b);b.fa()>f?e.O(0,-f):e.O(-f,0);var h=!1;b.fa()>f?a.y>e.A&&a.y<e.B&&(h=!0):a.x>e.o&&a.x<e.v&&(h=!0);return h}e=new c.h;e.I(b);e.O(-f,-f);return e.Tm(a)};b.EN=function(a,d,c){return b.qL(a,d,c)};b.We=function(a,d,c){return b.Ec(a,d,c)&&b.Ec(d,a,c)};b.Ek=\nfunction(a,b,f){var e=new c.h;e.I(b);e.O(f,f);return!a.Yb(e)};b.DP=function(a,d,f){if(a.fa()<=f&&a.N()<=f){var e=a.Wf();return b.XC(e,d,f)}if(d.fa()<=f&&d.N()<=f)return e=d.Wf(),b.XC(e,a,f);a.fa()>f&&a.N()>f&&(d.fa()<=f||d.N()<=f)?e=d:(e=a,a=d);if(e.fa()<=f||e.N()<=f){if(a.fa()<=f||a.N()<=f){d=new c.Hb;var h=new c.Hb,g=[0,0],k=[0,0],m=new c.b;e.Tn(m);d.Mc(m);e.Un(m);d.Zc(m);a.Tn(m);h.Mc(m);a.Un(m);h.Zc(m);d.Ma(h,null,g,k,f);return 1!=d.Ma(h,null,null,null,f)?!1:0==g[0]||1==g[1]||0==k[0]||1==k[1]}d=\nnew c.h;h=new c.h;d.I(a);d.O(-f,-f);h.I(d);h.Ma(e);return!h.u()&&(h.fa()>f||h.N()>f)?!1:!0}a.O(f,f);h=new c.h;h.I(e);h.Ma(a);return h.u()||!h.u()&&h.fa()>f&&h.N()>f?!1:!0};b.aP=function(a,d,f){if(b.Ec(a,d,f)||b.Ec(d,a,f)||a.fa()<=f&&a.N()<=f||d.fa()<=f&&d.N()<=f)return!1;if(a.fa()<=f||a.N()<=f){if(d.fa()>f&&d.N()>f)return!1;var e=new c.Hb,h=new c.Hb,g=[0,0],k=[0,0],m=new c.b;a.Tn(m);e.Mc(m);a.Un(m);e.Zc(m);d.Tn(m);h.Mc(m);d.Un(m);h.Zc(m);e.Ma(h,null,g,k,f);return 2!=e.Ma(h,null,null,null,f)?!1:(0<\ng[0]||1>g[1])&&(0<k[0]||1>k[1])}if(d.fa()<=f||d.N()<=f)return!1;e=new c.h;e.I(a);e.Ma(d);return e.u()||e.fa()<=f||e.N()<=f?!1:!0};b.SE=function(a,d,f){if(!b.Ec(a,d,f))return!1;if(a.fa()<=f&&a.N()<=f)return a=a.Wf(),b.YC(a,d,f);if(d.fa()<=f&&d.N()<=f)return d=d.Wf(),b.YC(d,a,f);if(a.fa()<=f||a.N()<=f)return b.Ec(a,d,f);if(d.fa()<=f||d.N()<=f){var e=new c.h;e.I(a);e.O(-f,-f);if(e.Tm(d))return!0;a=new c.h;a.I(e);a.Ma(d);return a.u()||a.fa()<=f&&a.N()<=f?!1:!0}return b.Ec(a,d,f)};b.EL=function(a,d,f){if(b.Ec(a,\nd,f)||b.Ec(d,a,f)||a.fa()<=f&&a.N()<=f||d.fa()<=f&&d.N()<=f||d.fa()>f&&d.N()>f&&a.fa()>f&&a.N()>f)return!1;var e;a.fa()>f&&a.N()>f?e=d:(e=a,a=d);if(a.fa()>f&&a.N()>f){d=new c.h;var h=new c.h;h.I(a);h.O(-f,-f);d.I(h);d.Ma(e);return d.u()||d.fa()<=f&&d.N()<=f?!1:!0}d=new c.Hb;var h=new c.Hb,g=[0,0],k=[0,0],m=new c.b;e.Tn(m);d.Mc(m);e.Un(m);d.Zc(m);a.Tn(m);h.Mc(m);a.Un(m);h.Zc(m);d.Ma(h,null,g,k,f);return 1!=d.Ma(h,null,null,null,f)?!1:0<g[0]&&1>g[1]&&0<k[0]&&1>k[1]};b.cD=function(a,b,f){var e,h,g=new c.h,\nk=new c.h,m=new c.Lm(a,b,f,!0);if(!m.next())return!0;if(this.fI(a,b,f))return!1;var n;n=a;var p;p=null;1736==b.G()&&(p=b);var q=!1,t=!1;do{e=m.Ql();h=m.Ml();h=b.Ba(b.wa(h));g.I(m.fA());g.O(f,f);if(g.contains(h)&&(h=c.gd.ge(n,h,0),0!=h)||1736==b.G()&&(e=a.Ba(a.wa(e)),k.I(m.Jz()),k.O(f,f),k.contains(e)&&(h=c.gd.ge(p,e,0),0!=h)))return!1;q||(!c.ff.qm(a,b.aa()-1)||null!=a.ob&&null!=a.ob.Mb?n=a:(n=new c.Ja,a.copyTo(n),n.Hj(1)),q=!0);1736!=b.G()||t||(t=b,!c.ff.qm(t,a.aa()-1)||null!=b.ob&&null!=b.ob.Mb?\np=b:(p=new c.Ja,t.copyTo(p),p.Hj(1)),t=!0)}while(m.next());return!0};b.Ec=function(a,b,f){var e=new c.h;e.I(a);e.O(f,f);return e.contains(b)};b.Yp=function(a,b,f){var e=new c.h;e.I(b);e.O(f,f);b=new c.b;a.Tn(b);if(!e.contains(b))return!0;a.TJ(b);if(!e.contains(b))return!0;a.WJ(b);if(!e.contains(b))return!0;a.Un(b);return e.contains(b)?!1:!0};b.qJ=function(a,b,f){if(a.aa()!=b.aa()||a.D()!=b.D())return!1;var e=new c.b,h=new c.b,g=!0;f*=f;for(var k=0;k<a.aa();k++){if(a.Gc(k)!=b.Gc(k)){g=!1;break}for(var m=\na.wa(k);m<b.Gc(k);m++)if(a.w(m,e),b.w(m,h),c.b.sc(e,h)>f){g=!1;break}if(!g)break}return g?!0:!1};b.jM=function(a,b,f){if(a.D()!=b.D())return!1;var e=new c.b,h=new c.b,g=!0;f*=f;for(var k=0;k<a.D();k++)if(a.w(k,e),b.w(k,h),c.b.sc(e,h)>f){g=!1;break}return g?!0:!1};b.RC=function(a,b,f,e,h,g){var k=!1,m;a.D()>b.D()?(e&&(e=!1,k=!0),m=b):(m=a,a=b);b=null;if(h||g||k){b=new c.Fm(a.D());for(var n=0;n<a.D();n++)b.write(n,0)}var n=new c.h,p=new c.h,q=new c.h;m.s(n);a.s(p);n.O(f,f);p.O(f,f);q.I(n);q.Ma(p);for(var p=\nnew c.b,t=new c.b,r=!0,z=c.na.CF(a,q),v=z.mf(),x=f*f,B=0;B<m.D();B++)if(m.w(B,p),q.contains(p)){var y=!1;n.I(p.x,p.y,p.x,p.y);v.Ni(n,f);for(var A=v.next();-1!=A&&!(A=z.ja(A),a.w(A,t),c.b.sc(p,t)<=x&&((h||g||k)&&b.write(A,1),y=!0,e));A=v.next());if(!y&&(r=!1,h||e))return!1}else{if(h||e)return!1;r=!1}if(g&&r)return!1;if(e)return!0;for(n=0;n<a.D();n++)if(1==b.read(n)){if(g)return!0}else if(h||k)return!1;return g?!1:!0};b.CJ=function(a,b,f){var e;a.D()>b.D()?e=b:(e=a,a=b);b=new c.h;var h=new c.h,g=new c.h;\ne.s(b);a.s(h);b.O(f,f);h.O(f,f);g.I(b);g.Ma(h);for(var h=new c.b,k=new c.b,m=f*f,n=c.na.CF(a,g),p=n.mf(),q=0;q<e.D();q++)if(e.w(q,h),g.contains(h)){b.I(h.x,h.y,h.x,h.y);p.Ni(b,f);for(var t=p.next();-1!=t;t=p.next())if(a.w(n.ja(t),k),c.b.sc(h,k)<=m)return!0}return!1};b.PB=function(a,d,c,e){return b.Wg(a,d,c,e)&&b.Wg(d,a,c,e)};b.Wg=function(a,d,f,e){function h(a,b){return q.XF(a,b)}var g=!0,k=[0,0],m=[0,0],r=0,p=new c.ia(0),q=new b,t,u=new c.h,z=new c.h,v=new c.h;a.s(u);d.s(z);u.O(f,f);z.O(f,f);v.I(u);\nv.Ma(z);a=a.Fa();var z=d.Fa(),x=null,B=x=null,y=d.ob;null!=y?(x=y.Mb,B=y.np,null==x&&(x=c.na.Lj(d,v))):x=c.na.Lj(d,v);d=x.mf();y=null;for(null!=B&&(y=B.mf());a.Ya();)for(;a.Ea();){var A=!1,C=a.ba();C.s(u);if(!u.Yb(v))return!1;if(null!=y&&(y.Ni(u,f),-1==y.next()))return g=!1;B=C.Rb();d.Wn(C,f);for(t=d.next();-1!=t;t=d.next()){z.Tb(x.ja(t));t=z.ba();var D=C.Ma(t,null,k,m,f);if(2==D&&(!e||m[0]<=m[1])){var D=k[0],E=k[1],F=m[0],G=m[1];if(D*B<=f&&(1-E)*B<=f){A=!0;r=0;p.resize(0);q.Ph.length=0;for(var H=\na.Db(),F=!0;F;){if(a.Ea()){C=a.ba();B=C.Rb();D=C.Ma(t,null,k,m,f);if(2==D&&(!e||m[0]<=m[1])&&(D=k[0],E=k[1],D*B<=f&&(1-E)*B<=f)){H=a.Db();continue}if(z.Ea()&&(t=z.ba(),D=C.Ma(t,null,k,m,f),2==D&&(!e||m[0]<=m[1])&&(D=k[0],E=k[1],D*B<=f&&(1-E)*B<=f))){H=a.Db();continue}}F=!1}H!=a.Db()&&(a.Tb(H),a.ba());break}else H=a.Db(),t=n.pa(H,a.Ta,D,E,z.Db(),z.Ta,F,G),q.Ph.push(t),p.add(p.size)}}if(!A){if(r==q.Ph.length)return!1;1<p.size-r&&p.Gd(r,p.size,h);for(A=0;r<q.Ph.length;r++)if(t=q.Ph[p.get(r)],!(t.ek<\nA&&t.rj<A)){if(B*(t.ek-A)>f)return!1;A=t.rj;if(B*(1-A)<=f||1==A)break}if(B*(1-A)>f)return!1;r=0;p.resize(0);q.Ph.length=0}}return g};b.$H=function(a,d,f){if(1>b.SB(a,d,f,null))return!1;var e=new c.h,h=new c.h;a.s(e);d.s(h);var g=b.Yp(e,h,f),e=b.Yp(h,e,f);return g&&e?!0:g&&!e?!b.Wg(d,a,f,!1):e&&!g?!b.Wg(a,d,f,!1):!b.Wg(a,d,f,!1)&&!b.Wg(d,a,f,!1)};b.SB=function(a,d,f,e){function h(a,b){return z.XF(a,b)}var g,k;a.jA()>d.jA()?(g=d,k=a):(g=a,k=d);a=g.Fa();d=k.Fa();var m=[0,0],r=[0,0],p=-1,q=0,t,u=new c.ia(0),\nz=new b,v,x=new c.h,B=new c.h,y=new c.h;g.s(x);k.s(B);x.O(f,f);B.O(f,f);y.I(x);y.Ma(B);g=null;null!=e&&(g=new c.b);t=B=B=null;var A=k.ob;null!=A?(B=A.Mb,t=A.np,null==B&&(B=c.na.Lj(k,y))):B=c.na.Lj(k,y);k=B.mf();A=null;for(null!=t&&(A=t.mf());a.Ya();)for(t=0;a.Ea();){var C=a.ba();C.s(x);if(x.Yb(y)){if(null!=A&&(A.Ni(x,f),-1==A.next()))continue;var D=C.Rb();k.Wn(C,f);for(var E=k.next();-1!=E;E=k.next()){var F=B.ja(E);d.Tb(F);v=d.ba();var G=v.Rb(),H=C.Ma(v,null,m,r,f);if(0<H){var E=m[0],p=r[0],I=2==\nH?m[1]:NaN,J=2==H?r[1]:NaN;if(2==H){if(D*(I-E)>f)return p=1;var M=D*(I-E);if(d.Ea()){v=d.ba();H=C.Ma(v,null,m,null,f);if(2==H){var H=m[0],L=m[1],H=D*(L-H);if(M+H>f)return p=1}d.Tb(F);d.ba()}if(!d.jn()){d.Li();v=d.Li();H=C.Ma(v,null,m,null,f);if(2==H&&(H=m[0],L=m[1],H=D*(L-H),M+H>f))return p=1;d.Tb(F);d.ba()}if(a.Ea()){F=a.Db();C=a.ba();H=C.Ma(v,null,m,null,f);if(2==H&&(H=m[0],L=m[1],H=D*(L-H),M+H>f))return p=1;a.Tb(F);a.ba()}if(!a.jn()){F=a.Db();a.Li();C=a.Li();H=C.Ma(v,null,m,null,f);if(2==H&&(H=\nm[0],L=m[1],H=G*(L-H),M+H>f))return p=1;a.Tb(F);a.ba()}v=n.pa(a.Db(),a.Ta,E,I,d.Db(),d.Ta,p,J);z.Ph.push(v);u.add(u.size)}p=0;null!=e&&(C.gc(E,g),e.add(g.x),e.add(g.y))}}if(q<z.Ph.length){u.Gd(q,u.size,h);C=0;for(E=z.Ph[u.get(q)].zn;q<z.Ph.length;q++)if(v=z.Ph[u.get(q)],!(v.ek<C&&v.rj<C))if(D*(v.ek-C)>f)t=D*(v.rj-v.ek),C=v.rj,E=v.zn;else{v.zn!=E?(t=D*(v.rj-v.ek),E=v.zn):t+=D*(v.rj-v.ek);if(t>f)return p=1;C=v.rj;if(1==C)break}D*(1-C)>f&&(t=0);q=0;u.resize(0);z.Ph.length=0}}}return p};b.fI=function(a,\nb,f){var e=a.Fa(),h=b.Fa();for(a=new c.Lm(a,b,f,!1);a.next();){b=a.Ql();var g=a.Ml();e.Tb(b);h.Tb(g);b=e.ba();if(0<h.ba().Ma(b,null,null,null,f))return!0}return!1};b.ZH=function(a,b,f,e){var h=a.Fa(),g=new c.h,k=new c.h,m=new c.h;a.s(g);b.s(k);g.O(f,f);g.contains(k);k.O(f,f);m.I(g);m.Ma(k);g=a.ob;null!=g?(g=g.Mb,null==g&&(g=c.na.Lj(a,m))):g=c.na.Lj(a,m);a=g.mf();for(var n=new c.b,p=new c.b,q=f*f,t=0;t<b.D();t++)if(b.w(t,n),m.contains(n)){k.I(n.x,n.y,n.x,n.y);a.Ni(k,f);for(var r=!1,z=a.next();-1!=\nz;z=a.next())if(h.Tb(g.ja(z)),z=h.ba(),z.gc(z.pe(n,!1),p),c.b.sc(p,n)<=q){r=!0;break}if(e){if(!r)return!1}else if(r)return!0}return e?!0:!1};b.IA=function(a,b,f){var e=new c.b,h=f*f,g=a.Fa();a=a.ob;if(null!=a&&(a=a.Mb,null!=a)){var k=new c.h;k.I(b);f=a.Yz(k,f);for(k=f.next();-1!=k;k=f.next())if(g.Tb(a.ja(k)),g.Ea()){var k=g.ba(),m=k.pe(b,!1);k.gc(m,e);if(c.b.sc(b,e)<=h)return!0}return!1}for(a=new c.h;g.Ya();)for(;g.Ea();)if(k=g.ba(),k.s(a),a.O(f,f),a.contains(b)&&(m=k.pe(b,!1),k.gc(m,e),c.b.sc(b,\ne)<=h))return!0;return!1};b.yH=function(a,d,c){return b.IA(a,d,c)&&!b.hC(a,d,c)};b.hC=function(a,d,c){a=a.Gg();return!b.$t(a,d,c)};b.XH=function(a,b,f){if(a.hn()){var e=new c.Hb(b.o,b.A,b.o,b.B),h=new c.Hb(b.o,b.B,b.v,b.B),g=new c.Hb(b.v,b.B,b.v,b.A);b=new c.Hb(b.v,b.A,b.o,b.A);for(a=a.Fa();a.Ya();)for(;a.Ea();){var k=a.ba();if(k.Yb(e,f)||k.Yb(h,f)||k.Yb(g,f)||k.Yb(b,f))return!0}}else{e=new c.h;e.I(b);e.O(f,f);f=a.Pa(0);h=new c.b;g=new c.b;b=new c.b;for(var k=new c.b,m=0,n=a.aa();m<n;m++)for(var p=\n!0,q=a.wa(m),t=a.Gc(m);q<t;q++)if(p)f.fc(2*q,g),p=!1;else{f.fc(2*q,h);b.L(g);k.L(h);if(0!=e.gz(b,k))return!0;g.L(h)}}return!1};b.vc=function(a,d,f){var e=a.G(),h=d.G();if(c.T.gh(e)){var g=a.ob;if(null!=g&&(g=g.Hi,null!=g))if(33==h){var k=d.w(),k=g.rm(k.x,k.y);if(1==k)return 1;if(0==k)return 4}else{k=new c.h;d.s(k);k=g.Rn(k);if(1==k)return 1;if(0==k)return 4;if(f&&c.T.gh(h)&&b.$C(d,g))return 1073741824}}if(c.T.gh(h)&&(g=d.ob,null!=g&&(g=g.Hi,null!=g)))if(33==e){a=a.w();k=g.rm(a.x,a.y);if(1==k)return 2;\nif(0==k)return 4}else{d=new c.h;a.s(d);k=g.Rn(d);if(1==k)return 2;if(0==k)return 4;if(f&&c.T.gh(e)&&b.$C(a,g))return 1073741824}return 0};b.$C=function(a,b){for(var f=a.D(),e=new c.b,h=0;h<f;h++)if(a.w(h,e),1==b.rm(e.x,e.y))return!0;return!1};b.iD=function(a,b,f,e){for(var h=1<=a.Lk(0)&&1<=b.Lk(0),g=a.Fa(),k=b.Fa(),m=[0,0],n=[0,0],p=new c.Lm(a,b,f,!1),q=!1;p.next();){var t=p.Ql(),r=p.Ml();g.Tb(t);k.Tb(r);t=g.ba();r=k.ba().Ma(t,null,n,m,f);if(2==r){q=m[0];r=m[1];t=t.Rb();if(h&&(r-q)*t>f)return!1;q=\n!0}else if(0!=r){q=m[0];t=n[0];if(0<q&&1>q&&0<t&&1>t)return!1;q=!0}}if(!q)return!1;g=new c.h;k=new c.h;h=new c.h;a.s(g);b.s(k);g.O(1E3*f,1E3*f);k.O(1E3*f,1E3*f);h.I(g);h.Ma(k);return 10<a.D()&&(a=c.ne.clip(a,h,f,0),a.u())||10<b.D()&&(b=c.ne.clip(b,h,f,0),b.u())?!1:c.Nm.gu(a,b,f,\"F********\",e)};b.dD=function(a,d,f,e){var h=1<=a.Lk(0)&&1<=d.Lk(0),g=new c.h,k=new c.h,m=new c.h;a.s(g);d.s(k);for(var n=!1,p=b.Yp(g,k,f),q=b.Yp(k,g,f),t=a.Fa(),r=d.Fa(),z=[0,0],v=[0,0],x=new c.Lm(a,d,f,!1);x.next();){var B=\nx.Ql(),y=x.Ml();t.Tb(B);r.Tb(y);y=t.ba();B=r.ba().Ma(y,null,v,z,f);if(2==B){var B=z[0],A=z[1],y=y.Rb();if(h&&(A-B)*y>f&&(n=!0,p&&q))return!0}else if(0!=B&&(B=z[0],y=v[0],0<B&&1>B&&0<y&&1>y))return!0}h=new c.h;t=new c.h;h.I(g);h.O(1E3*f,1E3*f);t.I(k);t.O(1E3*f,1E3*f);m.I(h);m.Ma(t);g=\"\";g=n?g+\"**\":g+\"T*\";if(p){if(10<d.D()&&(d=c.ne.clip(d,m,f,0),d.u()))return!1;g+=\"****\"}else g+=\"T***\";if(q){if(10<a.D()&&(a=c.ne.clip(a,m,f,0),a.u()))return!1;g+=\"***\"}else g+=\"T**\";return c.Nm.gu(a,d,f,g.toString(),\ne)};b.CL=function(a,d,f,e){var h=[!1],g=b.zL(a,d,f,h);if(h[0])return g;h=new c.h;d.s(h);h.O(1E3*f,1E3*f);return 10<a.D()&&(a=c.ne.clip(a,h,f,0),a.u())?!1:c.Nm.Ex(a,d,f,e)};b.zL=function(a,b,f,e){e[0]=!1;for(var h=a.Fa(),g=b.Fa(),k=[0,0],m=[0,0],n=new c.Lm(a,b,f,!1),p=!1;n.next();){var q=n.Ql(),t=n.Ml();h.Tb(q,-1);g.Tb(t,-1);q=h.ba();q=g.ba().Ma(q,null,m,k,f);if(0!=q&&(p=!0,1==q&&(q=k[0],t=m[0],0<q&&1>q&&0<t&&1>t)))return e[0]=!0,!1}if(!p){e[0]=!0;k=new c.h;a.s(k);k.O(f,f);n=a;p=!1;m=new c.h;e=0;for(h=\nb.aa();e<h;e++)if(0<b.La(e)){b.jk(e,m);if(k.Yb(m)){if(g=b.Ba(b.wa(e)),g=c.ff.kn(n,g,0),0==g)return!1}else return!1;p||(!c.ff.qm(a,b.aa()-1)||null!=a.ob&&null!=a.ob.Mb?n=a:(g=new c.Ja,a.copyTo(g),g.Hj(1),n=g),p=!0)}if(1==a.aa()||1607==b.G())return!0;k=new c.h;b.s(k);k.O(f,f);m=b;n=!1;f=new c.h;e=0;for(h=a.aa();e<h;e++)if(0<a.La(e)){a.jk(e,f);if(k.Yb(f)&&(g=a.Ba(a.wa(e)),g=c.ff.kn(m,g,0),1==g))return!1;n||(!c.ff.qm(b,a.aa()-1)||null!=b.ob&&null!=b.ob.Mb?m=b:(g=new c.Ja,b.copyTo(g),g.Hj(1),m=g),n=!0)}return!0}return!1};\nb.kD=function(a,b,f,e){for(var h=a.Fa(),g=b.Fa(),k=[0,0],m=[0,0],n=new c.Lm(a,b,f,!1),p=!1;n.next();){var q=n.Ql(),t=n.Ml();h.Tb(q);g.Tb(t);q=h.ba();q=g.ba().Ma(q,null,m,k,f);if(2==q)p=!0;else if(0!=q){p=k[0];q=m[0];if(0<p&&1>p&&0<q&&1>q)return!1;p=!0}}if(!p)return!1;g=new c.h;k=new c.h;h=new c.h;a.s(g);b.s(k);g.O(1E3*f,1E3*f);k.O(1E3*f,1E3*f);h.I(g);h.Ma(k);return 10<a.D()&&(a=c.ne.clip(a,h,f,0),a.u())||10<b.D()&&(b=c.ne.clip(b,h,f,0),b.u())?!1:c.Nm.On(a,b,f,\"F********\",e)};b.bD=function(a,d,f,e){for(var h=\na.Fa(),g=d.Fa(),k=[0,0],m=[0,0],n=new c.Lm(a,d,f,!1),p=!1;n.next();){var q=n.Ql(),t=n.Ml();h.Tb(q);g.Tb(t);q=h.ba();q=g.ba().Ma(q,null,m,k,f);if(2==q)p=!0;else if(0!=q){p=k[0];q=m[0];if(0<p&&1>p&&0<q&&1>q)return!0;p=!0}}if(!p)return!1;g=new c.h;k=new c.h;m=new c.h;n=new c.h;h=new c.h;a.s(g);d.s(k);return b.Yp(k,g,f)?(m.I(g),m.O(1E3*f,1E3*f),n.I(k),n.O(1E3*f,1E3*f),h.I(m),h.Ma(n),10<a.D()&&(a=c.ne.clip(a,h,f,0),a.u())||10<d.D()&&(d=c.ne.clip(d,h,f,0),d.u())?!1:f=c.Nm.On(a,d,f,\"T********\",e)):f=c.Nm.On(a,\nd,f,\"T*****T**\",e)};b.DL=function(a,d,f,e){var h=[!1],g=b.zL(a,d,f,h);if(h[0])return g;h=new c.h;d.s(h);h.O(1E3*f,1E3*f);return 10<a.D()&&(a=c.ne.clip(a,h,f,0),a.u())?!1:c.Nm.MB(a,d,f,e)};b.BL=function(a,b,f){return 1==c.gd.ge(a,b,f)?!0:!1};b.fD=function(a,b,f){return 2==c.gd.ge(a,b,f)?!0:!1};b.$t=function(a,b,f){var e=new c.b;f*=f;for(var h=0;h<a.D();h++)if(a.w(h,e),c.b.sc(e,b)<=f)return!1;return!0};b.prototype.XF=function(a,b){var c=this.Ph[a],e=this.Ph[b];return c.zn<e.zn||c.zn==e.zn&&(c.bx<e.bx||\nc.bx==e.bx&&(c.ek<e.ek||c.ek==e.ek&&(c.rj<e.rj||c.rj==e.rj&&c.RI<e.RI)))?-1:1};return b}();c.Fd=g})(r||(r={}));(function(c){var n;(function(b){b[b.InteriorInterior=0]=\"InteriorInterior\";b[b.InteriorBoundary=1]=\"InteriorBoundary\";b[b.InteriorExterior=2]=\"InteriorExterior\";b[b.BoundaryInterior=3]=\"BoundaryInterior\";b[b.BoundaryBoundary=4]=\"BoundaryBoundary\";b[b.BoundaryExterior=5]=\"BoundaryExterior\";b[b.ExteriorInterior=6]=\"ExteriorInterior\";b[b.ExteriorBoundary=7]=\"ExteriorBoundary\";b[b.ExteriorExterior=\n8]=\"ExteriorExterior\"})(n||(n={}));var g;(function(b){b[b.AreaAreaPredicates=0]=\"AreaAreaPredicates\";b[b.AreaLinePredicates=1]=\"AreaLinePredicates\";b[b.LineLinePredicates=2]=\"LineLinePredicates\";b[b.AreaPointPredicates=3]=\"AreaPointPredicates\";b[b.LinePointPredicates=4]=\"LinePointPredicates\";b[b.PointPointPredicates=5]=\"PointPointPredicates\"})(g||(g={}));n=function(){function b(){this.Ie=0;this.i=new c.Qu;this.H=[0,0,0,0,0,0,0,0,0];this.eb=[0,0,0,0,0,0,0,0,0];this.ga=[!1,!1,!1,!1,!1,!1,!1,!1,!1];\nthis.Fn=this.jx=-1}b.ZB=function(a,b,f,e,h){if(9!=e.length)throw c.g.X(\"relation string length has to be 9 characters\");for(var g=0;9>g;g++){var k=e.charAt(g);if(\"*\"!=k&&\"T\"!=k&&\"F\"!=k&&\"0\"!=k&&\"1\"!=k&&\"2\"!=k)throw c.g.X(\"relation string\");}g=this.GT(e,a.tb(),b.tb());if(0!=g)return c.Fd.$B(a,b,f,g,h);g=new c.h;a.s(g);k=new c.h;b.s(k);var m=new c.h;m.I(g);m.Nb(k);f=c.na.be(f,m,!1);a=this.cG(a,f);b=this.cG(b,f);if(a.u()||b.u())return this.tX(a,b,e);g=b.G();k=!1;switch(a.G()){case 1736:switch(g){case 1736:k=\nthis.gu(a,b,f,e,h);break;case 1607:k=this.On(a,b,f,e,h);break;case 33:k=this.fu(a,b,f,e,h);break;case 550:k=this.eu(a,b,f,e,h)}break;case 1607:switch(g){case 1736:k=this.On(b,a,f,this.Pq(e),h);break;case 1607:k=this.NB(a,b,f,e,h);break;case 33:k=this.iu(a,b,f,e,h);break;case 550:k=this.hu(a,b,f,e,h)}break;case 33:switch(g){case 1736:k=this.fu(b,a,f,this.Pq(e),h);break;case 1607:k=this.iu(b,a,f,this.Pq(e),h);break;case 33:k=this.HW(a,b,f,e);break;case 550:k=this.au(b,a,f,this.Pq(e),h)}break;case 550:switch(g){case 1736:k=\nthis.eu(b,a,f,this.Pq(e),h);break;case 1607:k=this.hu(b,a,f,this.Pq(e),h);break;case 550:k=this.EB(a,b,f,e,h);break;case 33:k=this.au(a,b,f,e,h)}break;default:k=!1}return k};b.gu=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.oK();var k=new c.h,m=new c.h;a.s(k);d.s(m);e=!1;c.Fd.Ek(k,m,f)&&(g.mv(a,d),e=!0);e||(k=c.Fd.vc(a,d,!1),4==k?(g.mv(a,d),e=!0):1==k?(g.Sy(d),e=!0):2==k&&(g.mF(a),e=!0));e||(e=new c.fd,a=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.tq(a,d),g.i.qh());return b.zg(g.H,g.dd)};b.Ex=function(a,\nd,f,e){var h=new b;h.xj();h.Bj(\"T*****F**\");h.oK();var g=new c.h,k=new c.h;a.s(g);d.s(k);var m=!1;c.Fd.Ek(g,k,f)&&(h.mv(a,d),m=!0);m||(g=c.Fd.vc(a,d,!1),4==g?(h.mv(a,d),m=!0):1==g?(h.Sy(d),m=!0):2==g&&(h.mF(a),m=!0));if(m)return g=this.zg(h.H,h.dd);m=new c.fd;a=m.Jb(a);g=m.Jb(d);c.sk.V(m,f,e,!1);f=m.Se(g).Gg();m.zq(0,!0,!0);c.lo.V(m,a,-1,!1,e);if(0==m.D(a))return!1;c.lo.V(m,g,-1,!1,e);h.Yr(m,e);d=0==m.D(g);if(!d&&(h.tq(a,g),h.i.qh(),g=this.zg(h.H,h.dd),!g))return g;a=m.Se(a);m=new c.fd;a=m.Jb(a);\ng=m.Jb(f);h.Yr(m,e);h.Ie=0;h.xj();h.Bj(d?\"T*****F**\":\"******F**\");h.iC();h.tq(a,g);h.i.qh();return g=this.zg(h.H,h.dd)};b.On=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.iC();var k=new c.h,m=new c.h;a.s(k);d.s(m);e=!1;c.Fd.Ek(k,m,f)&&(g.nv(a,d),e=!0);e||(k=c.Fd.vc(a,d,!1),4==k?(g.nv(a,d),e=!0):1==k&&(g.nF(d),e=!0));e||(e=new c.fd,a=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.Fh=g.i.wq(),b.pv(d,g.i,g.Fh),g.tq(a,d),g.i.xq(g.Fh),g.i.qh());return b.zg(g.H,g.dd)};b.MB=function(a,d,f,e){var h=new b;h.xj();h.Bj(\"T*****F**\");\nh.iC();var g=new c.h,k=new c.h;a.s(g);d.s(k);var m=!1;c.Fd.Ek(g,k,f)&&(h.nv(a,d),m=!0);m||(g=c.Fd.vc(a,d,!1),4==g?(h.nv(a,d),m=!0):1==g&&(h.nF(d),m=!0));if(m)return f=this.zg(h.H,h.dd);m=new c.fd;a=m.Jb(a);d=m.Jb(d);h.Fp(m,f,e);if(0==m.D(a))return!1;h.tq(a,d);h.i.qh();return f=this.zg(h.H,h.dd)};b.eu=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.pK();var k=new c.h,m=new c.h;a.s(k);d.s(m);e=!1;c.Fd.Ek(k,m,f)&&(g.ov(a),e=!0);e||(k=c.Fd.vc(a,d,!1),4==k?(g.ov(a),e=!0):1==k&&(g.CP(),e=!0));e||(e=new c.fd,\na=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.lz(a,d),g.i.qh());return b.zg(g.H,g.dd)};b.NB=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.$X();e=new c.h;var k=new c.h;a.s(e);d.s(k);var m=!1;c.Fd.Ek(e,k,f)&&(g.dI(a,d),m=!0);m||4!=c.Fd.vc(a,d,!1)||(g.dI(a,d),m=!0);m||(e=new c.fd,a=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.xi=g.i.wq(),g.Fh=g.i.wq(),b.pv(a,g.i,g.xi),b.pv(d,g.i,g.Fh),g.tq(a,d),g.i.xq(g.xi),g.i.xq(g.Fh),g.i.qh());return b.zg(g.H,g.dd)};b.hu=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.DK();e=new c.h;\nvar k=new c.h;a.s(e);d.s(k);var m=!1;c.Fd.Ek(e,k,f)&&(g.HA(a),m=!0);m||4!=c.Fd.vc(a,d,!1)||(g.HA(a),m=!0);m||(e=new c.fd,a=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.xi=g.i.wq(),b.pv(a,g.i,g.xi),g.lz(a,d),g.i.xq(g.xi),g.i.qh());return b.zg(g.H,g.dd)};b.EB=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.IK();e=new c.h;var k=new c.h;a.s(e);d.s(k);var m=!1;c.Fd.Ek(e,k,f)&&(g.GJ(),m=!0);m||(e=new c.fd,a=e.Jb(a),d=e.Jb(d),g.Fp(e,f,h),g.lz(a,d),g.i.qh());return b.zg(g.H,g.dd)};b.fu=function(a,d,f,e){var h=new b;\nh.xj();h.Bj(e);h.pK();var g=new c.h;a.s(g);d=d.w();var k=!1;c.Fd.Dx(d,g,f)&&(h.ov(a),k=!0);k||(f=c.gd.ge(a,d,f),1==f?(h.H[0]=0,h.H[2]=2,h.H[3]=-1,h.H[5]=1,h.H[6]=-1):2==f?(h.H[6]=-1,0!=a.hf()?(h.H[0]=-1,h.H[3]=0,h.H[2]=2,h.H[5]=1):(h.H[0]=0,h.H[3]=-1,h.H[5]=-1,f=new c.h,a.s(f),h.H[2]=0==f.fa()&&0==f.N()?-1:1)):h.ov(a));return this.zg(h.H,e)};b.iu=function(a,d,f,e,h){var g=new b;g.xj();g.Bj(e);g.DK();var k=new c.h;a.s(k);e=d.w();var m=!1;c.Fd.Dx(e,k,f)&&(g.HA(a),m=!0);if(!m){var k=null,n=m=!1;if(g.ga[0]||\ng.ga[6])c.Fd.IA(a,e,f)?(g.ga[0]&&(k=c.Pi.Rm(a,h),n=!c.Fd.$t(k,e,f),m=!0,g.H[0]=n?-1:0),g.H[6]=-1):(g.H[0]=-1,g.H[6]=0);g.ga[3]&&(null!=k&&k.u()?g.H[3]=-1:(m||(null==k&&(k=c.Pi.Rm(a,h)),n=!c.Fd.$t(k,e,f),m=!0),g.H[3]=n?0:-1));g.ga[5]&&(null!=k&&k.u()?g.H[5]=-1:m&&!n?g.H[5]=0:(null==k&&(k=c.Pi.Rm(a,h)),h=c.Fd.zx(k,d,f),g.H[5]=h?-1:0));g.ga[2]&&(0!=a.Rb()?g.H[2]=1:(h=new c.Ed(a.description),h.Id(a,0,a.D()),a=c.Fd.zx(h,d,f),g.H[2]=a?-1:0))}return this.zg(g.H,g.dd)};b.au=function(a,d,f,e){var h=new b;\nh.xj();h.Bj(e);h.IK();var g=new c.h;a.s(g);d=d.w();var k=!1;c.Fd.Dx(d,g,f)&&(h.GJ(),k=!0);if(!k){g=!1;k=!0;f*=f;for(var m=0;m<a.D();m++){var n=a.Ba(m);c.b.sc(n,d)<=f?g=!0:k=!1;if(g&&!k)break}g?(h.H[0]=0,h.H[2]=k?-1:0,h.H[6]=-1):(h.H[0]=-1,h.H[2]=0,h.H[6]=0)}return b.zg(h.H,e)};b.HW=function(a,d,f,e){a=a.w();d=d.w();for(var h=[],g=0;9>g;g++)h[g]=-1;c.b.sc(a,d)<=f*f?h[0]=0:(h[2]=0,h[6]=0);h[8]=2;return b.zg(h,e)};b.zg=function(a,b){for(var c=0;9>c;c++)switch(b.charAt(c)){case \"T\":if(-1==a[c])return!1;\nbreak;case \"F\":if(-1!=a[c])return!1;break;case \"0\":if(0!=a[c])return!1;break;case \"1\":if(1!=a[c])return!1;break;case \"2\":if(2!=a[c])return!1}return!0};b.tX=function(a,b,f){var e=[-1,-1,-1,-1,-1,-1,-1,-1,-1];if(a.u()&&b.u()){for(var h=0;9>h;h++)e[h]=-1;return this.zg(e,f)}h=!1;a.u()&&(a=b,h=!0);e[0]=-1;e[1]=-1;e[3]=-1;e[4]=-1;e[6]=-1;e[7]=-1;e[8]=2;b=a.G();c.T.Ic(b)?1736==b?0!=a.hf()?(e[2]=2,e[5]=1):(e[5]=-1,b=new c.h,a.s(b),e[2]=0==b.fa()&&0==b.N()?0:1):(b=0!=a.Rb(),e[2]=b?1:0,e[5]=c.Pi.Rq(a)?0:-1):\n(e[2]=0,e[5]=-1);h&&this.kL(e);return this.zg(e,f)};b.GT=function(a,d,c){return b.lQ(a)?3:b.tO(a)?4:b.hU(a,d,c)?8:b.kO(a,d,c)?16:b.PN(a)?1:b.$M(a,d,c)?32:0};b.lQ=function(a){return\"T\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"F\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"F\"==a.charAt(5)&&\"F\"==a.charAt(6)&&\"F\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1};b.tO=function(a){return\"F\"==a.charAt(0)&&\"F\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"F\"==a.charAt(3)&&\"F\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"*\"==a.charAt(6)&&\"*\"==\na.charAt(7)&&\"*\"==a.charAt(8)?!0:!1};b.hU=function(a,b,c){if(0==b&&0==c)return!1;if(2!=b||2!=c)if(\"F\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"T\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"*\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8)||1==b&&1==c&&\"F\"==a.charAt(0)&&\"T\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"*\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8))return!0;return 0!=c&&\"F\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\n\"*\"==a.charAt(3)&&\"T\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"*\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1};b.kO=function(a,b,c){return b>c?\"T\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"T\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1:1==b&&1==c&&\"0\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"*\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1};b.PN=function(a){return\"T\"==\na.charAt(0)&&\"*\"==a.charAt(1)&&\"*\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"F\"==a.charAt(6)&&\"F\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1};b.$M=function(a,b,c){if(b==c){if(1!=b)return\"T\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"T\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"T\"==a.charAt(6)&&\"*\"==a.charAt(7)&&\"*\"==a.charAt(8)?!0:!1;if(\"1\"==a.charAt(0)&&\"*\"==a.charAt(1)&&\"T\"==a.charAt(2)&&\"*\"==a.charAt(3)&&\"*\"==a.charAt(4)&&\"*\"==a.charAt(5)&&\"T\"==a.charAt(6)&&\n\"*\"==a.charAt(7)&&\"*\"==a.charAt(8))return!0}return!1};b.pv=function(a,b,c){a=b.Ia(a);for(var e=b.rf;-1!=e;e=b.og(e))if(0!=(b.Md(e)&a)){var h=b.kf(e);if(-1==h)b.co(e,c,0);else{var g=h,k=0;do 0!=(b.Ah(g)&a)&&k++,g=b.qc(b.Aa(g));while(g!=h);b.co(e,c,k)}}};b.Pq=function(a){var b;b=\"\"+a.charAt(0);b+=a.charAt(3);b+=a.charAt(6);b+=a.charAt(1);b+=a.charAt(4);b+=a.charAt(7);b+=a.charAt(2);b+=a.charAt(5);return b+=a.charAt(8)};b.prototype.xj=function(){for(var a=0;9>a;a++)this.H[a]=-2,this.eb[a]=-2};b.kL=function(a){var b=\na[1],c=a[2],e=a[5];a[1]=a[3];a[2]=a[6];a[5]=a[7];a[3]=b;a[6]=c;a[7]=e};b.prototype.Bj=function(a){this.dd=a;for(a=0;9>a;a++)\"*\"!=this.dd.charAt(a)?(this.ga[a]=!0,this.Ie++):this.ga[a]=!1};b.prototype.LK=function(){for(var a=0;9>a;a++)this.ga[a]&&-2==this.H[a]&&(this.H[a]=-1,this.ga[a]=!1)};b.prototype.uc=function(a){if(-2==this.H[a])return!1;if(-1==this.H[a])return this.ga[a]=!1,this.Ie--,!0;if(\"T\"!=this.dd.charAt(a)&&\"F\"!=this.dd.charAt(a)){if(this.H[a]<this.eb[a])return!1;this.ga[a]=!1;this.Ie--;\nreturn!0}this.ga[a]=!1;this.Ie--;return!0};b.prototype.oK=function(){this.jx=0;this.eb[0]=2;this.eb[1]=1;this.eb[2]=2;this.eb[3]=1;this.eb[4]=1;this.eb[5]=1;this.eb[6]=2;this.eb[7]=1;this.eb[8]=2;this.ga[8]&&(this.H[8]=2,this.ga[8]=!1,this.Ie--)};b.prototype.iC=function(){this.jx=1;this.Fn=3;this.eb[0]=1;this.eb[1]=0;this.eb[2]=2;this.eb[3]=1;this.eb[4]=0;this.eb[5]=1;this.eb[6]=1;this.eb[7]=0;this.eb[8]=2;this.ga[8]&&(this.H[8]=2,this.ga[8]=!1,this.Ie--)};b.prototype.$X=function(){this.jx=2;this.Fn=\n4;this.eb[0]=1;this.eb[1]=0;this.eb[2]=1;this.eb[3]=0;this.eb[4]=0;this.eb[5]=0;this.eb[6]=1;this.eb[7]=0;this.eb[8]=2;this.ga[8]&&(this.H[8]=2,this.ga[8]=!1,this.Ie--)};b.prototype.pK=function(){this.Fn=3;this.eb[0]=0;this.eb[1]=-1;this.eb[2]=2;this.eb[3]=0;this.eb[4]=-1;this.eb[5]=1;this.eb[6]=0;this.eb[7]=-1;this.eb[8]=2;this.ga[1]&&(this.H[1]=-1,this.ga[1]=!1,this.Ie--);this.ga[4]&&(this.H[4]=-1,this.ga[4]=!1,this.Ie--);this.ga[7]&&(this.H[7]=-1,this.ga[7]=!1,this.Ie--);this.ga[8]&&(this.H[8]=\n2,this.ga[8]=!1,this.Ie--)};b.prototype.DK=function(){this.Fn=4;this.eb[0]=0;this.eb[1]=-1;this.eb[2]=1;this.eb[3]=0;this.eb[4]=-1;this.eb[5]=0;this.eb[6]=0;this.eb[7]=-1;this.eb[8]=2;this.ga[1]&&(this.H[1]=-1,this.ga[1]=!1,this.Ie--);this.ga[4]&&(this.H[4]=-1,this.ga[4]=!1,this.Ie--);this.ga[7]&&(this.H[7]=-1,this.ga[7]=!1,this.Ie--);this.ga[8]&&(this.H[8]=2,this.ga[8]=!1,this.Ie--)};b.prototype.IK=function(){this.Fn=5;this.eb[0]=0;this.eb[1]=-1;this.eb[2]=0;this.eb[3]=-1;this.eb[4]=-1;this.eb[5]=\n-1;this.eb[6]=0;this.eb[7]=-1;this.eb[8]=2;this.ga[1]&&(this.H[1]=-1,this.ga[1]=!1,this.Ie--);this.ga[3]&&(this.H[3]=-1,this.ga[3]=!1,this.Ie--);this.ga[4]&&(this.H[4]=-1,this.ga[4]=!1,this.Ie--);this.ga[5]&&(this.H[5]=-1,this.ga[5]=!1,this.Ie--);this.ga[7]&&(this.H[7]=-1,this.ga[7]=!1,this.Ie--);this.ga[8]&&(this.H[8]=2,this.ga[8]=!1,this.Ie--)};b.prototype.AP=function(a,b,c){var e=!0;this.ga[0]&&(this.yU(a,b,c),e=e&&this.uc(0));this.ga[1]&&(this.FH(a,b,1),e=e&&this.uc(1));this.ga[2]&&(this.GH(a,\nb,c,2),e=e&&this.uc(2));this.ga[3]&&(this.FH(a,c,3),e=e&&this.uc(3));this.ga[4]&&(this.GP(a,b,c),e=e&&this.uc(4));this.ga[5]&&(this.sF(a,c,5),e=e&&this.uc(5));this.ga[6]&&(this.GH(a,c,b,6),e=e&&this.uc(6));this.ga[7]&&(this.sF(a,b,7),e=e&&this.uc(7));return e};b.prototype.mv=function(a,b){this.H[0]=-1;this.H[1]=-1;this.H[3]=-1;this.H[4]=-1;this.Ds(a,this.ga[2]?2:-1,this.dd.charAt(2),this.ga[5]?5:-1,this.dd.charAt(5));this.Ds(b,this.ga[6]?6:-1,this.dd.charAt(6),this.ga[7]?7:-1,this.dd.charAt(7))};\nb.prototype.Ds=function(a,b,f,e,h){if(-1!=b||-1!=e)(\"T\"!=f&&\"F\"!=f&&-1!=b||\"T\"!=h&&\"F\"!=h&&-1!=e?0!=a.hf():1)?(-1!=b&&(this.H[b]=2),-1!=e&&(this.H[e]=1)):(-1!=e&&(this.H[e]=-1),-1!=b&&(f=new c.h,a.s(f),this.H[b]=0==f.fa()&&0==f.N()?0:1))};b.prototype.Sy=function(a){this.H[2]=2;this.H[3]=-1;this.H[4]=-1;this.H[5]=1;this.H[6]=-1;this.H[7]=-1;this.Ds(a,this.ga[0]?0:-1,this.dd.charAt(0),this.ga[1]?1:-1,this.dd.charAt(1))};b.prototype.mF=function(a){this.Sy(a);b.kL(this.H)};b.prototype.nv=function(a,b){this.H[0]=\n-1;this.H[1]=-1;this.H[3]=-1;this.H[4]=-1;if(this.ga[6]){var f=this.dd.charAt(6),f=\"T\"!=f&&\"F\"!=f?0!=b.Rb():!0;this.H[6]=f?1:0}this.ga[7]&&(f=c.Pi.Rq(b),this.H[7]=f?0:-1);this.Ds(a,this.ga[2]?2:-1,this.dd.charAt(2),this.ga[5]?5:-1,this.dd.charAt(5))};b.prototype.nF=function(a){if(this.ga[0]){var b=this.dd.charAt(0),b=\"T\"!=b&&\"F\"!=b?0!=a.Rb():!0;this.H[0]=b?1:0}this.ga[1]&&(a=c.Pi.Rq(a),this.H[1]=a?0:-1);this.H[2]=2;this.H[3]=-1;this.H[4]=-1;this.H[5]=1;this.H[6]=-1;this.H[7]=-1};b.prototype.ov=function(a){this.H[0]=\n-1;this.H[3]=-1;this.H[6]=0;this.Ds(a,this.ga[2]?2:-1,this.dd.charAt(2),this.ga[5]?5:-1,this.dd.charAt(5))};b.prototype.CP=function(){this.H[0]=0;this.H[2]=2;this.H[3]=-1;this.H[5]=1;this.H[6]=-1};b.prototype.dI=function(a,b){this.H[0]=-1;this.H[1]=-1;this.H[3]=-1;this.H[4]=-1;if(this.ga[2]){var f=this.dd.charAt(2),f=\"T\"!=f&&\"F\"!=f?0!=a.Rb():!0;this.H[2]=f?1:0}this.ga[5]&&(f=c.Pi.Rq(a),this.H[5]=f?0:-1);this.ga[6]&&(f=this.dd.charAt(6),f=\"T\"!=f&&\"F\"!=f?0!=b.Rb():!0,this.H[6]=f?1:0);this.ga[7]&&(f=\nc.Pi.Rq(b),this.H[7]=f?0:-1)};b.prototype.HA=function(a){this.H[0]=-1;this.H[3]=-1;if(this.ga[2]){var b=this.dd.charAt(2),b=\"T\"!=b&&\"F\"!=b?0!=a.Rb():!0;this.H[2]=b?1:0}this.ga[5]&&(a=c.Pi.Rq(a),this.H[5]=a?0:-1);this.H[6]=0};b.prototype.GJ=function(){this.H[0]=-1;this.H[2]=0;this.H[6]=0};b.prototype.BP=function(a,b,c){var e=!0;this.ga[0]&&(this.zU(a,b),e=e&&this.uc(0));this.ga[1]&&(this.vU(a,b,c,this.Fh),e=e&&this.uc(1));this.ga[2]&&(this.wU(a,b),e=e&&this.uc(2));this.ga[3]&&(this.KP(a,b,c,this.Fh),\ne=e&&this.uc(3));this.ga[4]&&(this.HP(a,b,c,this.Fh),e=e&&this.uc(4));this.ga[5]&&(this.IP(a,b,c),e=e&&this.uc(5));this.ga[6]&&(this.eS(a,b),e=e&&this.uc(6));this.ga[7]&&(this.dS(a,b,c,this.Fh),e=e&&this.uc(7));return e};b.prototype.oV=function(a,b,c){var e=!0;this.ga[0]&&(this.CU(a,b,c,this.xi,this.Fh),e=e&&this.uc(0));this.ga[1]&&(this.HH(a,b,c,this.xi,this.Fh,1),e=e&&this.uc(1));this.ga[2]&&(this.IH(a,b,c,2),e=e&&this.uc(2));this.ga[3]&&(this.HH(a,c,b,this.Fh,this.xi,3),e=e&&this.uc(3));this.ga[4]&&\n(this.MP(a,b,c,this.xi,this.Fh),e=e&&this.uc(4));this.ga[5]&&(this.tF(a,c,this.xi,5),e=e&&this.uc(5));this.ga[6]&&(this.IH(a,c,b,6),e=e&&this.uc(6));this.ga[7]&&(this.tF(a,b,this.Fh,7),e=e&&this.uc(7));return e};b.prototype.oF=function(a,b,c){var e=!0;this.ga[0]&&(this.AU(a,b),e=e&&this.uc(0));this.ga[2]&&(this.xU(a,b),e=e&&this.uc(2));this.ga[3]&&(this.LP(a,b,c),e=e&&this.uc(3));this.ga[5]&&(this.JP(a,b),e=e&&this.uc(5));this.ga[6]&&(this.fS(a,b),e=e&&this.uc(6));return e};b.prototype.eI=function(a,\nb,c){var e=!0;this.ga[0]&&(this.DU(a,b,c,this.xi),e=e&&this.uc(0));this.ga[2]&&(this.BU(a,c),e=e&&this.uc(2));this.ga[3]&&(this.OP(a,b,c,this.xi),e=e&&this.uc(3));this.ga[5]&&(this.NP(a,b,c,this.xi),e=e&&this.uc(5));this.ga[6]&&(this.gS(a,b,c),e=e&&this.uc(6));return e};b.prototype.GW=function(a,b,c){var e=!0;this.ga[0]&&(this.EU(a,b,c),e=e&&this.uc(0));this.ga[2]&&(this.JH(a,b,c,2),e=e&&this.uc(2));this.ga[6]&&(this.JH(a,c,b,6),e=e&&this.uc(6));return e};b.prototype.yU=function(a,b,c){2!=this.H[0]&&\n(a=this.i.Ff(a),0!=(a&b)&&0!=(a&c)&&(this.H[0]=2))};b.prototype.FH=function(a,b,c){if(1!=this.H[c]){var e=this.i.Ff(this.i.Aa(a));0!=(this.i.Ff(a)&b)&&0!=(e&b)&&(this.H[c]=1)}};b.prototype.GH=function(a,b,c,e){2!=this.H[e]&&(a=this.i.Ff(a),0!=(a&b)&&0==(a&c)&&(this.H[e]=2))};b.prototype.GP=function(a,b,c){if(1!=this.H[4]){var e=this.i.Ah(a);0!=(e&b)&&0!=(e&c)?this.H[4]=1:0!=this.H[4]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)&&(a=this.i.Md(this.i.Xf(a)),0!=(a&b)&&0!=(a&c)&&(this.H[4]=0))}};b.prototype.sF=\nfunction(a,b,c){if(1!=this.H[c]){var e=this.i.Ff(this.i.Aa(a));0==(this.i.Ff(a)&b)&&0==(e&b)&&(this.H[c]=1)}};b.prototype.zU=function(a,b){if(1!=this.H[0]){var c=this.i.Ff(this.i.Aa(a));0!=(this.i.Ff(a)&b)&&0!=(c&b)&&(this.H[0]=1)}};b.prototype.vU=function(a,b,c,e){if(0!=this.H[1]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)){var h=this.i.Xf(a),g=this.i.Md(h);0==(g&b)&&0!=(this.i.Ff(a)&b)&&(a=this.i.Hg(h,e),0!=(g&c)&&0!=a%2&&(this.H[1]=0))}};b.prototype.wU=function(a,b){2!=this.H[2]&&0!=(this.i.Ah(a)&\nb)&&(this.H[2]=2)};b.prototype.KP=function(a,b,c,e){if(1!=this.H[3]){var h=this.i.Ah(a);0!=(h&b)&&0!=(h&c)?this.H[3]=1:0!=this.H[3]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)&&(h=this.i.Xf(a),a=this.i.Md(h),0!=(a&b)&&(b=this.i.Hg(h,e),0!=(a&c)&&0==b%2&&(this.H[3]=0)))}};b.prototype.HP=function(a,b,c,e){if(0!=this.H[4]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)){var h=this.i.Xf(a);a=this.i.Md(h);0!=(a&b)&&(b=this.i.Hg(h,e),0!=(a&c)&&0!=b%2&&(this.H[4]=0))}};b.prototype.IP=function(a,b,c){1!=\nthis.H[5]&&(a=this.i.Ah(a),0!=(a&b)&&0==(a&c)&&(this.H[5]=1))};b.prototype.eS=function(a,b){if(1!=this.H[6]){var c=this.i.Ff(this.i.Aa(a));0==(this.i.Ff(a)&b)&&0==(c&b)&&(this.H[6]=1)}};b.prototype.dS=function(a,b,c,e){if(0!=this.H[7]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)){var h=this.i.Xf(a),g=this.i.Md(h);0==(g&b)&&0==(this.i.Ff(a)&b)&&(a=this.i.Hg(h,e),0!=(g&c)&&0!=a%2&&(this.H[7]=0))}};b.prototype.CU=function(a,b,c,e,h){if(1!=this.H[0]){var g=this.i.Ah(a);0!=(g&b)&&0!=(g&c)?this.H[0]=\n1:0!=this.H[0]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)&&(a=this.i.Xf(a),g=this.i.Md(a),0!=(g&b)&&0!=(g&c)&&(b=this.i.Hg(a,e),h=this.i.Hg(a,h),0==b%2&&0==h%2&&(this.H[0]=0)))}};b.prototype.HH=function(a,b,c,e,h,g){if(0!=this.H[g]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)){a=this.i.Xf(a);var k=this.i.Md(a);0!=(k&b)&&0!=(k&c)&&(b=this.i.Hg(a,e),h=this.i.Hg(a,h),0==b%2&&0!=h%2&&(this.H[g]=0))}};b.prototype.IH=function(a,b,c,e){1!=this.H[e]&&(a=this.i.Ah(a),0!=(a&b)&&0==(a&c)&&(this.H[e]=1))};\nb.prototype.MP=function(a,b,c,e,h){if(0!=this.H[4]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)){a=this.i.Xf(a);var g=this.i.Md(a);0!=(g&b)&&0!=(g&c)&&(b=this.i.Hg(a,e),h=this.i.Hg(a,h),0!=b%2&&0!=h%2&&(this.H[4]=0))}};b.prototype.tF=function(a,b,c,e){0!=this.H[e]&&1!=this.i.Kb(this.i.Te(this.i.Aa(a)),this.vj)&&(a=this.i.Xf(a),0==(this.i.Md(a)&b)&&0!=this.i.Hg(a,c)%2&&(this.H[e]=0))};b.prototype.AU=function(a,b){0!=this.H[0]&&0==(this.i.Md(a)&b)&&0!=(this.i.Ik(this.i.Lz(a))&b)&&(this.H[0]=0)};b.prototype.xU=\nfunction(a,b){2!=this.H[2]&&0!=(this.i.Md(a)&b)&&(this.H[2]=2)};b.prototype.LP=function(a,b,c){0!=this.H[3]&&(a=this.i.Md(a),0!=(a&b)&&0!=(a&c)&&(this.H[3]=0))};b.prototype.JP=function(a,b){1!=this.H[5]&&0!=(this.i.Md(a)&b)&&(this.H[5]=1)};b.prototype.fS=function(a,b){0!=this.H[6]&&0==(this.i.Md(a)&b)&&0==(this.i.Ik(this.i.Lz(a))&b)&&(this.H[6]=0)};b.prototype.DU=function(a,b,c,e){if(0!=this.H[0]){var h=this.i.Md(a);0!=(h&b)&&0!=(h&c)&&0==this.i.Hg(a,e)%2&&(this.H[0]=0)}};b.prototype.BU=function(a,\nb){1!=this.H[2]&&(-1!=this.i.kf(a)?this.H[2]=1:0!=this.H[2]&&0==(this.i.Md(a)&b)&&(this.H[2]=0))};b.prototype.OP=function(a,b,c,e){if(0!=this.H[3]){var h=this.i.Md(a);0!=(h&b)&&0!=(h&c)&&0!=this.i.Hg(a,e)%2&&(this.H[3]=0)}};b.prototype.NP=function(a,b,c,e){if(0!=this.H[5]){var h=this.i.Md(a);0!=(h&b)&&0==(h&c)&&0!=this.i.Hg(a,e)%2&&(this.H[5]=0)}};b.prototype.gS=function(a,b,c){0!=this.H[6]&&(a=this.i.Md(a),0==(a&b)&&0!=(a&c)&&(this.H[6]=0))};b.prototype.EU=function(a,b,c){0!=this.H[0]&&(a=this.i.Md(a),\n0!=(a&b)&&0!=(a&c)&&(this.H[0]=0))};b.prototype.JH=function(a,b,c,e){0!=this.H[e]&&(a=this.i.Md(a),0!=(a&b)&&0==(a&c)&&(this.H[e]=0))};b.prototype.tq=function(a,b){var f=!1,e=this.i.Ia(a),h=this.i.Ia(b);this.vj=this.i.xh();for(var g=this.i.rf;-1!=g;g=this.i.og(g)){var k=this.i.kf(g);if(-1==k){if(-1!=this.Fn)switch(this.Fn){case 3:f=this.oF(g,e,h);break;case 4:f=this.eI(g,e,h);break;default:throw c.g.X(\"internal error\");}}else{var m=k;do{var n=m;if(1!=this.i.Kb(n,this.vj)){do{switch(this.jx){case 0:f=\nthis.AP(n,e,h);break;case 1:f=this.BP(n,e,h);break;case 2:f=this.oV(n,e,h);break;default:throw c.g.X(\"internal error\");}if(f)break;this.i.Ob(n,this.vj,1);n=this.i.qc(n)}while(n!=m&&!f)}if(f)break;m=this.i.qc(this.i.Aa(n))}while(m!=k);if(f)break}}f||this.LK();this.i.ni(this.vj)};b.prototype.lz=function(a,b){for(var f=!1,e=this.i.Ia(a),h=this.i.Ia(b),g=this.i.rf;-1!=g;g=this.i.og(g)){switch(this.Fn){case 3:f=this.oF(g,e,h);break;case 4:f=this.eI(g,e,h);break;case 5:f=this.GW(g,e,h);break;default:throw c.g.za();\n}if(f)break}f||this.LK()};b.prototype.Yr=function(a,b){this.i.Wr(a,b)};b.prototype.Fp=function(a,b,c){this.WR(a,b,c);this.Yr(a,c)};b.prototype.WR=function(a,b,f){c.sk.V(a,b,f,!1);a.zq(0,!0,!0);for(b=a.sd;-1!=b;b=a.Ue(b))1736==a.hc(b)&&c.lo.V(a,b,-1,!1,f)};b.cG=function(a,b){var f=a.G();if(c.T.Oc(f))return f=new c.Ua(a.description),f.dc(a,!0),f;if(197==f){f=new c.h;a.s(f);if(f.fa()<=b&&f.N()<=b)return f=new c.Wa(a.description),a.Wf(f),f;if(f.fa()<=b||f.N()<=b){var f=new c.Ua(a.description),e=new c.Wa;\na.ig(0,e);f.Rf(e);a.ig(2,e);f.lineTo(e);return f}f=new c.Ja(a.description);f.jd(a,!1);return f}return a};return b}();c.Nm=n})(r||(r={}));(function(c){var n=function(){function a(a){this.sn=new c.ia(0);this.Rw=new c.ia(0);this.mu=new c.b;this.nu=new c.b;this.a=a;this.Dt=-1}a.prototype.ic=function(a){return this.a.ic(this.kA(a))};a.prototype.ow=function(a){var b=this.Sz(a);a=this.SG(a);if(this.a.Ra(b)==a){var c=b,b=a;a=c}this.a.Nc(b,this.mu);this.a.Nc(a,this.nu);return this.mu.y<this.nu.y};a.prototype.kA=\nfunction(a){var b=this.Sz(a);a=this.SG(a);return this.a.U(b)==a?b:a};a.prototype.Sz=function(a){return this.sn.get(a)};a.prototype.SG=function(a){return this.Rw.get(a)};a.prototype.CG=function(a){this.sn.set(a,this.Dt);this.Dt=a};a.prototype.wJ=function(a){if(-1!=this.Dt){var b=this.Dt;this.Dt=this.sn.get(b);this.sn.set(b,a);this.Rw.set(b,this.a.U(a));return b}null==this.sn&&(this.sn=new c.ia(0),this.Rw=new c.ia(0));b=this.sn.size;this.sn.add(a);this.Rw.add(this.a.U(a));return b};a.prototype.dA=function(a){return this.a.ld(this.Sz(a))};\nreturn a}();c.LZ=n;var g=function(){function a(a){this.bf=a;this.Fe=new c.Hb;this.An=new c.Hb;this.SI=0;this.op=null;this.fB=-1}a.prototype.compare=function(a,b,c){c=a.ja(c);var h=this.bf.ib,g;this.fB==b?g=this.SI:(this.op=h.ic(b),null==this.op?(a=h.a,a.pd(h.kA(b),this.Fe),this.op=this.Fe,g=this.Fe.pf(this.bf.Wh,0)):g=this.op.pf(this.bf.Wh,0),this.SI=g,this.fB=b);a=h.ic(c);var k;null==a?(a=h.a,a.pd(h.kA(c),this.An),a=this.An,k=this.An.pf(this.bf.Wh,0)):k=a.pf(this.bf.Wh,0);g==k&&(b=h.ow(b),c=h.ow(c),\nc=Math.min(b?this.op.oa:this.op.ra,c?a.oa:a.ra),b=.5*(c+this.bf.Wh),b==this.bf.Wh&&(b=c),g=this.op.pf(b,0),k=a.pf(b,0));return g<k?-1:g>k?1:0};a.prototype.reset=function(){this.fB=-1};return a}(),b=function(){function a(){this.Kn=this.jm=null;this.hb=new c.uk;this.hb.PR();this.we=new g(this);this.hb.Ep(this.we)}a.prototype.zS=function(){var a=!1;this.Vw&&(a=this.AS());if(1==this.a.aa(this.Y)){var b=this.a.Pb(this.Y),a=this.a.hA(b);this.a.pC(b,!0);return 0>a?(a=this.a.cb(b),this.a.fK(a),this.a.sh(b,\nthis.a.Ra(a)),!0):!1}this.hm=this.a.rz();this.kp=this.a.rz();for(b=this.a.Pb(this.Y);-1!=b;b=this.a.Sb(b))this.a.$r(b,this.hm,0),this.a.$r(b,this.kp,-1);b=new c.ia(0);this.Wh=NaN;var e=new c.b;this.Xt=this.a.aa(this.Y);this.fp=this.a.Vd();this.Mt=this.a.Vd();for(var h=this.jm.xc(this.jm.Ge);-1!=h;h=this.jm.nb(h)){var g=this.jm.getData(h);this.a.Nc(g,e);e.y!=this.Wh&&0!=b.size&&(a=this.ju(b)||a,this.we.reset(),b.clear(!1));b.add(g);this.Wh=e.y;if(0==this.Xt)break}0<this.Xt&&(a=this.ju(b)||a,b.clear(!1));\nthis.a.le(this.fp);this.a.le(this.Mt);for(b=this.a.Pb(this.Y);-1!=b;)if(3==this.a.Tj(b,this.hm)){this.a.pC(b,!0);e=b;for(b=this.a.Tj(b,this.kp);-1!=b;)h=this.a.Tj(b,this.kp),this.a.YV(this.Y,this.a.Sb(e),b),e=b,b=h;b=this.a.Sb(e)}else this.a.pC(b,!1),b=this.a.Sb(b);this.a.cC(this.hm);this.a.cC(this.kp);return a};a.prototype.ju=function(a){return this.TW(a)};a.prototype.TW=function(a){var b=!1;null==this.ib&&(this.ib=new n(this.a));null==this.Kn?(this.Kn=new c.ia(0),this.Kn.yb(16)):this.Kn.clear(!1);\nthis.SW(a);for(var e=0,h=a.size;e<h;e++){var g=a.get(e);-1!=g&&this.CH(g,-1)}for(e=0;e<this.Kn.size&&0<this.Xt;e++)if(a=this.Kn.get(e),g=this.ib.dA(this.hb.ja(a)),h=-1,0==this.a.Tj(g,this.hm)){for(var g=this.hb.Ve(a),k=a,m;-1!=g;){var r=this.hb.ja(g),p=this.ib.dA(r),q=this.a.Tj(p,this.hm);if(0!=q){h=p;break}k=g;g=this.hb.Ve(g)}-1==g?(m=!0,g=k):(r=this.hb.ja(g),m=this.ib.ow(r),g=this.hb.nb(g),m=!m);do{r=this.hb.ja(g);p=this.ib.dA(r);q=this.a.Tj(p,this.hm);if(0==q&&(m!=this.ib.ow(r)&&(b=this.a.cb(p),\nthis.a.fK(b),this.a.sh(p,this.a.Ra(b)),b=!0),this.a.$r(p,this.hm,m?3:2),m||(k=this.a.Tj(h,this.kp),this.a.$r(h,this.kp,p),this.a.$r(p,this.kp,k)),this.Xt--,0==this.Xt))return b;h=p;k=g;g=this.hb.nb(g);m=!m}while(k!=a)}return b};a.prototype.SW=function(a){for(var b=0,c=a.size;b<c;b++){var h=a.get(b),g=this.a.Sa(h,this.fp),k=this.a.Sa(h,this.Mt);if(-1!=g){var m=this.hb.ja(g);this.ib.CG(m);this.a.Va(h,this.fp,-1)}-1!=k&&(m=this.hb.ja(k),this.ib.CG(m),this.a.Va(h,this.Mt,-1));m=-1;-1!=g&&-1!=k?(this.hb.Kd(g,\n-1),this.hb.Kd(k,-1),a.set(b,-1)):m=-1!=g?g:k;-1!=m&&(this.CH(h,m)||this.hb.Kd(m,-1),a.set(b,-1))}};a.prototype.CH=function(a,b){var e=new c.b,h=new c.b;this.a.Nc(a,e);var g=this.a.U(a);this.a.Nc(g,h);var k=!1;if(e.y<h.y){var k=!0,m=this.ib.wJ(a),n;-1==b?n=this.hb.addElement(m,-1):(n=b,this.hb.kk(n,m));m=this.a.Sa(g,this.fp);-1==m?this.a.Va(g,this.fp,n):this.a.Va(g,this.Mt,n);g=this.a.ld(a);0==this.a.Tj(g,this.hm)&&this.Kn.add(n)}g=this.a.Ra(a);this.a.Nc(g,h);e.y<h.y&&(k=!0,m=this.ib.wJ(g),-1==b?\nn=this.hb.addElement(m,-1):(n=b,this.hb.kk(n,m)),m=this.a.Sa(g,this.fp),-1==m?this.a.Va(g,this.fp,n):this.a.Va(g,this.Mt,n),g=this.a.ld(a),0==this.a.Tj(g,this.hm)&&this.Kn.add(n));return k};a.V=function(b,c,e,h){var g=new a;g.a=b;g.Y=c;g.jm=e;g.Vw=h;return g.zS()};a.prototype.AS=function(){var a=new c.ia(0),b=new c.ia(0),e=-1,h=-1,g=new c.b;g.$c();for(var k=-1,m=-1,n=-1,p=new c.b,q=this.jm.xc(this.jm.Ge);-1!=q;q=this.jm.nb(q)){var t=this.jm.getData(q);this.a.Nc(t,p);var r=this.a.ld(t);g.ub(p)&&m==\nr?(-1==h&&(e=this.a.rz(),h=this.a.Vd()),-1==n&&(n=b.size,this.a.Va(k,h,n),b.add(1),-1==this.a.Tj(r,e)&&(this.a.$r(r,e,k),a.add(r))),this.a.Va(t,h,n),b.CK(b.Fc()+1)):(n=-1,g.L(p));k=t;m=r}if(0==a.size)return!1;g=new c.ia(0);k=new c.ia(0);m=0;for(n=a.size;m<n;m++){var r=a.get(m),z=this.a.Tj(r,e),t=this.a.Sa(z,h);g.clear(!1);k.clear(!1);g.add(z);k.add(t);for(t=this.a.U(z);t!=z;t=this.a.U(t)){var v=t,p=this.a.Sa(v,h);if(-1!=p)if(0==k.size)k.add(p),g.add(v);else if(k.Fc()==p){var q=g.Fc(),x=this.a.U(q),\nz=this.a.U(v);this.a.Kc(q,z);this.a.Lc(z,q);this.a.Kc(v,x);this.a.Lc(x,v);v=[!1];x=this.a.BH(this.Y,x,this.a.cb(r),v);this.a.Va(t,h,-1);v[0]&&this.a.jg(r,z);t=this.a.La(r);z=this.a.La(x);t-=z;this.a.nk(r,t);b.set(p,b.get(p)-1);1==b.get(p)&&(b.set(p,0),k.Pf(),g.Pf());t=z=q}else g.add(t),k.add(p)}}this.a.cC(e);this.a.le(h);return!0};return a}();c.TN=b})(r||(r={}));(function(c){var n=function(){function g(){}g.prototype.Cg=function(){this.vB=this.wb=null};g.prototype.get=function(){return this.vB};g.prototype.set=\nfunction(b){this.vB=b;if(null!=b)throw 322==b.G()&&(this.wb=b),c.g.za();};g.prototype.create=function(b){if(322==b)this.Js();else throw c.g.X(\"Not Implemented\");};g.prototype.Js=function(){null==this.wb&&(this.wb=new c.Hb);this.vB=this.wb};return g}();c.Cg=n})(r||(r={}));(function(c){c=c.YN||(c.YN={});c[c.enumLineSeg=1]=\"enumLineSeg\";c[c.enumBezierSeg=2]=\"enumBezierSeg\";c[c.enumArcSeg=4]=\"enumArcSeg\";c[c.enumNonlinearSegmentMask=6]=\"enumNonlinearSegmentMask\";c[c.enumSegmentMask=7]=\"enumSegmentMask\";\nc[c.enumDensified=8]=\"enumDensified\"})(r||(r={}));(function(c){var n=function(){return function(b){this.zj=b;this.TC=this.UC=1;this.UB=this.TB=this.VB=0}}(),g=function(){function b(){this.vr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.dl=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.cg=new c.Wa;this.ta=this.sx=0;this.$o=[];this.Ut=[];this.mx=[];this.yr=[];this.sB=[]}b.prototype.XB=function(a){if(null!=a){for(var b=0,c=a.length;b<c;b++)this.rX(a[b]);a.length=0}};b.prototype.rX=function(a){a.zj=null;this.yr.push(a)};\nb.prototype.Ax=function(a){if(0===this.yr.length)var b=new n(a);else b=this.yr[this.yr.length-1],b.zj=a,this.yr.length=this.yr.length-1;return b};b.prototype.MT=function(a,b){return 0==a?this.Ut[b]:this.mx[b]};b.prototype.HB=function(){this.sx>=this.sB.length&&this.sB.push(new c.Cg);var a=this.sB[this.sx];this.sx++;return a};b.prototype.clear=function(){this.XB(this.$o);this.XB(this.Ut);this.XB(this.mx);this.sx=0};b.prototype.Ap=function(a){this.$o.push(this.Ax(a))};b.prototype.Rl=function(a){return 0==\na?this.Ut.length:this.mx.length};b.prototype.Mq=function(a,b){return this.MT(a,b).zj};b.prototype.Ma=function(a,b){if(2!=this.$o.length)throw c.g.za();this.ta=a;var f=c.Ub.Yx(.01*a),e=!1,h=this.$o[0],g=this.$o[1];if(b||0!=(h.zj.ys(g.zj,a,!0)&5)){if(322==h.zj.G()){var k=h.zj;if(322==g.zj.G()){var m=g.zj,n=c.Hb.Gy(k,m,null,this.vr,this.dl,a);if(0==n)throw c.Hb.Gy(k,m,null,this.vr,this.dl,a),c.g.za();var p=Array(9);c.J.Nv(p,null);for(var q=0;q<n;q++){var t=this.vr[q],r=this.dl[q],z=h.UB,v=1;0==t?(z=\nh.VB,v=h.UC):1==t&&(z=h.TB,v=h.TC);var x=g.UB,B=1;0==r?(x=g.VB,B=g.UC):1==r&&(x=g.TB,B=g.TC);var y=new c.b;z==x?(z=new c.b,k.gc(t,z),t=new c.b,m.gc(r,t),r=v+B,B/=r,c.Ub.cI(z,t,B,y),c.b.sc(y,z)+c.b.sc(y,t)>f&&(e=!0)):z>x?(k.gc(t,y),t=new c.b,m.gc(r,t),c.b.sc(y,t)>f&&(e=!0)):(m.gc(r,y),z=new c.b,k.gc(t,z),c.b.sc(y,z)>f&&(e=!0));p[q]=y}h=0;g=-1;for(q=0;q<=n;q++)B=q<n?this.vr[q]:1,B!=h&&(f=this.HB(),k.yh(h,B,f),-1!=g&&f.get().Mc(p[g]),q!=n&&f.get().Zc(p[q]),h=B,this.Ut.push(this.Ax(f.get()))),g=q;k=[0,\n0,0,0,0,0,0,0,0];for(q=0;q<n;q++)k[q]=q;1<n&&this.dl[0]>this.dl[1]&&(B=this.dl[0],this.dl[0]=this.dl[1],this.dl[1]=B,q=k[0],k[0]=k[1],k[1]=q);h=0;g=-1;for(q=0;q<=n;q++)B=q<n?this.dl[q]:1,B!=h&&(f=this.HB(),m.yh(h,B,f),-1!=g&&(h=k[g],f.get().Mc(p[h])),q!=n&&(h=k[q],f.get().Zc(p[h])),h=B,this.mx.push(this.Ax(f.get()))),g=q;return e}}throw c.g.za();}return!1};b.prototype.tA=function(a,b,f){b.copyTo(this.cg);if(1!=this.$o.length)throw c.g.za();this.ta=a;var e=this.$o[0];if(f||e.zj.av(b.w(),a,!0))if(322==\ne.zj.G()){a=e.zj;var h=a.pe(b.w(),!1);this.vr[0]=h;var g=e.UB;f=1;0==h?(g=e.VB,f=e.UC):1==h&&(g=e.TB,f=e.TC);e=new c.b;0==g?(g=new c.b,a.gc(h,g),b=b.w(),c.Ub.cI(g,b,1/(f+1),e)):0<g?(e=new c.b,a.gc(h,e)):e=b.w();f=0;h=-1;for(g=0;1>=g;g++){b=1>g?this.vr[g]:1;if(b!=f){var k=this.HB();a.yh(f,b,k);-1!=h&&k.get().Mc(e);1!=g&&k.get().Zc(e);f=b;this.Ut.push(this.Ax(k.get()))}h=g}this.cg.rb(e)}else throw c.g.za();};return b}();c.eE=g})(r||(r={}));(function(c){var n=function(){function g(b){this.zt=this.Tk=\nthis.wb=null;this.gm=this.vf=this.cd=this.Ze=this.Oh=this.Ta=0;this.bb=null;this.Sl=this.mn=!1;this.Ze=-1;this.Oh=this.cd=0;this.Ta=-1;this.bb=b;this.vf=this.ws(this.Oh);this.mn=!1;this.Tk=null;this.gm=-1;this.Sl=!1;this.zt=new c.b}g.$p=function(b,a){if(0>a||a>=b.D())throw c.g.wd();var d=new g(b),f=b.cw(a);d.cd=a-b.wa(f);d.Oh=f+1;d.Ta=f;d.vf=d.ws(d.Ta);d.gm=d.bb.wa(d.Ta);d.Sl=d.bb.Qb(d.Ta);return d};g.Zp=function(b,a,d){if(0>a||a>=b.aa()||0>d)throw c.g.wd();var f=b.Qb(a)?0:1;if(d>=b.La(a)-f)throw c.g.wd();\nb=new g(b);b.Ze=-1;b.cd=d;b.Ta=a;b.Oh=b.cd+1;b.vf=b.ws(b.Oh);b.gm=b.bb.wa(b.Ta);b.Sl=b.bb.Qb(b.Ta);return b};g.prototype.zX=function(b){if(this.bb!=b.bb)throw c.g.Da();this.Ze=b.Ze;this.cd=b.cd;this.Ta=b.Ta;this.Oh=b.Oh;this.vf=b.vf;this.mn=b.mn;this.gm=b.gm;this.Tk=null;this.Sl=b.Sl};g.prototype.ba=function(){this.Ze!=this.cd&&this.RE();if(this.mn)this.cd=(this.cd+1)%this.vf;else{if(this.cd==this.vf)throw c.g.wd();this.cd++}return this.Tk};g.prototype.Li=function(){if(this.mn)this.cd=(this.vf+this.cd-\n1)%this.vf;else{if(0==this.cd)throw c.g.wd();this.cd--}this.cd!=this.Ze&&this.RE();return this.Tk};g.prototype.AX=function(){this.Ze=-1;this.cd=0};g.prototype.BX=function(){this.cd=this.vf;this.Ze=-1};g.prototype.Tb=function(b,a){void 0===a&&(a=-1);if(0<=this.Ta&&this.Ta<this.bb.aa()){var d=this.PO();if(b>=d&&b<this.bb.Gc(this.Ta)){this.Ze=-1;this.cd=b-d;return}}d=0<=a&&a<this.bb.aa()&&b>=this.bb.wa(a)&&b<this.bb.Gc(a)?a:this.bb.cw(b);this.Oh=d+1;this.Ta=d;this.Ze=-1;this.cd=b-this.bb.wa(d);this.vf=\nthis.ws(d);this.gm=this.bb.wa(this.Ta);this.Sl=this.bb.Qb(this.Ta)};g.prototype.Ya=function(){this.Ta=this.Oh;if(this.Ta>=this.bb.aa())return!1;this.Ze=-1;this.cd=0;this.vf=this.ws(this.Ta);this.gm=this.bb.wa(this.Ta);this.Sl=this.bb.Qb(this.Ta);this.Oh++;return!0};g.prototype.yj=function(){this.vf=this.cd=this.Ze=-1;this.Oh=0;this.Ta=-1;this.Sl=!1;this.gm=-1};g.prototype.fC=function(b){if(0>b)throw c.g.wd();this.Oh=b;this.gm=this.vf=this.cd=this.Ze=this.Ta=-1;this.Sl=!1};g.prototype.ws=function(b){if(this.bb.Hc())return 0;\nvar a=1;this.bb.Qb(b)&&(a=0);return this.bb.La(b)-a};g.prototype.Fo=function(){return this.Ze==this.vf-1&&this.bb.Qb(this.Ta)};g.prototype.kC=function(){this.mn=!0};g.prototype.Db=function(){return this.bb.kb.f[this.Ta]+this.Ze};g.prototype.PO=function(){return this.bb.wa(this.Ta)};g.prototype.Jk=function(){return this.Fo()?this.bb.wa(this.Ta):this.Db()+1};g.prototype.jn=function(){return 0==this.Ze};g.prototype.Io=function(){return this.Ze==this.vf-1};g.prototype.Ea=function(){return this.cd<this.vf};\ng.prototype.pA=function(){return 0<this.cd};g.prototype.Vf=function(){var b=new g(this.bb);b.Ze=this.Ze;b.cd=this.cd;b.vf=this.vf;b.Ta=this.Ta;b.Oh=this.Oh;b.bb=this.bb;b.mn=this.mn;return b};g.prototype.RE=function(){if(0>this.cd||this.cd>=this.vf)throw c.g.wd();this.Ze=this.cd;var b=this.Db();this.bb.wc();var a=this.bb.cf,d=1;null!=a&&(d=a.read(b)&7);a=this.bb.description;switch(d){case 1:null==this.wb&&(this.wb=new c.Hb);this.Tk=this.wb;break;case 2:throw c.g.X(\"internal error\");case 4:throw c.g.za();\ndefault:throw c.g.za();}this.Tk.Fg(a);d=this.Jk();this.bb.Nc(b,this.zt);this.Tk.Mc(this.zt);this.bb.Nc(d,this.zt);this.Tk.Zc(this.zt);for(var f=1,e=a.Ga;f<e;f++)for(var h=a.rd(f),g=c.ma.Xa(h),k=0;k<g;k++){var m=this.bb.Yc(h,b,k);this.Tk.Tx(h,k,m);m=this.bb.Yc(h,d,k);this.Tk.Lx(h,k,m)}};g.prototype.UU=function(){return this.Ta==this.bb.aa()-1};g.prototype.Go=function(){var b=this.bb.PT();return null!=b?1!=(b.read(this.Ze)&7):!1};return g}();c.ZN=n})(r||(r={}));(function(c){var n=function(){function g(b){b instanceof\nc.T?(this.JI=b,this.Ca=-1,this.dj=1):(this.wV=b.slice(0),this.Ca=-1,this.dj=b.length)}g.prototype.Ia=function(){return this.Ca};g.prototype.next=function(){return this.Ca<this.dj-1?(this.Ca++,null!=this.JI?this.JI:this.wV[this.Ca]):null};g.prototype.Re=function(){return!0};return g}();c.hd=n})(r||(r={}));(function(c){var n=function(){return function(){this.next=null}}(),g=function(){function b(){this.Mr=this.wx=this.xx=this.Qk=this.ai=0;this.vG=!1;this.XK=0;this.Xn=this.kg=this.Em=this.hi=null;this.tm=\n0;this.az=null;this.Qk=this.ai=-1}b.prototype.wY=function(a,b,f){this.ai=a;this.Qk=b;this.hi=this.Em=null;this.Mr=0;this.az=f;null==this.Xn&&(this.Xn=c.J.gf(384,0));this.$K()};b.prototype.N=function(){return this.ai};b.prototype.fa=function(){return this.Qk};b.prototype.flush=function(){0<this.tm&&(this.az.qG(this.Xn,this.tm),this.tm=0)};b.prototype.$K=function(){if(0<this.Mr){for(var a=0;a<this.Qk;a++){for(var b=this.Em[a];null!=b;){var c=b,b=b.next;c.next=null}this.Em[a]=null}this.hi=null}this.xx=\nthis.Qk;this.wx=-1;this.Mr=0};b.prototype.YJ=function(a){this.vG=a==b.py;for(a=this.xx;a<=this.wx;a++)this.tP(),this.kP(a),this.ZR();this.$K()};b.prototype.Qy=function(a,b,f,e){if(b!=e){var h=1;b>e&&(h=a,a=f,f=h,h=b,b=e,e=h,h=-1);if(!(0>e||b>=this.Qk)){0>a&&0>f?f=a=-1:a>=this.ai&&f>=this.ai&&(f=a=this.ai);var g=(f-a)/(e-b);e>this.Qk&&(e=this.Qk,f=g*(e-b)+a);0>b&&(a=g*(0-b)+a,b=0);var k=Math.max(this.ai+1,8388607);-8388607>a?(b=(0-a)/g+b,a=0):a>k&&(b=(this.ai-a)/g+b,a=this.ai);-8388607>f?e=(0-a)/g+\nb:f>k&&(e=(this.ai-a)/g+b);b=c.J.truncate(b);e=c.J.truncate(e);b!=e&&(f=new n,f.x=c.J.truncate(4294967296*a),f.y=b,f.B=e,f.TR=c.J.truncate(4294967296*g),f.dir=h,null==this.Em&&(this.Em=c.J.gf(this.Qk,null)),f.next=this.Em[f.y],this.Em[f.y]=f,f.y<this.xx&&(this.xx=f.y),f.B>this.wx&&(this.wx=f.B),this.Mr++)}}};b.prototype.tP=function(){if(null!=this.hi){for(var a=!1,b=null,c=this.hi;null!=c;)if(c.y++,c.y==c.B){var e=c,c=c.next;null!=b?b.next=c:this.hi=c;e.next=null}else c.x+=c.TR,null!=b&&b.x>c.x&&\n(a=!0),b=c,c=c.next;a&&(this.hi=this.WK(this.hi))}};b.prototype.kP=function(a){if(!(a>=this.Qk)){var b=this.Em[a];if(null!=b){this.Em[a]=null;b=this.WK(b);this.Mr-=this.XK;a=this.hi;for(var c=!0,e=b,h=null;null!=a&&null!=e;)a.x>e.x?(c&&(this.hi=e),c=e.next,e.next=a,null!=h&&(h.next=e),h=e,e=c):(c=a.next,a.next=e,null!=h&&(h.next=a),h=a,a=c),c=!1;null==this.hi&&(this.hi=b)}}};b.xG=function(a,b){return 0>a?0:a>b?b:a};b.prototype.ZR=function(){if(null!=this.hi)for(var a=0,d=this.hi,f=c.J.truncate(c.J.gI(d.x)),\ne=d.next;null!=e;e=e.next)if(a=this.vG?a^1:a+e.dir,e.x>d.x){var h=c.J.truncate(c.J.gI(e.x));0!=a&&(d=b.xG(f,this.ai),f=b.xG(h,this.ai),f>d&&d<this.ai&&(this.Xn[this.tm++]=d,this.Xn[this.tm++]=f,this.Xn[this.tm++]=e.y,this.tm==this.Xn.length&&(this.az.qG(this.Xn,this.tm),this.tm=0)));d=e;f=h}};b.prototype.WK=function(a){for(var d=0,f=a;null!=f;f=f.next)d++;this.XK=d;if(1==d)return a;null==this.kg?this.kg=c.J.gf(Math.max(d,16),null):this.kg.length<d&&(this.kg=c.J.gf(Math.max(d,2*this.kg.length),null));\nfor(var e=0,f=a;null!=f;f=f.next)this.kg[e++]=f;2==d?this.kg[0].x>this.kg[1].x&&(a=this.kg[0],this.kg[0]=this.kg[1],this.kg[1]=a):b.VM(this.kg,d,function(a,b){return a==b?0:a.x<b.x?-1:a.x>b.x?1:0});a=this.kg[0];this.kg[0]=null;f=a;for(e=1;e<d;e++)f.next=this.kg[e],f=this.kg[e],this.kg[e]=null;f.next=null;return a};b.VM=function(a,b,c){if(b==a.length)a.sort(c);else{var e=a.slice(0,0),h=a.slice(b);b=a.slice(0,b).sort(c);a.length=0;a.push.apply(a,e.concat(b).concat(h))}};b.py=0;b.L_=1;return b}();c.zy=\ng})(r||(r={}));(function(c){var n=function(){function g(){}g.prototype.Ri=function(b,a){var d=this.a.Sa(b,this.Gr);this.fm==d&&(this.fm=this.Me.nb(this.fm));this.Vo==d&&(this.Vo=this.Me.nb(this.Vo));this.Me.kd(this.xB,d);this.zk(b);if(a&&(d=this.a.ld(b),-1!=d&&this.a.cb(d)==b)){var c=this.a.U(b);if(c!=b){var e=this.a.ld(c);if(e==d){this.a.jg(d,c);return}c=this.a.Ra(b);if(c!=b&&(e=this.a.ld(c),e==d)){this.a.jg(d,c);return}}this.a.jg(d,-1);this.a.sh(d,-1)}};g.prototype.HE=function(){for(var b=!1,a=\n0,d=new c.b;;){a++;null==this.vi?(this.vi=new c.ia(0),this.vt=new c.ia(0),this.Xe=new c.ia(0)):(this.vi.clear(!1),this.vt.clear(!1),this.Xe.clear(!1));for(var f=this.Vo,e=0,h=!0;f!=this.fm;){var g=this.Me.getData(f),k=new c.b;this.a.Nc(g,k);h&&(this.a.Nc(g,d),h=!1);var k=this.a.Ra(g),m=this.a.U(g);-559038737!=this.a.Sa(k,this.Ug)&&(this.vi.add(k),this.a.Va(k,this.Ug,-559038737),this.vt.add(g),this.Xe.add(e++));-559038737!=this.a.Sa(m,this.Ug)&&(this.vi.add(m),this.a.Va(m,this.Ug,-559038737),this.vt.add(g),\nthis.Xe.add(e++));f=this.Me.nb(f)}if(2>this.vi.size)break;var n=this;this.Xe.Gd(0,this.Xe.size,function(a,b){return n.HO(a,b)});f=0;for(e=this.Xe.size;f<e;f++)h=this.Xe.get(f),h=this.vi.get(h),this.a.Va(h,this.Ug,f),k=new c.b,this.a.Nc(h,k);k=this.TO(d);f=0;for(e=this.Xe.size;f<e;f++)h=this.Xe.get(f),-1!=h&&(h=this.vi.get(h),this.a.Va(h,this.Ug,-1));if(k)b=!0;else break}return b};g.prototype.TO=function(b){for(var a=!1,d=!0;d;){var d=!1,c=0;-1==this.Xe.get(c)&&(c=this.Pm(c));for(var e=this.Pm(c),\nh=0,g=this.Xe.size;h<g&&-1!=c&&-1!=e&&c!=e;h++){var k=this.Xe.get(c),e=this.Xe.get(e),k=this.vi.get(k),e=this.vi.get(e),m=this.a.U(k);this.a.qw(m,b)||(m=this.a.Ra(k));var n=this.a.U(e);this.a.qw(n,b)||(n=this.a.Ra(e));var p=this.Zu(m,k),q=this.Zu(n,e),t=p?this.a.Ra(m):this.a.U(m),r=q?this.a.Ra(n):this.a.U(n),z=!1;this.mq(m)?z=!0:this.mq(n)?z=!0:this.mq(k)?z=!0:this.mq(e)?z=!0:this.mq(t)?z=!0:this.mq(r)&&(z=!0);!z&&this.a.Uq(k,e)&&(z=!0,this.KE(p,q,m,k,n,e));!z&&this.a.Uq(t,r)&&(z=!0,this.KE(!p,!q,\nm,t,n,r));z&&(a=!0);d=d||z;c=this.Pm(c);e=this.Pm(c)}}if(!a)for(c=0,-1==this.Xe.get(c)&&(c=this.Pm(c)),e=this.Pm(c),h=0,g=this.Xe.size;h<g&&-1!=c&&-1!=e&&c!=e;h++)k=this.Xe.get(c),e=this.Xe.get(e),k=this.vi.get(k),e=this.vi.get(e),m=this.a.U(k),this.a.qw(m,b)||(m=this.a.Ra(k)),n=this.a.U(e),this.a.qw(n,b)||(n=this.a.Ra(e)),p=this.Zu(m,k),q=this.Zu(n,e),t=p?this.a.Ra(m):this.a.U(m),r=q?this.a.Ra(n):this.a.U(n),this.LO(p,q,k,m,t,e,n,r)&&(a=!0),c=this.Pm(c),e=this.Pm(c);return a};g.prototype.WO=function(){1736==\nthis.a.hc(this.Y)&&1==this.a.xo(this.Y)&&(new c.Dg).zW(this.Vw,this.a,this.Y,this.ke);var b=!1,a=!0;this.Ug=this.Gr=-1;var d=this.a.D(this.Y),f=new c.ia(0);f.yb(d);for(var e=this.a.Pb(this.Y);-1!=e;e=this.a.Sb(e))for(var h=this.a.cb(e),g=0,k=this.a.La(e);g<k;g++)f.add(h),h=this.a.U(h);var m=this.a.Dd.f,n=this.a.Dd.ed;this.a.xb.wc();var p=this.a.xb.ya[0].f;f.Gd(0,d,function(a,b){var d=m[n*a],c=m[n*b],f=p[2*d],d=p[2*d+1],e=p[2*c],c=p[2*c+1],f=d<c?-1:d>c?1:f<e?-1:f>e?1:0;0==f&&(f=m[n*a+3],c=m[n*b+3],\nf=f<c?-1:f==c?0:1);return f});this.Gr=this.a.Vd();this.Me=new c.Xp;this.xB=this.Me.mi(0);this.Me.Vn(d);for(e=0;e<d;e++)h=f.get(e),g=this.Me.addElement(this.xB,h),this.a.Va(h,this.Gr,g);this.Ug=this.a.Vd();this.fm=-1;for(this.xE()&&(b=!0);a;){a=!1;d=0;f=!1;do{f=!1;this.Vo=-1;for(var k=0,e=new c.b,g=new c.b,q=this.Me.xc(this.xB);-1!=q;)h=this.Me.getData(q),-1!=this.Vo?(this.a.Nc(h,g),e.ub(g))?k++:(e.L(g),this.fm=q,0<k&&(h=this.HE())&&(f=!0,-1!=this.fm&&(h=this.Me.getData(this.fm),this.a.Nc(h,e))),this.Vo=\nq=this.fm,k=0):(this.Vo=q,this.a.Nc(this.Me.getData(q),e),k=0),-1!=q&&(q=this.Me.nb(q));this.fm=-1;0<k&&(h=this.HE())&&(f=!0);if(10<d++)throw c.g.za();f&&this.OO();this.xE()&&(f=!0);a=a||f&&!1;b=b||f}while(f)}this.a.le(this.Gr);this.a.le(this.Ug);return b=c.TN.V(this.a,this.Y,this.Me,this.Vw)||b};g.prototype.Zu=function(b,a){return this.a.U(a)==b?!1:!0};g.prototype.LO=function(b,a,d,c,e,h,g,k){if(c==g)return this.zk(d),this.zk(h),!1;var m=this.a.Sa(d,this.Ug),n=this.a.Sa(e,this.Ug),p=this.a.Sa(h,\nthis.Ug),q=this.a.Sa(k,this.Ug);d=[0,0,0,0,0,0,0,0];var t=[0,0,0,0];d[0]=0;t[0]=m;d[1]=0;t[1]=n;d[2]=1;t[2]=p;d[3]=1;t[3]=q;for(m=1;4>m;m++){n=t[m];p=d[m];for(q=m-1;0<=q&&t[q]>n;)t[q+1]=t[q],d[q+1]=d[q],q--;t[q+1]=n;d[q+1]=p}t=0;0!=d[0]&&(t|=1);0!=d[1]&&(t|=2);0!=d[2]&&(t|=4);0!=d[3]&&(t|=8);if(5!=t&&10!=t)return!1;b==a?b?(this.a.Kc(k,c),this.a.Lc(c,k),this.a.Kc(e,g),this.a.Lc(g,e)):(this.a.Lc(k,c),this.a.Kc(c,k),this.a.Lc(e,g),this.a.Kc(g,e)):b?(this.a.Lc(c,h),this.a.Kc(h,c),this.a.Lc(g,e),this.a.Kc(e,\ng)):(this.a.Kc(c,h),this.a.Lc(h,c),this.a.Kc(g,e),this.a.Lc(e,g));return!0};g.prototype.KE=function(b,a,d,c,e,h){this.C_?this.VO():this.UO(b,a,d,c,e,h)};g.prototype.VO=function(){throw c.g.X(\"not implemented.\");};g.prototype.UO=function(b,a,d,c,e,h){if(b!=a)b?(this.a.Kc(d,e),this.a.Lc(e,d),this.a.Kc(h,c),this.a.Lc(c,h),this.po(e,d),this.Ri(e,!0),this.a.Mi(e,!0),this.zk(d),this.po(h,c),this.Ri(h,!0),this.a.Mi(h,!1)):(this.a.Kc(e,d),this.a.Lc(d,e),this.a.Kc(c,h),this.a.Lc(h,c),this.po(e,d),this.Ri(e,\n!0),this.a.Mi(e,!1),this.zk(d),this.po(h,c),this.Ri(h,!0),this.a.Mi(h,!0)),this.zk(c);else{var g=b?d:c,k=a?e:h;b=b?c:d;a=a?h:e;e=!1;this.a.Kc(g,k);this.a.Kc(k,g);this.a.Lc(b,a);this.a.Lc(a,b);for(h=a;h!=k;)d=this.a.Ra(h),c=this.a.U(h),this.a.Lc(h,c),this.a.Kc(h,d),e=e||h==g,h=c;e||(d=this.a.Ra(k),c=this.a.U(k),this.a.Lc(k,c),this.a.Kc(k,d));this.po(k,g);this.Ri(k,!0);this.a.Mi(k,!1);this.zk(g);this.po(a,b);this.Ri(a,!0);this.a.Mi(a,!1);this.zk(b)}};g.prototype.xE=function(){for(var b=!1,a=this.a.Pb(this.Y);-1!=\na;){for(var d=this.a.cb(a),c=0,e=this.a.La(a);c<e&&1<e;){var h=this.a.Ra(d),g=this.a.U(d);this.a.Uq(h,g)?(b=!0,this.Ri(d,!1),this.a.ud(d,!0),this.Ri(g,!1),this.a.ud(g,!0),d=h,c=0,e=this.a.La(a)):(d=g,c++)}if(2>this.a.La(a)){b=this.a.cb(a);c=0;for(e=this.a.La(a);c<e;c++)this.Ri(b,!1),b=this.a.U(b);a=this.a.Rr(a);b=!0}else a=this.a.Sb(a)}return b};g.prototype.mq=function(b){for(var a=!1;;){var d=this.a.U(b),c=this.a.Ra(b);if(d==b)return this.Ri(b,!0),this.a.Mi(b,!1),!0;if(!this.a.Uq(d,c))break;a=!0;\nthis.zk(c);this.zk(d);this.Ri(b,!0);this.a.Mi(b,!1);this.po(d,c);this.Ri(d,!0);this.a.Mi(d,!0);if(d==c)break;b=c}return a};g.prototype.OO=function(){for(var b=0,a=this.Me.xc(this.Me.Ge);-1!=a;a=this.Me.nb(a)){var d=this.Me.getData(a);this.a.Aj(d,-1)}for(var c=0,e=this.a.Pb(this.Y);-1!=e;)if(a=this.a.cb(e),-1==a||-1!=this.a.ld(a))d=e,e=this.a.Sb(e),this.a.Sr(d);else{this.a.Aj(a,e);for(var h=1,d=this.a.U(a);d!=a;d=this.a.U(d))this.a.Aj(d,e),h++;this.a.Np(e,!1);this.a.nk(e,h);this.a.sh(e,this.a.Ra(a));\nc+=h;b++;e=this.a.Sb(e)}for(a=this.Me.xc(this.Me.Ge);-1!=a;a=this.Me.nb(a))d=this.Me.getData(a),-1==this.a.ld(d)&&(e=this.a.BH(this.Y,d,d,null),c+=this.a.La(e),b++);this.a.wm(this.Y,b);this.a.lk(this.Y,c);b=0;for(c=this.a.sd;-1!=c;c=this.a.Ue(c))b+=this.a.D(c);this.a.AC(b)};g.prototype.Pm=function(b){for(var a=0,d=this.Xe.size-1;a<d;a++)if(b=(b+1)%this.Xe.size,-1!=this.Xe.get(b))return b;return-1};g.prototype.po=function(b,a){var d=this.a.Sa(a,this.Gr),c=this.a.Sa(a,this.Ug);this.a.KC(b,a);this.a.Va(a,\nthis.Gr,d);this.a.Va(a,this.Ug,c)};g.prototype.zk=function(b){var a=this.a.Sa(b,this.Ug);-1!=a&&(this.Xe.set(a,-1),this.a.Va(b,this.Ug,-1))};g.V=function(b,a,d,c,e){var h=new g;h.a=b;h.Y=a;h.eB=d;h.Vw=c;h.ke=e;return h.WO()};g.prototype.HO=function(b,a){var d=this.vi.get(b),f=new c.b;this.a.Nc(d,f);var d=new c.b,e=this.vi.get(a);this.a.Nc(e,d);if(f.ub(d))return 0;var h=this.vt.get(b),e=new c.b;this.a.Nc(h,e);var g=this.vt.get(a),h=new c.b;this.a.Nc(g,h);g=new c.b;g.zc(f,e);f=new c.b;f.zc(d,h);return c.b.vs(g,\nf)};return g}();c.lo=n})(r||(r={}));(function(c){(function(c){c[c.Local=0]=\"Local\";c[c.Geographic=1]=\"Geographic\";c[c.Projected=2]=\"Projected\";c[c.Image=3]=\"Image\";c[c.Unknown=4]=\"Unknown\"})(c.$N||(c.$N={}));(function(c){c[c.Integer32=0]=\"Integer32\";c[c.Integer64=1]=\"Integer64\";c[c.FloatingPoint=2]=\"FloatingPoint\"})(c.KN||(c.KN={}));var n=function(){function g(){this.jq=\"\";this.bv=null;this.yg=0;this.lJ=this.tp=-1;this.Uh=null}g.prototype.yc=function(){return this.yg};g.prototype.Rs=function(){return 0};\ng.prototype.Ss=function(){return 0};g.prototype.Ts=function(){return 0};g.prototype.Qs=function(){return 0};g.prototype.Uz=function(){return 5.7295779513082306E10};g.prototype.Vz=function(){return 1E3};g.prototype.Tz=function(){return 1E3};g.prototype.bt=function(){return 1};g.prototype.re=function(){var b=.001;0!=this.yg?b=c.us.vS(this.yg):null!=this.Uh&&(b=c.pE.wS(this.Uh));return b};g.prototype.mH=function(){return this.Uh};g.prototype.Nd=function(){if(0!=this.yg)return c.oc.ze(c.us.Cz(this.yg));\nif(null!=this.Uh)return c.pE.xS(this.Uh)};g.Fb=function(b){if(0!=b.yg){if(!0===c.us.TU(b.yg))return 1;if(!0===c.us.VU(b.yg))return 2}return 4};g.prototype.$s=function(){var b=this.yc();if(-1!=this.tp)return this.tp;this.tp=c.us.AL(b);return-1!=this.tp?this.tp:b};g.create=function(b){if(0>=b)throw c.g.F(\"Invalid or unsupported wkid: \"+b);var a=new g;a.yg=b;return a};g.qR=function(b){if(null==b||0==b.length)throw c.g.F(\"Cannot create SpatialReference from null or empty text.\");var a=new g;a.Uh=b;return a};\ng.prototype.Eb=function(b){return this==b?!0:null==b||this.constructor!=b.constructor||this.yg!=b.yg||0==this.yg&&this.Uh!==b.Uh?!1:!0};g.QS=function(b,a){var d=Math.PI/180,f=new c.ea;c.qM.TS(b.w().x*d,b.w().y*d,a.w().x*d,a.w().y*d,f);return f.j};g.prototype.toString=function(){return\"[ tol: \"+this.Bo()+\"; wkid: \"+this.yc()+\"; wkt: \"+this.mH()+\"]\"};g.prototype.jc=function(){if(\"\"!==this.jq)return this.jq;var b=this.toString();if(Array.prototype.reduce)return this.jq=\"S\"+b.split(\"\").reduce(function(a,\nb){a=(a<<5)-a+b.charCodeAt(0);return a&a},0);var a=0;if(0===b.length)return\"\";for(var d=0;d<b.length;d++)a=(a<<5)-a+b.charCodeAt(d),a&=a;return this.jq=\"S\"+a};g.prototype.Bo=function(){return this.re(0)};g.prototype.Ao=function(){return null!==this.bv?this.bv:this.bv=c.Ou.wR(this)};g.q_=!0;g.sv=2147483645;g.tv=9007199254740990;return g}();c.Sd=n})(r||(r={}));(function(c){var n=function(g){function b(){g.apply(this,arguments);this.ij=null;this.lp=new c.fE;this.Xw=this.Fr=null}O(b,g);b.wR=function(a){var d=\nnew b;d.yg=a.yg;d.tp=a.tp;d.lJ=a.lJ;d.Uh=a.Uh;if(\"\"!==d.Uh&&null!==d.Uh){a=b.QY(d.Uh);var f=b.mX(d.Uh);d.lp.Ey(a,f,c.ts.Integer64);d.Ky(a);d.yg=a.$s()}else a=b.EX(d.yg),d.Ky(a),d.lp.Ey(a,null,c.ts.Integer64);return d};b.prototype.re=function(a){return this.lp.Bo(a)};b.mX=function(a){if(0>=a.length)throw c.g.F();var d=null;try{d=c.RD.fromString(a)}catch(f){d=null}return null==d?null:b.tD(d,!0)};b.prototype.Ky=function(a){this.Pd=a;this.Fr=this.Pd.Nd()};b.prototype.Jc=function(){return 0==this.Fb()||\n3==this.Fb()?!1:this.Pd.Jc()};b.prototype.UH=function(){return 0==this.Fb()?!1:3==this.Fb()?this.ij.Gk().Jc():this.Pd.Jc()};b.prototype.Kg=function(){return null!=this.Pd?this.Pd.uf:null};b.prototype.bn=function(){return this.Pd.bn()};b.prototype.ee=function(){return this.Pd.ee()};b.prototype.Ch=function(){return null!=this.Pd?this.Pd.fx:NaN};b.prototype.dn=function(){return this.Pd.dn()};b.prototype.Ws=function(){return this.Pd.Ws()};b.prototype.Sj=function(){return this.Pd.Sj()};b.prototype.iU=\nfunction(a){return c.UD.zz(this.Pd,a.Pd)};b.prototype.Mk=function(){return this.Pd.Mk()};b.prototype.Vs=function(){return this.Pd.Vs()};b.prototype.pi=function(){return 3==this.Fb()?this.ij.Gk().pi():this.Pd.pi()};b.prototype.Bh=function(){if(!this.Jc())throw c.g.F(\"!isPannable()\");var a=new c.h;this.Pd.Bh(a);return a};b.prototype.qe=function(){if(!this.Jc())throw c.g.F(\"!isPannable()\");return this.Pd.gp};b.prototype.BT=function(){if(!this.Jc())throw c.g.F(\"!isPannable()\");var a=new c.h;this.Pd.AT(a);\nreturn a};b.prototype.bw=function(){if(!this.Jc())throw c.g.F(\"!isPannable()\");return this.Pd.bw()};b.prototype.aw=function(){if(!this.Jc())throw c.g.F(\"!isPannable()\");return this.Pd.aw()};b.prototype.Xs=function(){return null!=this.ij?this.ij.Gk().Xs():this.Pd.Xs()};b.prototype.ES=function(){return this.Pd.Uv()};b.prototype.jX=function(a){a.assign(this.lp)};b.prototype.Yi=function(){return this.Fr.getUnitFactor()};b.prototype.gA=function(a){return this.lp.gA(a)};b.prototype.kc=function(){var a=\nthis.Fb();if(1==a)return this;if(3==a)return this.ij.Gk().kc();if(0==a)throw c.g.X(\"invalid call\");if(4===a)throw c.g.X(\"invalid call\");if(null!==this.Xw)return this.Xw;a=this.Kg().getGeogcs();if(null==a)throw c.g.za();return this.Xw=b.jG(a,this.lp.bt())};b.jG=function(a,d){if(null==a)throw c.g.F(\"null pointer.\");var f=new b,e;e=b.Pu(a,!0);f.lp.Ey(e,null,d);f.Ky(e);f.yg=e.$s();return f};b.prototype.Fb=function(){var a=this.Kg();if(null!=a)switch(a.getType()){case c.Vc.PE_TYPE_GEOGCS:return 1;case c.Vc.PE_TYPE_PROJCS:return 2}return 4};\nb.prototype.eA=function(a){var b=new c.b;this.Pd.eA(a,b);return b};b.prototype.Uv=function(){return this.Pd.Uv()};b.Pu=function(a,d){var f=a.getCode();if(0>=f&&(f=c.Tf.getCode(a),0<f)){var e=c.Tf.coordsys(f);if(null==e)throw c.g.F(\"Text to wkid mapping had failed: \"+f);return b.Pu(e,d)}if(d&&0<f&&(e=b.Mv[f]))return e;var e=c.Ib.iw(a,f,!1),h=b.zH[e];if(h)return h;h=0>=f?a:c.Tf.coordsys(f);h=new c.UD(h);b.zH[e]=h;0<f&&(b.Mv[f]=h);return h};b.EX=function(a){if(0>=a)throw c.g.F(\"Invalid or unsupported wkid: \"+\na);var d=b.Mv[a];if(null!=d)return d;d=c.Tf.coordsys(a);if(null==d)throw c.g.F(\"Invalid or unsupported wkid: \"+a);d=b.Pu(d,!1);d.$s()!=a&&(b.Mv[a]=d);return d};b.QY=function(a){if(null==a||void 0===a||0==a.length)throw c.g.F(\"Cannot create SpatialReference from null or empty text.\");var d=null;try{d=c.Tf.fromString(c.Vc.PE_TYPE_COORDSYS,a)}catch(f){throw c.g.F(\"Cannot create SpatialReference from text. \"+f.message);}if(null===d)throw c.g.F(\"Cannot create SpatialReference from text. \");return b.Pu(d,\n!0)};b.tD=function(a,d){var f=a.getCode();if(0>=f&&(f=c.Tf.getCode(a),0<f)){f=c.Tf.vertcs(f);if(null===f)throw c.g.F();return b.tD(f,d)}if(d&&0<f){var e=b.xH[f];if(e)return e}var h=c.Ib.iw(a,f,!1);if(e=b.YH[h])return e;var g;0>=f||(g=c.Tf.vertcs(f));if(null===g)throw c.g.F();e=new c.GN(g);b.YH[h]=e;0<f&&(b.xH[f]=e);return e};b.jK=function(a,b){var f;if(null===b||b.u())return null;var e=new c.h,h;null!==b&&1!=a.Fb()?(f=a.kc(),h=f.Kg(),f=c.rs.Is(a,f,null,null),f=c.os.local().V(b,f,null),f.s(e)):(h=\na.Kg(),b.s(e));f=h.getPrimem().getLongitude();h=h.getUnit().getUnitFactor();return new c.PD(e.o,e.A,e.v,e.B,f,h)};b.FE=function(a){var b={name:\"\",steps:[],_pt:null,_entry:null},c=0;for(a=a.getEntries();c<a.length;c++){var e=a[c],h={y_:!1,X_:\"\",W_:-1,geogtran:null};0===e.getDirection()?h.isInverse=!1:h.isInverse=!0;var g=e.getGeogtran().getCode();-1<g?h.wkid=g:h.wkt=e.getGeogtran().toString();b.steps.push(h)}return b};b.RT=function(a,d,f,e){void 0===f&&(f=null);f=b.jK(e,f);a=c.fq.getGTlist(a.Kg(),\nd.Kg(),2,c.fq.PE_GTLIST_OPTS_COMMON,f,1);d=null;a&&0<a.length&&(d=this.FE(a[0]),c.wy.destroy(a));null!==f&&f.destroy();return d};b.ST=function(a,d,f,e){var h;void 0===f&&(f=null);void 0===e&&(e=null);void 0===h&&(h=30);f=b.jK(e,f);a=c.fq.getGTlist(a.Kg(),d.Kg(),2,c.fq.PE_GTLIST_OPTS_COMMON,f,h);d=[];if(a&&0<a.length){for(h=0;h<a.length;h++)d.push(this.FE(a[h]));c.wy.destroy(a)}null!==f&&f.destroy();return d};b.Mv={};b.zH={};b.xH={};b.YH={};return b}(c.Sd);c.Ou=n})(r||(r={}));(function(c){(function(b){b[b.Integer32=\n0]=\"Integer32\";b[b.Integer64=1]=\"Integer64\";b[b.FloatingPoint=2]=\"FloatingPoint\"})(c.ts||(c.ts={}));var n=c.ts,g=function(){function b(){this.kq()}b.prototype.assign=function(a){this.Xl=a.Xl;this.Yl=a.Yl;this.uj=a.uj;this.Tw=a.Tw;this.Jn=a.Jn;this.Sw=a.Sw;this.rx=a.rx;this.jl=a.jl;this.Cr=a.Cr;this.Br=a.Br;this.En=a.En};b.prototype.Rs=function(){return this.Xl};b.prototype.Ss=function(){return this.Yl};b.prototype.Ts=function(){return this.Tw};b.prototype.Qs=function(){return this.Sw};b.prototype.Uz=\nfunction(){return this.uj};b.prototype.Vz=function(){return this.Jn};b.prototype.Tz=function(){return this.rx};b.prototype.bt=function(){return this.En};b.prototype.kq=function(){this.Yl=this.Xl=0;this.uj=1;this.Tw=0;this.Jn=1;this.Sw=0;this.rx=1;this.Br=this.Cr=this.jl=2.220446049250313E-14;this.En=n.FloatingPoint};b.prototype.Ey=function(a,b,f){this.kq();this.En=f;if(f!=n.FloatingPoint){var e=new c.h;a.$S(e);this.Xl=e.o;this.Yl=e.A}else this.Yl=this.Xl=-1.7976931348623157E308;e=a.uf.getType();e==\nc.Vc.PE_TYPE_GEOGCS?(e=(f==n.Integer64?1E-9:1/18E5)*a.ee(),this.uj=1/e):e==c.Vc.PE_TYPE_PROJCS&&(e=(f==n.Integer64?1E-4:.001)*a.bn(),this.uj=1/e);null!=b?(e=(f==n.Integer32?.001:1E-4)*b.XI,this.Jn=1/e):this.Jn=1E4;this.rx=1E4;this.XO();this.jl=a.fx;this.Cr=null!=b?.001*b.XI:.001;this.Br=2.220446049250313E-14};b.prototype.XO=function(){if(this.En!=n.FloatingPoint){var a=this.En==n.Integer64?c.Sd.tv:c.Sd.sv,b=a/this.uj,f=this.Xl+b,e=c.J.truncate((f-this.Xl)*this.uj);e>a&&(this.uj=a/(f-this.Xl));b=this.Yl+\nb;e=c.J.truncate((b-this.Yl)*this.uj);e>a&&(this.uj=a/(b-this.Yl))}};b.prototype.zC=function(a,b){switch(a){case 0:this.jl=b;case 1:this.Cr=b;case 2:this.Br=b}};b.prototype.Bo=function(a){switch(a){case 0:return this.jl;case 1:return this.Cr;case 2:return this.Br}return 0};b.prototype.XT=function(){var a=new c.h;switch(this.bt()){case n.Integer32:var b=c.Sd.sv/this.Uz();a.I(this.Rs(),this.Ss(),this.Rs()+b,this.Ss()+b);break;case n.Integer64:b=c.Sd.tv/this.Uz();a.I(this.Rs(),this.Ss(),this.Rs()+b,\nthis.Ss()+b);break;case n.FloatingPoint:a.I(-1.7976931348623157E308,-1*1.7976931348623157E308,1.7976931348623157E308,1.7976931348623157E308);break;default:throw c.g.X(\"internal error\");}return a};b.prototype.YT=function(){var a=new c.Ac;switch(this.bt()){case n.Integer32:var b=c.Sd.sv/this.Vz();a.I(this.Ts(),this.Ts()+b);break;case n.Integer64:b=c.Sd.tv/this.Vz();a.I(this.Ts(),this.Ts()+b);break;case n.FloatingPoint:a.I(-1*1.7976931348623157E308,1.7976931348623157E308);break;default:throw c.g.X(\"internal error\");\n}return a};b.prototype.tT=function(){var a=new c.Ac;switch(this.bt()){case n.Integer32:var b=c.Sd.sv/this.Tz();a.I(this.Qs(),this.Qs()+b);break;case n.Integer64:b=c.Sd.tv/this.Tz();a.I(this.Qs(),this.Qs()+b);break;case n.FloatingPoint:a.I(-1*1.7976931348623157E308,1.7976931348623157E308);break;default:throw c.g.X(\"internal error\");}return a};b.prototype.gA=function(a){if(this.En==n.FloatingPoint)return 0;switch(a){case 0:return 1/this.uj;case 1:return 1/this.Jn;case 2:return 1/this.Jn;default:return 0}};\nb.prototype.toString=function(){var a;a=\"SRPD [m_toleranceXY: \"+this.jl.toString();a=a+\";m_falseX: \"+this.Xl.toString();a=a+\";m_falseY: \"+this.Yl.toString();a=a+\";m_unitsXY: \"+this.uj.toString();a=a+\";m_falseZ: \"+this.Tw.toString();a=a+\";m_unitsZ: \"+this.Jn.toString();a=a+\";m_falseM: \"+this.Sw.toString();a=a+\";m_toleranceZ: \"+this.Cr.toString();a=a+\";m_toleranceM: \"+this.Br.toString();a=a+\";m_precision: \"+this.En.toString();return a+\"] \"};return b}();c.fE=g})(r||(r={}));(function(c){function n(a,\nb){89.99999<b?b=89.99999:-89.99999>b&&(b=-89.99999);var d=.017453292519943*b;return[111319.49079327169*a,3189068.5*Math.log((1+Math.sin(d))/(1-Math.sin(d)))]}function g(a,b,d){a=a/6378137*57.29577951308232;return d?[a,57.29577951308232*(1.5707963267948966-2*Math.atan(Math.exp(-1*b/6378137)))]:[a-360*Math.floor((a+180)/360),57.29577951308232*(1.5707963267948966-2*Math.atan(Math.exp(-1*b/6378137)))]}function b(a,b){var d=a.Vf();if(33===a.G()){var e=b(d.Be(),d.nf());d.rb(e[0],e[1])}else if(197===a.G()){var e=\nb(a.R.o,a.R.A,!0),f=b(a.R.v,a.R.B,!0);d.I(e[0],e[1],f[0],f[1])}else for(e=new c.b,f=0;f<d.D();f++){d.w(f,e);var g=b(e.x,e.y,!0);e.ka(g[0],g[1]);d.rb(f,e)}return d}function a(a){return b(a,g)}function d(a){return b(a,n)}var f=Math.PI/180,e=function(){function a(){}a.Ru=function(a){var b=Math.sqrt(.006694379990197414),d=Math.sin(a.y*f);return c.b.pa(6378137*a.x*f,3167719.6636462314*(d/(1-.006694379990197414*d*d)-1/(2*b)*Math.log((1-b*d)/(1+b*d))))};a.EA=function(a,b,d,e){var h=1/298.257223563,g=Math.sin(d);\nd=Math.cos(d);var n=(1-h)*Math.tan(a);a=1/Math.sqrt(1+n*n);for(var r=n*a,z=Math.atan2(n,d),n=a*g,v=n*n,x=1-v,B=2.7233160610754688E11*x/4.040829998466145E13,y=1+B/16384*(4096+B*(-768+B*(320-175*B))),A=B/1024*(256+B*(-128+B*(74-47*B))),B=e/(6356752.31424518*y),C=2*Math.PI,D,E,F,G;1E-12<Math.abs(B-C);)F=Math.cos(2*z+B),D=Math.sin(B),E=Math.cos(B),G=A*D*(F+A/4*(E*(-1+2*F*F)-A/6*F*(-3+4*D*D)*(-3+4*F*F))),C=B,B=e/(6356752.31424518*y)+G;e=r*D-a*E*d;x=h/16*x*(4+h*(4-3*x));return c.b.pa((b+(Math.atan2(D*g,\na*E-r*D*d)-(1-x)*h*n*(B+x*D*(F+x*E*(-1+2*F*F)))))/f,Math.atan2(r*E+a*D*d,(1-h)*Math.sqrt(v+e*e))/f)};a.CM=function(a,b,d,c){var e=1/298.257223563,f=c-b,h=Math.atan((1-e)*Math.tan(a)),g=Math.atan((1-e)*Math.tan(d)),n=Math.sin(h),h=Math.cos(h),r=Math.sin(g),g=Math.cos(g),x=f,B,y=1E3,A,C,D,E,F,G,H;do{D=Math.sin(x);E=Math.cos(x);C=Math.sqrt(g*D*g*D+(h*r-n*g*E)*(h*r-n*g*E));if(0===C)return 0;E=n*r+h*g*E;F=Math.atan2(C,E);G=h*g*D/C;A=1-G*G;D=E-2*n*r/A;isNaN(D)&&(D=0);H=e/16*A*(4+e*(4-3*A));B=x;x=f+(1-H)*\ne*G*(F+H*C*(D+H*E*(-1+2*D*D)))}while(1E-12<Math.abs(x-B)&&0<--y);if(0===y)return n=c-b,{azimuth:Math.atan2(Math.sin(n)*Math.cos(d),Math.cos(a)*Math.sin(d)-Math.sin(a)*Math.cos(d)*Math.cos(n)),geodesicDistance:6371008.771415059*Math.acos(Math.sin(a)*Math.sin(d)+Math.cos(a)*Math.cos(d)*Math.cos(c-b))};a=2.7233160610754688E11*A/4.040829998466145E13;b=a/1024*(256+a*(-128+a*(74-47*a)));return{azimuth:Math.atan2(g*Math.sin(x),h*r-n*g*Math.cos(x)),PS:6356752.31424518*(1+a/16384*(4096+a*(-768+a*(320-175*\na))))*(F-b*C*(D+b/4*(E*(-1+2*D*D)-b/6*D*(-3+4*C*C)*(-3+4*D*D)))),P_:Math.atan2(h*Math.sin(x),h*r*Math.cos(x)-n*g)}};a.BR=function(a){var b=a.hasAttribute(1),d=a.hasAttribute(2),e=[],f=a.aa(),h=null,g=null;b&&(h=a.Pa(1));d&&(g=a.Pa(2));for(var n=new c.b,r=0;r<f;r++){for(var v=a.wa(r),x=a.La(r),B=0,y=0,A=NaN,C=NaN,D=NaN,E=NaN,F=a.Qb(r),G=[],H=v;H<v+x;H++){a.w(H,n);var E=D=NaN,I=[n.x,n.y];b&&(D=h.get(H),I.push(D));d&&(f=g.get(H),I.push(E));H==v&&F&&(B=n.x,y=n.y,A=D,C=E);G.push(I)}!F||B==n.x&&y==n.y&&\n(!b||isNaN(A)&&isNaN(D)||A==D)&&(!d||isNaN(C)&&isNaN(E)||C==E)||G.push(G[0].slice(0));e.push(G)}return e};a.Fz=function(b,d){var c=a.BR(b);637.100877141506>d&&(d=637.100877141506);for(var e=[],g,n=0;n<c.length;n++){var t=c[n];e.push(g=[]);g.push([t[0][0],t[0][1]]);var r,z,v,x,B,y;r=t[0][0]*f;z=t[0][1]*f;for(B=0;B<t.length-1;B++)if(v=t[B+1][0]*f,x=t[B+1][1]*f,r!==v||z!==x){x=a.CM(z,r,x,v);v=x.azimuth;x=x.PS;var A=x/d;if(1<A){for(y=1;y<=A-1;y++){var C=a.EA(z,r,v,y*d);g.push([C.x,C.y])}y=a.EA(z,r,v,\n(x+Math.floor(A-1)*d)/2);g.push([y.x,y.y])}z=a.EA(z,r,v,x);g.push([z.x,z.y]);r=z.x*f;z=z.y*f}}return{gK:e}};a.OS=function(b){for(var d=[],e=0;e<b.length;e++){var f=b[e],f=a.Fz(f,1E4);d.push(f)}b=[];for(var g=0;g<d.length;g++){for(var f=d[g],n=0,e=0;e<f.gK.length;e++){var t=f.gK[e],r=a.Ru(c.b.pa(t[0][0],t[0][1])),z=a.Ru(c.b.pa(t[t.length-1][0],t[t.length-1][1])),v=z.x*r.y-r.x*z.y,x;for(x=0;x<t.length-1;x++)r=a.Ru(c.b.pa(t[x+1][0],t[x+1][1])),z=a.Ru(c.b.pa(t[x][0],t[x][1])),v+=z.x*r.y-r.x*z.y;n+=v}n/=\n1;b.push(n/-2)}return b};return a}();c.rM=e;e=function(){function b(){}b.YB=function(a,d,c,e,f,g,n){b.vD[a.jc()]=d;0==isNaN(c)&&(b.xD[a.jc()]=c);0==isNaN(e)&&(b.YD[a.jc()]=e);0==isNaN(f)&&(b.pD[a.jc()]=f);b.zD[a.jc()]=g;null!==n&&(b.BD[a.jc()]=n)};b.Ix=function(a,d,c){b.SD[a.jc()+\"-\"+d.jc()]=c};b.kc=function(a){a=b.vD[a.jc()];if(void 0==a)throw c.g.df();return a};b.ee=function(a){a=b.xD[a.jc()];if(void 0==a)throw c.g.df();return a};b.hw=function(a){a=b.YD[a.jc()];if(void 0==a)throw c.g.df();return a};\nb.Sv=function(a){a=b.pD[a.jc()];if(void 0==a)throw c.g.df();return a};b.Bh=function(a){a=b.BD[a.jc()];if(void 0==a)throw c.g.df();return c.h.pa(a[0],a[1],a[2],a[3])};b.Jc=function(a){a=b.zD[a.jc()];if(void 0==a)throw c.g.df();return a};b.Xg=function(a,d,e){if(d.Eb(e))return a;var f=b.SD[d.jc()+\"-\"+e.jc()];if(void 0!==f)return f(a,d,e);throw c.g.df();};b.lu=function(){throw c.g.df();};b.US=function(){throw c.g.df();};b.VW=function(){throw c.g.df();};b.Mk=function(){throw c.g.df();};b.sX=function(){var b=\nc.Sd.create(102100),e=c.Sd.create(3857),f=c.Sd.create(4326);c.fb.YB(b,f,NaN,NaN,NaN,!1,null);c.fb.YB(f,f,1,.0033528106647474805,6378137,!0,[-180,-90,180,90]);c.fb.YB(e,f,NaN,NaN,NaN,!1,null);c.fb.Ix(b,f,a);c.fb.Ix(f,b,d);c.fb.Ix(e,f,a);c.fb.Ix(f,e,d)};b.vD=[];b.xD=[];b.YD=[];b.pD=[];b.zD=[];b.BD=[];b.SD=[];return b}();c.fb=e})(r||(r={}));r.fb.sX();(function(c){var n=function(){function g(b){this.f=null;this.kh=-1;this.yd=this.size=this.Jf=0;this.ed=b}g.prototype.kd=function(b){b<this.Jf?(this.f[b*\nthis.ed]=this.kh,this.kh=b):this.Jf--;this.size--};g.prototype.S=function(b,a){return this.f[b*this.ed+a]};g.prototype.P=function(b,a,d){this.f[b*this.ed+a]=d};g.prototype.Pe=function(){var b=this.kh;if(-1==b){if(this.Jf==this.yd){b=0!=this.yd?c.J.truncate(3*(this.yd+1)/2):1;2147483647<b&&(b=2147483647);if(b==this.yd)throw c.g.wd();this.Co(b)}b=this.Jf;this.Jf++}else this.kh=this.f[b*this.ed];this.size++;for(var a=b*this.ed+this.ed,d=b*this.ed;d<a;d++)this.f[d]=-1;return b};g.prototype.nl=function(b){var a=\nthis.kh;if(-1==a){if(this.Jf==this.yd){a=0!=this.yd?c.J.truncate(3*(this.yd+1)/2):1;2147483647<a&&(a=2147483647);if(a==this.yd)throw c.g.wd();this.Co(a)}a=this.Jf;this.Jf++}else this.kh=this.f[a*this.ed];this.size++;for(var d=a*this.ed,f=this.ed,e=0;e<f;e++)this.f[d+e]=b[e];return a};g.prototype.Vi=function(b){this.kh=-1;this.size=this.Jf=0;b&&(this.f=null,this.yd=0)};g.prototype.Qe=function(b){b>this.yd&&this.Co(b)};g.prototype.ay=function(b,a,d){var c=this.f[this.ed*a+d];this.f[this.ed*a+d]=this.f[this.ed*\nb+d];this.f[this.ed*b+d]=c};g.Im=function(){return-2};g.jo=function(){return-3};g.CA=function(b){return 0<=b};g.prototype.Co=function(b){null==this.f&&(this.f=[]);this.yd=b};return g}();c.ad=n;n=function(){function g(b){this.f=new Int32Array(0);this.kh=-1;this.yd=this.size=this.Jf=0;this.ed=b}g.prototype.kd=function(b){b<this.Jf?(this.f[b*this.ed]=this.kh,this.kh=b):this.Jf--;this.size--};g.prototype.S=function(b,a){return this.f[b*this.ed+a]};g.prototype.P=function(b,a,d){this.f[b*this.ed+a]=d};\ng.prototype.Pe=function(){var b=this.kh;if(-1==b){if(this.Jf==this.yd){b=0!=this.yd?c.J.truncate(3*(this.yd+1)/2):1;2147483647<b&&(b=2147483647);if(b==this.yd)throw c.g.wd();this.Co(b)}b=this.Jf;this.Jf++}else this.kh=this.f[b*this.ed];this.size++;for(var a=b*this.ed;a<b*this.ed+this.ed;a++)this.f[a]=-1;return b};g.prototype.nl=function(b){var a=this.kh;if(-1==a){if(this.Jf==this.yd){a=0!=this.yd?c.J.truncate(3*(this.yd+1)/2):1;2147483647<a&&(a=2147483647);if(a==this.yd)throw c.g.wd();this.Co(a)}a=\nthis.Jf;this.Jf++}else this.kh=this.f[a*this.ed];this.size++;for(var d=a*this.ed,f=0;f<b.length;f++)this.f[d+f]=b[f];return a};g.prototype.Vi=function(b){this.kh=-1;this.size=this.Jf=0;b&&(this.f=null,this.yd=0)};g.prototype.Qe=function(b){b>this.yd&&this.Co(b)};g.prototype.ay=function(b,a,d){var c=this.f[this.ed*a+d];this.f[this.ed*a+d]=this.f[this.ed*b+d];this.f[this.ed*b+d]=c};g.Im=function(){return-2};g.jo=function(){return-3};g.CA=function(b){return 0<=b};g.prototype.Co=function(b){null==this.f&&\n(this.f=new Int32Array(0));var a=new Int32Array(this.ed*b);a.set(this.f,0);this.f=a;this.yd=b};return g}();c.aO=n;!0===c.Xh.Bm&&(c.ad=c.aO)})(r||(r={}));(function(c){var n;(function(a){a[a.enumInputModeBuildGraph=0]=\"enumInputModeBuildGraph\";a[a.enumInputModeSimplifyAlternate=4]=\"enumInputModeSimplifyAlternate\";a[a.enumInputModeSimplifyWinding=5]=\"enumInputModeSimplifyWinding\";a[a.enumInputModeIsSimplePolygon=7]=\"enumInputModeIsSimplePolygon\"})(n||(n={}));var g=function(){function a(a){this.bf=a;\nthis.Wh=NaN;this.qI=new c.Cg;this.rI=new c.Cg;this.it=new c.Ac;this.jt=new c.Ac}a.prototype.compare=function(a,b,c){a=a.ja(c);this.bf.RB(b,this.qI);this.bf.RB(a,this.rI);b=this.qI.get();a=this.rI.get();this.it.I(b.ua,b.sa);this.jt.I(a.ua,a.sa);if(this.it.ha<this.jt.ca)return-1;if(this.it.ca>this.jt.ha)return 1;c=b.ra==b.oa;var h=a.ra==a.oa;if(c||h){if(c&&h)return 0;if(b.ra==a.ra&&b.ua==a.ua)return c?1:-1;if(b.oa==a.oa&&b.sa==a.sa)return c?-1:1}c=b.pf(this.Wh,this.it.ca);h=a.pf(this.Wh,this.jt.ca);\nc==h&&(c=Math.min(b.oa,a.oa),h=.5*(c+this.Wh),h==this.Wh&&(h=c),c=b.pf(h,this.it.ca),h=a.pf(h,this.jt.ca));return c<h?-1:c>h?1:0};a.prototype.RK=function(a){this.Wh=a};return a}(),b=function(){function a(a){this.bb=a;this.jJ=new c.Cg;this.cg=new c.b;this.dB=new c.Ac}a.prototype.fY=function(a){this.cg.L(a)};a.prototype.compare=function(a,b){this.bb.RB(a.ja(b),this.jJ);var c=this.jJ.get();this.dB.I(c.ua,c.sa);if(this.cg.x<this.dB.ca)return-1;if(this.cg.x>this.dB.ha)return 1;c=c.pf(this.cg.y,this.cg.x);\nreturn this.cg.x<c?-1:this.cg.x>c?1:0};return a}();n=function(){function a(){this.tI=this.cj=this.fj=this.UA=this.No=this.Ye=this.Rc=this.Eh=this.De=null;this.sp=this.Tg=-1;this.sI=!0;this.YA=!1;this.VA=NaN;this.mj=new c.$d;this.dQ=2147483647;this.cQ=c.J.truncate(-2147483648);this.xg=this.xe=this.km=this.rr=this.qn=this.qr=this.Jt=this.rf=-1;this.qa=0}a.prototype.ez=function(a){this.VA=a};a.prototype.Mn=function(){null==this.De&&(this.De=new c.ad(8));var a=this.De.Pe();this.De.P(a,1,0);return a};\na.prototype.gW=function(){null==this.Rc&&(this.Rc=new c.ad(8));var a=this.Rc.Pe();this.Rc.P(a,2,0);this.Rc.P(a,3,0);var b=this.Rc.Pe();this.Rc.P(b,2,0);this.Rc.P(b,3,0);this.zK(a,b);this.zK(b,a);return a};a.prototype.vJ=function(){null==this.Ye&&(this.Ye=new c.ad(8));var a=this.Ye.Pe();this.Ye.P(a,2,0);return a};a.prototype.RX=function(a,b){this.De.P(a,7,b)};a.prototype.bo=function(a,b){this.De.P(a,2,b)};a.prototype.QX=function(a,b){this.De.P(a,1,b)};a.prototype.gY=function(a,b){this.De.P(a,3,b)};\na.prototype.dY=function(a,b){this.De.P(a,4,b)};a.prototype.Vr=function(a,b){this.De.P(a,5,b)};a.prototype.XS=function(a){return this.De.S(a,5)};a.prototype.PX=function(a,b){this.De.P(a,6,b)};a.prototype.bP=function(a,b){this.PX(b,a)};a.prototype.yK=function(a,b){this.Rc.P(a,1,b)};a.prototype.zK=function(a,b){this.Rc.P(a,4,b)};a.prototype.ym=function(a,b){this.Rc.P(a,5,b)};a.prototype.xm=function(a,b){this.Rc.P(a,6,b)};a.prototype.WX=function(a,b){this.Rc.P(a,2,b)};a.prototype.Nx=function(a,b){this.Rc.P(a,\n3,b)};a.prototype.WG=function(a){return this.Rc.S(a,3)};a.prototype.uu=function(a,b){this.Rc.P(a,7,b)};a.prototype.xL=function(a,b){if(-1!=this.$m(a))for(var c=b?-1:a,h=this.$m(a);-1!=h;h=this.gt(h))this.a.Va(this.Uj(h),this.rr,c)};a.prototype.ey=function(a,b){-1!=a&&(this.xL(a,b),this.xL(this.Aa(a),b))};a.prototype.su=function(a,b){this.Ye.P(a,1,b)};a.prototype.rh=function(a,b){this.Ye.P(a,2,b)};a.prototype.Zn=function(a,b){this.Ye.P(a,3,b);this.NX(a,this.WS(b));this.MX(b,a)};a.prototype.MX=function(a,\nb){this.Ye.P(a,4,b)};a.prototype.NX=function(a,b){this.Ye.P(a,5,b)};a.prototype.tK=function(a,b){this.Ye.P(a,6,b)};a.prototype.rK=function(a,b){this.Ye.P(a,7,b)};a.prototype.qK=function(a,b){this.No.write(a,b)};a.prototype.sK=function(a,b){this.UA.write(a,b)};a.prototype.iZ=function(a){var b=0,e=0,h=this.MG(a),g=new c.b,k=new c.b,m=new c.b;this.Ys(h,g);k.L(g);var n=h;do this.Zm(n,m),e+=c.b.Cb(k,m),this.Ef(this.Aa(n))!=a&&(b+=(m.x-g.x-(k.x-g.x))*(m.y-g.y+(k.y-g.y))*.5),k.L(m),n=this.qc(n);while(n!=\nh);this.No.write(a,b);this.UA.write(a,e)};a.prototype.DW=function(a){var f=new g(this),e=new c.uk;e.Qe(c.J.truncate(this.qa/2));e.Ep(f);for(var h=new c.ia(0),l=this.xh(),k=null,m=0,n=new c.b,p=this.rf;-1!=p;p=this.og(p)){m++;var q=this.kf(p);if(-1!=q){h.yf(0);if(!this.bZ(e,l,h,q)){this.w(p,n);f.RK(n.y);var t=q;do{var r=this.Kb(t,l);-1!=r&&(e.Kd(r,-1),this.Ob(t,l,-2));t=this.qc(this.Aa(t))}while(q!=t);t=q;do r=this.Kb(t,l),-1==r&&(r=e.addElement(t,-1),h.add(r)),t=this.qc(this.Aa(t));while(q!=t)}for(q=\nh.size-1;0<=q;q--)r=h.get(q),t=e.ja(r),this.Ob(this.Aa(t),l,r),this.BW(e,r,a)}else-1==this.Lz(p)&&(null==k&&(k=new b(this)),this.w(p,n),k.fY(n),t=e.IX(k),q=this.km,-1!=t&&(r=e.ja(t),this.Ef(r)==this.Ef(this.Aa(r))&&(r=this.YG(e,t)),-1!=r&&(q=this.Ef(r))),this.bP(q,p))}this.ni(l)};a.prototype.BW=function(a,b,c){var h=a.ja(b),g=this.Ef(h);if(-1==this.vo(g)){var k=this.YG(a,b),m=this.Aa(h),n=this.Ef(m);this.Dq(g);this.Dq(n);var p=this.vo(g),q=this.vo(n);-1==k&&-1==p&&(n==g?(this.Zn(n,this.km),p=q=this.km):\n(-1==q&&(this.Zn(n,this.km),q=this.km),this.Zn(g,n),p=n));if(-1!=k){var r=this.Ef(k);-1==q&&(0>=this.Dq(r)?(q=this.vo(r),this.Zn(n,q)):(this.Zn(n,r),q=r),n==g&&(p=q))}-1==p&&this.cZ(g,n);0==c?this.aX(a,b,h,k,g,n):5==c?this.bX(a,b,h,m,g,n):4==c&&this.$W(h,k,g,n)}};a.prototype.aX=function(a,b,c,h,g,k){var m=this.Ik(g);if(-1!=h){var n=this.Ik(k),p=this.Ik(this.Ef(h));h=m&n&p;p^=p&this.Ah(c);p|=h;0!=p&&(this.rh(k,n|p),this.rh(g,p|m),m=m||p)}for(b=a.nb(b);-1!=b;b=a.nb(b)){h=a.ja(b);c=this.Ef(this.Aa(h));\ng=this.Ik(c);k=this.Ah(h);n=this.Ef(h);p=this.Ik(n);h=g&p&m;m^=m&k;m|=h;if(0==m)break;this.rh(c,g|m);this.rh(n,p|m)}};a.prototype.bX=function(a,b,e,h,g,k){if(g!=k){e=this.Kb(e,this.xg);e+=this.Kb(h,this.xg);h=0;var m=new c.ia(0),n=new c.ia(0);n.add(0);for(var p=a.xc(-1);p!=b;p=a.nb(p)){var q=a.ja(p),r=this.Aa(q),u=this.Ef(q),z=this.Ef(r);if(u!=z){q=this.Kb(q,this.xg);q+=this.Kb(r,this.xg);h+=q;r=!1;0!=m.size&&m.Fc()==z&&(n.Pf(),m.Pf(),r=!0);if(-1==this.vo(z))throw c.g.za();r&&this.vo(z)==u||(n.add(h),\nm.add(u))}}h+=e;0!=m.size&&m.Fc()==k&&(n.Pf(),m.Pf());0!=h?0==n.Fc()&&(a=this.a.sd,a=this.Ia(a),this.rh(g,a)):0!=n.Fc()&&(a=this.a.sd,a=this.Ia(a),this.rh(g,a))}};a.prototype.$W=function(a,b,c,h){var g=this.Ia(this.a.sd);if(-1==b)this.rh(h,this.sp),a=this.Kb(a,this.Tg),0!=(a&1)?this.rh(c,g):this.rh(c,this.sp);else{var k=this.Ik(h);0==k&&(k=this.Ik(this.Ef(b)),this.rh(h,k));a=this.Kb(a,this.Tg);0!=(a&1)?this.rh(c,k==g?this.sp:g):this.rh(c,k)}};a.prototype.bZ=function(a,b,c,h){var g=h,k=-1,m=-1,n=0;\ndo{if(2==n)return!1;var p=this.Kb(g,b);if(-1!=p){if(-1!=k)return!1;k=p}else{if(-1!=m)return!1;m=g}n++;g=this.qc(this.Aa(g))}while(h!=g);if(-1==m||-1==k)return!1;this.Ob(a.ja(k),b,-2);a.kk(k,m);c.add(k);return!0};a.prototype.cZ=function(a,b){var c=this.Dq(a);if(0!=c){var h=this.Dq(b);0<c&&0>h?this.Zn(a,b):0>c&&0<h?this.Zn(a,b):(c=this.vo(b),-1!=c&&this.Zn(a,c))}};a.prototype.uR=function(a,b){this.rr=this.a.Vd();for(var e=0,h=b.size;e<h;e++){var g=b.get(e),k=this.a.Sa(g,this.qn),m=this.a.ng(this.a.ld(g)),\nn=this.a.hc(m);if(c.T.Ic(n)){var p=this.a.U(g);if(-1!=p){var q=this.a.Sa(p,this.qn);if(k!=q){var r=this.gW(),u=this.Aa(r),z=this.Eh.Pe();this.Eh.P(z,0,g);this.Eh.P(z,1,-1);this.uu(r,z);this.yK(r,k);z=this.kf(k);-1==z?(this.bo(k,r),this.ym(r,u),this.xm(u,r)):(k=this.Te(z),this.ym(z,u),this.xm(u,z),this.xm(k,r),this.ym(r,k));this.yK(u,q);k=this.kf(q);-1==k?(this.bo(q,u),this.xm(r,u),this.ym(u,r)):(q=this.Te(k),this.ym(k,r),this.xm(r,k),this.xm(q,u),this.ym(u,q));m=this.Ia(m);0==a?(this.Ob(u,this.xe,\n0),this.Ob(r,this.xe,1736==n?m:0)):5==a?(q=new c.b,this.a.w(g,q),g=new c.b,this.a.w(p,g),k=p=0,0>q.compare(g)?p=1:k=-1,this.Ob(u,this.xe,0),this.Ob(r,this.xe,0),this.Ob(r,this.xg,p),this.Ob(u,this.xg,k)):7==a?(this.Ob(u,this.xe,this.sp),this.Ob(r,this.xe,1736==n?m:0)):4==a&&(this.Ob(u,this.xe,0),this.Ob(r,this.xe,0),this.Ob(r,this.Tg,1),this.Ob(u,this.Tg,1));n=1736==n?this.cQ:0;this.Nx(r,m|n);this.Nx(u,m|n)}}}}};a.prototype.VV=function(a,b){var c=this.$m(b);if(-1!=c){var h=this.$m(a);this.Eh.P(c,\n1,h);this.uu(a,c);this.uu(b,-1)}var g=this.Aa(a),k=this.Aa(b),c=this.$m(k);-1!=c&&(h=this.$m(g),this.Eh.P(c,1,h),this.uu(g,c),this.uu(k,-1))};a.prototype.DY=function(a){function b(a,d){return h.LQ(a,d)}var e=new c.ia(0);e.yb(10);for(var h=this,g=this.rf;-1!=g;g=this.og(g)){e.clear(!1);var k=this.kf(g);if(-1!=k){var m=k;do e.add(m),m=this.qc(this.Aa(m));while(m!=k);if(1<e.size){m=!0;if(2<e.size)e.Gd(0,e.size,b),e.add(e.get(0));else if(0<this.KQ(e.get(0),e.get(1))){var n=e.get(0);e.set(0,e.get(1));\ne.set(1,n)}else m=!1;for(var p=n=e.get(0),q=this.Xf(p),r=this.Aa(p),u=-1,z=1,v=e.size;z<v;z++){var x=e.get(z),B=this.Aa(x),y=this.Kk(B);if(y==q&&x!=p){if(0==a)u=this.WG(p)|this.WG(x),this.Nx(p,u),this.Nx(r,u),this.Ob(p,this.xe,this.Kb(p,this.xe)|this.Kb(x,this.xe)),this.Ob(r,this.xe,this.Kb(r,this.xe)|this.Kb(B,this.xe));else if(-1!=this.xg)u=this.Kb(p,this.xg)+this.Kb(x,this.xg),B=this.Kb(r,this.xg)+this.Kb(B,this.xg),this.Ob(p,this.xg,u),this.Ob(r,this.xg,B);else{if(7==a){this.mj=new c.$d(5,g,-1);\nreturn}-1!=this.Tg&&(u=this.Kb(p,this.Tg)+this.Kb(x,this.Tg),B=this.Kb(r,this.Tg)+this.Kb(B,this.Tg),this.Ob(p,this.Tg,u),this.Ob(r,this.Tg,B))}this.VV(p,x);this.sz(x);u=p;e.set(z,-1);x==n&&(e.set(0,-1),n=-1)}else this.ey(u,!1),u=-1,p=x,q=y,r=B}this.ey(u,!1);u=-1;if(m){n=-1;z=0;for(v=e.size;z<v;z++)if(x=e.get(z),-1!=x)if(-1==n)p=n=x,q=this.Xf(p),r=this.Aa(p);else if(x!=p&&(B=this.Aa(x),y=this.Kk(B),this.xm(r,x),this.ym(x,r),p=x,q=y,r=B,7==a&&(this.Kb(x,this.xe)|this.Kb(this.Te(x),this.xe))==(this.sp|\n1))){this.mj=new c.$d(5,g,-1);return}this.bo(g,n)}else{n=-1;z=0;for(v=e.size;z<v;z++)if(x=e.get(z),-1!=x){n=x;break}k!=n&&this.bo(g,n)}}}}};a.prototype.$P=function(){for(var a=-1,b=this.xh(),e=this.rf;-1!=e;e=this.og(e)){var h=this.kf(e);if(-1!=h){var g=h;do{if(1!=this.Kb(g,b)){var k=this.vJ();this.su(k,g);this.rK(k,a);-1!=a&&this.tK(a,k);var a=k,m=0,n=g;do m|=this.Kb(n,this.xe),this.WX(n,k),this.Ob(n,b,1),n=this.qc(n);while(n!=g);this.rh(k,m)}g=this.qc(this.Aa(g))}while(g!=h)}}k=this.vJ();this.su(k,\n-1);this.rK(k,a);-1!=a&&this.tK(a,k);this.km=k;this.No=c.Rd.zd(this.Ye.size,NaN);this.UA=c.Rd.zd(this.Ye.size,NaN);this.qK(this.km,Infinity);this.sK(this.km,Infinity);this.ni(b)};a.prototype.jT=function(a,b,c){b=-1!=b?b:this.kf(a);if(-1==b)return-1;for(a=b;;){if(1!=this.Kb(b,c))return b;b=this.qc(this.Aa(b));if(b==a)return-1}};a.prototype.wX=function(){for(var a=this.xh(),b=this.rf;-1!=b;b=this.og(b))for(var c=-1;;){var h=this.jT(b,c,a);if(-1==h)break;for(var c=this.qc(this.Aa(h)),g=h;;){var k=this.qc(g),\nm=this.Te(g),n=this.Aa(g);if(m==n){this.FR(g);if(c==g||c==n)c=-1;if(g==h||m==h){h=k;if(g==h||m==h)break;g=k;continue}}else this.Ob(g,a,1);g=k;if(g==h)break}}};a.prototype.nC=function(a,b,e,g){this.qh();this.sI=g;this.a=a;this.qr=this.a.iG();a=new c.ia(0);a.yb(null!=e?this.a.D(e.get(0)):this.a.vd);var l=0,k=1,m=null!=e?e.get(0):this.a.sd;for(g=1;-1!=m;){this.a.xK(m,this.qr,k);for(var k=k<<1,n=this.a.Pb(m);-1!=n;n=this.a.Sb(n))for(var p=this.a.cb(n),q=0,r=this.a.La(n);q<r;q++)a.add(p),p=this.a.U(p);\nc.T.Jo(this.a.hc(m))||(l+=this.a.aa(m));null!=e?(m=g<e.size?e.get(g):-1,g++):m=this.a.Ue(m)}this.sp=k;this.qa=a.size;this.a.Xx(a,this.qa);null==this.Eh&&(this.Eh=new c.ad(2),this.De=new c.ad(8),this.Rc=new c.ad(8),this.Ye=new c.ad(8));this.Eh.Qe(this.qa);this.De.Qe(this.qa+10);this.Rc.Qe(2*this.qa+32);this.Ye.Qe(Math.max(32,l));this.qn=this.a.Vd();e=new c.b;g=0;l=new c.b;e.$c();for(k=0;k<=this.qa;k++)if(k<this.qa?(p=a.get(k),this.a.w(p,l)):l.$c(),!e.ub(l)){if(g<k){p=this.Mn();for(r=q=-1;g<k;g++)r=\na.get(g),this.a.Va(r,this.qn,p),m=this.Eh.Pe(),this.Eh.P(m,0,r),this.Eh.P(m,1,q),q=m,n=this.a.ld(r),m=this.a.ng(n),m=this.Ia(m),this.QX(p,this.Md(p)|m);this.RX(p,q);this.Vr(p,this.a.Za(r));-1!=this.Jt&&this.dY(this.Jt,p);this.gY(p,this.Jt);this.Jt=p;-1==this.rf&&(this.rf=p)}g=k;e.L(l)}this.xe=this.xh();5==b&&(this.xg=this.xh());4==b&&(this.Tg=this.xh());this.uR(b,a);0==this.mj.Ii&&(this.DY(b),0==this.mj.Ii&&(isNaN(this.VA)||this.BQ()?(this.$P(),0==this.mj.Ii&&(this.ni(this.xe),this.xe=-1,this.sI&&\nthis.DW(b))):this.YA=!0))};a.prototype.sz=function(a){var b=this.qc(a),c=this.Te(a),g=this.Aa(a),l=this.qc(g),k=this.Te(g);b!=g&&(this.xm(k,b),this.ym(b,k));c!=g&&(this.xm(c,l),this.ym(l,c));c=this.Kk(a);this.kf(c)==a&&(l!=a?this.bo(c,l):this.bo(c,-1));l=this.Kk(g);this.kf(l)==g&&(b!=g?this.bo(l,b):this.bo(l,-1));this.Rc.kd(a);this.Rc.kd(g)};a.prototype.YG=function(a,b){for(var c=b;;)if(c=a.Ve(c),-1!=c){var g=a.ja(c);if(this.Ef(g)!=this.Ef(this.Aa(g)))return g}else return-1};a.prototype.Wr=function(a,\nb,c){void 0===c&&(c=!0);this.nC(a,0,null,c)};a.prototype.mK=function(a,b){var e=new c.ia(0);e.add(b);this.nC(a,4,e,1736==a.hc(b))};a.prototype.nK=function(a,b){var e=new c.ia(0);e.add(b);this.nC(a,5,e,!0)};a.prototype.qh=function(){null!=this.a&&(-1!=this.qr&&(this.a.vX(this.qr),this.qr=-1),-1!=this.qn&&(this.a.le(this.qn),this.qn=-1),-1!=this.rr&&(this.a.le(this.rr),this.rr=-1),-1!=this.xe&&(this.ni(this.xe),this.xe=-1),-1!=this.xg&&(this.ni(this.xg),this.xg=-1),-1!=this.Tg&&(this.ni(this.Tg),this.Tg=\n-1),this.a=null,this.De.Vi(!0),this.Eh.Vi(!0),this.Jt=this.rf=-1,null!=this.Rc&&this.Rc.Vi(!0),null!=this.fj&&(this.fj.length=0),null!=this.cj&&(this.cj.length=0),null!=this.tI&&(this.tI.length=0),null!=this.Ye&&this.Ye.Vi(!0),this.km=-1,this.No=null)};a.prototype.kf=function(a){return this.De.S(a,2)};a.prototype.w=function(a,b){this.a.pH(this.XS(a),b)};a.prototype.Md=function(a){return this.De.S(a,1)};a.prototype.og=function(a){return this.De.S(a,4)};a.prototype.Lz=function(a){return this.De.S(a,\n6)};a.prototype.Ym=function(a){return this.De.S(a,7)};a.prototype.gt=function(a){return this.Eh.S(a,1)};a.prototype.Uj=function(a){return this.Eh.S(a,0)};a.prototype.Hg=function(a,b){var c=this.cj[b];return c.size<=a?-1:c.read(a)};a.prototype.co=function(a,b,c){b=this.cj[b];b.size<=a&&b.resize(this.De.size,-1);b.write(a,c)};a.prototype.wq=function(){null==this.cj&&(this.cj=[]);for(var a=c.ia.zd(this.De.yd,-1),b=0,e=this.cj.length;b<e;b++)if(null==this.cj[b])return this.cj[b]=a,b;this.cj.push(a);return this.cj.length-\n1};a.prototype.xq=function(a){this.cj[a]=null};a.prototype.Kk=function(a){return this.Rc.S(a,1)};a.prototype.Xf=function(a){return this.Kk(this.Aa(a))};a.prototype.Aa=function(a){return this.Rc.S(a,4)};a.prototype.Te=function(a){return this.Rc.S(a,5)};a.prototype.qc=function(a){return this.Rc.S(a,6)};a.prototype.Ef=function(a){return this.Rc.S(a,2)};a.prototype.Ff=function(a){return this.Ik(this.Rc.S(a,2))};a.prototype.$m=function(a){return this.Rc.S(a,7)};a.prototype.Ys=function(a,b){this.w(this.Kk(a),\nb)};a.prototype.Zm=function(a,b){this.w(this.Xf(a),b)};a.prototype.Ah=function(a){return this.Rc.S(a,3)&this.dQ};a.prototype.Kb=function(a,b){var c=this.fj[b];return c.size<=a?-1:c.read(a)};a.prototype.Ob=function(a,b,c){b=this.fj[b];b.size<=a&&b.resize(this.Rc.size,-1);b.write(a,c)};a.prototype.xh=function(){null==this.fj&&(this.fj=[]);for(var a=c.ia.zd(this.Rc.yd,-1),b=0,e=this.fj.length;b<e;b++)if(null==this.fj[b])return this.fj[b]=a,b;this.fj.push(a);return this.fj.length-1};a.prototype.ni=function(a){this.fj[a]=\nnull};a.prototype.FR=function(a){var b=this.Ef(a),c=this.qc(a);c==this.Aa(a)&&(c=this.qc(c),c==a&&(c=-1));this.MG(b)==a&&this.su(b,c);c=this.No.read(b);isNaN(c)||(this.qK(b,NaN),this.sK(b,NaN));this.ey(a,!0);this.sz(a)};a.prototype.GR=function(a){for(var b=0,c=a.size;b<c;b++){var g=a.get(b),l=this.Ef(this.Aa(g));this.su(this.Ef(g),-1);this.su(l,-1);this.ey(g,!0);this.sz(g)}};a.prototype.MG=function(a){return this.Ye.S(a,1)};a.prototype.Ik=function(a){return this.Ye.S(a,2)};a.prototype.vo=function(a){return this.Ye.S(a,\n3)};a.prototype.WS=function(a){return this.Ye.S(a,4)};a.prototype.Dq=function(a){var b=this.No.read(a);isNaN(b)&&(this.iZ(a),b=this.No.read(a));return b};a.prototype.Ia=function(a){return this.a.VG(a,this.qr)};a.prototype.jf=function(a){return this.a.Sa(a,this.qn)};a.prototype.mT=function(a){return this.a.Sa(a,this.rr)};a.prototype.lT=function(a,b){var c=this.kf(a);if(-1==c)return-1;var g=c,l=-1,k=-1;do{if(this.Xf(g)==b)return g;if(-1==l){l=this.kf(b);if(-1==l)break;k=l}if(this.Xf(k)==a)return g=\nthis.Aa(k);g=this.qc(this.Aa(g));k=this.qc(this.Aa(k))}while(g!=c&&k!=l);return-1};a.prototype.RB=function(a,b){b.Js();var e=b.get(),g=new c.b;this.Ys(a,g);e.Mc(g);this.Zm(a,g);e.Zc(g)};a.prototype.LQ=function(a,b){if(a==b)return 0;var e=new c.b;this.Zm(a,e);var g=new c.b;this.Zm(b,g);if(e.ub(g))return 0;var l=new c.b;this.Ys(a,l);var k=new c.b;k.zc(e,l);e=new c.b;e.zc(g,l);return c.b.vs(k,e)};a.prototype.KQ=function(a,b){if(a==b)return 0;var e=new c.b;this.Zm(a,e);var g=new c.b;this.Zm(b,g);if(e.ub(g))return 0;\nvar l=new c.b;this.Ys(a,l);var k=new c.b;k.zc(e,l);e=new c.b;e.zc(g,l);return 0<=e.y&&0<k.y?c.b.vs(k,e):0};a.prototype.BQ=function(){for(var a=c.Ub.Yx(this.VA),b=new c.b,e=new c.b,g=new c.b,l=new c.b,k=new c.b,m=this.rf;-1!=m;m=this.og(m)){var n=this.kf(m);if(-1!=n){var p=n;this.Ys(p,b);this.Zm(p,e);k.zc(e,b);var q=k.qk();do{var r=p,p=this.qc(this.Aa(p));if(p!=r){this.Zm(p,g);l.zc(g,b);var r=l.qk(),u=l.Ui(k);if(u*u/(r*q)*Math.min(r,q)<=a)return!1;k.L(l);q=r;e.L(g)}}while(p!=n)}}return!0};return a}();\nc.Qu=n})(r||(r={}));(function(c){var n=function(){function g(){this.i=null;this.AI=new c.b;this.BI=new c.b;this.Mh=null;this.pt=!1;this.Wo=-1}g.prototype.Gf=function(b){return b<this.Mh.length?this.Mh[b]:!1};g.prototype.Hl=function(b,a,d,f){var e=c.T.lf(this.i.a.hc(d));if(2==c.T.lf(this.i.a.hc(a))&&1==e)this.AR(b,a,d,f);else throw c.g.za();};g.prototype.Wr=function(b,a){null==this.i&&(this.i=new c.Qu);this.i.Wr(b,a)};g.prototype.Xr=function(b,a,d){c.sk.V(b,a,d,!0);for(a=b.sd;-1!=a;a=b.Ue(a))1736==\nb.hc(a)&&c.lo.V(b,a,-1,this.pt,d);this.Wr(b,d)};g.prototype.TF=function(b,a,d,c,e){var g=this.i.a;if(1736==g.hc(b))for(b=g.Pb(b);-1!=b;b=g.Sb(b)){var l=g.cb(b);this.i.jf(l);this.i.jf(g.U(l));var k=this.i.mT(l);if(-1!=k){var m=this.i.Kb(k,d);if(1!=m&&2!=m)if(this.Gf(this.i.Ff(k))){this.i.Ob(k,d,1);var m=g.Yf(a,-1),n=k,p=this.i.jf(l),q=1;do{var r=this.gn(l,e);g.Kj(m,r);-1!=c&&this.i.co(p,c,1);this.i.Ob(n,d,1);var n=this.i.qc(n),u;do r=1==q?g.U(l):g.Ra(l),u=-1!=r?this.i.jf(r):-1;while(u==p);var z=this.i.Kk(n);\nif(z!=u){do r=1==q?g.Ra(l):g.U(l),u=-1!=r?this.i.jf(r):-1;while(u==p);z!=u?(u=z,r=this.i.Uj(this.i.Ym(u))):q=-q}p=u;l=r}while(n!=k);g.$n(m,!0)}else this.i.Ob(k,d,2)}}};g.prototype.oG=function(){for(var b=this.i.xh(),a=new c.ia(0),d=this.i.rf;-1!=d;d=this.i.og(d)){var f=this.i.kf(d),e=f;if(-1!=f){do{if(1!=this.i.Kb(e,b)){var g=this.i.Aa(e);this.i.Ob(g,b,1);this.i.Ob(e,b,1);this.Gf(this.i.Ff(e))&&this.Gf(this.i.Ff(g))&&a.add(e)}e=this.i.qc(this.i.Aa(e))}while(e!=f)}}this.i.ni(b);this.i.GR(a)};g.prototype.gn=\nfunction(b,a){return-1==a?b:this.WT(b,a)};g.prototype.WT=function(b,a){var d=this.i.a,c,e,g=this.i.Ym(this.i.jf(b));do{c=this.i.Uj(g);e=d.ng(d.ld(c));if(e==a)return c;g=this.i.gt(g)}while(-1!=g);return b};g.prototype.es=function(b,a,d){this.oG();var f=this.i.a,e=f.bh(1736),g=this.i.xh();this.hL(b,a,e,d,g,-1);this.i.ni(g);c.lo.V(f,e,1,this.pt,null);return e};g.prototype.hL=function(b,a,d,c,e,g){this.TF(b,d,e,g,c);-1!=a&&this.TF(a,d,e,g,c);b=this.i.a;for(a=this.i.rf;-1!=a;a=this.i.og(a)){var l=this.i.kf(a);\nif(-1!=l){var k=l;do{var m=this.i.Kb(k,e);if(1!=m&&2!=m)if(this.Gf(this.i.Ff(k))){var m=b.Yf(d,-1),n=k;do{var p=this.i.$m(n);-1!=p?p=this.i.Uj(p):(p=this.i.Uj(this.i.$m(this.i.Aa(n))),p=this.i.a.U(p));p=this.gn(p,c);b.Kj(m,p);this.i.Ob(n,e,1);-1!=g&&(p=this.i.jf(p),this.i.co(p,g,1));n=this.i.qc(n)}while(n!=k);b.$n(m,!0)}else this.i.Ob(k,e,2);k=this.i.qc(this.i.Aa(k))}while(k!=l)}}};g.prototype.VY=function(b,a,d){var f=this.i.a,e=f.bh(1736),g=f.bh(1607),l=f.bh(550);this.oG();var k=-1,m=this.i.xh(),\nn=this.i.wq();this.hL(b,a,e,d,m,n);for(b=this.i.rf;-1!=b;b=this.i.og(b))if(a=this.i.kf(b),-1!=a){var p=a;do{var q=this.i.Kb(p,m),r=this.i.Kb(this.i.Aa(p),m),q=q|r;if(2==q)if(q=this.i.Ah(p),this.Gf(q)){var u=f.Yf(g,-1),z=p,q=this.Jx(b,f),q=this.gn(q,d);f.Kj(u,q);this.i.co(b,n,1);do{q=this.i.Xf(z);r=this.Jx(q,f);r=this.gn(r,d);f.Kj(u,r);this.i.Ob(z,m,1);this.i.Ob(this.i.Aa(z),m,1);this.i.co(q,n,1);z=this.i.qc(z);q=this.i.Kb(z,m);r=this.i.Kb(this.i.Aa(z),m);q|=r;if(2!=q)break;q=this.i.Ah(z);if(!this.Gf(q)){this.i.Ob(z,\nm,1);this.i.Ob(this.i.Aa(z),m,1);break}}while(z!=p)}else this.i.Ob(p,m,1),this.i.Ob(this.i.Aa(p),m,1);p=this.i.qc(this.i.Aa(p))}while(p!=a)}for(b=this.i.rf;-1!=b;b=this.i.og(b))q=this.i.Hg(b,n),1!=q&&(q=this.i.Md(b),this.Gf(q)&&(-1==k&&(k=f.Yf(l,-1)),a=this.i.Ym(b),-1!=a&&(a=this.i.Uj(a),q=this.gn(a,d),f.Kj(k,q))));this.i.xq(n);this.i.ni(m);c.lo.V(f,e,1,this.pt,null);d=[];d[0]=l;d[1]=g;d[2]=e;return d};g.prototype.Jx=function(b,a){for(var d=-1,c=this.i.Ym(b);-1!=c;c=this.i.gt(c)){var e=this.i.Uj(c);\n-1==d&&(d=e);var g=this.i.Ia(a.ng(a.ld(e)));if(this.Gf(g)){d=e;break}}return d};g.prototype.OB=function(b,a){for(var d=this.i.Kk(a),f=this.i.Xf(a),e=0,g=0,l=this.i.Ym(d);-1!=l;l=this.i.gt(l)){var k=this.i.Uj(l),m=b.ld(k),n=this.i.Ia(b.ng(m)),p=b.U(k),q=b.Ra(k),m=b.cb(m);m==k&&(this.Wo=a);-1!=p&&this.i.jf(p)==f?(e++,this.Gf(n)&&(m==p&&(this.Wo=this.i.qc(a)),g++)):-1!=q&&this.i.jf(q)==f&&(e--,this.Gf(n)&&(m==q&&(this.Wo=this.i.qc(a)),g--))}this.i.w(d,this.AI);this.i.w(f,this.BI);d=c.b.Cb(this.AI,this.BI);\nreturn(0!=g?g:e)*d};g.prototype.Fq=function(b){return this.i.Ah(b)|this.i.Ff(b)|this.i.Ff(this.i.Aa(b))};g.prototype.mL=function(b){for(var a=this.i.Aa(this.i.Te(b)),c=-1;a!=b;){if(this.Gf(this.Fq(a))){if(-1!=c)return-1;c=a}a=this.i.Aa(this.i.Te(a))}return-1!=c?this.i.Aa(c):-1};g.prototype.nL=function(b){for(var a=this.i.Aa(this.i.qc(b)),c=-1;a!=b;){if(this.Gf(this.Fq(a))){if(-1!=c)return-1;c=a}a=this.i.Aa(this.i.qc(a))}return-1!=c?this.i.Aa(c):-1};g.prototype.cK=function(b,a,d,f,e){var g=this.i.a,\nl=b,k=this.i.Aa(l);this.i.Ob(l,d,1);this.i.Ob(k,d,1);var m=this.OB(g,l);this.Wo=-1;for(var n=l,p=-1,q=!1,r=1;;){var u=this.i.Te(l);if(u==k)break;k=this.i.qc(k);if(this.i.Aa(u)!=k)if(l=this.mL(l),-1==l)break;else q=!0,k=this.i.Aa(l);else l=u;if(l==b){p=b;break}u=this.Fq(l);if(!this.Gf(u))break;this.i.Ob(l,d,1);this.i.Ob(k,d,1);n=l;m+=this.OB(g,l);r++}if(-1==p)for(l=b,k=this.i.Aa(l),p=l;;){b=this.i.qc(l);if(b==k)break;k=this.i.Te(k);if(this.i.Aa(b)!=k)if(l=this.nL(l),-1==l){q=!0;break}else k=this.i.Aa(l);\nelse l=b;u=this.Fq(l);if(!this.Gf(u))break;this.i.Ob(l,d,1);this.i.Ob(k,d,1);p=l;m+=this.OB(g,l);r++}else if(-1!=this.Wo&&(n=this.Wo,p=this.i.Te(this.Wo),this.i.Aa(p)!=this.i.qc(this.i.Aa(n))&&(p=this.mL(n),-1==p)))throw c.g.za();0<=m||(l=p,p=this.i.Aa(n),n=this.i.Aa(l));d=g.Yf(a,-1);l=n;n=this.i.Kk(n);q=this.i.Xf(p)==n&&q;m=this.Jx(n,g);m=this.gn(m,e);g.Kj(d,m);-1!=f&&this.i.co(n,f,1);n=0;for(r=q?c.J.truncate((r+1)/2):-1;;){b=this.i.Xf(l);m=this.Jx(b,g);m=this.gn(m,e);g.Kj(d,m);n++;-1!=f&&this.i.co(b,\nf,1);q&&n==r&&(d=g.Yf(a,-1),g.Kj(d,m));if(l==p)break;b=this.i.qc(l);if(this.i.Te(this.i.Aa(l))!=this.i.Aa(b)){if(l=this.nL(l),-1==l)throw c.g.za();}else l=b}};g.prototype.fs=function(b){for(var a=this.i.a.bh(1607),c=this.i.xh(),f=this.i.rf;-1!=f;f=this.i.og(f)){var e=this.i.kf(f),g=e;do 1!=this.i.Kb(g,c)&&this.Gf(this.Fq(g))&&this.cK(g,a,c,-1,b),g=this.i.qc(this.i.Aa(g));while(g!=e)}this.i.ni(c);return a};g.prototype.WY=function(b){for(var a=this.i.a,c=a.bh(1607),f=a.bh(550),e=this.i.xh(),g=this.i.wq(),\nl=-1,k=this.i.rf;-1!=k;k=this.i.og(k)){var n=this.i.kf(k),r=n;do{var p=this.i.Kb(r,e);1!=p&&(p=this.Fq(r),this.Gf(p)&&this.cK(r,c,e,g,b));r=this.i.qc(this.i.Aa(r))}while(r!=n)}for(k=this.i.rf;-1!=k;k=this.i.og(k))p=this.i.Hg(k,g),1!=p&&(p=this.i.Md(k),this.Gf(p)&&(-1==l&&(l=a.Yf(f,-1)),n=this.i.Ym(k),-1!=n&&(n=this.i.Uj(n),n=this.gn(n,b),a.Kj(l,n))));this.i.ni(e);this.i.xq(g);b=[];b[0]=f;b[1]=c;return b};g.prototype.Qp=function(){for(var b=this.i.a,a=b.bh(550),c=b.Yf(a,-1),f=this.i.rf;-1!=f;f=this.i.og(f))if(this.Gf(this.i.Md(f))){for(var e=\n-1,g=this.i.Ym(f);-1!=g;g=this.i.gt(g)){var l=this.i.Uj(g);-1==e&&(e=l);var k=this.i.Ia(b.ng(b.ld(l)));if(this.Gf(k)){e=l;break}}b.Kj(c,e)}return a};g.prototype.Do=function(b){this.Mh=[];for(var a=0;a<b;a++)this.Mh[a]=!1};g.wD=function(b,a,d,f){var e=b.Ka(),g=Array(1E3);c.J.Nv(g,null);var l=c.J.gf(1E3,0),k=b.D(),n=!0,r=2==a.tb();if(1!=a.tb()&&2!=a.tb())throw c.g.za();for(var p=0;p<k;){var q=c.J.truncate(b.fX(g,p)-p);r?c.gd.fL(a,g,q,d,l):c.gd.gL(a,g,q,d,l);for(var t=0,u=0;u<q;u++){var z=0==l[u];f||\n(z=!z);z&&(n&&(n=!1,e.Id(b,0,p)),t!=u&&e.Id(b,p+t,p+u),t=u+1)}n||t==q||e.Id(b,p+t,p+q);p+=q}return n?b:e};g.MH=function(b,a,d){return b instanceof c.Ed?g.wD(b,a,d,!0):a instanceof c.Wa?b.u()||a.u()?b.Ka():c.sk.yJ(d,b,a)?c.sk.GQ(b,a):b.Ka():g.yD(b,a,d,!0)};g.nw=function(b,a,d,f){var e=new c.h;b.s(e);var h=new c.h;a.s(h);var l=new c.h;l.I(e);l.Nb(h);d=c.na.be(d,l,!0);l=new c.h;l.I(h);h=c.na.Cs(d);l.O(h,h);if(!e.Yb(l)){if(b.tb()<=a.tb())return g.bd(g.Bb(b.Ka()),b,\"&\");if(b.tb()>a.tb())return g.bd(g.Bb(a.Ka()),\nb,\"&\")}h=new g;e=new c.fd;l=e.Jb(g.Bb(b));a=e.Jb(g.Bb(a));h.Xr(e,d,f);f=h.nw(l,a);b=g.bd(e.Se(f),b,\"&\");c.T.Ic(b.G())&&(b.Zg(2,d),1736==b.G()&&b.Al());return b};g.yD=function(b,a,d,f){if(b.u())return b.Ka();if(a.u())return f?b.Ka():null;var e=[null],g=[0],l=2==a.tb();if(1!=a.tb()&&2!=a.tb())throw c.g.za();e[0]=b.w();l?c.gd.fL(a,e,1,d,g):c.gd.gL(a,e,1,d,g);a=0==g[0];f||(a=!a);return a?b.Ka():b};g.TZ=function(b,a,d){return b instanceof c.Ed?g.wD(b,a,d,!1):a instanceof c.Wa?b.u()?b.Ka():a.u()?b:c.sk.yJ(d,\nb,a)?b.Ka():b:g.yD(b,a,d,!1)};g.prototype.DJ=function(b,a,d,f,e){if(b.u())return b;var g=new c.fd;b=g.Jb(b);return this.ol(g,b,a,d,f,e)};g.prototype.AW=function(b,a,d,f,e,g){if(e&&550!=b.hc(a)){var l=new c.XD;l.NY(b,d);l.ih?(c.sk.V(b,d,g,!0),e=!1):this.i.ez(d)}else c.sk.V(b,d,g,!0),e=!1;f&&550!=b.hc(a)?this.i.nK(b,a):this.i.mK(b,a);if(this.i.YA)return this.i.qh(),this.i=null,this.ol(b,a,d,f,!1,g);this.i.ez(NaN);g=this.i.Ia(a);this.Do(g+1);this.Mh[g]=!0;if(1736==b.hc(a)||f&&550!=b.hc(a))return b.Hp(a,\n0),a=this.es(a,-1,-1),b=b.Se(a),b.Hp(0),e?b.Zg(1,0):(b.Zg(2,d),b.Al()),b;if(1607==b.hc(a))return a=this.fs(-1),b=b.Se(a),e||b.Zg(2,d),b;if(550==b.hc(a))return a=this.Qp(),b=b.Se(a),e||b.Zg(2,d),b;throw c.g.za();};g.prototype.ol=function(b,a,d,f,e,g){this.i=new c.Qu;try{return this.AW(b,a,d,f,e,g)}finally{this.i.qh()}};g.ol=function(b,a,c,f,e){return(new g).DJ(b,a,c,f,e)};g.prototype.zW=function(b,a,d){this.pt=b;this.i=new c.Qu;b=a.xo(d);var f=a.hc(d);1!=b||550==f?this.i.mK(a,d):this.i.nK(a,d);if(!this.i.YA)if(this.i.ez(NaN),\nf=this.i.Ia(d),this.Do(f+1),this.Mh[f]=!0,1736==a.hc(d)||1==b&&550!=a.hc(d))a.Hp(d,0),b=this.es(d,-1,-1),a.FC(b,d),a.bC(b);else if(1607==a.hc(d))b=this.fs(-1),a.FC(b,d),a.bC(b);else if(550==a.hc(d))b=this.Qp(),a.FC(b,d),a.bC(b);else throw c.g.X(\"internal error\");};g.EC=function(b,a,c,f){var e=new g;e.pt=!0;return e.DJ(b,a,!1,c,f)};g.prototype.Vm=function(b,a){var d=c.T.lf(this.i.a.hc(b)),f=c.T.lf(this.i.a.hc(a));if(d>f)return b;var e=this.i.Ia(b),g=this.i.Ia(a);this.Do((e|g)+1);this.Mh[this.i.Ia(b)]=\n!0;if(2==d&&2==f)return this.es(b,a,-1);if(1==d&&2==f||1==d&&1==f)return this.fs(-1);if(0==d)return this.Qp();throw c.g.za();};g.prototype.nG=function(b,a){var d=c.T.lf(this.i.a.hc(b)),f=c.T.lf(this.i.a.hc(a));if(d>f)return b;if(d<f)return a;var e=this.i.Ia(b),g=this.i.Ia(a);this.Do((e|g)+1);this.Mh[this.i.Ia(b)]=!0;this.Mh[this.i.Ia(a)]=!0;this.Mh[this.i.Ia(b)|this.i.Ia(a)]=!0;if(2==d&&2==f)return this.es(b,a,-1);if(1==d&&1==f)return this.fs(-1);if(0==d&&0==f)return this.Qp();throw c.g.za();};g.prototype.nw=\nfunction(b,a){var d=c.T.lf(this.i.a.hc(b)),f=c.T.lf(this.i.a.hc(a)),e=this.i.Ia(b),g=this.i.Ia(a);this.Do((e|g)+1);this.Mh[this.i.Ia(b)|this.i.Ia(a)]=!0;e=-1;1<this.i.a.Hr.Ga&&(e=b);if(2==d&&2==f)return this.es(b,a,e);if(1==d&&0<f||1==f&&0<d)return this.fs(e);if(0==d||0==f)return this.Qp();throw c.g.za();};g.prototype.wA=function(b,a){var d=c.T.lf(this.i.a.hc(b)),f=c.T.lf(this.i.a.hc(a)),e=this.i.Ia(b),g=this.i.Ia(a);this.Do((e|g)+1);this.Mh[this.i.Ia(b)|this.i.Ia(a)]=!0;e=-1;1<this.i.a.Hr.Ga&&(e=\nb);if(2==d&&2==f)return this.VY(b,a,e);if(1==d&&0<f||1==f&&0<d)return this.WY(e);if(0==d||0==f)return d=[],d[0]=this.Qp(),d;throw c.g.za();};g.prototype.Pp=function(b,a){var d=c.T.lf(this.i.a.hc(b)),f=c.T.lf(this.i.a.hc(a)),e=this.i.Ia(b),g=this.i.Ia(a);this.Do((e|g)+1);this.Mh[this.i.Ia(b)]=!0;this.Mh[this.i.Ia(a)]=!0;if(2==d&&2==f)return this.es(b,a,-1);if(1==d&&1==f)return this.fs(-1);if(0==d&&0==f)return this.Qp();throw c.g.za();};g.Bb=function(b){var a=b.G();return 197==a?(a=new c.Ja(b.description),\nb.u()||a.jd(b,!1),a):33==a?(a=new c.Ed(b.description),b.u()||a.add(b),a):322==a?(a=new c.Ua(b.description),b.u()||a.dc(b,!0),a):b};g.bd=function(b,a,d){var f=b.G();return 197==f?(a=new c.Ja(b.description),b.u()||a.jd(b,!1),a):33!=f||\"|\"!=d&&\"^\"!=d?322==f?(a=new c.Ua(b.description),b.u()||a.dc(b,!0),a):33==f&&\"-\"==d&&33==a.G()||550==f&&\"&\"==d&&33==a.G()?(a=new c.Wa(b.description),b.u()||b.Ae(0,a),a):b:(a=new c.Ed(b.description),b.u()||a.add(b),a)};g.Vm=function(b,a,d,f){if(b.u()||a.u()||b.tb()>a.tb())return g.bd(g.Bb(b),\nb,\"-\");var e=new c.h;b.s(e);var h=new c.h;a.s(h);if(!e.Yb(h))return g.bd(g.Bb(b),b,\"-\");var l=new c.h;l.I(e);l.Nb(h);d=c.na.be(d,l,!0);h=new g;e=new c.fd;l=e.Jb(g.Bb(b));a=e.Jb(g.Bb(a));h.Xr(e,d,f);f=h.Vm(l,a);f=e.Se(f);b=g.bd(f,b,\"-\");c.T.Ic(b.G())&&(b.Zg(2,d),1736==b.G()&&b.Al());return b};g.nG=function(b,a,d,f){if(b.tb()>a.tb())return g.bd(g.Bb(b),b,\"|\");if(b.tb()<a.tb()||b.u())return g.bd(g.Bb(a),b,\"|\");if(a.u())return g.bd(g.Bb(b),b,\"|\");var e=new c.h;b.s(e);var h=new c.h;a.s(h);var l=new c.h;\nl.I(e);l.Nb(h);d=c.na.be(d,l,!0);if(!e.Yb(h.oT(d,d)))switch(b=g.Bb(b),a=g.Bb(a),b.G()){case 550:return b=c.T.oe(b),b.Id(a,0,-1),b;case 1607:return b=c.T.oe(b),b.add(a,!1),b;case 1736:return b=c.T.oe(b),b.add(a,!1),b;default:throw c.g.za();}h=new g;e=new c.fd;l=e.Jb(g.Bb(b));a=e.Jb(g.Bb(a));h.Xr(e,d,f);a=h.nG(l,a);b=g.bd(e.Se(a),b,\"|\");c.T.Ic(b.G())&&(b.Zg(2,d),1736==b.G()&&b.Al());return b};g.SR=function(b,a,d){if(2>b.length)throw c.g.F(\"not enough geometries to dissolve\");for(var f=0,e=0,h=b.length;e<\nh;e++)f=Math.max(b[e].tb(),f);var l=new c.h;l.Oa();for(var k=new c.fd,n=-1,r=0,p=-1,e=0,h=b.length;e<h;e++)if(b[e].tb()==f)if(b[e].u())-1==p&&(p=e);else{p=e;-1==n?n=k.Jb(g.Bb(b[e])):k.xP(n,g.Bb(b[e]));var q=new c.h;b[e].ac(q);l.Nb(q);r++}if(2>r)return g.Bb(b[p]);b=2==f;a=c.na.be(0==f?a:null,l,!0);return(new g).ol(k,n,a,b,!0,d)};g.wA=function(b,a,d,f){var e=[null,null,null],h=new c.h;b.s(h);var l=new c.h;a.s(l);var k=new c.h;k.I(h);k.Nb(l);d=c.na.be(d,k,!0);k=new c.h;k.I(l);l=c.na.Cs(d);k.O(l,l);if(!h.Yb(k)){if(b.tb()<=\na.tb())return b=g.bd(g.Bb(b.Ka()),b,\"&\"),e[b.tb()]=b,e;if(b.tb()>a.tb())return b=g.bd(g.Bb(a.Ka()),b,\"&\"),e[b.tb()]=b,e}l=new g;h=new c.fd;k=h.Jb(g.Bb(b));a=h.Jb(g.Bb(a));l.Xr(h,d,f);f=l.wA(k,a);for(a=0;a<f.length;a++)l=g.bd(h.Se(f[a]),b,\"&\"),c.T.Ic(l.G())&&(l.Zg(2,d),1736==l.G()&&l.Al()),e[l.tb()]=l;return e};g.Pp=function(b,a,d,f){if(b.tb()>a.tb())return g.bd(g.Bb(b),b,\"^\");if(b.tb()<a.tb()||b.u())return g.bd(g.Bb(a),b,\"^\");if(a.u())return g.bd(g.Bb(b),b,\"^\");var e=new c.h;b.s(e);var h=new c.h;\na.s(h);var l=new c.h;l.I(e);l.Nb(h);d=c.na.be(d,l,!0);h=new g;e=new c.fd;l=e.Jb(g.Bb(b));a=e.Jb(g.Bb(a));h.Xr(e,d,f);f=h.Pp(l,a);b=g.bd(e.Se(f),b,\"^\");c.T.Ic(b.G())&&(b.Zg(2,d),1736==b.G()&&b.Al());return b};g.M_=function(b,a,d){a=a.G();d=d.G();return 550==b.G()&&(33==a||33==d)&&1>=b.D()?(d=new c.Wa(b.description),b.u()||b.Ae(0,d),d):b};g.prototype.BS=function(b,a){for(var c=this.i.a,f=c.Yf(b,-1),e=a.size,g=0;g<e;g++){var l=a.get(g);c.Kj(f,l)}c.$n(f,!0)};g.prototype.XX=function(b,a){for(var c=this.i.a,\nf=c.sd;-1!=f;f=c.Ue(f))if(f==a)for(var e=c.Pb(f);-1!=e;e=c.Sb(e)){var g=c.cb(e);if(-1!=g)for(var l=c.U(g);-1!=l;){var g=this.i.jf(g),k=this.i.jf(l),g=this.i.lT(g,k);-1!=g&&(k=this.i.Aa(g),this.i.Ob(g,b,1),this.i.Ob(k,b,2));g=l;l=c.U(g)}}};g.prototype.UW=function(b,a,d,f){d=this.i.Ia(d);f=this.i.Ia(f);var e=new c.ia(0);e.yb(256);for(var g=this.i.a,l=this.i.xh(),k=this.i.rf;-1!=k;k=this.i.og(k)){var n=this.i.kf(k);if(-1!=n){var r=n;do{if(1!=this.i.Kb(r,l)){var p=r,q=r,t=!1,u=0;do{this.i.Ob(p,l,1);if(!t){var z=\nthis.i.Ah(p);0!=(z&f)&&0!=(this.i.Ff(p)&d)&&(q=p,t=!0)}t&&(e.add(this.i.Uj(this.i.Ym(this.i.Kk(p)))),-1!=b&&(z=this.i.Ah(p),0!=(z&f)&&(z=this.i.Kb(p,b),u|=z)));p=this.i.qc(p)}while(p!=q);t&&0<this.i.Dq(this.i.Ef(q))&&(p=g.bh(1736),this.BS(p,e),-1!=a&&g.xK(p,a,u));e.clear(!1)}r=this.i.qc(this.i.Aa(r))}while(r!=n)}}this.i.ni(l)};g.prototype.AR=function(b,a,c,f){this.i.wX();var e=-1;-1!=b&&(e=this.i.xh(),this.XX(e,c));this.UW(e,b,a,c);var g=this.i.a;b=0;for(e=g.sd;-1!=e;e=g.Ue(e))e!=a&&e!=c&&(f.add(e),\nb++);f.Gd(0,b,function(a,b){var c=g.hA(g.Pb(a)),d=g.hA(g.Pb(b));return c<d?-1:c==d?0:1})};g.prototype.qh=function(){null!=this.i&&(this.i.qh(),this.i=null)};return g}();c.Dg=n})(r||(r={}));(function(c){var n=function(){function g(b){void 0!==b?this.Op(b):this.qC()}g.prototype.Vx=function(){this.bc=this.Wb=this.zb=this.sb=this.gb=this.lb=0};g.prototype.Eb=function(b){return this==b?!0:b instanceof g?this.lb==b.lb&&this.sb==b.sb&&this.Wb==b.Wb&&this.zb==b.zb&&this.gb==b.gb&&this.bc==b.bc:!1};g.prototype.jc=\nfunction(){c.J.Zi();c.J.Zi();c.J.Zi();c.J.Zi();c.J.Zi();return c.J.Zi()};g.prototype.$h=function(b,a){var c=this.zb*b.x+this.gb*b.y+this.bc;a.x=this.lb*b.x+this.sb*b.y+this.Wb;a.y=c};g.prototype.YY=function(b,a,c,f,e){var g=2*a;f=2*f;for(a=2*(a+e);g<a;g+=2,f+=2){e=b[g];var l=b[g+1];c[f]=this.lb*e+this.sb*l+this.Wb;c[f+1]=this.zb*e+this.gb*l+this.bc}};g.prototype.$Y=function(b,a,d){for(var f=0;f<a;f++){var e=b[f].x,g=b[f].y,l=this.lb*e+this.sb*g+this.Wb,e=this.zb*e+this.gb*g+this.bc;null!=d[f]?d[f].ka(l,\ne):d[f]=c.b.pa(l,e)}};g.prototype.multiply=function(b){g.multiply(this,b,this)};g.multiply=function(b,a,c){var f,e,g,l,k;f=b.lb*a.lb+b.zb*a.sb;e=b.sb*a.lb+b.gb*a.sb;g=b.Wb*a.lb+b.bc*a.sb+a.Wb;l=b.lb*a.zb+b.zb*a.gb;k=b.sb*a.zb+b.gb*a.gb;b=b.Wb*a.zb+b.bc*a.gb+a.bc;c.lb=f;c.sb=e;c.Wb=g;c.zb=l;c.gb=k;c.bc=b};g.prototype.Vf=function(){var b=new g;b.lb=this.lb;b.sb=this.sb;b.Wb=this.Wb;b.zb=this.zb;b.gb=this.gb;b.bc=this.bc;return b};g.prototype.LC=function(b){if(!b.u()){for(var a=[],d=0;4>d;d++)a[d]=new c.b;\nb.QB(a);this.aZ(a,a);b.Mx(a,4)}};g.prototype.aZ=function(b,a){for(var d=0;d<b.length;d++){var f=new c.b,e=b[d];f.x=this.lb*e.x+this.sb*e.y+this.Wb;f.y=this.zb*e.x+this.gb*e.y+this.bc;a[d]=f}};g.prototype.lU=function(b,a){b.u()||a.u()||0==b.N()||0==b.fa()?this.Vx():(this.sb=this.zb=0,this.lb=a.N()/b.N(),this.gb=a.fa()/b.fa(),this.Wb=a.o-b.o*this.lb,this.bc=a.A-b.A*this.gb)};g.prototype.ZY=function(b){var a=new c.b,d=new c.b;a.ka(this.lb,this.zb);d.ka(this.sb,this.gb);a.sub(a);var f=.5*a.qk();a.ka(this.lb,\nthis.zb);d.ka(this.sb,this.gb);a.add(d);a=.5*a.qk();return b*(f>a?Math.sqrt(f):Math.sqrt(a))};g.prototype.qC=function(){this.lb=1;this.zb=this.Wb=this.sb=0;this.gb=1;this.bc=0};g.prototype.Ho=function(b){if(void 0!==b){var a=c.b.pa(0,1);this.$h(a,a);a.sub(c.b.pa(0,1));if(a.qk()>b*b)return!1;a.ka(0,0);this.$h(a,a);if(a.qk()>b*b)return!1;a.ka(1,0);this.$h(a,a);a.sub(c.b.pa(1,0));return a.qk()<=b*b}return 1==this.lb&&1==this.gb&&0==this.sb&&0==this.Wb&&0==this.zb&&0==this.bc};g.prototype.fh=function(b){return Math.abs(this.lb*\nthis.gb-this.zb*this.sb)<=2*b*(Math.abs(this.lb*this.gb)+Math.abs(this.zb*this.sb))};g.prototype.Ag=function(b,a){this.lb=1;this.sb=0;this.Wb=b;this.zb=0;this.gb=1;this.bc=a};g.prototype.Op=function(b,a){void 0!==a?(this.lb=b,this.zb=this.Wb=this.sb=0,this.gb=a,this.bc=0):this.Op(b,b)};g.prototype.yC=function(){this.lb=0;this.sb=1;this.Wb=0;this.zb=1;this.bc=this.gb=0};g.prototype.kY=function(b){this.lY(Math.cos(b),Math.sin(b))};g.prototype.lY=function(b,a){this.lb=b;this.sb=-a;this.Wb=0;this.zb=\na;this.gb=b;this.bc=0};g.prototype.shift=function(b,a){this.Wb+=b;this.bc+=a};g.prototype.scale=function(b,a){this.lb*=b;this.sb*=b;this.Wb*=b;this.zb*=a;this.gb*=a;this.bc*=a};g.prototype.rotate=function(b){var a=new g;a.kY(b);this.multiply(a)};g.prototype.inverse=function(b){if(void 0!==b){var a=this.lb*this.gb-this.sb*this.zb;0==a?b.Vx():(a=1/a,b.Wb=(this.sb*this.bc-this.Wb*this.gb)*a,b.bc=(this.Wb*this.zb-this.lb*this.bc)*a,b.lb=this.gb*a,b.sb=-this.sb*a,b.zb=-this.zb*a,b.gb=this.lb*a)}else this.inverse(this)};\nreturn g}();c.Hd=n})(r||(r={}));(function(c){var n=function(){function g(){}g.prototype.Vx=function(){this.bi=this.bc=this.Wb=this.Df=this.Af=this.zf=this.Cf=this.gb=this.sb=this.Sf=this.zb=this.lb=0};g.prototype.Op=function(b,a,c){this.lb=b;this.sb=this.Sf=this.zb=0;this.gb=a;this.Af=this.zf=this.Cf=0;this.Df=c;this.bi=this.bc=this.Wb=0};g.prototype.LC=function(b){if(b.u())return b;for(var a=new c.qd[8],d=0;8>d;d++)a[d]=new c.qd;b.QB(a);this.transform(a,8,a);b.Mx(a);return b};g.prototype.transform=\nfunction(b,a,d){for(var f=0;f<a;f++){var e=new c.qd,g=b[f];e.x=this.lb*g.x+this.sb*g.y+this.zf*g.z+this.Wb;e.y=this.zb*g.x+this.gb*g.y+this.Af*g.z+this.bc;e.z=this.Sf*g.x+this.Cf*g.y+this.Df*g.z+this.bi;d[f]=e}};g.prototype.Rp=function(b){var a=new c.qd;a.x=this.lb*b.x+this.sb*b.y+this.zf*b.z+this.Wb;a.y=this.zb*b.x+this.gb*b.y+this.Af*b.z+this.bc;a.z=this.Sf*b.x+this.Cf*b.y+this.Df*b.z+this.bi;return a};g.prototype.Vg=function(b){g.multiply(this,b,this)};g.multiply=function(b,a,c){var f,e,g,l,k,\nn,r,p,q,t,u;f=b.lb*a.lb+b.zb*a.sb+b.Sf*a.zf;e=b.lb*a.zb+b.zb*a.gb+b.Sf*a.Af;g=b.lb*a.Sf+b.zb*a.Cf+b.Sf*a.Df;l=b.sb*a.lb+b.gb*a.sb+b.Cf*a.zf;k=b.sb*a.zb+b.gb*a.gb+b.Cf*a.Af;n=b.sb*a.Sf+b.gb*a.Cf+b.Cf*a.Df;r=b.zf*a.lb+b.Af*a.sb+b.Df*a.zf;p=b.zf*a.zb+b.Af*a.gb+b.Df*a.Af;q=b.zf*a.Sf+b.Af*a.Cf+b.Df*a.Df;t=b.Wb*a.lb+b.bc*a.sb+b.bi*a.zf+a.Wb;u=b.Wb*a.zb+b.bc*a.gb+b.bi*a.Af+a.bc;b=b.Wb*a.Sf+b.bc*a.Cf+b.bi*a.Df+a.bi;c.lb=f;c.zb=e;c.Sf=g;c.sb=l;c.gb=k;c.Cf=n;c.zf=r;c.Af=p;c.Df=q;c.Wb=t;c.bc=u;c.bi=b};g.inverse=\nfunction(b,a){var d=b.lb*(b.gb*b.Df-b.Cf*b.Af)-b.zb*(b.sb*b.Df-b.Cf*b.zf)+b.Sf*(b.sb*b.Af-b.gb*b.zf);if(0!=d){var f,e,g,l,k,n,r,p,q,t,u;p=1/d;d=(b.gb*b.Df-b.Cf*b.Af)*p;g=-(b.sb*b.Df-b.Cf*b.zf)*p;n=(b.sb*b.Af-b.gb*b.zf)*p;f=-(b.zb*b.Df-b.Af*b.Sf)*p;l=(b.lb*b.Df-b.Sf*b.zf)*p;r=-(b.lb*b.Af-b.zb*b.zf)*p;e=(b.zb*b.Cf-b.Sf*b.gb)*p;k=-(b.lb*b.Cf-b.Sf*b.sb)*p;p*=b.lb*b.gb-b.zb*b.sb;q=-(b.Wb*d+b.bc*g+b.bi*n);t=-(b.Wb*f+b.bc*l+b.bi*r);u=-(b.Wb*e+b.bc*k+b.bi*p);a.lb=d;a.zb=f;a.Sf=e;a.sb=g;a.gb=l;a.Cf=k;a.zf=\nn;a.Af=r;a.Df=p;a.Wb=q;a.bc=t;a.bi=u}else throw c.g.X(\"math singularity\");};g.prototype.Vf=function(){var b=new g;b.lb=this.lb;b.zb=this.zb;b.Sf=this.Sf;b.sb=this.sb;b.gb=this.gb;b.Cf=this.Cf;b.zf=this.zf;b.Af=this.Af;b.Df=this.Df;b.Wb=this.Wb;b.bc=this.bc;b.bi=this.bi;return b};return g}();c.fO=n})(r||(r={}));(function(c){var n=function(b){function a(a){if(void 0!==a)b.call(this,a.jc(),a);else{b.call(this);this.wg=[];this.wg[0]=0;this.Ga=1;this.Sh=[];for(a=0;10>a;a++)this.Sh[a]=-1;this.Sh[this.wg[0]]=\n0}this.Zq=!0}O(a,b);a.prototype.Ud=function(a){this.hasAttribute(a)||(this.Sh[a]=0,this.DE())};a.prototype.removeAttribute=function(a){if(0==a)throw c.g.F(\"Position attribue cannot be removed\");this.hasAttribute(a)&&(this.Sh[a]=-1,this.DE())};a.prototype.reset=function(){this.wg[0]=0;this.Ga=1;for(var a=0;a<this.Sh.length;a++)this.Sh[a]=-1;this.Sh[this.wg[0]]=0;this.Zq=!0};a.prototype.Pz=function(){return g.zo().add(this)};a.Ig=function(){return g.zo().UT()};a.eq=function(){return g.zo().VT()};a.prototype.KO=\nfunction(){var a=this.jc();return new c.ma(a,this)};a.prototype.DE=function(){for(var a=this.Ga=0,b=0;10>a;a++)0<=this.Sh[a]&&(this.wg[b]=a,this.Sh[a]=b,b++,this.Ga++);this.Zq=!0};a.prototype.jc=function(){this.Zq&&(this.bm=this.Ak(),this.Zq=!1);return this.bm};a.prototype.Eb=function(b){if(null==b)return!1;if(b==this)return!0;if(!(b instanceof a)||b.Ga!=this.Ga)return!1;for(var c=0;c<this.Ga;c++)if(this.wg[c]!=b.wg[c])return!1;return this.Zq!=b.Zq?!1:!0};a.prototype.SH=function(a){if(a.Ga!=this.Ga)return!1;\nfor(var b=0;b<this.Ga;b++)if(this.wg[b]!=a.wg[b])return!1;return!0};a.vx=function(a,b){for(var c=[],g=0;g<a.Ga;g++)c[g]=-1;for(var g=0,l=a.Ga;g<l;g++)c[g]=b.mg(a.rd(g));return c};a.vT=function(b,c){var e=new a(b);e.Ud(c);return e.Pz()};a.wT=function(b,c){for(var e=null,g=0;10>g;g++)!b.hasAttribute(g)&&c.hasAttribute(g)&&(null==e&&(e=new a(b)),e.Ud(g));return null!=e?e.Pz():b};a.ss=function(b,c){var e=new a(b);e.removeAttribute(c);return e.Pz()};return a}(c.ma);c.ye=n;var g=function(){function b(){this.map=\n[];var a=new n;this.add(a);a=new n;a.Ud(1);this.add(a)}b.zo=function(){return b.jV};b.prototype.UT=function(){return b.aq};b.prototype.VT=function(){return b.bq};b.prototype.add=function(a){var c=a.jc();if(null!=b.aq&&b.aq.jc()==c&&a.SH(b.aq))return b.aq;if(null!=b.bq&&b.bq.jc()==c&&a.SH(b.bq))return b.bq;var f=null;void 0!==this.map[c]&&(f=this.map[c]);null==f&&(f=a.KO(),1==f.Ga?b.aq=f:2==f.Ga&&1==f.rd(1)?b.bq=f:this.map[c]=f);return f};b.jV=new b;return b}()})(r||(r={}));var N=0==ua.version.indexOf(\"4.\"),\nta;(function(c){c[c.Linear=0]=\"Linear\";c[c.Angular=1]=\"Angular\";c[c.Area=2]=\"Area\";c[c.LinearOrAngular=3]=\"LinearOrAngular\"})(ta||(ta={}));var ra={feet:9002,kilometers:9036,meters:9001,miles:9035,\"nautical-miles\":9030,yards:9096},va={acres:109402,ares:109463,hectares:109401,\"square-feet\":109405,\"square-kilometers\":109414,\"square-meters\":109404,\"square-miles\":109413,\"square-yards\":109442},sa={degrees:9102,radians:9101};void 0===ca.prototype.getCacheValue&&qa.extend(ca,{cache:null,getCacheValue:function(c){if(null===\nthis.cache||void 0===this.cache)this.cache={};return this.cache[c]},setCacheValue:function(c,n){if(null===this.cache||void 0===this.cache)this.cache={};this.cache[c]=n}});var xa=r.Sd.create(4326),wa=r.Sd.create(102100);pa=function(){function c(){}c.extendedSpatialReferenceInfo=function(c){if(null===c)return null;c=aa(c);var g=c.Nd();return{tolerance:c.Bo(),unitType:null==g?-1:g.nd,unitID:null==g?-1:g.yc(),unitBaseFactor:null==g?0:g.Ai,unitSquareDerivative:null==g?0:r.oc.lH(g).yc()}};c.clip=function(c,\ng){if(null===c)return null;var b=r.cc.clip(J(c),J(g),M(c));return Q(b,c.spatialReference)};c.cut=function(c,g){for(var b=J(g),b=r.cc.Hl(J(c),b,M(c)),a=[],d=0;d<b.length;d++)a.push(Q(b[d],c.spatialReference));return a};c.contains=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.contains(J(c),J(g),M(c))};c.crosses=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.zR(J(c),J(g),M(c))};c.distance=function(c,g,b){if(null===\nc||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.Cb(J(c),J(g),M(c),r.oc.ze(X(b,3)))};c.equals=function(c,g){return null===c&&null!==g||null===g&&null!==c?!1:r.cc.Eb(J(c),J(g),M(c))};c.intersects=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.OU(J(c),J(g),M(c))};c.touches=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.touches(J(c),J(g),M(c))};c.within=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");\nreturn r.cc.sZ(J(c),J(g),M(c))};c.disjoint=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.RR(J(c),J(g),M(c))};c.overlaps=function(c,g){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.pW(J(c),J(g),M(c))};c.relate=function(c,g,b){if(null===c||null===g)throw Error(\"Illegal Argument Exception\");return r.cc.ZB(J(c),J(g),M(c),b)};c.isSimple=function(c){if(null===c)throw Error(\"Illegal Argument Exception\");return r.cc.ZU(J(c),M(c))};\nc.simplify=function(c){if(null===c)throw Error(\"Illegal Argument Exception\");var g=r.cc.DC(J(c),M(c));return Q(g,c.spatialReference)};c.convexHull=function(n,g){void 0===g&&(g=!1);if(null===n)throw Error(\"Illegal Argument Exception\");if(!1===ea(n)){var b=r.cc.iR(J(n),M(n));return Q(b,n.spatialReference)}return c.lZ(n,g)};c.lZ=function(c,g){for(var b=[],a=0;a<c.length;a++)b.push(J(c[a]));b=r.cc.jR(b,g);for(a=0;a<b.length;a++)b[a]=Q(b[a],c[0].spatialReference);return b};c.difference=function(n,g){if(null===\nn||null===g)throw Error(\"Illegal Argument Exception\");if(!1===ea(n)){var b=r.cc.Vm(J(n),J(g),M(n));return Q(b,n.spatialReference)}return c.iM(n,g)};c.iM=function(c,g){for(var b=[],a=0;a<c.length;a++)b.push(J(c[a]));b=r.cc.OR(b,J(g),M(g));for(a=0;a<b.length;a++)b[a]=Q(b[a],g.spatialReference);return b};c.symmetricDifference=function(n,g){if(null===n||null===g)throw Error(\"Illegal Argument Exception\");if(!1===ea(n)){var b=r.cc.Pp(J(n),J(g),M(n));return Q(b,n.spatialReference)}return c.LM(n,g)};c.LM=\nfunction(c,g){for(var b=[],a=0;a<c.length;a++)b.push(J(c[a]));b=r.cc.PY(b,J(g),M(g));for(a=0;a<b.length;a++)b[a]=Q(b[a],g.spatialReference);return b};c.intersect=function(n,g){if(null===n||null===g)throw Error(\"Illegal Argument Exception\");if(!1===ea(n)){var b=r.cc.Ma(J(n),J(g),M(n));return Q(b,n.spatialReference)}return c.xM(n,g)};c.xM=function(c,g){for(var b=[],a=0;a<c.length;a++)b.push(J(c[a]));b=r.cc.MU(b,J(g),M(g));for(a=0;a<b.length;a++)b[a]=Q(b[a],g.spatialReference);return b};c.union=function(c,\ng){void 0===g&&(g=null);if(null===c)return null;!1===ea(c)&&(c=[c],null!==g&&c.push(g));if(0===c.length)return null;for(var b=[],a=0;a<c.length;a++)b.push(J(c[a]));return Q(r.cc.hZ(b,M(c[0])),c[0].spatialReference)};c.offset=function(n,g,b,a,d,f){var e=0;if(null!=a&&void 0!=a)switch(a){case \"round\":e=0;break;case \"bevel\":e=1;break;case \"miter\":e=2;break;case \"square\":e=3}return!1===ea(n)?(g=r.cc.offset(J(n),M(n),g,e,d,f,r.oc.ze(X(b,3))),Q(g,n.spatialReference)):c.HM(n,g,b,e,d,f)};c.HM=function(c,\ng,b,a,d,f){if(null===c)return null;if(0===c.length)return[];for(var e=[],h=0;h<c.length;h++)e.push(J(c[h]));g=r.cc.nW(e,M(c[0]),g,a,d,f,r.oc.ze(X(b,3)));for(h=0;h<g.length;h++)g[h]=Q(g[h],c[0].spatialReference);return g};c.buffer=function(n,g,b,a){void 0===a&&(a=!1);if(!1===ea(n))return g=r.cc.buffer(J(n),M(n),g,r.oc.ze(X(b,3)),!1,0,NaN),Q(g,n.spatialReference);if(\"[object Array]\"!==Object.prototype.toString.call(g)){for(var d=[],f=0;f<n.length;f++)d.push(g);g=d}if(g.length!=n.length){if(0==g.length)throw Error(\"Illegal Argument Exception\");\nfor(var d=[],e=0,f=0;f<n.length;f++)void 0===g[f]?d.push(e):(d.push(g[f]),e=g[f]);g=d}return c.rD(n,g,b,!1,a,\"geodesic\",NaN)};c.geodesicBuffer=function(n,g,b,a,d,f){if(!1===ea(n))return void 0===d&&(d=NaN),g=r.cc.buffer(J(n),M(n),g,r.oc.ze(X(b,0)),!0,na(a),d),Q(g,n.spatialReference);if(\"[object Array]\"!==Object.prototype.toString.call(g)){for(var e=[],h=0;h<n.length;h++)e.push(g);g=e}if(g.length!=n.length){if(0==g.length)throw Error(\"Illegal Argument Exception\");for(var e=[],l=0,h=0;h<n.length;h++)void 0===\ng[h]?e.push(l):(e.push(g[h]),l=g[h]);g=e}return c.rD(n,g,b,!0,a,d,f)};c.rD=function(c,g,b,a,d,f,e){if(null===c)return null;if(0===c.length)return[];void 0===e&&(e=NaN);for(var h=[],l=0;l<c.length;l++)h.push(J(c[l]));g=r.cc.RP(h,M(c[0]),g,r.oc.ze(X(b,0)),a,d,na(f),e);for(l=0;l<g.length;l++)g[l]=Q(g[l],c[0].spatialReference);return g};c.nearestCoordinate=function(c,g,b){void 0===b&&(b=!0);g=r.cc.$z(J(c),J(g),b);return{coordinate:Q(g.Oz(),c.spatialReference),distance:g.Rz(),isRightSide:g.AA(),vertexIndex:g.Za(),\nisEmpty:g.u()}};c.nearestVertex=function(c,g){var b=r.cc.aA(J(c),J(g));return{coordinate:Q(b.Oz(),c.spatialReference),distance:b.Rz(),isRightSide:b.AA(),vertexIndex:b.Za(),isEmpty:b.u()}};c.nearestVertices=function(c,g,b,a){g=J(g);b=r.cc.bA(J(c),g,b,a);a=[];for(g=0;g<b.length;g++)!1===b[g].u()&&a.push({coordinate:Q(b[g].Oz(),c.spatialReference),distance:b[g].Rz(),isRightSide:b[g].AA(),vertexIndex:b[g].Za(),isEmpty:b[g].u()});return a};c.generalize=function(c,g,b,a){g=r.cc.HS(J(c),M(c),g,b,r.oc.ze(X(a,\n3)));return Q(g,c.spatialReference)};c.densify=function(c,g,b){g=r.cc.Ls(J(c),M(c),g,r.oc.ze(X(b,3)));return Q(g,c.spatialReference)};c.geodesicDensify=function(c,g,b,a){void 0===a&&(a=0);g=r.cc.Fz(J(c),M(c),g,r.oc.ze(X(b,3)),a);return Q(g,c.spatialReference)};c.rotate=function(c,g,b){if(void 0===b||null===b)void 0!==c.x?b=c:void 0!==c.xmin?(!1===c instanceof ca&&(c=N?Y(c):W(c)),b=N?c.get(\"center\"):c.getCenter()):(!1===c instanceof ca&&(c=N?Y(c):W(c)),b=N?c.get(\"extent\").get(\"center\"):c.getExtent().getCenter());\ng=N?r.Wp.rotate(c.toJSON?c.toJSON():c,g,b.toJSON?b.toJSON():b):r.Wp.rotate(c.toJson?c.toJson():c,g,b.toJson?b.toJson():b);N?(g=Y(g),g.set(\"spatialReference\",c.spatialReference)):(g=W(g),g.setSpatialReference(c.spatialReference));return g};c.flipHorizontal=function(c,g){if(void 0===g||null===g)void 0!==c.x?g=c:void 0!==c.xmin?(!1===c instanceof ca&&(c=N?Y(c):W(c)),g=N?c.get(\"center\"):c.getCenter()):(!1===c instanceof ca&&(c=N?Y(c):W(c)),g=N?c.get(\"extent\").get(\"center\"):c.getExtent().getCenter());\nvar b;b=N?r.Wp.zG(c.toJSON?c.toJSON():c,g.toJSON?g.toJSON():g):r.Wp.zG(c.toJson?c.toJson():c,g.toJson?g.toJson():g);N?(b=Y(b),b.set(\"spatialReference\",c.spatialReference)):(b=W(b),b.setSpatialReference(c.spatialReference));return b};c.flipVertical=function(c,g){if(void 0===g||null===g)void 0!==c.x?g=c:void 0!==c.xmin?(!1===c instanceof ca&&(c=N?Y(c):W(c)),g=N?c.get(\"center\"):c.getCenter()):(!1===c instanceof ca&&(c=N?Y(c):W(c)),g=N?c.get(\"extent\").get(\"center\"):c.getExtent().getCenter());var b;b=\nN?r.Wp.AG(c.toJSON?c.toJSON():c,g.toJSON?g.toJSON():g):r.Wp.AG(c.toJson?c.toJson():c,g.toJson?g.toJson():g);N?(b=Y(b),b.set(\"spatialReference\",c.spatialReference)):(b=W(b),b.setSpatialReference(c.spatialReference));return b};c.planarArea=function(c,g){if(null===c)throw Error(\"Illegal Argument Exception\");return r.cc.xW(J(c),M(c),r.oc.ze(X(g,2)))};c.planarLength=function(c,g){if(null===c)throw Error(\"Illegal Argument Exception\");return r.cc.yW(J(c),M(c),r.oc.ze(X(g,3)))};c.geodesicArea=function(c,\ng,b){if(null===c)throw Error(\"Illegal Argument Exception\");return r.cc.NS(J(c),M(c),r.oc.ze(X(g,2)),na(b))};c.geodesicLength=function(c,g,b){if(null===c)throw Error(\"Illegal Argument Exception\");return r.cc.RS(J(c),M(c),r.oc.ze(X(g,0)),na(b))};c._enableProjection=function(n){c.GE=!0;r.BN.bind(n)};c.Mg=function(c){return aa(c).Ao()};c._getTransformation=function(c,g,b){void 0===b&&(b=null);var a=null,d=null;if(b){if(!b.spatialReference)throw r.g.F(\"AOI missing Spatial Reference\");a=J(b);d=aa(b.spatialReference).Ao()}c=\nr.Ou.RT(aa(c).Ao(),aa(g).Ao(),a,d);return null!==c?c:null};c._getTransformationBySuitability=function(c,g,b){void 0===b&&(b=null);var a=null,d=null;if(b){if(!b.spatialReference)throw r.g.F(\"AOI missing Spatial Reference\");a=J(b);d=aa(b.spatialReference).Ao()}return r.Ou.ST(aa(c).Ao(),aa(g).Ao(),a,d)};c.dZ=function(n,g,b){var a=null;if(b){var d=b.getGTListEntry();if(null!==d){for(var a=new r.ny(null),f=0,e=d.steps;f<e.length;f++){var d=e[f],h=new r.io(d.geogtran);d.isInverse&&h.kt();a.add(h)}a=r.rs.Is(c.Mg(n),\nc.Mg(g),a);b.assignCachedGe(n,g,a);return a}}if(null===a&&b&&b.steps&&0<b.steps.length){a=new r.ny(null);f=0;for(e=b.steps;f<e.length;f++)d=e[f],-1!=d.wkid&&null!==d.wkid&&void 0!==d.wkid?a.add(r.io.create(d.wkid,d.isInverse)):a.add(r.io.gG(d.wkt,d.isInverse));a=r.rs.Is(c.Mg(n),c.Mg(g),a);b.assignCachedGe(n,g,a);return a}return r.rs.Is(c.Mg(n),c.Mg(g),a)};c._project=function(n,g,b,a,d){void 0===a&&(a=null);void 0===d&&(d=!1);if(!1===this.GE)throw Error(\"Projection Engine must be enabled using enableProjection\");\nif(0===n.length)return[];if(a){var f=a.getCachedGeTransformation(g,b);f||(f=c.dZ(g,b,a));g=[];var e=0}else f=r.rs.Is(c.Mg(g),c.Mg(b),null),g=[],e=0;for(;e<n.length;e++)a=n[e],g.push(c.nD(a,b,f,d));return g};c.nD=function(c,g,b,a){c=r.cc.Xg(J(c),b);return a?ya(c):Q(c,g)};c.GE=!1;return c}();void 0===ca.prototype.getCacheValue&&qa.extend(ca,{cache:null,getCacheValue:function(c){if(null===this.cache||void 0===this.cache)this.cache={};return this.cache[c]},setCacheValue:function(c,n){if(null===this.cache||\nvoid 0===this.cache)this.cache={};this.cache[c]=n}});return pa});\n","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){var r,o={values:[1,.3048,.3048006096012192,.3047972654,.9143917962,.201166195164,.9143984146160287,.3047994715386762,20.11676512155263,20.11678249437587,.9143985307444408,.91439523,.3047997101815088,20.116756,5e4,15e4],units:[\"Meter\",\"Foot\",\"Foot_US\",\"Foot_Clarke\",\"Yard_Clarke\",\"Link_Clarke\",\"Yard_Sears\",\"Foot_Sears\",\"Chain_Sears\",\"Chain_Benoit_1895_B\",\"Yard_Indian\",\"Yard_Indian_1937\",\"Foot_Gold_Coast\",\"Chain_Sears_1922_Truncated\",\"50_Kilometers\",\"150_Kilometers\"],2066:5,2136:12,2155:2,2157:0,2158:0,2159:12,2160:12,2204:2,2219:0,2220:0,2254:2,2255:2,2256:1,2265:1,2266:1,2267:2,2268:2,2269:1,2270:1,2271:2,2272:2,2273:1,2294:0,2295:0,2314:3,2899:2,2900:2,2901:1,2909:1,2910:1,2911:2,2912:2,2913:1,2914:1,2992:1,2993:0,2994:1,3080:1,3089:2,3090:0,3091:2,3102:2,3141:0,3142:0,3167:13,3359:2,3360:0,3361:1,3362:0,3363:2,3364:0,3365:2,3366:3,3404:2,3405:0,3406:0,3407:3,3439:0,3440:0,3479:1,3480:0,3481:1,3482:0,3483:1,3484:0,3485:2,3486:0,3487:2,3488:0,3489:0,3490:2,3491:0,3492:2,3493:0,3494:2,3495:0,3496:2,3497:0,3498:2,3499:0,3500:2,3501:0,3502:2,3503:0,3504:2,3505:0,3506:2,3507:0,3508:2,3509:0,3510:2,3511:0,3512:2,3513:0,3514:0,3515:2,3516:0,3517:2,3518:0,3519:2,3520:0,3521:2,3522:0,3523:2,3524:0,3525:2,3526:0,3527:2,3528:0,3529:2,3530:0,3531:2,3532:0,3533:2,3534:0,3535:2,3536:0,3537:2,3538:0,3539:2,3540:0,3541:2,3542:0,3543:2,3544:0,3545:2,3546:0,3547:2,3548:0,3549:2,3550:0,3551:2,3552:0,3553:2,3582:2,3583:0,3584:2,3585:0,3586:2,3587:0,3588:1,3589:0,3590:1,3591:0,3592:0,3593:1,3598:2,3599:0,3600:2,3605:1,3606:0,3607:0,3608:2,3609:0,3610:2,3611:0,3612:2,3613:0,3614:2,3615:0,3616:2,3617:0,3618:2,3619:0,3620:2,3621:0,3622:2,3623:0,3624:2,3625:0,3626:2,3627:0,3628:2,3629:0,3630:2,3631:0,3632:2,3633:0,3634:1,3635:0,3636:1,3640:2,3641:0,3642:2,3643:0,3644:1,3645:0,3646:1,3647:0,3648:1,3649:0,3650:2,3651:0,3652:2,3653:0,3654:2,3655:0,3656:1,3657:0,3658:2,3659:0,3660:2,3661:0,3662:2,3663:0,3664:2,3668:2,3669:0,3670:2,3671:0,3672:2,3673:0,3674:2,3675:0,3676:1,3677:2,3678:0,3679:1,3680:2,3681:0,3682:1,3683:2,3684:0,3685:0,3686:2,3687:0,3688:2,3689:0,3690:2,3691:0,3692:2,3696:2,3697:0,3698:2,3699:0,3700:2,3793:0,3794:0,3812:0,3854:0,3857:0,3920:0,3978:0,3979:0,3991:2,3992:2,4026:0,4037:0,4038:0,4071:0,4082:0,4083:0,4087:0,4088:0,4217:2,4414:0,4415:0,4417:0,4434:0,4437:0,4438:2,4439:2,4462:0,4467:0,4471:0,4474:0,4559:0,4647:0,4822:0,4826:0,4839:0,5018:0,5048:0,5167:0,5168:0,5221:0,5223:0,5234:0,5235:0,5243:0,5247:0,5266:0,5316:0,5320:0,5321:0,5325:0,5337:0,5361:0,5362:0,5367:0,5382:0,5383:0,5396:0,5456:0,5457:0,5469:0,5472:4,5490:0,5513:0,5514:0,5523:0,5559:0,5588:1,5589:3,5596:0,5627:0,5629:0,5641:0,5643:0,5644:0,5646:2,5654:2,5655:2,5659:0,5700:0,5825:0,5836:0,5837:0,5839:0,5842:0,5844:0,5858:0,5879:0,5880:0,5887:0,5890:0,6128:1,6129:1,6141:1,6204:0,6210:0,6211:0,6307:0,6312:0,6316:0,6362:0,6391:1,6405:1,6406:0,6407:1,6408:0,6409:1,6410:0,6411:2,6412:0,6413:2,6414:0,6415:0,6416:2,6417:0,6418:2,6419:0,6420:2,6421:0,6422:2,6423:0,6424:2,6425:0,6426:2,6427:0,6428:2,6429:0,6430:2,6431:0,6432:2,6433:0,6434:2,6435:0,6436:2,6437:0,6438:2,6439:0,6440:0,6441:2,6442:0,6443:2,6444:0,6445:2,6446:0,6447:2,6448:0,6449:2,6450:0,6451:2,6452:0,6453:2,6454:0,6455:2,6456:0,6457:2,6458:0,6459:2,6460:0,6461:2,6462:0,6463:2,6464:0,6465:2,6466:0,6467:2,6468:0,6469:2,6470:0,6471:2,6472:0,6473:2,6474:0,6475:2,6476:0,6477:2,6478:0,6479:2,6484:2,6485:0,6486:2,6487:0,6488:2,6489:0,6490:2,6491:0,6492:2,6493:0,6494:1,6495:0,6496:1,6497:0,6498:0,6499:1,6500:0,6501:2,6502:0,6503:2,6504:0,6505:2,6506:0,6507:2,6508:0,6509:0,6510:2,6515:1,6516:0,6518:0,6519:2,6520:0,6521:2,6522:0,6523:2,6524:0,6525:2,6526:0,6527:2,6528:0,6529:2,6530:0,6531:2,6532:0,6533:2,6534:0,6535:2,6536:0,6537:2,6538:0,6539:2,6540:0,6541:2,6542:0,6543:2,6544:0,6545:1,6546:0,6547:1,6548:0,6549:2,6550:0,6551:2,6552:0,6553:2,6554:0,6555:2,6556:0,6557:1,6558:0,6559:1,6560:0,6561:1,6562:0,6563:2,6564:0,6565:2,6566:0,6567:0,6568:2,6569:0,6570:1,6571:0,6572:2,6573:0,6574:2,6575:0,6576:2,6577:0,6578:2,6582:2,6583:0,6584:2,6585:0,6586:2,6587:0,6588:2,6589:0,6590:2,6591:0,6592:0,6593:2,6594:0,6595:2,6596:0,6597:2,6598:0,6599:2,6600:0,6601:2,6602:0,6603:2,6605:2,6606:0,6607:2,6608:0,6609:2,6610:0,6611:0,6612:2,6613:0,6614:2,6615:0,6616:2,6617:0,6618:2,6633:2,6646:0,6703:0,6784:0,6785:1,6786:0,6787:1,6788:0,6789:1,6790:0,6791:1,6792:0,6793:1,6794:0,6795:1,6796:0,6797:1,6798:0,6799:1,6800:0,6801:1,6802:0,6803:1,6804:0,6805:1,6806:0,6807:1,6808:0,6809:1,6810:0,6811:1,6812:0,6813:1,6814:0,6815:1,6816:0,6817:1,6818:0,6819:1,6820:0,6821:1,6822:0,6823:1,6824:0,6825:1,6826:0,6827:1,6828:0,6829:1,6830:0,6831:1,6832:0,6833:1,6834:0,6835:1,6836:0,6837:1,6838:0,6839:1,6840:0,6841:1,6842:0,6843:1,6844:0,6845:1,6846:0,6847:1,6848:0,6849:1,6850:0,6851:1,6852:0,6853:1,6854:0,6855:1,6856:0,6857:1,6858:0,6859:1,6860:0,6861:1,6862:0,6863:1,6867:0,6868:1,6870:0,6875:0,6876:0,6879:0,6880:2,6884:0,6885:1,6886:0,6887:1,6915:0,6922:0,6923:2,6924:0,6925:2,6962:0,6984:0,6991:0,7128:2,7131:0,7132:2,7142:0,7257:0,7258:2,7259:0,7260:2,7261:0,7262:2,7263:0,7264:2,7265:0,7266:2,7267:0,7268:2,7269:0,7270:2,7271:0,7272:2,7273:0,7274:2,7275:0,7276:2,7277:0,7278:2,7279:0,7280:2,7281:0,7282:2,7283:0,7284:2,7285:0,7286:2,7287:0,7288:2,7289:0,7290:2,7291:0,7292:2,7293:0,7294:2,7295:0,7296:2,7297:0,7298:2,7299:0,7300:2,7301:0,7302:2,7303:0,7304:2,7305:0,7306:2,7307:0,7308:2,7309:0,7310:2,7311:0,7312:2,7313:0,7314:2,7315:0,7316:2,7317:0,7318:2,7319:0,7320:2,7321:0,7322:2,7323:0,7324:2,7325:0,7326:2,7327:0,7328:2,7329:0,7330:2,7331:0,7332:2,7333:0,7334:2,7335:0,7336:2,7337:0,7338:2,7339:0,7340:2,7341:0,7342:2,7343:0,7344:2,7345:0,7346:2,7347:0,7348:2,7349:0,7350:2,7351:0,7352:2,7353:0,7354:2,7355:0,7356:2,7357:0,7358:2,7359:0,7360:2,7361:0,7362:2,7363:0,7364:2,7365:0,7366:2,7367:0,7368:2,7369:0,7370:2,7877:0,7878:0,7882:0,7883:0,7887:0,7899:0,7991:0,7992:0,8035:2,8036:2,8058:0,8059:0,8082:0,8083:0,8088:0,8090:0,8091:2,8092:0,8093:2,8095:0,8096:2,8097:0,8098:2,8099:0,8100:2,8101:0,8102:2,8103:0,8104:2,8105:0,8106:2,8107:0,8108:2,8109:0,8110:2,8111:0,8112:2,8113:0,8114:2,8115:0,8116:2,8117:0,8118:2,8119:0,8120:2,8121:0,8122:2,8123:0,8124:2,8125:0,8126:2,8127:0,8128:2,8129:0,8130:2,8131:0,8132:2,8133:0,8134:2,8135:0,8136:2,8137:0,8138:2,8139:0,8140:2,8141:0,8142:2,8143:0,8144:2,8145:0,8146:2,8147:0,8148:2,8149:0,8150:2,8151:0,8152:2,8153:0,8154:2,8155:0,8156:2,8157:0,8158:2,8159:0,8160:2,8161:0,8162:2,8163:0,8164:2,8165:0,8166:2,8167:0,8168:2,8169:0,8170:2,8171:0,8172:2,8173:0,8177:2,8179:0,8180:2,8181:0,8182:2,8184:0,8185:2,8187:0,8189:2,8191:0,8193:2,8196:0,8197:2,8198:0,8200:2,8201:0,8202:2,8203:0,8204:2,8205:0,8206:2,8207:0,8208:2,8209:0,8210:2,8212:0,8213:2,8214:0,8216:2,8218:0,8220:2,8222:0,8224:2,8225:0,8226:2,8311:0,8312:1,8313:0,8314:1,8315:0,8316:1,8317:0,8318:1,8319:0,8320:1,8321:0,8322:1,8323:0,8324:1,8325:0,8326:1,8327:0,8328:1,8329:0,8330:1,8331:0,8332:1,8333:0,8334:1,8335:0,8336:1,8337:0,8338:1,8339:0,8340:1,8341:0,8342:1,8343:0,8344:1,8345:0,8346:1,8347:0,8348:1,8352:0,8353:0,8379:0,8380:2,8381:0,8382:2,8383:0,8384:2,8385:0,8387:2,8391:0,8395:0,8433:0,8441:0,8455:0,8456:0,8531:2,8682:0,8687:0,8692:0,8693:0,8826:0,8903:0,8950:0,8951:0,9039:0,9040:0,9141:0,9149:0,9150:0,9191:0,9221:0,9222:0,20499:0,20538:0,20539:0,20790:0,20791:0,21291:0,21292:0,21500:0,21817:0,21818:0,22032:0,22033:0,22091:0,22092:0,22332:0,22391:0,22392:0,22700:0,22770:0,22780:0,22832:0,23090:0,23095:0,23239:0,23240:0,23433:0,23700:0,24047:0,24048:0,24100:3,24200:0,24305:0,24306:0,24382:10,24383:0,24500:0,24547:0,24548:0,24571:9,24600:0,25e3:0,25231:0,25884:0,25932:0,26237:0,26331:0,26332:0,26432:0,26591:0,26592:0,26632:0,26692:0,27120:0,27200:0,27291:6,27292:6,27429:0,27492:0,27493:0,27500:0,27700:0,28232:0,28600:0,28991:0,28992:0,29100:0,29101:0,29220:0,29221:0,29333:0,29635:0,29636:0,29701:0,29738:0,29739:0,29849:0,29850:0,29871:8,29872:7,29873:0,30200:5,30339:0,30340:0,30591:0,30592:0,30791:0,30792:0,30800:0,31028:0,31121:0,31154:0,31170:0,31171:0,31370:0,31528:0,31529:0,31600:0,31700:0,31838:0,31839:0,31900:0,31901:0,32061:0,32062:0,32098:0,32099:2,32100:0,32104:0,32161:0,32766:0,53048:0,53049:0,54090:0,54091:0,65061:2,65062:2,65161:0,65163:0,102041:2,102064:11,102068:14,102069:15,102118:2,102119:1,102120:2,102121:2,102217:2,102218:0,102219:2,102220:2,102378:1,102379:1,102380:0,102381:1,102589:2,102599:2,102600:2,102604:2,102647:0,102704:2,102705:2,102706:0,102761:2,102762:0,102763:2,102764:0,102765:0,102766:2,102962:0,102963:0,102970:1,102974:2,102993:0,102994:0,102995:2,102996:2,103015:0,103016:2,103017:0,103018:2,103025:0,103026:0,103027:2,103028:2,103035:0,103036:0,103037:2,103038:2,103039:0,103040:0,103041:2,103042:2,103043:0,103044:0,103045:2,103046:2,103047:0,103048:0,103049:2,103050:2,103051:0,103052:2,103053:0,103054:2,103055:0,103056:2,103057:0,103058:0,103059:2,103060:2,103061:0,103062:0,103063:2,103064:2,103069:2,103070:0,103071:0,103072:2,103073:2,103086:0,103087:0,103088:2,103089:2,103094:1,103095:0,103096:2,103103:0,103104:2,103105:0,103106:2,103121:0,103122:2,103123:0,103124:0,103125:1,103126:1,103127:0,103128:0,103129:2,103130:2,103131:0,103132:0,103133:2,103134:2,103135:0,103136:0,103137:1,103138:1,103139:0,103140:2,103141:0,103142:2,103143:0,103144:2,103145:0,103146:1,103147:0,103148:0,103149:2,103150:2,103151:0,103152:2,103172:0,103173:2,103174:0,103175:0,103176:2,103177:2,103178:0,103179:0,103180:2,103181:2,103182:0,103183:0,103184:2,103185:2,103228:0,103229:0,103230:2,103231:2,103250:0,103251:2,103252:0,103253:2,103260:0,103261:0,103262:2,103263:2,103270:0,103271:0,103272:2,103273:2,103274:0,103275:0,103276:2,103277:2,103278:0,103279:0,103280:2,103281:2,103282:0,103283:0,103284:2,103285:2,103286:0,103287:2,103288:0,103289:2,103290:0,103291:2,103292:0,103293:0,103294:2,103295:2,103296:0,103297:0,103298:2,103299:2,103376:2,103377:0,103378:0,103379:2,103380:2,103393:0,103394:0,103395:2,103396:2,103472:0,103473:1,103474:0,103475:2,103482:0,103483:2,103484:0,103485:2,103500:0,103501:2,103502:0,103503:0,103504:1,103505:1,103506:0,103507:0,103508:2,103509:2,103510:0,103511:0,103512:2,103513:2,103514:0,103515:2,103516:0,103517:2,103518:0,103519:2,103520:0,103521:1,103522:0,103523:0,103524:2,103525:2,103526:0,103527:2,103561:2,103562:2,103563:0,103564:0,103565:2,103566:2,103567:0,103568:0,103569:2,103570:2,103584:0,103585:2,103586:0,103587:2,103588:1,103589:0,103590:2,103591:1,103592:0,103593:2,103594:1,103695:2};for(r=2e3;r<=2045;r++)o[r]=0;for(r=2056;r<=2065;r++)o[r]=0;for(r=2067;r<=2135;r++)o[r]=0;for(r=2137;r<=2154;r++)o[r]=0;for(r=2161;r<=2170;r++)o[r]=0;for(r=2172;r<=2193;r++)o[r]=0;for(r=2195;r<=2198;r++)o[r]=0;for(r=2200;r<=2203;r++)o[r]=0;for(r=2205;r<=2217;r++)o[r]=0;for(r=2222;r<=2224;r++)o[r]=1;for(r=2225;r<=2250;r++)o[r]=2;for(r=2251;r<=2253;r++)o[r]=1;for(r=2257;r<=2264;r++)o[r]=2;for(r=2274;r<=2279;r++)o[r]=2;for(r=2280;r<=2282;r++)o[r]=1;for(r=2283;r<=2289;r++)o[r]=2;for(r=2290;r<=2292;r++)o[r]=0;for(r=2308;r<=2313;r++)o[r]=0;for(r=2315;r<=2491;r++)o[r]=0;for(r=2494;r<=2866;r++)o[r]=0;for(r=2867;r<=2869;r++)o[r]=1;for(r=2870;r<=2888;r++)o[r]=2;for(r=2891;r<=2895;r++)o[r]=2;for(r=2896;r<=2898;r++)o[r]=1;for(r=2902;r<=2908;r++)o[r]=2;for(r=2915;r<=2920;r++)o[r]=2;for(r=2921;r<=2923;r++)o[r]=1;for(r=2924;r<=2930;r++)o[r]=2;for(r=2931;r<=2962;r++)o[r]=0;for(r=2964;r<=2968;r++)o[r]=2;for(r=2969;r<=2973;r++)o[r]=0;for(r=2975;r<=2991;r++)o[r]=0;for(r=2995;r<=3051;r++)o[r]=0;for(r=3054;r<=3079;r++)o[r]=0;for(r=3081;r<=3088;r++)o[r]=0;for(r=3092;r<=3101;r++)o[r]=0;for(r=3106;r<=3138;r++)o[r]=0;for(r=3146;r<=3151;r++)o[r]=0;for(r=3153;r<=3166;r++)o[r]=0;for(r=3168;r<=3172;r++)o[r]=0;for(r=3174;r<=3203;r++)o[r]=0;for(r=3294;r<=3358;r++)o[r]=0;for(r=3367;r<=3403;r++)o[r]=0;for(r=3408;r<=3416;r++)o[r]=0;for(r=3417;r<=3438;r++)o[r]=2;for(r=3441;r<=3446;r++)o[r]=2;for(r=3447;r<=3450;r++)o[r]=0;for(r=3451;r<=3459;r++)o[r]=2;for(r=3460;r<=3478;r++)o[r]=0;for(r=3554;r<=3559;r++)o[r]=0;for(r=3560;r<=3570;r++)o[r]=2;for(r=3571;r<=3581;r++)o[r]=0;for(r=3594;r<=3597;r++)o[r]=0;for(r=3601;r<=3604;r++)o[r]=0;for(r=3637;r<=3639;r++)o[r]=0;for(r=3665;r<=3667;r++)o[r]=0;for(r=3693;r<=3695;r++)o[r]=0;for(r=3701;r<=3727;r++)o[r]=0;for(r=3728;r<=3739;r++)o[r]=2;for(r=3740;r<=3751;r++)o[r]=0;for(r=3753;r<=3760;r++)o[r]=2;for(r=3761;r<=3773;r++)o[r]=0;for(r=3775;r<=3777;r++)o[r]=0;for(r=3779;r<=3781;r++)o[r]=0;for(r=3783;r<=3785;r++)o[r]=0;for(r=3788;r<=3791;r++)o[r]=0;for(r=3797;r<=3802;r++)o[r]=0;for(r=3814;r<=3816;r++)o[r]=0;for(r=3825;r<=3829;r++)o[r]=0;for(r=3832;r<=3841;r++)o[r]=0;for(r=3844;r<=3852;r++)o[r]=0;for(r=3873;r<=3885;r++)o[r]=0;for(r=3890;r<=3893;r++)o[r]=0;for(r=3907;r<=3912;r++)o[r]=0;for(r=3942;r<=3950;r++)o[r]=0;for(r=3968;r<=3970;r++)o[r]=0;for(r=3973;r<=3976;r++)o[r]=0;for(r=3986;r<=3989;r++)o[r]=0;for(r=3994;r<=3997;r++)o[r]=0;for(r=4048;r<=4051;r++)o[r]=0;for(r=4056;r<=4063;r++)o[r]=0;for(r=4093;r<=4096;r++)o[r]=0;for(r=4390;r<=4398;r++)o[r]=0;for(r=4399;r<=4413;r++)o[r]=2;for(r=4418;r<=4433;r++)o[r]=2;for(r=4455;r<=4457;r++)o[r]=2;for(r=4484;r<=4489;r++)o[r]=0;for(r=4491;r<=4554;r++)o[r]=0;for(r=4568;r<=4589;r++)o[r]=0;for(r=4652;r<=4656;r++)o[r]=0;for(r=4766;r<=4800;r++)o[r]=0;for(r=5014;r<=5016;r++)o[r]=0;for(r=5069;r<=5072;r++)o[r]=0;for(r=5105;r<=5130;r++)o[r]=0;for(r=5173;r<=5188;r++)o[r]=0;for(r=5253;r<=5259;r++)o[r]=0;for(r=5269;r<=5275;r++)o[r]=0;for(r=5292;r<=5311;r++)o[r]=0;for(r=5329;r<=5331;r++)o[r]=0;for(r=5343;r<=5349;r++)o[r]=0;for(r=5355;r<=5357;r++)o[r]=0;for(r=5387;r<=5389;r++)o[r]=0;for(r=5459;r<=5463;r++)o[r]=0;for(r=5479;r<=5482;r++)o[r]=0;for(r=5518;r<=5520;r++)o[r]=0;for(r=5530;r<=5539;r++)o[r]=0;for(r=5550;r<=5552;r++)o[r]=0;for(r=5562;r<=5583;r++)o[r]=0;for(r=5623;r<=5625;r++)o[r]=2;for(r=5631;r<=5639;r++)o[r]=0;for(r=5649;r<=5653;r++)o[r]=0;for(r=5663;r<=5680;r++)o[r]=0;for(r=5682;r<=5685;r++)o[r]=0;for(r=5875;r<=5877;r++)o[r]=0;for(r=5896;r<=5899;r++)o[r]=0;for(r=5921;r<=5940;r++)o[r]=0;for(r=6050;r<=6125;r++)o[r]=0;for(r=6244;r<=6275;r++)o[r]=0;for(r=6328;r<=6348;r++)o[r]=0;for(r=6350;r<=6356;r++)o[r]=0;for(r=6366;r<=6372;r++)o[r]=0;for(r=6381;r<=6387;r++)o[r]=0;for(r=6393;r<=6404;r++)o[r]=0;for(r=6480;r<=6483;r++)o[r]=0;for(r=6511;r<=6514;r++)o[r]=0;for(r=6579;r<=6581;r++)o[r]=0;for(r=6619;r<=6624;r++)o[r]=0;for(r=6625;r<=6627;r++)o[r]=2;for(r=6628;r<=6632;r++)o[r]=0;for(r=6634;r<=6637;r++)o[r]=0;for(r=6669;r<=6692;r++)o[r]=0;for(r=6707;r<=6709;r++)o[r]=0;for(r=6720;r<=6723;r++)o[r]=0;for(r=6732;r<=6738;r++)o[r]=0;for(r=6931;r<=6933;r++)o[r]=0;for(r=6956;r<=6959;r++)o[r]=0;for(r=7005;r<=7007;r++)o[r]=0;for(r=7057;r<=7070;r++)o[r]=2;for(r=7074;r<=7082;r++)o[r]=0;for(r=7109;r<=7118;r++)o[r]=0;for(r=7119;r<=7127;r++)o[r]=1;for(r=7374;r<=7376;r++)o[r]=0;for(r=7528;r<=7586;r++)o[r]=0;for(r=7587;r<=7645;r++)o[r]=2;for(r=7692;r<=7696;r++)o[r]=0;for(r=7755;r<=7787;r++)o[r]=0;for(r=7791;r<=7795;r++)o[r]=0;for(r=7799;r<=7801;r++)o[r]=0;for(r=7803;r<=7805;r++)o[r]=0;for(r=7825;r<=7831;r++)o[r]=0;for(r=7845;r<=7859;r++)o[r]=0;for(r=8013;r<=8032;r++)o[r]=0;for(r=8065;r<=8068;r++)o[r]=1;for(r=8518;r<=8529;r++)o[r]=2;for(r=8533;r<=8536;r++)o[r]=2;for(r=8538;r<=8540;r++)o[r]=2;for(r=8677;r<=8679;r++)o[r]=0;for(r=8836;r<=8840;r++)o[r]=0;for(r=8857;r<=8859;r++)o[r]=0;for(r=8908;r<=8910;r++)o[r]=0;for(r=9154;r<=9159;r++)o[r]=0;for(r=9205;r<=9218;r++)o[r]=0;for(r=20002;r<=20032;r++)o[r]=0;for(r=20062;r<=20092;r++)o[r]=0;for(r=20135;r<=20138;r++)o[r]=0;for(r=20248;r<=20258;r++)o[r]=0;for(r=20348;r<=20358;r++)o[r]=0;for(r=20436;r<=20440;r++)o[r]=0;for(r=20822;r<=20824;r++)o[r]=0;for(r=20934;r<=20936;r++)o[r]=0;for(r=21035;r<=21037;r++)o[r]=0;for(r=21095;r<=21097;r++)o[r]=0;for(r=21148;r<=21150;r++)o[r]=0;for(r=21413;r<=21423;r++)o[r]=0;for(r=21473;r<=21483;r++)o[r]=0;for(r=21780;r<=21782;r++)o[r]=0;for(r=21891;r<=21894;r++)o[r]=0;for(r=21896;r<=21899;r++)o[r]=0;for(r=22171;r<=22177;r++)o[r]=0;for(r=22181;r<=22187;r++)o[r]=0;for(r=22191;r<=22197;r++)o[r]=0;for(r=22234;r<=22236;r++)o[r]=0;for(r=22521;r<=22525;r++)o[r]=0;for(r=22991;r<=22994;r++)o[r]=0;for(r=23028;r<=23038;r++)o[r]=0;for(r=23830;r<=23853;r++)o[r]=0;for(r=23866;r<=23872;r++)o[r]=0;for(r=23877;r<=23884;r++)o[r]=0;for(r=23886;r<=23894;r++)o[r]=0;for(r=23946;r<=23948;r++)o[r]=0;for(r=24311;r<=24313;r++)o[r]=0;for(r=24342;r<=24347;r++)o[r]=0;for(r=24370;r<=24374;r++)o[r]=10;for(r=24375;r<=24381;r++)o[r]=0;for(r=24718;r<=24721;r++)o[r]=0;for(r=24817;r<=24821;r++)o[r]=0;for(r=24877;r<=24882;r++)o[r]=0;for(r=24891;r<=24893;r++)o[r]=0;for(r=25391;r<=25395;r++)o[r]=0;for(r=25828;r<=25838;r++)o[r]=0;for(r=26191;r<=26195;r++)o[r]=0;for(r=26391;r<=26393;r++)o[r]=0;for(r=26701;r<=26722;r++)o[r]=0;for(r=26729;r<=26799;r++)o[r]=2;for(r=26801;r<=26803;r++)o[r]=2;for(r=26811;r<=26813;r++)o[r]=2;for(r=26847;r<=26870;r++)o[r]=2;for(r=26891;r<=26899;r++)o[r]=0;for(r=26901;r<=26923;r++)o[r]=0;for(r=26929;r<=26946;r++)o[r]=0;for(r=26948;r<=26998;r++)o[r]=0;for(r=27037;r<=27040;r++)o[r]=0;for(r=27205;r<=27232;r++)o[r]=0;for(r=27258;r<=27260;r++)o[r]=0;for(r=27391;r<=27398;r++)o[r]=0;for(r=27561;r<=27564;r++)o[r]=0;for(r=27571;r<=27574;r++)o[r]=0;for(r=27581;r<=27584;r++)o[r]=0;for(r=27591;r<=27594;r++)o[r]=0;for(r=28191;r<=28193;r++)o[r]=0;for(r=28348;r<=28358;r++)o[r]=0;for(r=28402;r<=28432;r++)o[r]=0;for(r=28462;r<=28492;r++)o[r]=0;for(r=29118;r<=29122;r++)o[r]=0;for(r=29168;r<=29172;r++)o[r]=0;for(r=29177;r<=29185;r++)o[r]=0;for(r=29187;r<=29195;r++)o[r]=0;for(r=29900;r<=29903;r++)o[r]=0;for(r=30161;r<=30179;r++)o[r]=0;for(r=30491;r<=30494;r++)o[r]=0;for(r=30729;r<=30732;r++)o[r]=0;for(r=31251;r<=31259;r++)o[r]=0;for(r=31265;r<=31268;r++)o[r]=0;for(r=31275;r<=31279;r++)o[r]=0;for(r=31281;r<=31297;r++)o[r]=0;for(r=31461;r<=31469;r++)o[r]=0;for(r=31491;r<=31495;r++)o[r]=0;for(r=31917;r<=31922;r++)o[r]=0;for(r=31965;r<=32e3;r++)o[r]=0;for(r=32001;r<=32003;r++)o[r]=2;for(r=32005;r<=32031;r++)o[r]=2;for(r=32033;r<=32060;r++)o[r]=2;for(r=32064;r<=32067;r++)o[r]=2;for(r=32074;r<=32077;r++)o[r]=2;for(r=32081;r<=32086;r++)o[r]=0;for(r=32107;r<=32130;r++)o[r]=0;for(r=32133;r<=32158;r++)o[r]=0;for(r=32164;r<=32167;r++)o[r]=2;for(r=32180;r<=32199;r++)o[r]=0;for(r=32201;r<=32260;r++)o[r]=0;for(r=32301;r<=32360;r++)o[r]=0;for(r=32601;r<=32662;r++)o[r]=0;for(r=32664;r<=32667;r++)o[r]=2;for(r=32701;r<=32761;r++)o[r]=0;for(r=53001;r<=53004;r++)o[r]=0;for(r=53008;r<=53019;r++)o[r]=0;for(r=53021;r<=53032;r++)o[r]=0;for(r=53034;r<=53037;r++)o[r]=0;for(r=53042;r<=53046;r++)o[r]=0;for(r=53074;r<=53080;r++)o[r]=0;for(r=54001;r<=54004;r++)o[r]=0;for(r=54008;r<=54019;r++)o[r]=0;for(r=54021;r<=54032;r++)o[r]=0;for(r=54034;r<=54037;r++)o[r]=0;for(r=54042;r<=54046;r++)o[r]=0;for(r=54048;r<=54053;r++)o[r]=0;for(r=54074;r<=54080;r++)o[r]=0;for(r=54098;r<=54101;r++)o[r]=0;for(r=102001;r<=102040;r++)o[r]=0;for(r=102042;r<=102063;r++)o[r]=0;for(r=102065;r<=102067;r++)o[r]=0;for(r=102070;r<=102117;r++)o[r]=0;for(r=102122;r<=102216;r++)o[r]=0;for(r=102221;r<=102377;r++)o[r]=0;for(r=102382;r<=102388;r++)o[r]=0;for(r=102389;r<=102398;r++)o[r]=2;for(r=102399;r<=102444;r++)o[r]=0;for(r=102445;r<=102447;r++)o[r]=2;for(r=102448;r<=102458;r++)o[r]=0;for(r=102459;r<=102468;r++)o[r]=2;for(r=102469;r<=102499;r++)o[r]=0;for(r=102500;r<=102519;r++)o[r]=1;for(r=102520;r<=102524;r++)o[r]=0;for(r=102525;r<=102529;r++)o[r]=2;for(r=102530;r<=102588;r++)o[r]=0;for(r=102590;r<=102598;r++)o[r]=0;for(r=102601;r<=102603;r++)o[r]=0;for(r=102605;r<=102628;r++)o[r]=0;for(r=102629;r<=102646;r++)o[r]=2;for(r=102648;r<=102700;r++)o[r]=2;for(r=102701;r<=102703;r++)o[r]=0;for(r=102707;r<=102730;r++)o[r]=2;for(r=102733;r<=102758;r++)o[r]=2;for(r=102767;r<=102900;r++)o[r]=0;for(r=102965;r<=102969;r++)o[r]=0;for(r=102971;r<=102973;r++)o[r]=0;for(r=102975;r<=102989;r++)o[r]=0;for(r=102990;r<=102992;r++)o[r]=1;for(r=102997;r<=103002;r++)o[r]=0;for(r=103003;r<=103008;r++)o[r]=2;for(r=103009;r<=103011;r++)o[r]=0;for(r=103012;r<=103014;r++)o[r]=2;for(r=103019;r<=103021;r++)o[r]=0;for(r=103022;r<=103024;r++)o[r]=2;for(r=103029;r<=103031;r++)o[r]=0;for(r=103032;r<=103034;r++)o[r]=2;for(r=103065;r<=103068;r++)o[r]=0;for(r=103074;r<=103076;r++)o[r]=0;for(r=103077;r<=103079;r++)o[r]=1;for(r=103080;r<=103082;r++)o[r]=0;for(r=103083;r<=103085;r++)o[r]=2;for(r=103090;r<=103093;r++)o[r]=0;for(r=103097;r<=103099;r++)o[r]=0;for(r=103100;r<=103102;r++)o[r]=2;for(r=103107;r<=103109;r++)o[r]=0;for(r=103110;r<=103112;r++)o[r]=2;for(r=103113;r<=103116;r++)o[r]=0;for(r=103117;r<=103120;r++)o[r]=2;for(r=103153;r<=103157;r++)o[r]=0;for(r=103158;r<=103162;r++)o[r]=2;for(r=103163;r<=103165;r++)o[r]=0;for(r=103166;r<=103168;r++)o[r]=1;for(r=103169;r<=103171;r++)o[r]=2;for(r=103186;r<=103188;r++)o[r]=0;for(r=103189;r<=103191;r++)o[r]=2;for(r=103192;r<=103195;r++)o[r]=0;for(r=103196;r<=103199;r++)o[r]=2;for(r=103200;r<=103224;r++)o[r]=0;for(r=103225;r<=103227;r++)o[r]=1;for(r=103232;r<=103237;r++)o[r]=0;for(r=103238;r<=103243;r++)o[r]=2;for(r=103244;r<=103246;r++)o[r]=0;for(r=103247;r<=103249;r++)o[r]=2;for(r=103254;r<=103256;r++)o[r]=0;for(r=103257;r<=103259;r++)o[r]=2;for(r=103264;r<=103266;r++)o[r]=0;for(r=103267;r<=103269;r++)o[r]=2;for(r=103300;r<=103375;r++)o[r]=0;for(r=103381;r<=103383;r++)o[r]=0;for(r=103384;r<=103386;r++)o[r]=1;for(r=103387;r<=103389;r++)o[r]=0;for(r=103390;r<=103392;r++)o[r]=2;for(r=103397;r<=103399;r++)o[r]=0;for(r=103400;r<=103471;r++)o[r]=2;for(r=103476;r<=103478;r++)o[r]=0;for(r=103479;r<=103481;r++)o[r]=2;for(r=103486;r<=103488;r++)o[r]=0;for(r=103489;r<=103491;r++)o[r]=2;for(r=103492;r<=103495;r++)o[r]=0;for(r=103496;r<=103499;r++)o[r]=2;for(r=103528;r<=103543;r++)o[r]=0;for(r=103544;r<=103548;r++)o[r]=2;for(r=103549;r<=103551;r++)o[r]=0;for(r=103552;r<=103554;r++)o[r]=1;for(r=103555;r<=103557;r++)o[r]=2;for(r=103558;r<=103560;r++)o[r]=0;for(r=103571;r<=103573;r++)o[r]=0;for(r=103574;r<=103576;r++)o[r]=2;for(r=103577;r<=103580;r++)o[r]=0;for(r=103581;r<=103583;r++)o[r]=2;for(r=103595;r<=103597;r++)o[r]=0;for(r=103600;r<=103694;r++)o[r]=0;for(r=103696;r<=103698;r++)o[r]=0;for(r=103700;r<=103793;r++)o[r]=2;for(r=103794;r<=103871;r++)o[r]=0;for(r=103900;r<=103971;r++)o[r]=2;return o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Extent\",\"./aaBoundingRect\"],function(n,t,i,a){function r(n){return n}function e(n){return void 0===n&&(n=t.ZERO),r([n[0],n[1],n[2],n[3],n[4],n[5]])}function u(n,t,i,a,r,u,m){return void 0===m&&(m=e()),m[0]=n,m[1]=t,m[2]=i,m[3]=a,m[4]=r,m[5]=u,m}function m(n,t){return void 0===t&&(t=e()),t[0]=n.xmin,t[1]=n.ymin,t[2]=n.zmin,t[3]=n.xmax,t[4]=n.ymax,t[5]=n.zmax,t}function o(n,t){var a=isFinite(n[2])||isFinite(n[5]);return new i(a?{xmin:n[0],xmax:n[3],ymin:n[1],ymax:n[4],zmin:n[2],zmax:n[5],spatialReference:t}:{xmin:n[0],xmax:n[3],ymin:n[1],ymax:n[4],spatialReference:t})}function h(n,t,i){return void 0===i&&(i=e()),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=t[0],i[4]=t[1],i[5]=t[2],i}function f(n,t){t[0]<n[0]&&(n[0]=t[0]),t[0]>n[3]&&(n[3]=t[0]),t[1]<n[1]&&(n[1]=t[1]),t[1]>n[4]&&(n[4]=t[1]),t[2]<n[2]&&(n[2]=t[2]),t[2]>n[5]&&(n[5]=t[2])}function M(n,t,i){return void 0===i&&(i=n),G(t)?(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[2]=Math.min(n[2],t[2]),i[3]=Math.max(n[3],t[3]),i[4]=Math.max(n[4],t[4]),i[5]=Math.max(n[5],t[5])):a.is(t)?(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[3]=Math.max(n[3],t[2]),i[4]=Math.max(n[4],t[3])):2===t.length?(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[3]=Math.max(n[3],t[0]),i[4]=Math.max(n[4],t[1])):3===t.length&&(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[2]=Math.min(n[2],t[2]),i[3]=Math.max(n[3],t[0]),i[4]=Math.max(n[4],t[1]),i[5]=Math.max(n[5],t[2])),i}function x(n,t,i,a,r){void 0===r&&(r=n);for(var e=n[0],u=n[1],m=n[2],o=n[3],h=n[4],f=n[5],M=0;M<a;M++)e=Math.min(e,t[i+3*M]),u=Math.min(u,t[i+3*M+1]),m=Math.min(m,t[i+3*M+2]),o=Math.max(o,t[i+3*M]),h=Math.max(h,t[i+3*M+1]),f=Math.max(f,t[i+3*M+2]);return r[0]=e,r[1]=u,r[2]=m,r[3]=o,r[4]=h,r[5]=f,r}function c(n,t,i,a,r){return void 0===r&&(r=n),r[0]=Math.min(n[0],n[0]+t),r[3]=Math.max(n[3],n[3]+t),r[1]=Math.min(n[1],n[1]+i),r[4]=Math.max(n[4],n[4]+i),r[2]=Math.min(n[2],n[2]+a),r[5]=Math.max(n[5],n[5]+a),r}function s(n,t,i,a){void 0===a&&(a=n);var r=t.length,e=n[0],u=n[1],m=n[2],o=n[3],h=n[4],f=n[5];if(i)for(var M=0;M<r;M++){var x=t[M];e=Math.min(e,x[0]),u=Math.min(u,x[1]),m=Math.min(m,x[2]),o=Math.max(o,x[0]),h=Math.max(h,x[1]),f=Math.max(f,x[2])}else for(var M=0;M<r;M++){var x=t[M];e=Math.min(e,x[0]),u=Math.min(u,x[1]),o=Math.max(o,x[0]),h=Math.max(h,x[1])}return a[0]=e,a[1]=u,a[2]=m,a[3]=o,a[4]=h,a[5]=f,a}function I(n){for(var t=0;t<6;t++)if(!isFinite(n[t]))return!1;return!0}function d(n){return n[0]>=n[3]?0:n[3]-n[0]}function v(n){return n[1]>=n[4]?0:n[4]-n[1]}function l(n){return n[2]>=n[5]?0:n[5]-n[2]}function N(n){var t=d(n),i=l(n),a=v(n);return Math.sqrt(t*t+i*i+a*a)}function E(n,t){return void 0===t&&(t=[0,0,0]),t[0]=n[0]+d(n)/2,t[1]=n[1]+v(n)/2,t[2]=n[2]+l(n)/2,t}function p(n,t){return void 0===t&&(t=[0,0,0]),t[0]=d(n),t[1]=v(n),t[2]=l(n),t}function T(n){return Math.max(d(n),l(n),v(n))}function F(n,t){return t[0]>=n[0]&&t[1]>=n[1]&&t[2]>=n[2]&&t[0]<=n[3]&&t[1]<=n[4]&&t[2]<=n[5]}function g(n,t,i){return t[0]>=n[0]-i&&t[1]>=n[1]-i&&t[2]>=n[2]-i&&t[0]<=n[3]+i&&t[1]<=n[4]+i&&t[2]<=n[5]+i}function y(n,t){return t[0]>=n[0]&&t[1]>=n[1]&&t[2]>=n[2]&&t[3]<=n[3]&&t[4]<=n[4]&&t[5]<=n[5]}function P(n,t){return Math.max(t[0],n[0])<=Math.min(t[3],n[3])&&Math.max(t[1],n[1])<=Math.min(t[4],n[4])&&Math.max(t[2],n[2])<=Math.min(t[5],n[5])}function _(n,t,i,a,r){return void 0===r&&(r=n),r[0]=n[0]+t,r[1]=n[1]+i,r[2]=n[2]+a,r[3]=n[3]+t,r[4]=n[4]+i,r[5]=n[5]+a,r}function R(n,t,i){return void 0===i&&(i=n),i[0]=t[0],i[1]=t[1],i[2]=t[2],i!==n&&(i[3]=n[3],i[4]=n[4],i[5]=n[5]),i}function V(n,t,i){return void 0===i&&(i=n),i[3]=t[0],i[4]=t[1],i[5]=t[2],i!==n&&(i[0]=n[0],i[1]=n[1],i[2]=n[2]),n}function O(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n}function Y(n){return n?O(n,t.NEGATIVE_INFINITY):e(t.NEGATIVE_INFINITY)}function z(n,t){return t||(t=a.create()),t[0]=n[0],t[1]=n[1],t[2]=n[3],t[3]=n[4],t}function A(n,t){return n[0]=t[0],n[1]=t[1],n[2]=Number.NEGATIVE_INFINITY,n[3]=t[2],n[4]=t[3],n[5]=Number.POSITIVE_INFINITY,n}function G(n){return 6===n.length}function W(n){return 0===d(n)&&0===v(n)&&0===l(n)}function b(n,t,i){if(null==n||null==t)return n===t;if(!G(n)||!G(t))return!1;if(i){for(var a=0;a<n.length;a++)if(!i(n[a],t[a]))return!1}else for(var a=0;a<n.length;a++)if(n[a]!==t[a])return!1;return!0}function q(n,t,i,a,r,e){return u(n,t,i,a,r,e,w)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.create=e,t.fromValues=u,t.fromExtent=m,t.toExtent=o,t.fromMinMax=h,t.expandPointInPlace=f,t.expand=M,t.expandWithBuffer=x,t.expandWithOffset=c,t.expandWithNestedArray=s,t.allFinite=I,t.width=d,t.depth=v,t.height=l,t.diameter=N,t.center=E,t.size=p,t.maximumDimension=T,t.containsPoint=F,t.containsPointWithMargin=g,t.contains=y,t.intersects=P,t.offset=_,t.setMin=R,t.setMax=V,t.set=O,t.empty=Y,t.toRect=z,t.fromRect=A,t.is=G,t.isPoint=W,t.equals=b,t.wrap=q,t.POSITIVE_INFINITY=r([-1/0,-1/0,-1/0,1/0,1/0,1/0]),t.NEGATIVE_INFINITY=r([1/0,1/0,1/0,-1/0,-1/0,-1/0]),t.ZERO=r([0,0,0,0,0,0]);var w=e()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"../Extent\"],function(n,t,e,i){function r(n){return n}function a(n){return void 0===n&&(n=t.ZERO),r([n[0],n[1],n[2],n[3]])}function u(n){return r([n[0],n[1],n[2],n[3]])}function o(n,t,e,i,r){return void 0===r&&(r=a()),r[0]=n,r[1]=t,r[2]=e,r[3]=i,r}function c(n,t){return void 0===t&&(t=a()),t[0]=n.xmin,t[1]=n.ymin,t[2]=n.xmax,t[3]=n.ymax,t}function f(n,t){return new i({xmin:n[0],ymin:n[1],xmax:n[2],ymax:n[3],spatialReference:t})}function h(n,t){t[0]<n[0]&&(n[0]=t[0]),t[0]>n[2]&&(n[2]=t[0]),t[1]<n[1]&&(n[1]=t[1]),t[1]>n[3]&&(n[3]=t[1])}function m(n,t,i){if(void 0===i&&(i=n),\"length\"in t)Y(t)?(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[2]=Math.max(n[2],t[2]),i[3]=Math.max(n[3],t[3])):2!==t.length&&3!==t.length||(i[0]=Math.min(n[0],t[0]),i[1]=Math.min(n[1],t[1]),i[2]=Math.max(n[2],t[0]),i[3]=Math.max(n[3],t[1]));else switch(t.type){case\"extent\":i[0]=Math.min(n[0],t.xmin),i[1]=Math.min(n[1],t.ymin),i[2]=Math.max(n[2],t.xmax),i[3]=Math.max(n[3],t.ymax);break;case\"point\":i[0]=Math.min(n[0],t.x),i[1]=Math.min(n[1],t.y),i[2]=Math.max(n[2],t.x),i[3]=Math.max(n[3],t.y);break;default:e.neverReached(t)}return i}function x(n,t,e){void 0===e&&(e=n);for(var i=t.length,r=n[0],a=n[1],u=n[2],o=n[3],c=0;c<i;c++){var f=t[c];r=Math.min(r,f[0]),a=Math.min(a,f[1]),u=Math.max(u,f[0]),o=Math.max(o,f[1])}return e[0]=r,e[1]=a,e[2]=u,e[3]=o,e}function s(n){for(var t=0;t<4;t++)if(!isFinite(n[t]))return!1;return!0}function M(n){return n[0]>=n[2]?0:n[2]-n[0]}function l(n){return n[1]>=n[3]?0:n[3]-n[1]}function d(n){var t=M(n),e=l(n);return Math.sqrt(t*t+e*e)}function v(n){return M(n)*l(n)}function I(n,t){return void 0===t&&(t=[0,0]),t[0]=n[0]+M(n)/2,t[1]=n[1]+l(n)/2,t}function y(n,t){return E(n,t[0],t[1])}function N(n,t){return E(n,t.x,t.y)}function E(n,t,e){return t>=n[0]&&e>=n[1]&&t<=n[2]&&e<=n[3]}function p(n,t,e){return t[0]>=n[0]-e&&t[1]>=n[1]-e&&t[0]<=n[2]+e&&t[1]<=n[3]+e}function g(n,t){return Math.max(t[0],n[0])<=Math.min(t[2],n[2])&&Math.max(t[1],n[1])<=Math.min(t[3],n[3])}function T(n,t){return t[0]>=n[0]&&t[2]<=n[2]&&t[1]>=n[1]&&t[3]<=n[3]}function F(n,t,e){void 0===e&&(e=n);var i=t[0],r=t[1],a=t[2],u=t[3];return e[0]=j(n[0],i,a),e[1]=j(n[1],r,u),e[2]=j(n[2],i,a),e[3]=j(n[3],r,u),e}function P(n,t){var e=(n[0]+n[2])/2,i=(n[1]+n[3])/2,r=Math.max(Math.abs(t[0]-e)-M(n)/2,0),a=Math.max(Math.abs(t[1]-i)-l(n)/2,0);return Math.sqrt(r*r+a*a)}function b(n,t){t[0]=n[2]-n[0],t[1]=n[3]-n[1]}function _(n,t,e,i){return void 0===i&&(i=n),i[0]=n[0]+t,i[1]=n[1]+e,i[2]=n[2]+t,i[3]=n[3]+e,i}function O(n,t,e){return void 0===e&&(e=n),e[0]=n[0]-t,e[1]=n[1]-t,e[2]=n[2]+t,e[3]=n[3]+t,e}function V(n,t,e){return void 0===e&&(e=n),e[0]=t[0],e[1]=t[1],e!==n&&(e[2]=n[2],e[3]=n[3]),e}function q(n,t,e){return void 0===e&&(e=n),e[2]=t[0],e[3]=t[1],e!==n&&(e[0]=n[0],e[1]=n[1]),n}function A(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function R(n){return n?A(n,t.NEGATIVE_INFINITY):a(t.NEGATIVE_INFINITY)}function Y(n){return 4===n.length}function w(n){return!(0!==M(n)&&isFinite(n[0])||0!==l(n)&&isFinite(n[1]))}function G(n,t,e){if(null==n||null==t)return n===t;if(!Y(n)||!Y(t))return!1;if(e){for(var i=0;i<n.length;i++)if(!e(n[i],t[i]))return!1}else for(var i=0;i<n.length;i++)if(n[i]!==t[i])return!1;return!0}function j(n,t,e){return n<t?t:n>e?e:n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.create=a,t.clone=u,t.fromValues=o,t.fromExtent=c,t.toExtent=f,t.expandPointInPlace=h,t.expand=m,t.expandWithNestedArray=x,t.allFinite=s,t.width=M,t.height=l,t.diameter=d,t.area=v,t.center=I,t.containsPoint=y,t.containsPointObject=N,t.containsPointWithMargin=p,t.intersects=g,t.contains=T,t.intersection=F,t.distance=P,t.size=b,t.offset=_,t.pad=O,t.setMin=V,t.setMax=q,t.set=A,t.empty=R,t.is=Y,t.isPoint=w,t.equals=G,t.POSITIVE_INFINITY=r([-1/0,-1/0,1/0,1/0]),t.NEGATIVE_INFINITY=r([1/0,1/0,-1/0,-1/0]),t.ZERO=r([0,0,0,0]),t.UNIT=r([0,0,1,1])});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){function r(n){return void 0!==n.xmin&&void 0!==n.ymin&&void 0!==n.xmax&&void 0!==n.ymax}function e(n){return void 0!==n.points}function i(n){return void 0!==n.x&&void 0!==n.y}function o(n){return void 0!==n.paths}function u(n){return void 0!==n.rings}function l(n){return function(t,r){return null==t?r:null==r?t:n(t,r)}}function v(n,t){return o(t)?a(n,t.paths,!1,!1):u(t)?a(n,t.rings,!1,!1):e(t)?d(n,t.points,!1,!1,!1,!1):r(t)?f(n,t):(i(t)&&(n[0]=t.x,n[1]=t.y,n[2]=t.x,n[3]=t.y),n)}function g(n,t){return o(t)?a(n,t.paths,!0,!1):u(t)?a(n,t.rings,!0,!1):e(t)?d(n,t.points,!0,!1,!0,!1):r(t)?f(n,t,!0,!1,!0,!1):(i(t)&&(n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.x,n[4]=t.y,n[5]=t.z),n)}function a(n,t,r,e){var i=r?3:2;if(!t.length||!t[0].length)return null;for(var o=t[0][0],u=o[0],l=o[1],v=t[0][0],g=v[0],a=v[1],f=void 0,d=void 0,h=void 0,s=void 0,m=0;m<t.length;m++)for(var y=t[m],p=0;p<y.length;p++){var B=y[p],P=B[0],z=B[1];if(u=x(u,P),l=x(l,z),g=c(g,P),a=c(a,z),r&&B.length>2){var M=B[2];f=x(f,M),d=c(d,M)}if(e&&B.length>i){var X=B[i];h=x(f,X),s=c(d,X)}}return r?e?(n[0]=u,n[1]=l,n[2]=f,n[3]=h,n[4]=g,n[5]=a,n[6]=d,n[7]=s,n.length=8,n):(n[0]=u,n[1]=l,n[2]=f,n[3]=g,n[4]=a,n[5]=d,n.length=6,n):e?(n[0]=u,n[1]=l,n[2]=h,n[3]=g,n[4]=a,n[5]=s,n.length=6,n):(n[0]=u,n[1]=l,n[2]=g,n[3]=a,n.length=4,n)}function f(n,t,r,e,i,o){var u=t.xmin,l=t.xmax,v=t.ymin,g=t.ymax,a=t.zmin,f=t.zmax,d=t.mmin,h=t.mmax;return i?(a=a||0,f=f||0,o?(d=d||0,h=h||0,n[0]=u,n[1]=v,n[2]=a,n[3]=d,n[4]=l,n[5]=g,n[6]=f,n[7]=h,n):(n[0]=u,n[1]=v,n[2]=a,n[3]=l,n[4]=g,n[5]=f,n)):o?(d=d||0,h=h||0,n[0]=u,n[1]=v,n[2]=d,n[3]=l,n[4]=g,n[5]=h,n):(n[0]=u,n[1]=v,n[2]=l,n[3]=g,n)}function d(n,t,r,e,i,o){var u=r?3:2,l=e&&o,v=r&&i;if(!t.length||!t[0].length)return null;for(var g=t[0],a=g[0],f=g[1],d=t[0],h=d[0],s=d[1],m=void 0,y=void 0,p=void 0,B=void 0,P=0;P<t.length;P++){var z=t[P],M=z[0],X=z[1];if(a=x(a,M),f=x(f,X),h=c(h,M),s=c(s,X),v&&z.length>2){var O=z[2];m=x(m,O),y=c(y,O)}if(l&&z.length>u){var Y=z[u];p=x(m,Y),B=c(y,Y)}}return i?(m=m||0,y=y||0,o?(p=p||0,B=B||0,n[0]=a,n[1]=f,n[2]=m,n[3]=p,n[4]=h,n[5]=s,n[6]=y,n[7]=B,n):(n[0]=a,n[1]=f,n[2]=m,n[3]=h,n[4]=s,n[5]=y,n)):o?(p=p||0,B=B||0,n[0]=a,n[1]=f,n[2]=p,n[3]=h,n[4]=s,n[5]=B,n):(n[0]=a,n[1]=f,n[2]=h,n[3]=s,n)}function h(n){if(!n.length||!n[0].length)return null;for(var t=n[0][0],r=n[0][0],e=0;e<n.length;e++){var i=n[e],o=i[0];t=x(t,o),r=c(r,o)}return r-t}function s(n){if(!n.length||!n[0].length)return null;for(var t=n[0][0],r=n[0][0],e=0;e<n.length;e++){var i=n[e],o=i[0];t=x(t,o),r=c(r,o)}return t+.5*(r-t)}Object.defineProperty(t,\"__esModule\",{value:!0});var x=l(Math.min),c=l(Math.max);t.getBoundsXY=v,t.getBoundsXYZ=g,t.getRingsOrPathsBounds=a,t.getExtentBounds=f,t.getPointsBounds=d,t.getPointsBoundsWidth=h,t.getPointsBoundsCenterX=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./coordsUtils\"],function(n,e,t){function r(n){return n?n.hasZ?[n.xmax-n.xmin/2,n.ymax-n.ymin/2,n.zmax-n.zmin/2]:[n.xmax-n.xmin/2,n.ymax-n.ymin/2]:null}function l(n){return n?i(n.rings,n.hasZ):null}function i(n,e){if(!n||!n.length)return null;for(var t=[],r=[],l=e?[1/0,-1/0,1/0,-1/0,1/0,-1/0]:[1/0,-1/0,1/0,-1/0],i=0,g=n.length;i<g;i++){var a=u(n[i],e,l);a&&r.push(a)}if(r.sort(function(n,t){var r=n[2]-t[2];return 0===r&&e&&(r=n[4]-t[4]),r}),r.length){var h=6*r[0][2];t[0]=r[0][0]/h,t[1]=r[0][1]/h,e&&(h=6*r[0][4],t[2]=0!==h?r[0][3]/h:0),(t[0]<l[0]||t[0]>l[1]||t[1]<l[2]||t[1]>l[3]||e&&(t[2]<l[4]||t[2]>l[5]))&&(t.length=0)}if(!t.length){var f=n[0]&&n[0].length?o(n[0],e):null;if(!f)return null;t[0]=f[0],t[1]=f[1],e&&f.length>2&&(t[2]=f[2])}return t}function u(n,e,t){for(var r=0,l=0,i=0,u=0,o=0,g=0;g<n.length;g++){var a=n[g],h=a[0],f=a[1],v=a[2],x=n[(g+1)%n.length],m=x[0],s=x[1],c=x[2],d=h*s-m*f;u+=d,r+=(h+m)*d,l+=(f+s)*d,e&&a.length>2&&x.length>2&&(d=h*c-m*v,i+=(v+c)*d,o+=d),h<t[0]&&(t[0]=h),h>t[1]&&(t[1]=h),f<t[2]&&(t[2]=f),f>t[3]&&(t[3]=f),e&&(v<t[4]&&(t[4]=v),v>t[5]&&(t[5]=v))}if(u>0&&(u*=-1),o>0&&(o*=-1),!u)return null;var y=[r,l,.5*u];return e&&(y[3]=i,y[4]=.5*o),y}function o(n,e){for(var r=e?[0,0,0]:[0,0],l=e?[0,0,0]:[0,0],i=0,u=0,o=0,g=0,a=0,h=n.length;a<h-1;a++){var f=n[a],v=n[a+1];if(f&&v){r[0]=f[0],r[1]=f[1],l[0]=v[0],l[1]=v[1],e&&f.length>2&&v.length>2&&(r[2]=f[2],l[2]=v[2]);var x=t.getLength(r,l);if(x){i+=x;var m=t.getMidpoint(f,v);u+=x*m[0],o+=x*m[1],e&&m.length>2&&(g+=x*m[2])}}}return i>0?e?[u/i,o/i,g/i]:[u/i,o/i]:n.length?n[0]:null}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extentCentroid=r,e.polygonCentroid=l,e.ringsCentroid=i,e.lineCentroid=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){function r(n,t){return a(n,t.x,t.y,t.z)}function e(n,t){if(!t.points||t.points.length)return!1;for(var r=0,e=t.points;r<e.length;r++){if(!o(n,e[r]))return!1}return!0}function i(n,t){var r=t.xmin,e=t.ymin,i=t.zmin,o=t.xmax,u=t.ymax,f=t.zmax;return n.hasZ&&t.hasZ?a(n,r,e,i)&&a(n,r,u,i)&&a(n,o,u,i)&&a(n,o,e,i)&&a(n,r,e,f)&&a(n,r,u,f)&&a(n,o,u,f)&&a(n,o,e,f):a(n,r,e)&&a(n,r,u)&&a(n,o,u)&&a(n,o,e)}function o(n,t){return a(n,t[0],t[1])}function u(n,t){return a(n,t[0],t[1],t[2])}function a(n,t,r,e){return t>=n.xmin&&t<=n.xmax&&r>=n.ymin&&r<=n.ymax&&(null==e||!n.hasZ||e>=n.zmin&&e<=n.zmax)}function f(n,t){return l[1]=t.y,l[0]=t.x,s(n,l)}function s(n,t){return x(n.rings,t)}function x(n,t){if(!n)return!1;if(c(n))return m(!1,n,t);for(var r=!1,e=0,i=n.length;e<i;e++)r=m(r,n[e],t);return r}function c(n){return!Array.isArray(n[0][0])}function m(n,t,r){for(var e=r[0],i=r[1],o=n,u=0,a=0,f=t.length;a<f;a++){u++,u===f&&(u=0);var s=t[a],x=s[0],c=s[1],m=t[u],l=m[0],y=m[1];(c<i&&y>=i||y<i&&c>=i)&&x+(i-c)/(y-c)*(l-x)<e&&(o=!o)}return o}Object.defineProperty(t,\"__esModule\",{value:!0});var l=[0,0];t.extentContainsPoint=r,t.extentContainsMultipoint=e,t.extentContainsExtent=i,t.extentContainsCoords2D=o,t.extentContainsCoords3D=u,t.polygonContainsPoint=f,t.polygonContainsCoords=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./spatialReferenceUtils\"],function(n,r,e){function t(n){if(!n)return null;if(Array.isArray(n))return n;var r=n.hasZ,e=n.hasM;if(\"point\"===n.type)return e&&r?[n.x,n.y,n.z,n.m]:r?[n.x,n.y,n.z]:e?[n.x,n.y,n.m]:[n.x,n.y];if(\"polygon\"===n.type)return n.rings.slice(0);if(\"polyline\"===n.type)return n.paths.slice(0);if(\"multipoint\"===n.type)return n.points.slice(0);if(\"extent\"===n.type){var t=n.clone().normalize();if(!t)return null;var i=!1,o=!1;return t.forEach(function(n){n.hasZ&&(i=!0),n.hasM&&(o=!0)}),t.map(function(n){var r=[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]];if(i&&n.hasZ)for(var e=.5*(n.zmax-n.zmin),t=0;t<r.length;t++)r[t].push(e);if(o&&n.hasM)for(var a=.5*(n.mmax-n.mmin),t=0;t<r.length;t++)r[t].push(a);return r})}return null}function i(n,r){var e=r[0]-n[0],t=r[1]-n[1];if(n.length>2&&r.length>2){var i=n[2]-r[2];return Math.sqrt(e*e+t*t+i*i)}return Math.sqrt(e*e+t*t)}function o(n,r,e){var t=n[0]+e*(r[0]-n[0]),i=n[1]+e*(r[1]-n[1]);return n.length>2&&r.length>2?[t,i,n[2]+e*(r[2]-n[2])]:[t,i]}function a(n,r){return o(n,r,.5)}function l(n){for(var r=n.length,e=0,t=0;t<r-1;++t)e+=i(n[t],n[t+1]);return e}function s(n,r){if(r<=0)return n[0];for(var e=n.length,t=0,a=0;a<e-1;++a){var l=i(n[a],n[a+1]);if(r-t<l){var s=(r-t)/l;return o(n[a],n[a+1],s)}t+=l}return n[e-1]}function f(n,r,e){for(var t=n.length,i=0,o=0,a=0,l=0;l<t;l++){var s=n[l],f=n[(l+1)%t],u=2;i+=s[0]*f[1]-f[0]*s[1],s.length>2&&f.length>2&&e&&(o+=s[0]*f[2]-f[0]*s[2],u=3),s.length>u&&f.length>u&&r&&(a+=s[0]*f[u]-f[0]*s[u])}return i<=0&&o<=0&&a<=0}function u(n){if(\"rings\"in n){for(var r=0,e=n.rings;r<e.length;r++){var t=e[r];t.length<3||(t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]||t.push([t[0][0],t[0][1]]))}if(n.rings.length>0){if(!f(n.rings[0],n.hasM,n.hasZ))for(var i=0;i<n.rings.length;++i)n.rings[i]=n.rings[i].reverse()}}}function g(n){if(\"rings\"in n)for(var r=0,e=n.rings;r<e.length;r++){var t=e[r];t.length<3||(t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]||t.push([t[0][0],t[0][1]]))}}function h(n){for(var r=n.length,e=0,t=0;t<r;t++){var i=n[t],o=n[(t+1)%r];e+=i[0]*o[1]-o[0]*i[1]}return e}function c(n){return\"polygon\"!==n.type&&\"polyline\"!==n.type?n:(m(\"polygon\"===n.type?n.rings:n.paths,n.spatialReference),n)}function m(n,r){var t=e.getInfo(r);if(t)for(var i=t.valid[0],o=t.valid[1],a=o-i,l=0,s=n;l<s.length;l++){var f=s[l];!function(n){var r=1/0,e=-1/0;n.forEach(function(n){for(var t=n[0];t<i;)t+=a;for(;t>o;)t-=a;r=Math.min(r,t),e=Math.max(e,t),n[0]=t});var t=e-r;a-t<t&&n.forEach(function(n){n[0]<0&&(n[0]+=a)})}(f)}}function p(n,r,e,t){var i=1/0,o=-1/0;n.forEach(function(n){for(var a=n.pos[0];a<r;)a+=t;for(;a>e;)a-=t;i=Math.min(i,a),o=Math.max(o,a),n.unnormalizedPos[0]=a,n.unnormalizedPos[1]=n.pos[1],n.pos.length>2&&(n.unnormalizedPos[2]=n.pos[2]),n.pos.length>3&&(n.unnormalizedPos[3]=n.pos[3])});var a=o-i;t-a<a&&n.forEach(function(n){n.unnormalizedPos[0]<0&&(n.unnormalizedPos[0]+=t)})}Object.defineProperty(r,\"__esModule\",{value:!0}),r.geometryToCoordinates=t,r.getLength=i,r.getMidpoint=a,r.getPathLength=l,r.getPointOnPath=s,r.isClockwise=f,r.closeRingsAndFixWinding=u,r.closeRings=g,r.getRingArea=h,r.unnormalizeGeometryOnDatelineCrossing=c,r.unnormalizeVerticesOnDatelineCrossing=m,r.computeUnnormalizedVertexPositionsOnDateLineCrossing=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./boundsUtils\"],function(n,t,i){function r(n){return void 0!==n.xmin&&void 0!==n.ymin&&void 0!==n.xmax&&void 0!==n.ymax}function u(n){return void 0!==n.points}function e(n){return void 0!==n.x&&void 0!==n.y}function o(n){return void 0!==n.paths}function m(n){return void 0!==n.rings}function x(n,t,i,r){return{xmin:n,ymin:t,xmax:i,ymax:r}}function a(n,t,i,r,u,e){return{xmin:n,ymin:t,zmin:i,xmax:r,ymax:u,zmax:e}}function s(n,t,i,r,u,e){return{xmin:n,ymin:t,mmin:i,xmax:r,ymax:u,mmax:e}}function l(n,t,i,r,u,e,o,m){return{xmin:n,ymin:t,zmin:i,mmin:r,xmax:u,ymax:e,zmax:o,mmax:m}}function d(n,t,i){return void 0===t&&(t=!1),void 0===i&&(i=!1),t?i?l(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]):a(n[0],n[1],n[2],n[3],n[4],n[5]):i?s(n[0],n[1],n[2],n[3],n[4],n[5]):x(n[0],n[1],n[2],n[3])}function f(n){return n?r(n)?n:e(n)?v(n):m(n)?y(n):o(n)?g(n):u(n)?c(n):null:null}function c(n){var t=n.hasZ,r=n.hasM,u=n.points;return d(i.getPointsBounds(h,u,t,r),t,r)}function v(n){var t=n.x,i=n.y,r=n.z,u=n.m,e=null!=r,o=null!=u;return e?o?l(t,i,r,u,t,i,r,u):a(t,i,r,t,i,r):o?s(t,i,u,t,i,u):x(t,i,t,i)}function y(n){var t=n.hasZ,r=n.hasM,u=n.rings,e=i.getRingsOrPathsBounds(h,u,t,r);return e?d(e,t,r):null}function g(n){var t=n.hasZ,r=n.hasM,u=n.paths,e=i.getRingsOrPathsBounds(h,u,t,r);return e?d(e,t,r):null}Object.defineProperty(t,\"__esModule\",{value:!0});var h=[];t.getGeometryExtent=f,t.getMultipointExtent=c,t.getPointExtent=v,t.getPolygonExtent=y,t.getPolylineExtent=g});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/object\",\"../.\",\"../../core/Error\",\"../../core/unitUtils\"],function(e,a,t,n,r,i){function s(e){if(!e||!e.isGeographic)return null;if(e.wkid){var a=b[e.wkid];if(a)return a}if(e.wkt){var t=y.exec(e.wkt);if(!t||2!==t.length)return null;var n=t[1].split(\",\");if(!n||3!==n.length)return null;var r=parseFloat(n[1]),i=parseFloat(n[2]);if(isNaN(r)||isNaN(i))return null;return{a:r,f:0===i?0:1/i}}return null}function f(e){return\"b\"in e&&\"eSq\"in e&&\"radius\"in e}function o(e){var a=s(e||w);if(f(a))return a;var n=a.a*(1-a.f);return t.assign(a,{b:n,eSq:1-Math.pow(n/a.a,2),radius:(2*a.a+n)/3})}function c(e,a,t){var n,r=o(t),i=r.a,s=r.eSq,f=Math.sqrt(s),c=Math.sin(a[1]*m),h=i*a[0]*m;if(s>0){n=i*((1-s)*(c/(1-s*(c*c))-1/(2*f)*Math.log((1-f*c)/(1+f*c))))*.5}else n=i*c;return e[0]=h,e[1]=n,e}function h(e){return null!==s(e)}function l(e,a){if(void 0===a&&(a=\"square-meters\"),e.some(function(e){return!h(e.spatialReference)}))throw new r(\"geodesic-areas:invalid-spatial-reference\",\"the input geometries spatial reference is not supported\");for(var t=[],n=0;n<e.length;n++){var s=e[n],f=s.spatialReference,l=o(f).radius,p=l*R;t.push(u(s,p))}for(var d=[],v=[0,0],g=[0,0],M=0;M<t.length;M++){for(var m=t[M],w=m.rings,f=m.spatialReference,y=0,b=0;b<w.length;b++){var q=w[b];c(v,q[0],f),c(g,q[q.length-1],f);for(var S=g[0]*v[1]-v[0]*g[1],z=0;z<q.length-1;z++)c(v,q[z+1],f),c(g,q[z],f),S+=g[0]*v[1]-v[0]*g[1];y+=S}y=i.convertUnit(y,\"square-meters\",a),d.push(y/-2)}return d}function p(e,a){void 0===a&&(a=\"meters\");var t=e,n=e;if(!t&&!n)throw new r(\"geodesic-lengths:invalid-geometries\",\"the input geometries type is not supported\");if(t?t.some(function(e){return!h(e.spatialReference)}):n.some(function(e){return!h(e.spatialReference)}))throw new r(\"geodesic-lengths:invalid-spatial-reference\",\"the input geometries spatial reference is not supported\");for(var s=[],f=0;f<e.length;f++){for(var o=e[f],c=o.spatialReference,l=\"polyline\"===o.type?o.paths:o.rings,p=0,u=0;u<l.length;u++){for(var d=l[u],g=0,M=1;M<d.length;M++){var m=d[M-1][0],w=d[M][0],y=d[M-1][1],R=d[M][1];if(y!==R||m!==w){var b={distance:null};v(b,[m,y],[w,R],c),g+=b.distance}}p+=g}p=i.convertUnit(p,\"meters\",a),s.push(p)}return s}function u(e,a){if(\"polyline\"!==e.type&&\"polygon\"!==e.type)throw new r(\"geodesic-densify:invalid-geometry\",\"the input geometry is neither polyline nor polygon\");var t=e.spatialReference;if(!h(t))throw new r(\"geodesic-densify:invalid-spatial-reference\",\"the input geometry spatial reference is not supported\");var i=o(t).radius,s=i/1e4;a<s&&(a=s);for(var f=\"polyline\"===e.type?e.paths:e.rings,c=[],l=[0,0],p={distance:null},u=0,g=f;u<g.length;u++){var M=g[u],m=[];c.push(m),m.push([M[0][0],M[0][1]]);for(var w=M[0][0],y=M[0][1],R=void 0,b=void 0,q=0;q<M.length-1;q++)if(R=M[q+1][0],b=M[q+1][1],w!==R||y!==b){var S=[w,y];v(p,[w,y],[R,b],t);var z=p.azimuth,P=p.distance,x=P/a;if(x>1){for(var N=1;N<=x-1;N++){var k=N*a;d(l,S,z,k,t),m.push(l.slice(0))}var D=(P+Math.floor(x-1)*a)/2;d(l,S,z,D,t),m.push(l.slice(0))}d(l,S,z,P,t),m.push(l.slice(0)),w=l[0],y=l[1]}}return\"polyline\"===e.type?new n.Polyline({paths:c,spatialReference:t}):new n.Polygon({rings:c,spatialReference:t})}function d(e,a,t,n,r){for(var i,s,f,c,h=a[0],l=a[1],p=h*m,u=l*m,d=t*m,v=o(r),g=v.a,M=v.b,w=v.f,y=Math.sin(d),R=Math.cos(d),b=(1-w)*Math.tan(u),q=1/Math.sqrt(1+b*b),S=b*q,z=Math.atan2(b,R),P=q*y,x=P*P,N=1-x,k=N*(g*g-M*M)/(M*M),D=1+k/16384*(4096+k*(k*(320-175*k)-768)),G=k/1024*(256+k*(k*(74-47*k)-128)),U=n/(M*D),j=2*Math.PI;Math.abs(U-j)>1e-12;)f=Math.cos(2*z+U),i=Math.sin(U),s=Math.cos(U),c=G*i*(f+G/4*(s*(2*f*f-1)-G/6*f*(4*i*i-3)*(4*f*f-3))),j=U,U=n/(M*D)+c;var A=S*i-q*s*R,F=Math.atan2(S*s+q*i*R,(1-w)*Math.sqrt(x+A*A)),I=Math.atan2(i*y,q*s-S*i*R),E=w/16*N*(4+w*(4-3*N)),O=I-(1-E)*w*P*(U+E*i*(f+E*s*(2*f*f-1))),_=F/m,H=(p+O)/m;return e.splice(0,e.length),e.push(H,_),e}function v(e,a,t,n){var r,i,s,f,c,h,l,p,u,d,v=a[0]*m,g=a[1]*m,M=t[0]*m,w=t[1]*m,y=o(n),R=y.a,b=y.b,q=y.f,S=y.radius,z=M-v,P=Math.atan((1-q)*Math.tan(g)),x=Math.atan((1-q)*Math.tan(w)),N=Math.sin(P),k=Math.cos(P),D=Math.sin(x),G=Math.cos(x),U=1e3,j=z;do{if(l=Math.sin(j),p=Math.cos(j),0===(s=Math.sqrt(G*l*(G*l)+(k*D-N*G*p)*(k*D-N*G*p))))return{distance:0};c=N*D+k*G*p,h=Math.atan2(s,c),u=k*G*l/s,i=1-u*u,f=c-2*N*D/i,isNaN(f)&&(f=0),d=q/16*i*(4+q*(4-3*i)),r=j,j=z+(1-d)*q*u*(h+d*s*(f+d*c*(2*f*f-1)))}while(Math.abs(j-r)>1e-12&&--U>0);if(0===U){var A=S,F=Math.acos(Math.sin(g)*Math.sin(w)+Math.cos(g)*Math.cos(w)*Math.cos(M-v))*A,I=M-v,E=Math.sin(I)*Math.cos(w),O=Math.cos(g)*Math.sin(w)-Math.sin(g)*Math.cos(w)*Math.cos(I);return{azimuth:Math.atan2(E,O)/m,distance:F}}var _=i*(R*R-b*b)/(b*b),H=1+_/16384*(4096+_*(_*(320-175*_)-768)),L=_/1024*(256+_*(_*(74-47*_)-128)),W=L*s*(f+L/4*(c*(2*f*f-1)-L/6*f*(4*s*s-3)*(4*f*f-3))),B=b*H*(h-W),C=Math.atan2(G*Math.sin(j),k*D-N*G*Math.cos(j)),J=Math.atan2(k*Math.sin(j),k*D*Math.cos(j)-N*G);return e.azimuth=C/m,e.distance=B,e.reverseAzimuth=J/m,e}function g(e,a,t){if(void 0===t&&(t=\"meters\"),!e||!a)throw new r(\"geodesic-distance:missing-parameters\",\"one or both input parameters are missing\");if(!e.spatialReference||!a.spatialReference)throw new r(\"geodesic-distance:invalid-parameters\",\"one or both input points do not have a spatial reference\");if(!e.spatialReference.equals(a.spatialReference))throw new r(\"geodesic-distance:invalid-parameters\",\"spatial references of input parameters do not match\");var n=e.spatialReference;if(!h(n))throw new r(\"geodesic-distance:not-supported\",\"input geometry spatial reference is not supported\");if(e.equals(a))return{distance:0,azimuth:0,reverseAzimuth:0};var s={distance:null};return v(s,[e.x,e.y],[a.x,a.y],n),s.distance=i.convertUnit(s.distance,\"meters\",t),s}function M(e,a,t){if(!e||null==a||null==t)throw new r(\"point-from-distance:missing-parameters\",\"one or more input parameters are missing or undefined\");if(t<0||t>360)throw new r(\"point-from-distance:-of-bounds\",\"azimuth is restricted to angles between, and including, 0° to 360° degrees\");if(!e.spatialReference)throw new r(\"point-from-distance:missing-spatial-reference\",\"the input point must have a spatial reference\");var i=e.spatialReference;if(!h(i))throw new r(\"geodesic-distance:not-supported\",\"input geometry spatial reference is not supported\");var s=[0,0];return d(s,[e.x,e.y],t,a,i),new n.Point({x:s[0],y:s[1],spatialReference:i})}Object.defineProperty(a,\"__esModule\",{value:!0});var m=Math.PI/180,w=n.SpatialReference.WGS84,y=/SPHEROID\\[([^\\]]+)]/i,R=.0015696101447650193,b={4326:{a:6378137,f:1/298.257223563},104900:{a:2439700,f:0},104901:{a:6051e3,f:0},104902:{a:6051800,f:0},104903:{a:1737400,f:0},104904:{a:3393400,f:.005207166853303471},104905:{a:3396190,f:.005886007555525457},104906:{a:6200,f:0},104907:{a:11100,f:0},104908:{a:71492e3,f:.06487439154031222},104909:{a:8200,f:0},104910:{a:83500,f:0},104911:{a:1e4,f:0},104912:{a:2409300,f:0},104913:{a:15e3,f:0},104914:{a:4e4,f:0},104915:{a:1562090,f:0},104916:{a:2632345,f:0},104917:{a:85e3,f:0},104918:{a:1821460,f:0},104919:{a:5e3,f:0},104920:{a:12e3,f:0},104921:{a:3e4,f:3},104922:{a:18e3,f:0},104923:{a:14e3,f:0},104924:{a:49300,f:0},104925:{a:60268e3,f:.09796243445941462},104926:{a:16e3,f:0},104927:{a:9500,f:0},104928:{a:56e4,f:0},104929:{a:249400,f:0},104930:{a:59500,f:0},104931:{a:16e3,f:0},104932:{a:133e3,f:0},104933:{a:718e3,f:0},104934:{a:888e3,f:0},104935:{a:1986300,f:0},104936:{a:1e4,f:0},104937:{a:41900,f:0},104938:{a:11e4,f:0},104939:{a:50100,f:0},104940:{a:764e3,f:0},104941:{a:11e3,f:0},104942:{a:529800,f:0},104943:{a:2575e3,f:0},104944:{a:25559e3,f:.022927344575296365},104945:{a:578900,f:0},104946:{a:33e3,f:0},104947:{a:21e3,f:0},104948:{a:13e3,f:0},104949:{a:31e3,f:0},104950:{a:27e3,f:0},104951:{a:42e3,f:0},104952:{a:235800,f:0},104953:{a:761400,f:0},104954:{a:15e3,f:0},104955:{a:54e3,f:0},104956:{a:77e3,f:0},104957:{a:27e3,f:0},104958:{a:788900,f:0},104959:{a:584700,f:0},104960:{a:24764e3,f:.01708124697141011},104961:{a:74e3,f:0},104962:{a:79e3,f:0},104963:{a:104e3,f:.14423076923076922},104964:{a:29e3,f:0},104965:{a:17e4,f:0},104966:{a:208e3,f:0},104967:{a:4e4,f:0},104968:{a:1352600,f:0},104969:{a:1195e3,f:0},104970:{a:593e3,f:0},104971:{a:3396190,f:0},104972:{a:47e4,f:0},104973:{a:255e3,f:0},104974:{a:2439400,f:0}};a.isSupported=h,a.geodesicAreas=l,a.geodesicLengths=p,a.geodesicDensify=u,a.directGeodeticSolver=d,a.inverseGeodeticSolver=v,a.geodesicDistance=g,a.pointFromDistance=M});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"../../core/Error\",\"../HeightModelInfo\",\"../../layers/support/arcgisLayerUrl\"],function(e,t,n,i,r,a){function l(e,t){if(!e)return null;if(!c(e))return new i(\"webscene:unsupported-height-model-info\",\"The vertical coordinate system of the scene is not supported\",{heightModelInfo:e});var n=e.heightUnit,a=r.deriveUnitFromSR(e,t).heightUnit;return n!==a?new i(\"webscene:incompatible-height-unit\",\"The vertical units of the scene (\"+n+\") must match the horizontal units of the scene (\"+a+\")\",{verticalUnit:n,horizontalUnit:a}):null}function o(e,t,n){var a=u(e),l=t,o=s(a,l,n),c=null;if(a){var d=r.deriveUnitFromSR(a,e.spatialReference).heightUnit;n||d===a.heightUnit||(c=new i(\"layerview:unmatched-height-unit\",\"The vertical units of the layer must match the horizontal units (\"+d+\")\",{horizontalUnit:d}))}if(!h(e)||4===o||c)return new i(\"layerview:unsupported-height-model-info\",\"The vertical coordinate system of the layer is not supported\",{heightModelInfo:a,error:c});var c=null;switch(o){case 1:var f=a.heightUnit||\"unknown\",g=l.heightUnit||\"unknown\";c=new i(\"layerview:incompatible-height-unit\",\"The vertical units of the layer (\"+f+\") must match the vertical units of the scene (\"+g+\")\",{layerUnit:f,sceneUnit:g});break;case 2:var m=a.heightModel||\"unknown\",v=l.heightModel||\"unknown\";c=new i(\"layerview:incompatible-height-model\",\"The height model of the layer (\"+m+\") must match the height model of the scene (\"+v+\")\",{layerHeightModel:m,sceneHeightModel:v});break;case 3:var p=a.vertCRS||\"unknown\",y=l.vertCRS||\"unknown\";c=new i(\"layerview:incompatible-vertical-datum\",\"The vertical datum of the layer (\"+p+\") must match the vertical datum of the scene (\"+y+\")\",{layerDatum:p,sceneDatum:y})}return c?new i(\"layerview:incompatible-height-model-info\",\"The vertical coordinate system of the layer is incompatible with the scene\",{layerHeightModelInfo:a,sceneHeightModelInfo:l,error:c}):null}function s(e,t,n){if(!c(e)||!c(t))return 4;if(null==e||null==t)return 0;if(!n&&e.heightUnit!==t.heightUnit)return 1;if(e.heightModel!==t.heightModel)return 2;switch(e.heightModel){case\"gravity-related-height\":return 0;case\"ellipsoidal\":return e.vertCRS===t.vertCRS?0:3;default:return 4}}function c(e){return null==e||null!=e.heightModel&&null!=e.heightUnit}function h(e){return\"heightModelInfo\"in e&&null!=e.heightModelInfo||null!=e.spatialReference||!g(e)}function u(e){var t=e.url&&a.parse(e.url);return null==(e.spatialReference&&e.spatialReference.vcsWkid)&&t&&\"ImageServer\"===t.serverType||!d(e)||!e.heightModelInfo?g(e)?r.deriveUnitFromSR(p,e.spatialReference):null:e.heightModelInfo}function d(e){return\"heightModelInfo\"in e}function f(e){if(\"unknown\"===e.type||!(\"capabilities\"in e))return!1;switch(e.type){case\"csv\":case\"feature\":case\"geojson\":case\"stream\":return!0;case\"imagery\":case\"map-image\":case\"tile\":case\"vector-tile\":case null:return!1;default:return n.neverReached(e),!1}}function g(e){return f(e)?!!(e.capabilities&&e.capabilities.data&&e.capabilities.data.supportsZ):v(e)}function m(e){return null!=e.layers||v(e)||f(e)||d(e)}function v(e){switch(e.type){case\"building-scene\":case\"elevation\":case\"integrated-mesh\":case\"point-cloud\":case\"scene\":return!0;case\"base-dynamic\":case\"base-elevation\":case\"base-tile\":case\"bing-maps\":case\"csv\":case\"geojson\":case\"feature\":case\"geo-rss\":case\"graphics\":case\"group\":case\"imagery\":case\"kml\":case\"map-image\":case\"map-notes\":case\"open-street-map\":case\"stream\":case\"tile\":case\"unknown\":case\"unsupported\":case\"vector-tile\":case\"web-tile\":case\"wms\":case\"wmts\":case null:return!1;default:n.neverReached(e)}return!1}Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateWebSceneError=l,t.rejectLayerError=o,t.deriveHeightModelInfoFromLayer=u,t.mayHaveHeightModelInfo=m;var p=new r({heightModel:\"gravity-related-height\"})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./contains\"],function(n,e,r){function t(n,e){return r.extentContainsPoint(n,e)}function i(n,e){var r,t,i,o=n.hasZ&&e.hasZ;if(n.xmin<=e.xmin){if(r=e.xmin,n.xmax<r)return!1}else if(r=n.xmin,e.xmax<r)return!1;if(n.ymin<=e.ymin){if(t=e.ymin,n.ymax<t)return!1}else if(t=n.ymin,e.ymax<t)return!1;if(o&&e.hasZ)if(n.zmin<=e.zmin){if(i=e.zmin,n.zmax<i)return!1}else if(i=n.zmin,e.zmax<i)return!1;return!0}function o(n,e){for(var t=e.points,i=e.hasZ,o=i?r.extentContainsCoords3D:r.extentContainsCoords2D,a=0,s=t;a<s.length;a++){if(o(n,s[a]))return!0}return!1}function a(n,e){l[0]=n.xmin,l[1]=n.ymax,c[0]=n.xmax,c[1]=n.ymax,v[0]=n.xmin,v[1]=n.ymin,y[0]=n.xmax,y[1]=n.ymin;for(var t=0,i=g;t<i.length;t++){var o=i[t];if(r.polygonContainsCoords(e,o))return!0}for(var a=0,s=e.rings;a<s.length;a++){var f=s[a];if(f.length){var x=f[0];if(r.extentContainsCoords2D(n,x))return!0;for(var m=1;m<f.length;m++){var C=f[m];if(r.extentContainsCoords2D(n,C)||u(x,C,h))return!0;x=C}}}return!1}function s(n,e){l[0]=n.xmin,l[1]=n.ymax,c[0]=n.xmax,c[1]=n.ymax,v[0]=n.xmin,v[1]=n.ymin,y[0]=n.xmax,y[1]=n.ymin;for(var t=e.paths,i=0,o=t;i<o.length;i++){var a=o[i];if(t.length){var s=a[0];if(r.extentContainsCoords2D(n,s))return!0;for(var f=1;f<a.length;f++){var x=a[f];if(r.extentContainsCoords2D(n,x)||u(s,x,h))return!0;s=x}}}return!1}function f(n){for(var e=0;e<n.length;e++){for(var r=n[e],t=0;t<r.length-1;t++)for(var i=r[t],o=r[t+1],a=e+1;a<n.length;a++)for(var s=0;s<n[a].length-1;s++){var f=n[a][s],u=n[a][s+1],m=x(i,o,f,u,C);if(m&&!(C[0]===i[0]&&C[1]===i[1]||C[0]===f[0]&&C[1]===f[1]||C[0]===o[0]&&C[1]===o[1]||C[0]===u[0]&&C[1]===u[1]))return!0}var l=r.length;if(!(l<=4))for(var t=0;t<l-3;t++){var c=l-1;0===t&&(c=l-2);for(var i=r[t],o=r[t+1],a=t+2;a<c;a++){var f=r[a],u=r[a+1],m=x(i,o,f,u,C);if(m&&!(C[0]===i[0]&&C[1]===i[1]||C[0]===f[0]&&C[1]===f[1]||C[0]===o[0]&&C[1]===o[1]||C[0]===u[0]&&C[1]===u[1]))return!0}}}return!1}function u(n,e,r){for(var t=0;t<r.length;t++)if(x(n,e,r[t][0],r[t][1]))return!0;return!1}function x(n,e,r,t,i){var o=n[0],a=n[1],s=e[0],f=e[1],u=r[0],x=r[1],m=t[0],l=t[1],c=m-u,v=o-u,y=s-o,g=l-x,h=a-x,C=f-a,p=g*y-c*C;if(0===p)return!1;var d=(c*h-g*v)/p,I=(y*h-C*v)/p;return d>=0&&d<=1&&I>=0&&I<=1&&(i&&(i[0]=o+d*(s-o),i[1]=a+d*(f-a)),!0)}function m(n){switch(n){case\"esriGeometryEnvelope\":case\"extent\":return i;case\"esriGeometryMultipoint\":case\"multipoint\":return o;case\"esriGeometryPoint\":case\"point\":return t;case\"esriGeometryPolygon\":case\"polygon\":return a;case\"esriGeometryPolyline\":case\"polyline\":return s;case\"mesh\":return i}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extentIntersectsPoint=t,e.extentIntersectsExtent=i,e.extentIntersectsMultipoint=o;var l=[0,0],c=[0,0],v=[0,0],y=[0,0],g=[l,c,v,y],h=[[v,l],[l,c],[c,y],[y,v]];e.extentIntersectsPolygon=a,e.extentIntersectsPolyline=s;var C=[0,0];e.isSelfIntersecting=f,e.segmentIntersects=x,e.getExtentIntersector=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Extent\",\"../Geometry\",\"../Multipoint\",\"../Point\",\"../Polygon\",\"../Polyline\"],function(e,o,n,r,t,i,u,s){function l(e){try{throw new Error(\"fromJson is deprecated, use fromJSON instead\")}catch(e){console.warn(e.stack)}return p(e)}function y(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function m(e){return void 0!==e.points}function f(e){return void 0!==e.x&&void 0!==e.y}function c(e){return void 0!==e.paths}function d(e){return void 0!==e.rings}function v(e){return void 0!==e.vertexAttributes}function p(e){return e?e instanceof r?e:f(e)?i.fromJSON(e):c(e)?s.fromJSON(e):d(e)?u.fromJSON(e):m(e)?t.fromJSON(e):y(e)?n.fromJSON(e):null:null}function P(e){return e?f(e)?\"esriGeometryPoint\":c(e)?\"esriGeometryPolyline\":d(e)?\"esriGeometryPolygon\":y(e)?\"esriGeometryEnvelope\":m(e)?\"esriGeometryMultipoint\":null:null}function G(e){return e&&a[e]||null}Object.defineProperty(o,\"__esModule\",{value:!0}),o.fromJson=l,o.isExtent=y,o.isMultipoint=m,o.isPoint=f,o.isPolyline=c,o.isPolygon=d,o.isMesh=v,o.fromJSON=p,o.getJsonType=P;var a={esriGeometryPoint:i,esriGeometryPolyline:s,esriGeometryPolygon:u,esriGeometryEnvelope:n,esriGeometryMultipoint:t};o.getGeometryType=G});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../config\",\"../../core/Error\",\"../../core/Logger\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../Polygon\",\"../Polyline\",\"../SpatialReference\",\"./spatialReferenceUtils\",\"./webMercatorUtils\",\"../../tasks/geometry/cut\",\"../../tasks/geometry/simplify\"],function(e,r,n,t,i,a,o,s,u,f,l,p,h,c,g,m){function v(e){return\"polygon\"===e.type}function x(e){return\"polygon\"===e[0].type}function y(e){return\"polyline\"===e[0].type}function d(e){return v(e)?e.rings:e.paths}function M(e,r){return Math.ceil((e-r)/(2*r))}function w(e,r){for(var n=d(e),t=0,i=n;t<i.length;t++)for(var a=i[t],o=0,s=a;o<s.length;o++){var u=s[o];u[0]+=r}return e}function b(e){for(var r=[],n=0,t=0,i=0;i<e.length;i++){for(var a=e[i],o=null,s=0;s<a.length;s++)o=a[s],r.push(o),0===s?(n=o[0],t=n):(n=Math.min(n,o[0]),t=Math.max(t,o[0]));o&&r.push([(n+t)/2,0])}return r}function R(e,r){if(!(e instanceof l||e instanceof f)){var n=\"straightLineDensify: the input geometry is neither polyline nor polygon\";throw I.error(n),new a(n)}for(var t=d(e),i=[],o=0,s=t;o<s.length;o++){var u=s[o],p=[];i.push(p),p.push([u[0][0],u[0][1]]);for(var h=0;h<u.length-1;h++){var c=u[h][0],g=u[h][1],m=u[h+1][0],x=u[h+1][1],y=Math.sqrt((m-c)*(m-c)+(x-g)*(x-g)),M=(x-g)/y,w=(m-c)/y,b=y/r;if(b>1){for(var R=1;R<=b-1;R++){var L=R*r,W=w*L+c,P=M*L+g;p.push([W,P])}var S=(y+Math.floor(b-1)*r)/2,X=w*S+c,z=M*S+g;p.push([X,z])}p.push([m,x])}}return v(e)?new f({rings:i,spatialReference:e.spatialReference}):new l({paths:i,spatialReference:e.spatialReference})}function L(e,r,n){if(r){var t=R(e,1e6);e=c.webMercatorToGeographic(t,!0)}return n&&(e=w(e,n)),e}function W(e,r,n){if(Array.isArray(e)){var t=e[0];if(t>r){var i=M(t,r);e[0]=t+i*(-2*r)}else if(t<n){var i=M(t,n);e[0]=t+i*(-2*n)}}else{var t=e.x;if(t>r){var i=M(t,r);e=e.clone().offset(i*(-2*r),0)}else if(t<n){var i=M(t,n);e=e.clone().offset(i*(-2*n),0)}}return e}function P(e,r){for(var n=-1,t=0;t<r.cutIndexes.length;t++)!function(t){for(var i=r.cutIndexes[t],a=r.geometries[t],o=d(a),s=0;s<o.length;s++)!function(e){var r=o[e];r.some(function(n){if(n[0]<180)return!0;for(var t=0,i=0;i<r.length;i++){var o=r[i][0];t=o>t?o:t}t=Number(t.toFixed(9));for(var s=M(t,180),u=-360*s,f=0;f<r.length;f++){var l=a.getPoint(e,f);a.setPoint(e,f,l.clone().offset(u,0))}return!0})}(s);if(i===n){if(x(e))for(var u=0,f=d(a);u<f.length;u++){var l=f[u];e[i]=e[i].addRing(l)}else if(y(e))for(var p=0,h=d(a);p<h.length;p++){var c=h[p];e[i]=e[i].addPath(c)}}else n=i,e[i]=a}(t);return e}function S(e,r,a){return t(this,void 0,void 0,function(){var t,o,p,v,x,y,d,b,R,X,z,I,k,A,T,D,G,_,G,q,E,H,N,j,C,F,O,B,J,K,Q,V,Y,Z,$,ee,re,V,Y,ne,V,Y,Z;return n(this,function(n){switch(n.label){case 0:if(!Array.isArray(e))return[2,S([e],r)];for(t=r?r.url:i.geometryServiceUrl,X=0,z=[],I=[],k=0,A=e;k<A.length;k++)T=A[k],s.isNone(T)?I.push(T):(o||(o=T.spatialReference,p=h.getInfo(o),v=o.isWebMercator,d=v?102100:4326,x=U[d].maxX,y=U[d].minX,b=U[d].plus180Line,R=U[d].minus180Line),p?\"mesh\"===T.type?I.push(T):\"point\"===T.type?I.push(W(T.clone(),x,y)):\"multipoint\"===T.type?(D=T.clone(),D.points=D.points.map(function(e){return W(e,x,y)}),I.push(D)):\"extent\"===T.type?(G=T.clone(),_=G._normalize(!1,!1,p),I.push(_.rings?new f(_):_)):T.extent?(G=T.extent,q=M(G.xmin,y),E=q*(2*x),H=0===E?T.clone():w(T.clone(),E),G.offset(E,0),G.intersects(b)&&G.xmax!==x?(X=G.xmax>X?G.xmax:X,H=L(H,v),z.push(H),I.push(\"cut\")):G.intersects(R)&&G.xmin!==y?(X=G.xmax*(2*x)>X?G.xmax*(2*x):X,H=L(H,v,360),z.push(H),I.push(\"cut\")):I.push(H)):I.push(T.clone()):I.push(T));for(N=M(X,x),j=-90,C=N,F=new l;N>0;)O=360*N-180,F.addPath([[O,j],[O,-1*j]]),j*=-1,N--;return z.length>0&&C>0?[4,g.cut(t,z,F,a)]:[3,3];case 1:for(B=n.sent(),J=P(z,B),K=[],Q=[],V=0;V<I.length;V++)Y=I[V],\"cut\"!==Y?Q.push(Y):(Z=J.shift(),$=e[V],s.isSome($)&&\"polygon\"===$.type&&$.rings&&$.rings.length>1&&Z.rings.length>=$.rings.length?(K.push(Z),Q.push(\"simplify\")):Q.push(v?c.geographicToWebMercator(Z):Z));return K.length?[4,m.simplify(t,K,a)]:[2,Q];case 2:for(ee=n.sent(),re=[],V=0;V<Q.length;V++)Y=Q[V],\"simplify\"!==Y?re.push(Y):re.push(v?c.geographicToWebMercator(ee.shift()):ee.shift());return[2,re];case 3:for(ne=[],V=0;V<I.length;V++)Y=I[V],\"cut\"!==Y?ne.push(Y):(Z=z.shift(),ne.push(!0===v?c.geographicToWebMercator(Z):Z));return[2,u.resolve(ne)]}})})}function X(e){var r;if(!e)return null;var n=e.extent;if(!n)return null;var t=e.spatialReference&&h.getInfo(e.spatialReference);if(!t)return n;var i=t.valid,a=i[0],o=i[1],s=2*o,u=n.width,f=n.xmin,l=n.xmax;if(r=[l,f],f=r[0],l=r[1],\"extent\"===e.type||0===u||u<=o||u>s||f<a||l>o)return n;var p;switch(e.type){case\"polygon\":if(!(e.rings.length>1))return n;p=b(e.rings);break;case\"polyline\":if(!(e.paths.length>1))return n;p=b(e.paths);break;case\"multipoint\":p=e.points}for(var c=n.clone(),g=0;g<p.length;g++){var m=p[g][0];m<0?(m+=o,l=Math.max(m,l)):(m-=o,f=Math.min(m,f))}return c.xmin=f,c.xmax=l,c.width<u?(c.xmin-=o,c.xmax-=o,c):n}function z(e,r){var n=h.getInfo(r);if(n){var t=n.valid,i=t[0],a=t[1],o=a-i;if(e<i)for(;e<i;)e+=o;if(e>a)for(;e>a;)e-=o}return e}Object.defineProperty(r,\"__esModule\",{value:!0});var I=o.getLogger(\"esri.geometry.support.normalizeUtils\"),U={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new l({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:p.WebMercator}),minus180Line:new l({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:p.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new l({paths:[[[180,-180],[180,180]]],spatialReference:p.WGS84}),minus180Line:new l({paths:[[[-180,-180],[-180,180]]],spatialReference:p.WGS84})}};r.straightLineDensify=R,r.normalizeCentralMeridian=S,r.getDenormalizedExtent=X,r.normalizeMapX=z});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function o(e,n,o,t){return e.x=e.x+n,e.y=e.y+o,null!=t&&null!=e.z&&(e.z=e.z+t),e}function t(e,n){return e[0]+=n,e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.offsetPoint=o,n.offsetCoordsX=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./jsonUtils\"],function(n,t,r){function e(n){return n&&\"upperLeft\"===n.originPosition}function i(n){return n?{originPosition:\"upper-left\"===n.originPosition?\"upperLeft\":\"lower-left\"===n.originPosition?\"lowerLeft\":n.originPosition,scale:[n.tolerance,n.tolerance],translate:[n.extent.xmin,n.extent.ymax]}:null}function u(n,t){if(n===t||null==n&&null==t)return!0;if(null==n||null==t)return!1;var r,i,u,a,o,l;return e(n)?(r=n.translate[0],i=n.translate[1],u=n.scale[0]):(r=n.extent.xmin,i=n.extent.ymax,u=n.tolerance),e(t)?(a=t.translate[0],o=t.translate[1],l=t.scale[0]):(a=t.extent.xmin,o=t.extent.ymax,l=t.tolerance),r===a&&i===o&&u===l}function a(n,t){var r=n.scale,e=n.translate;return Math.round((t-e[0])/r[0])}function o(n,t){var r=n.scale,e=n.translate;return Math.round((e[1]-t)/r[1])}function l(n,t,r){for(var e,i,u,l,s=[],m=0;m<r.length;m++){var f=r[m];m>0?(u=a(n,f[0]),l=o(n,f[1]),u===e&&l===i||(s.push(t(f,u-e,l-i)),e=u,i=l)):(e=a(n,f[0]),i=o(n,f[1]),s.push(t(f,e,i)))}return s.length>0?s:null}function s(n,t,r){return t[0]=a(n,r[0]),t[3]=o(n,r[1]),t[2]=a(n,r[2]),t[1]=o(n,r[3]),t}function m(n,t,r,e){return l(n,r?e?O:G:e?G:C,t)}function f(n,t,r,e){for(var i=[],u=r?e?O:G:e?G:C,a=0;a<t.length;a++){var o=l(n,u,t[a]);o&&o.length>=3&&i.push(o)}return i.length?i:null}function c(n,t,r,e){for(var i=[],u=r?e?O:G:e?G:C,a=0;a<t.length;a++){var o=l(n,u,t[a]);o&&o.length>=2&&i.push(o)}return i.length?i:null}function h(n,t){var r=n.scale,e=n.translate;return t*r[0]+e[0]}function x(n,t){var r=n.scale;return n.translate[1]-t*r[1]}function y(n,t,r){var e=new Array(r.length);if(!r.length)return e;var i=n.scale,u=i[0],a=i[1],o=h(n,r[0][0]),l=x(n,r[0][1]);e[0]=t(r[0],o,l);for(var s=1;s<r.length;s++){var m=r[s];o+=m[0]*u,l-=m[1]*a,e[s]=t(m,o,l)}return e}function g(n,t,r){for(var e=new Array(r.length),i=0;i<r.length;i++)e[i]=y(n,t,r[i]);return e}function d(n,t,r){return r?(t[0]=h(n,r[0]),t[1]=x(n,r[3]),t[2]=h(n,r[2]),t[3]=x(n,r[1]),t):[h(n,t[0]),x(n,t[3]),h(n,t[2]),x(n,t[1])]}function z(n,t,r,e){return y(n,r?e?O:G:e?G:C,t)}function I(n,t,r,e){return g(n,r?e?O:G:e?G:C,t)}function v(n,t,r,e){return g(n,r?e?O:G:e?G:C,t)}function P(n,t,r){for(var e=r[0],i=e[0],u=e[1],a=Math.min(i,t[0]),o=Math.min(u,t[1]),l=Math.max(i,t[2]),s=Math.max(u,t[3]),m=1;m<r.length;m++){var f=r[m],c=f[0],h=f[1];i+=c,u+=h,c<0&&(a=Math.min(a,i)),c>0&&(l=Math.max(l,i)),h<0?o=Math.min(o,u):h>0&&(s=Math.max(s,u))}return n[0]=a,n[1]=o,n[2]=l,n[3]=s,n}function p(n,t){if(!t.length)return null;n[0]=n[1]=Number.POSITIVE_INFINITY,n[2]=n[3]=Number.NEGATIVE_INFINITY;for(var r=0;r<t.length;r++)P(n,n,t[r]);return n}function N(n){var t=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY];return P(t,t,n)}function q(n){return p([0,0,0,0],n)}function M(n){return p([0,0,0,0],n)}function T(n,t,r,e,i){return t.xmin=a(n,r.xmin),t.ymin=o(n,r.ymin),t.xmax=a(n,r.xmax),t.ymax=o(n,r.ymax),t!==r&&(e&&(t.zmin=r.zmin,t.zmax=r.zmax),i&&(t.mmin=r.mmin,t.mmax=r.mmax)),t}function E(n,t,r,e,i){return t.points=m(n,r.points,e,i),t}function A(n,t,r,e,i){return t.x=a(n,r.x),t.y=o(n,r.y),t!==r&&(e&&(t.z=r.z),i&&(t.m=r.m)),t}function Y(n,t,r,e,i){var u=f(n,r.rings,e,i);return u?(t.rings=u,t):null}function _(n,t,r,e,i){var u=c(n,r.paths,e,i);return u?(t.paths=u,t):null}function b(n,t){return n&&t?r.isPoint(t)?A(n,{},t,!1,!1):r.isPolyline(t)?_(n,{},t,!1,!1):r.isPolygon(t)?Y(n,{},t,!1,!1):r.isMultipoint(t)?E(n,{},t,!1,!1):r.isExtent(t)?T(n,{},t,!1,!1):null:null}function B(n,t,r,e,i){return t.xmin=h(n,r.xmin),t.ymin=x(n,r.ymin),t.xmax=h(n,r.xmax),t.ymax=x(n,r.ymax),t!==r&&(e&&(t.zmin=r.zmin,t.zmax=r.zmax),i&&(t.mmin=r.mmin,t.mmax=r.mmax)),t}function F(n,t,r,e,i){return t.points=z(n,r.points,e,i),t}function Q(n,t,r,e,i){return t.x=h(n,r.x),t.y=x(n,r.y),t!==r&&(e&&(t.z=r.z),i&&(t.m=r.m)),t}function V(n,t,r,e,i){return t.rings=v(n,r.rings,e,i),t}function w(n,t,r,e,i){return t.paths=I(n,r.paths,e,i),t}Object.defineProperty(t,\"__esModule\",{value:!0});var C=function(n,t,r){return[t,r]},G=function(n,t,r){return[t,r,n[2]]},O=function(n,t,r){return[t,r,n[2],n[3]]};t.toQuantizationTransform=i,t.equals=u,t.quantizeX=a,t.quantizeY=o,t.quantizeBounds=s,t.quantizePoints=m,t.quantizeRings=f,t.quantizePaths=c,t.hydrateX=h,t.hydrateY=x,t.hydrateCoordsArray=y,t.hydrateCoordsArrayArray=g,t.hydrateBounds=d,t.hydratePoints=z,t.hydratePaths=I,t.hydrateRings=v,t.getQuantizedBoundsCoordsArray=P,t.getQuantizedBoundsCoordsArrayArray=p,t.getQuantizedBoundsPoints=N,t.getQuantizedBoundsPaths=q,t.getQuantizedBoundsRings=M,t.quantizeExtent=T,t.quantizeMultipoint=E,t.quantizePoint=A,t.quantizePolygon=Y,t.quantizePolyline=_,t.quantizeGeometry=b,t.hydrateExtent=B,t.hydrateMultipoint=F,t.hydratePoint=Q,t.hydratePolygon=V,t.hydratePolyline=w});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/unitUtils\"],function(e,t,r){function n(e,t){var n=t||e.extent,i=e.width,o=r.getMetersPerUnitForSR(n&&n.spatialReference);return n&&i?n.width/i*o*r.inchesPerMeter*u:0}function i(e,t){return e/(r.getMetersPerUnitForSR(t)*r.inchesPerMeter*u)}function o(e,t){return e*(r.getMetersPerUnitForSR(t)*r.inchesPerMeter*u)}function c(e,t){var r=e.extent,n=e.width,o=i(t,r.spatialReference);return r.clone().expand(o*n/r.width)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=96;t.getScale=n,t.getResolutionForScale=i,t.getScaleForResolution=o,t.getExtentForScale=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/string\",\"./WKIDUnitConversion\"],function(e,r,i,a){function _(e,r){return!(!e||!r)&&(e===r||(null!=e.wkid||null!=r.wkid?e.wkid===r.wkid||M(e)&&M(r)||null!=r.latestWkid&&e.wkid===r.latestWkid||null!=e.latestWkid&&r.wkid===e.latestWkid:!(!e.wkt||!r.wkt)&&e.wkt.toUpperCase()===r.wkt.toUpperCase()))}function t(e){return d(e)&&e.wkid?o[e.wkid]:null}function l(e){return!!d(e)&&(e.wkid?null==a[e.wkid]:!!e.wkt&&!!/^\\s*GEOGCS/i.test(e.wkt))}function n(e){return d(e)&&4326===e.wkid}function M(e){return d(e)&&!0===S[e.wkid]}function E(e){return d(e)&&!0===R[e.wkid]}function d(e){return null!=e&&(null!=e.wkid&&e.wkid>=2e3||null!=e.wkt)}Object.defineProperty(r,\"__esModule\",{value:!0});var S={102113:!0,102100:!0,3857:!0,3785:!0},R={102113:!0,102100:!0,3857:!0,3785:!0,4326:!0},A='PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]]',G=[-20037508.342788905,20037508.342788905],T=[-20037508.342787,20037508.342787],o={102113:{wkTemplate:'PROJCS[\"WGS_1984_Web_Mercator\",GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\",DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\",SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]',valid:G,origin:T,dx:1e-5},102100:{wkTemplate:A,valid:G,origin:T,dx:1e-5},3785:{wkTemplate:'PROJCS[\"WGS_1984_Web_Mercator\",GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\",DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\",SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]',valid:G,origin:T,dx:1e-5},3857:{wkTemplate:A,valid:G,origin:T,dx:1e-5},4326:{wkTemplate:'GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",{Central_Meridian}],UNIT[\"Degree\",0.0174532925199433]]',altTemplate:'PROJCS[\"WGS_1984_Plate_Carree\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Plate_Carree\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],UNIT[\"Degrees\",111319.491]]',valid:[-180,180],origin:[-180,180],dx:1e-5}};r.equals=_,r.getInfo=t,r.isGeographic=l,r.isWGS84=n,r.isWebMercator=M,r.isWrappable=E,r.isValid=d,r.WGS84={wkid:4326,wkt:i.replace(t({wkid:4326}).wkTemplate,{Central_Meridian:\"0.0\"})},r.WebMercator={wkid:102100,latestWkid:3857}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/lang\",\"../../core/wgs84Constants\",\"../SpatialReference\",\"./spatialReferenceUtils\"],function(e,n,t,i,r,a){function o(e){return e*d}function s(e){return e*b}function l(e){return null!=e.wkid||null!=e.wkt}function u(e,n,t,i,r){var a,o,s,l=e,u=r;if(\"x\"in l&&\"x\"in u)a=n(l.x,l.y,m,i),u.x=a[0],u.y=a[1];else if(\"xmin\"in l&&\"xmin\"in u)o=n(l.xmin,l.ymin,m,i),u.xmin=o[0],u.ymin=o[1],s=n(l.xmax,l.ymax,m,i),u.xmax=s[0],u.ymax=s[1];else if(\"paths\"in l&&\"paths\"in u||\"rings\"in l&&\"rings\"in u){for(var c=(\"paths\"in l?l.paths:l.rings),p=[],f=void 0,h=0;h<c.length;h++){var v=c[h];f=[],p.push(f);for(var g=0;g<v.length;g++)f.push(n(v[g][0],v[g][1],[0,0],i)),v[g].length>2&&f[g].push(v[g][2]),v[g].length>3&&f[g].push(v[g][3])}\"paths\"in u?u.paths=p:u.rings=p}else if(\"points\"in l&&\"points\"in u){for(var x=l.points,M=[],h=0;h<x.length;h++)M[h]=n(x[h][0],x[h][1],[0,0],i),x[h].length>2&&M[h].push(x[h][2]),x[h].length>3&&M[h].push(x[h][3]);u.points=M}else if(\"type\"in l&&\"mesh\"===l.type&&\"type\"in u&&\"mesh\"===u.type){var d=l.vertexAttributes&&l.vertexAttributes.position,b=u.vertexAttributes&&u.vertexAttributes.position;if(d)for(var y=[0,0],h=0;h<d.length;h+=3)n(d[h],d[h+1],y,i),b[h]=y[0],b[h+1]=y[1]}return u.spatialReference=t,r}function c(e,n){var t=e&&(l(e)?e:e.spatialReference),i=n&&(l(n)?n:n.spatialReference);return!(!t||!i)&&(!!a.equals(i,t)||(a.isWebMercator(i)&&a.isWGS84(t)||a.isWebMercator(t)&&a.isWGS84(i)))}function p(e,n){var i=e&&e.spatialReference,o=n&&(l(n)?n:n.spatialReference);return c(i,o)?a.equals(i,o)?t.clone(e):a.isWebMercator(o)?u(e,f,r.WebMercator,!1,t.clone(e)):a.isWGS84(o)?u(e,h,r.WGS84,!1,t.clone(e)):null:null}function f(e,n,t){void 0===t&&(t=[0,0]),n>89.99999?n=89.99999:n<-89.99999&&(n=-89.99999);var i=s(n);return t[0]=s(e)*x,t[1]=M*Math.log((1+Math.sin(i))/(1-Math.sin(i))),t}function h(e,n,t,i){void 0===t&&(t=[0,0]),void 0===i&&(i=!1);var r=o(e/x);return t[0]=i?r:r-360*Math.floor((r+180)/360),t[1]=o(Math.PI/2-2*Math.atan(Math.exp(-1*n/x))),t}function v(e,n,i){return void 0===n&&(n=!1),void 0===i&&(i=t.clone(e)),u(e,f,r.WebMercator,n,i)}function g(e,n,i){return void 0===n&&(n=!1),void 0===i&&(i=t.clone(e)),u(e,h,r.WGS84,n,i)}Object.defineProperty(n,\"__esModule\",{value:!0});var x=i.wgs84Radius,M=x/2,d=57.29577951308232,b=.017453292519943,m=[0,0];n.canProject=c,n.project=p,n.lngLatToXY=f,n.xyToLngLat=h,n.geographicToWebMercator=v,n.webMercatorToGeographic=g});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,a){function r(e,a,r){void 0===r&&(r=!1);var h=e.hasM,s=e.hasZ;Array.isArray(a)?4!==a.length||h||s?3===a.length&&r&&!h?(s=!0,h=!1):3===a.length&&h&&s&&(h=!1,s=!1):(h=!0,s=!0):(s=!s&&a.hasZ&&(!h||a.hasM),h=!h&&a.hasM&&(!s||a.hasZ)),e.hasZ=s,e.hasM=h}Object.defineProperty(a,\"__esModule\",{value:!0}),a.updateSupportFromPoint=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(e,t,r,o,n,a){Object.defineProperty(t,\"__esModule\",{value:!0});var p=function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"none\",r}r(t,e),n=t,t.prototype.clone=function(){return new n({type:this.type})};var n;return o([a.enumeration.serializable()({none:\"none\",stayAbove:\"stay-above\"})],t.prototype,\"type\",void 0),t=n=o([a.subclass(\"esri.ground.NavigationConstraint\")],t)}(a.declared(n.JSONSupport));t.NavigationConstraint=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./intl/date\",\"./intl/number\",\"./intl/substitute\"],function(t,e,o,r,n){Object.defineProperty(e,\"__esModule\",{value:!0}),e.formatDate=o.formatDate,e.convertDateFormatToIntlOptions=o.convertDateFormatToIntlOptions,e.formatNumber=r.formatNumber,e.convertNumberFormatToIntlOptions=r.convertNumberFormatToIntlOptions,e.substitute=n.substitute});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"@dojo/framework/shim/WeakMap\",\"../core/jsonMap\",\"./locale\"],function(t,o,e,r,a,n){function h(t){var o=t||S;if(!T.has(o)){var e=n.getLocale(),r=D[n.getLocale()]||e;T.set(o,new Intl.DateTimeFormat(r,o))}return T.get(o)}function m(t){return c[t]||null}function i(t,o){return h(o).format(t)}Object.defineProperty(o,\"__esModule\",{value:!0});var l={year:\"numeric\",month:\"numeric\",day:\"numeric\"},s={year:\"numeric\",month:\"long\",day:\"numeric\"},d={year:\"numeric\",month:\"short\",day:\"numeric\"},y={year:\"numeric\",month:\"long\",weekday:\"long\",day:\"numeric\"},g={hour:\"numeric\",minute:\"numeric\"},u=e({},g,{second:\"numeric\"}),c={\"short-date\":l,\"short-date-short-time\":e({},l,g),\"short-date-short-time-24\":e({},l,g,{hour12:!1}),\"short-date-long-time\":e({},l,u),\"short-date-long-time-24\":e({},l,u,{hour12:!1}),\"short-date-le\":l,\"short-date-le-short-time\":e({},l,g),\"short-date-le-short-time-24\":e({},l,g,{hour12:!1}),\"short-date-le-long-time\":e({},l,u),\"short-date-le-long-time-24\":e({},l,u,{hour12:!1}),\"long-month-day-year\":s,\"long-month-day-year-short-time\":e({},s,g),\"long-month-day-year-short-time-24\":e({},s,g,{hour12:!1}),\"long-month-day-year-long-time\":e({},s,u),\"long-month-day-year-long-time-24\":e({},s,u,{hour12:!1}),\"day-short-month-year\":d,\"day-short-month-year-short-time\":e({},d,g),\"day-short-month-year-short-time-24\":e({},d,g,{hour12:!1}),\"day-short-month-year-long-time\":e({},d,u),\"day-short-month-year-long-time-24\":e({},d,u,{hour12:!1}),\"long-date\":y,\"long-date-short-time\":e({},y,g),\"long-date-short-time-24\":e({},y,g,{hour12:!1}),\"long-date-long-time\":e({},y,u),\"long-date-long-time-24\":e({},y,u,{hour12:!1}),\"long-month-year\":{month:\"long\",year:\"numeric\"},\"short-month-year\":{month:\"short\",year:\"numeric\"},year:{year:\"numeric\"},\"short-time\":g,\"long-time\":u};o.dictionary=a.strict()({shortDate:\"short-date\",shortDateShortTime:\"short-date-short-time\",shortDateShortTime24:\"short-date-short-time-24\",shortDateLongTime:\"short-date-long-time\",shortDateLongTime24:\"short-date-long-time-24\",shortDateLE:\"short-date-le\",shortDateLEShortTime:\"short-date-le-short-time\",shortDateLEShortTime24:\"short-date-le-short-time-24\",shortDateLELongTime:\"short-date-le-long-time\",shortDateLELongTime24:\"short-date-le-long-time-24\",longMonthDayYear:\"long-month-day-year\",longMonthDayYearShortTime:\"long-month-day-year-short-time\",longMonthDayYearShortTime24:\"long-month-day-year-short-time-24\",longMonthDayYearLongTime:\"long-month-day-year-long-time\",longMonthDayYearLongTime24:\"long-month-day-year-long-time-24\",dayShortMonthYear:\"day-short-month-year\",dayShortMonthYearShortTime:\"day-short-month-year-short-time\",dayShortMonthYearShortTime24:\"day-short-month-year-short-time-24\",dayShortMonthYearLongTime:\"day-short-month-year-long-time\",dayShortMonthYearLongTime24:\"day-short-month-year-long-time-24\",longDate:\"long-date\",longDateShortTime:\"long-date-short-time\",longDateShortTime24:\"long-date-short-time-24\",longDateLongTime:\"long-date-long-time\",longDateLongTime24:\"long-date-long-time-24\",longMonthYear:\"long-month-year\",shortMonthYear:\"short-month-year\",year:\"year\"}),o.dateFormats=o.dictionary.apiValues,o.toJSON=o.dictionary.toJSON.bind(o.dictionary),o.fromJSON=o.dictionary.fromJSON.bind(o.dictionary);var D={ar:\"ar-u-nu-latn-ca-gregory\"},T=new r.default,S=c[\"short-date-short-time\"];n.onLocaleChange(function(){T=new r.default,S=c[\"short-date-short-time\"]}),o.getDateTimeFormatter=h,o.convertDateFormatToIntlOptions=m,o.formatDate=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/_base/kernel\"],function(e,n,o){function c(){return t}function l(e){t=e,u.slice().forEach(function(n){n.call(null,e)})}function r(e){return u.push(e),{remove:function(){u.splice(u.indexOf(e),1)}}}Object.defineProperty(n,\"__esModule\",{value:!0});var t=o.locale;n.getLocale=c,n.setLocale=l;var u=[];n.onLocaleChange=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"@dojo/framework/shim/WeakMap\",\"./locale\"],function(e,r,t,a,n){function o(e){var r=e||m;if(!c.has(r)){var t=n.getLocale(),a=l[n.getLocale()]||t;c.set(r,new Intl.NumberFormat(a,e))}return c.get(r)}function i(e){void 0===e&&(e={});var r={};return null!=e.digitSeparator&&(r.useGrouping=e.digitSeparator),null!=e.places&&(r.minimumFractionDigits=r.maximumFractionDigits=e.places),r}function u(e,r){return o(r).format(e)}Object.defineProperty(r,\"__esModule\",{value:!0});var l={ar:\"ar-u-nu-arab\"},c=new a.default,m={};n.onLocaleChange(function(){c=new a.default,m={}}),r.getFormatter=o,r.convertNumberFormatToIntlOptions=i,r.formatNumber=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/Logger\",\"../core/object\",\"../core/string\",\"./date\",\"./number\"],function(e,r,t,n,a,o,i){function u(e,r,t){void 0===t&&(t={});var n=t.format,o=void 0===n?{}:n;return a.replace(e,function(e){return f(e,r,o)})}function f(e,r,t){var a,o,i=e.indexOf(\":\");if(-1===i?a=e.trim():(a=e.slice(0,i).trim(),o=e.slice(i+1).trim()),!a)return\"\";var u=n.getDeepValue(a,r);if(null==u)return\"\";var f=t[o]||t[a];return f?s(u,f):o?c(u,o):m(u)}function s(e,r){switch(r.type){case\"date\":return o.formatDate(e,r.intlOptions);case\"number\":return i.formatNumber(e,r.intlOptions);default:return d.warn(\"missing format descriptor for key {key}\"),m(e)}}function c(e,r){switch(r.toLowerCase()){case\"dateformat\":return o.formatDate(e);case\"numberformat\":return i.formatNumber(e);default:return d.warn(\"inline format is unsupported since 4.12: \"+r),/^(dateformat|datestring)/i.test(r)?o.formatDate(e):/^numberformat/i.test(r)?i.formatNumber(e):m(e)}}function m(e){switch(typeof e){case\"string\":return e;case\"number\":return i.formatNumber(e);case\"boolean\":return\"\"+e;default:return e instanceof Date?o.formatDate(e):\"\"}}Object.defineProperty(r,\"__esModule\",{value:!0});var d=t.getLogger(\"esri.intl\");r.substitute=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/_base/kernel\",\"./core/has\",\"./core/promiseUtils\",\"./support/revision\"],function(e,r,n,s,o,t){Object.defineProperty(r,\"__esModule\",{value:!0}),r.revision=t.commitHash,function(){var e=n.config,r=void 0!==e.useDeferredInstrumentation,o=e.has&&void 0!==e.has[\"config-deferredInstrumentation\"],t=e.has&&void 0!==e.has[\"config-useDeferredInstrumentation\"];r||o||t||(s.add(\"config-deferredInstrumentation\",!1,!0,!0),s.add(\"config-useDeferredInstrumentation\",!1,!0,!0))}(),r.version=\"4.14\",r.workerMessages={request:function(r){return o.create(function(r){e([\"./request\"],r)}).then(function(e){var n=r.options||{};return n.responseType=\"array-buffer\",e(r.url,n)}).then(function(e){return{result:{data:e.data,ssl:e.ssl},transferList:[e.data]}})}},!s(\"host-webworker\")&&s(\"esri-console-log-version\")&&(s(\"esri-next\")?console.warn(\"Using ArcGIS API for JavaScript \"+r.version+\"-next [Date: \"+t.buildDate+\", Revision: \"+t.commitHash.slice(0,8)+\"]\"):console.debug(\"Using ArcGIS API for JavaScript \"+r.version+\" [Date: \"+t.buildDate+\", Revision: \"+t.commitHash.slice(0,8)+\"]\"))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n// copyright\n\n/**\n * Copyright information for the layer.\n *\n * @name copyright\n * @instance\n * @type {string}\n */\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../PopupTemplate\",\"../renderers\",\"../request\",\"../symbols\",\"../core/Collection\",\"../core/Error\",\"../core/Handles\",\"../core/jsonMap\",\"../core/Logger\",\"../core/maybe\",\"../core/MultiOriginJSONSupport\",\"../core/object\",\"../core/promiseUtils\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"../geometry/Extent\",\"../geometry/HeightModelInfo\",\"../geometry/SpatialReference\",\"./Layer\",\"./graphics/sources/MemorySource\",\"./mixins/ArcGISService\",\"./mixins/OperationalLayer\",\"./mixins/PortalLayer\",\"./mixins/RefreshableLayer\",\"./mixins/ScaleRangeLayer\",\"./mixins/TemporalLayer\",\"./support/arcgisLayerUrl\",\"./support/commonProperties\",\"./support/FeatureIndex\",\"./support/FeatureReduction\",\"./support/FeatureReductionCluster\",\"./support/FeatureReductionSelection\",\"./support/featureReductionUtils\",\"./support/FeatureTemplate\",\"./support/FeatureType\",\"./support/fieldProperties\",\"./support/FieldsIndex\",\"./support/fieldUtils\",\"./support/LabelClass\",\"./support/labelingInfo\",\"./support/layerSourceUtils\",\"./support/Relationship\",\"./support/TimeInfo\",\"../renderers/support/jsonUtils\",\"../renderers/support/styleUtils\",\"../support/popupUtils\",\"../symbols/support/jsonUtils\",\"../tasks/support/AttachmentQuery\",\"../tasks/support/FeatureSet\",\"../tasks/support/Query\",\"../tasks/support/RelationshipQuery\",\"@dojo/framework/shim/Promise\"],function(e,t,r,i,o,n,a,s,p,l,u,d,y,c,f,h,m,b,v,g,w,S,I,F,D,x,T,O,R,M,A,j,E,C,P,L,_,Q,q,U,G,V,z,k,B,N,W,H,J,Z,K,$,X,Y,ee,te,re,ie,oe){function ne(e){return e&&e instanceof y}function ae(e,t,r){return!!(e&&e.hasOwnProperty(t)?e[t]:r)}function se(e,t,r){return e&&e.hasOwnProperty(t)?e[t]:r}var pe=new h.default({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryMultiPatch:\"multipatch\"}),le={name:\"supportsName\",size:\"supportsSize\",contentType:\"supportsContentType\",keywords:\"supportsKeywords\",exifInfo:\"supportsExifInfo\"},ue=\"FeatureLayer\",de=m.getLogger(\"esri.layers.FeatureLayer\"),ye=k.defineFieldProperties();return function(t){function n(e){var r=t.call(this,e)||this;return r._handles=new f,r.capabilities=null,r.copyright=null,r.displayField=null,r.definitionExpression=null,r.dynamicDataSource=null,r.editFieldsInfo=null,r.editingEnabled=!0,r.editingInfo=null,r.elevationInfo=null,r.featureReduction=null,r.fields=null,r.fullExtent=null,r.gdbVersion=null,r.geometryProperties=null,r.geometryType=null,r.hasM=void 0,r.hasZ=void 0,r.heightModelInfo=null,r.historicMoment=null,r.isTable=!1,r.labelsVisible=!0,r.labelingInfo=null,r.layerId=void 0,r.legendEnabled=!0,r.minScale=0,r.maxScale=0,r.globalIdField=null,r.objectIdField=null,r.outFields=null,r.path=null,r.popupEnabled=!0,r.popupTemplate=null,r.relationships=null,r.sourceJSON=null,r.returnM=void 0,r.returnZ=void 0,r.screenSizePerspectiveEnabled=!0,r.serviceDefinitionExpression=null,r.spatialReference=x.WGS84,r.templates=null,r.timeInfo=null,r.title=null,r.sublayerTitleMode=\"item-title\",r.trackIdField=null,r.type=\"feature\",r.typeIdField=null,r.types=null,r.indexes=new(y.ofType(_.FeatureIndex)),r.userIsAdmin=!1,r.version=void 0,r.visible=!0,r}return i(n,t),n.prototype.destroy=function(){this._handles&&(this._handles.destroy(),this._handles=null)},n.prototype.normalizeCtorArgs=function(e,t){return\"string\"==typeof e?r({url:e},t):e},n.prototype.load=function(e){var t=this,r=b.isSome(e)?e.signal:null;if(this.portalItem&&this.portalItem.loaded&&this.source)return void this.addResolvingPromise(this.createGraphicsSource(r).then(function(e){return t._initLayerProperties(e)}));var i=this.loadFromPortal({supportedTypes:[\"Feature Service\",\"Feature Collection\"]},e).catch(function(e){return e}).then(function(){return s(t,void 0,void 0,function(){var e,t;return a(this,function(i){switch(i.label){case 0:return this.url&&null==this.layerId&&/FeatureServer|MapServer\\/*$/i.test(this.url)?[4,this._fetchFirstLayerId(r)]:[3,2];case 1:e=i.sent(),null!=e&&(this.layerId=e),i.label=2;case 2:if(!this.url&&!this._hasMemorySource())throw new c(\"feature-layer:missing-url-or-source\",\"Feature layer must be created with either a url or a source\");return t=this._initLayerProperties,[4,this.createGraphicsSource(r)];case 3:return[2,t.apply(this,[i.sent()])]}})})});return this.addResolvingPromise(i),this.when()},n.prototype.readCapabilities=function(e,t){return t=t.layerDefinition||t,{attachment:this._readAttachmentCapabilities(t.attachmentProperties),data:this._readDataCapabilities(t),metadata:this._readMetadataCapabilities(t),operations:this._readOperationsCapabilities(t.capabilities||e,t),query:this._readQueryCapabilities(t),queryRelated:this._readQueryRelatedCapabilities(t),editing:this._readEditingCapabilities(t)}},n.prototype.readEditingEnabled=function(e,t){return!t.layerDefinition||\"Query\"!==t.layerDefinition.capabilities},n.prototype.writeEditingEnabled=function(e,t){e||g.setDeepValue(\"layerDefinition.capabilities\",\"Query\",t)},n.prototype.readEditingInfo=function(e,t){var r=t.editingInfo;return r?{lastEditDate:null!=r.lastEditDate?new Date(r.lastEditDate):null}:null},n.prototype.readFeatureReduction=function(e,t,r){return G.read(e,t,r)},n.prototype.writeWebSceneFeatureReduction=function(e,t,r,i){G.writeTarget(e,t,\"layerDefinition.featureReduction\",i)},Object.defineProperty(n.prototype,\"fieldsIndex\",{get:function(){return new B(this.fields||[])},enumerable:!0,configurable:!0}),n.prototype.readIsTable=function(e,t){return t=t&&t.layerDefinition||t,\"Table\"===t.type},Object.defineProperty(n.prototype,\"hasService\",{get:function(){return!this._hasMemorySource()},enumerable:!0,configurable:!0}),n.prototype.readMinScale=function(e,t){return t.effectiveMinScale||e||0},n.prototype.readMaxScale=function(e,t){return t.effectiveMaxScale||e||0},n.prototype.readGlobalIdFieldFromService=function(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields)for(var r=0,i=t.fields;r<i.length;r++){var o=i[r];if(\"esriFieldTypeGlobalID\"===o.type)return o.name}},n.prototype.readObjectIdFieldFromService=function(e,t){if(t=t.layerDefinition||t,t.objectIdField)return t.objectIdField;if(t.fields)for(var r=0,i=t.fields;r<i.length;r++){var o=i[r];if(\"esriFieldTypeOID\"===o.type)return o.name}},Object.defineProperty(n.prototype,\"parsedUrl\",{get:function(){var e=this.url?S.urlToObject(this.url):null;if(null!=e)if(null!=this.layerId)e.path=S.join(e.path,this.layerId.toString());else if(null!=this.dynamicDataSource){var t={source:J.sourceToJSON(this.dynamicDataSource)};e.query={layer:JSON.stringify(t)}}return e},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"defaultPopupTemplate\",{get:function(){return this.createPopupTemplate()},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"renderer\",{set:function(e){N.fixRendererFields(e,this.fields),this._set(\"renderer\",e)},enumerable:!0,configurable:!0}),n.prototype.readRenderer=function(e,t,r){t=t.layerDefinition||t;var i,o,n=t.drawingInfo&&t.drawingInfo.renderer||void 0;if(n)(i=$.read(n,t,r)||void 0)||de.error(\"Failed to create renderer\",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:r});else if(t.defaultSymbol)ee.read(t.defaultSymbol,t,r),t.types&&t.types.length?(i=new l.UniqueValueRenderer({defaultSymbol:o,field:t.typeIdField}),t.types.forEach(function(e){n.addUniqueValueInfo(e.id,ee.read(e.symbol,e,r))})):i=new l.SimpleRenderer({symbol:o});else if(\"Table\"!==t.type){switch(t.geometryType){case\"esriGeometryPoint\":case\"esriGeometryMultipoint\":o=new d.SimpleMarkerSymbol;break;case\"esriGeometryPolyline\":o=new d.SimpleLineSymbol;break;case\"esriGeometryPolygon\":o=new d.SimpleFillSymbol}i=o&&new l.SimpleRenderer({symbol:o})}return i},n.prototype.writeRenderer=function(e,t,r,i){$.writeTarget(e,t,r,i)},n.prototype.writeWebSceneRenderer=function(e,t,r,i){$.writeTarget(e,t,\"layerDefinition.drawingInfo.renderer\",i)},Object.defineProperty(n.prototype,\"source\",{set:function(e){var t=this._get(\"source\");t!==e&&(ne(t)&&this._resetMemorySource(t),ne(e)&&this._initMemorySource(e),this._set(\"source\",e))},enumerable:!0,configurable:!0}),n.prototype.castSource=function(e){return e?Array.isArray(e)||e instanceof y?new O.default({layer:this,items:e}):e:null},n.prototype.readSource=function(e,t){var r=re.fromJSON(t.featureSet);return new O.default({layer:this,items:r&&r.features||[]})},n.prototype.readTemplates=function(e,t){var r=t.editFieldsInfo,i=r&&r.creatorField,o=r&&r.editorField;return e=e&&e.map(function(e){return V.fromJSON(e)}),this._fixTemplates(e,i),this._fixTemplates(e,o),e},n.prototype.readTitle=function(e,t){var r=t.layerDefinition&&t.layerDefinition.name||t.name,i=t.title||t.layerDefinition&&t.layerDefinition.title;if(r){var o=this.portalItem&&this.portalItem.title;if(\"item-title\"===this.sublayerTitleMode)return this.url?P.titleFromUrlAndName(this.url,r):r;var n=r||this.url&&P.parse(this.url).title;if(!n)return;return\"item-title-and-service-name\"===this.sublayerTitleMode&&o&&(n=o+\" - \"+n),P.cleanTitle(n)}if(\"item-title\"===this.sublayerTitleMode&&i)return i},n.prototype.readTitleFromWebMap=function(e,t){return t.title||t.layerDefinition&&t.layerDefinition.name},n.prototype.readTypeIdField=function(e,t){t=t.layerDefinition||t;var r=t.typeIdField;if(r){var i=N.getField(t.fields,r);i&&(r=i.name)}return r},n.prototype.readTypes=function(e,t){var r=this;t=t.layerDefinition||t,e=t.types;var i=t.editFieldsInfo,o=i&&i.creatorField,n=i&&i.editorField;return e&&e.map(function(e){return e=z.fromJSON(e),r._fixTemplates(e.templates,o),r._fixTemplates(e.templates,n),e})},Object.defineProperty(n.prototype,\"url\",{set:function(e){var t=P.sanitizeUrlWithLayerId(this,e,de);this._set(\"url\",t.url),null!=t.layerId&&this._set(\"layerId\",t.layerId)},enumerable:!0,configurable:!0}),n.prototype.writeUrl=function(e,t,r,i){P.writeUrlWithLayerId(this,e,null,t,i)},n.prototype.readVersion=function(e,t){return t.currentVersion?t.currentVersion:t.hasOwnProperty(\"capabilities\")||t.hasOwnProperty(\"drawingInfo\")||t.hasOwnProperty(\"hasAttachments\")||t.hasOwnProperty(\"htmlPopupType\")||t.hasOwnProperty(\"relationships\")||t.hasOwnProperty(\"timeInfo\")||t.hasOwnProperty(\"typeIdField\")||t.hasOwnProperty(\"types\")?10:9.3},n.prototype.readVisible=function(e,t){return t.layerDefinition&&null!=t.layerDefinition.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0},n.prototype.addAttachment=function(e,t){var r=this;return this.load().then(function(){return r._checkAttachmentSupport(e)}).then(function(){if(!(\"addAttachment\"in r.source))throw new c(ue,\"Layer source does not support addAttachment capability\");return r.source.addAttachment(e,t)})},n.prototype.updateAttachment=function(e,t,r){var i=this;return this.load().then(function(){return i._checkAttachmentSupport(e)}).then(function(){if(!(\"updateAttachment\"in i.source))throw new c(ue,\"Layer source does not support updateAttachment capability\");return i.source.updateAttachment(e,t,r)})},n.prototype.applyEdits=function(t,r){return s(this,void 0,void 0,function(){var i;return a(this,function(o){switch(o.label){case 0:return[4,new Promise(function(t,r){e([\"./graphics/editingSupport\"],t,r)})];case 1:return i=o.sent(),[2,i.applyEdits(this,t,r)]}})})},n.prototype.on=function(e,t){return this.inherited(arguments,[e,t])},n.prototype.createPopupTemplate=function(e){return Y.createPopupTemplate(this,e)},n.prototype.createGraphicsSource=function(t){return s(this,void 0,void 0,function(){var r,i;return a(this,function(o){switch(o.label){case 0:return this._hasMemorySource()?(this.emit(\"graphics-source-create\",{graphicsSource:this.source}),[2,this.source.load({signal:t})]):[4,w.create(function(t){return e([\"./graphics/sources/FeatureLayerSource\"],t)})];case 1:return r=o.sent(),w.throwIfAborted(t),[4,new r.default({layer:this}).load({signal:t})];case 2:return i=o.sent(),this.emit(\"graphics-source-create\",{graphicsSource:i}),[2,i]}})})},n.prototype.createQuery=function(){var e=new ie,t=this.get(\"capabilities.data\");return e.gdbVersion=this.gdbVersion,e.historicMoment=this.historicMoment,e.returnGeometry=!0,t&&(t.supportsZ&&null!=this.returnZ&&(e.returnZ=this.returnZ),t.supportsM&&null!=this.returnM&&(e.returnM=this.returnM)),e.outFields=[\"*\"],e.where=this.definitionExpression||\"1=1\",e.multipatchOption=\"multipatch\"===this.geometryType?\"xyFootprint\":null,e},n.prototype.deleteAttachments=function(e,t){var r=this;return this.load().then(function(){return r._checkAttachmentSupport(e)}).then(function(){if(!(\"deleteAttachments\"in r.source))throw new c(ue,\"Layer source does not support deleteAttachments capability\");return r.source.deleteAttachments(e,t)})},n.prototype.getFeatureType=function(e){var t=this,r=t.typeIdField,i=t.types;if(!r||!e)return null;var o=e.attributes?e.attributes[r]:void 0;if(null==o)return null;var n=null;return i.some(function(e){var t=e.id;return null!=t&&(t.toString()===o.toString()&&(n=e),!!n)}),n},n.prototype.getFieldDomain=function(e,t){var r,i=this,o=!1,n=t&&t.feature,a=n&&n.attributes,s=this.typeIdField&&a&&a[this.typeIdField];return null!=s&&this.types&&this.types.some(function(t){return t.id==s&&(r=t.domains&&t.domains[e],r&&\"inherited\"===r.type&&(r=i._getLayerDomain(e),o=!0),!0)}),o||r||(r=this._getLayerDomain(e)),r},n.prototype.getField=function(e){return this.fieldsIndex.get(e)},n.prototype.queryAttachments=function(e,t){var r=this;return e=te.from(e),this.load().then(function(){if(!r.get(\"capabilities.data.supportsAttachment\"))throw new c(ue,\"this layer doesn't support attachments\");var t=e.attachmentTypes,i=e.objectIds,o=e.globalIds,n=e.num,a=e.size,s=e.start,p=e.where;if(!r.get(\"capabilities.operations.supportsQueryAttachments\")){var l=i&&i.length>1,u=t&&t.length,d=o&&o.length,y=a&&a.length;if(l||u||d||y||n||s||p)throw new c(ue,\"when 'supportsQueryAttachments' is false, only objectIds of length 1 are supported\",e)}if(!(i&&i.length||p))throw new c(ue,\"'objectIds' or 'where' are required to perform attachment query\",e);if(!(\"queryAttachments\"in r.source))throw new c(ue,\"Layer source does not support queryAttachments capability\",e);return r.source.queryAttachments(e)})},n.prototype.queryFeatures=function(e,t){var r=this;return this.load().then(function(){return r.source.queryFeatures(ie.from(e)||r.createQuery(),t)}).then(function(e){if(e&&e.features)for(var t=0,i=e.features;t<i.length;t++){var o=i[t];o.layer=o.sourceLayer=r}return e})},n.prototype.queryObjectIds=function(e,t){var r=this;return this.load().then(function(){if(r.source.queryObjectIds)return r.source.queryObjectIds(ie.from(e)||r.createQuery(),t);throw new c(ue,\"Layer source does not support queryObjectIds capability\")})},n.prototype.queryFeatureCount=function(e,t){var r=this;return this.load().then(function(){if(r.source.queryFeatureCount)return r.source.queryFeatureCount(ie.from(e)||r.createQuery(),t);throw new c(ue,\"Layer source does not support queryFeatureCount capability\")})},n.prototype.queryExtent=function(e,t){var r=this;return this.load().then(function(){if(r.source.queryExtent)return r.source.queryExtent(ie.from(e)||r.createQuery(),t);throw new c(ue,\"Layer source does not support queryExtent capability\")})},n.prototype.queryRelatedFeatures=function(e,t){var r=this;return this.load().then(function(){if(\"queryRelatedFeatures\"in r.source)return r.source.queryRelatedFeatures(oe.from(e),t);throw new c(ue,\"Layer source does not support queryRelatedFeatures capability\")})},n.prototype.read=function(e,t){var r=e.featureCollection;if(r){var i=r.layers;i&&1===i.length&&(this.inherited(arguments,[i[0],t]),null!=r.showLegend&&this.inherited(arguments,[{showLegend:r.showLegend},t]))}this.inherited(arguments,[e,t]),t&&\"service\"===t.origin&&this.revert([\"objectIdField\",\"fields\",\"timeInfo\"],\"service\")},n.prototype.write=function(e,t){return t&&(\"web-scene\"===t.origin||\"web-map\"===t.origin)&&t.messages&&this.isTable?(t.messages.push(new c(\"layer:unsupported\",\"Layers (\"+this.title+\", \"+this.id+\") of type '\"+this.declaredClass+\"' using a Table source cannot written to web scenes and web maps\",{layer:this})),null):this.inherited(arguments)},n.prototype._checkAttachmentSupport=function(e){var t=e.attributes,r=this.objectIdField;return this.get(\"capabilities.data.supportsAttachment\")?e?t?t[r]?void 0:w.reject(new c(ue,\"feature is missing the identifying attribute \"+r)):w.reject(new c(ue,\"'attributes' are required on a feature to query attachments\")):w.reject(new c(ue,\"A feature is required to add/delete/update attachments\")):w.reject(new c(ue,\"this layer doesn't support attachments\"))},n.prototype._getLayerDomain=function(e){if(!this.fields)return null;var t=null;return this.fields.some(function(r){return r.name===e&&(t=r.domain),!!t}),t},n.prototype._fetchFirstLayerId=function(e){return u(this.url,{query:{f:\"json\"},responseType:\"json\",signal:e}).then(function(e){var t=e.data;if(t)return Array.isArray(t.layers)&&t.layers.length>0?t.layers[0].id:Array.isArray(t.tables)&&t.tables.length>0?t.tables[0].id:void 0})},n.prototype._initLayerProperties=function(e){return s(this,void 0,void 0,function(){return a(this,function(t){return this._set(\"source\",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:\"service\",url:this.parsedUrl})),this._verifySource(),this._verifyFields(),N.fixRendererFields(this.renderer,this.fields),N.fixTimeInfoFields(this.timeInfo,this.fields),[2,X.loadStyleRenderer(this,{origin:\"service\"})]})})},n.prototype._verifyFields=function(){var e=this.parsedUrl&&this.parsedUrl.path||\"undefined\";this.objectIdField||console.log(\"FeatureLayer: 'objectIdField' property is not defined (url: \"+e+\")\"),this.isTable||this._hasMemorySource()||-1!==e.search(/\\/FeatureServer\\//i)||this.fields&&this.fields.some(function(e){return\"geometry\"===e.type})||console.log(\"FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: \"+e+\")\")},n.prototype._fixTemplates=function(e,t){e&&e.forEach(function(e){var r=e.prototype&&e.prototype.attributes;r&&t&&delete r[t]})},n.prototype._verifySource=function(){if(this._hasMemorySource()){if(this.url)throw new c(\"feature-layer:mixed-source-and-url\",\"FeatureLayer cannot be created with both an in-memory source and a url\")}else if(!this.url)throw new c(\"feature-layer:source-or-url-required\",\"FeatureLayer requires either a url, a valid portal item or a source\")},n.prototype._initMemorySource=function(e){var t=this;e.forEach(function(e){e.layer=t,e.sourceLayer=t}),this._handles.add([e.on(\"after-add\",function(e){e.item.layer=t,e.item.sourceLayer=t}),e.on(\"after-remove\",function(e){e.item.layer=null,e.item.sourceLayer=null})],\"fl-source\")},n.prototype._resetMemorySource=function(e){e.forEach(function(e){e.layer=null,e.sourceLayer=null}),this._handles.remove(\"fl-source\")},n.prototype._hasMemorySource=function(){return!(this.url||!this.source)},n.prototype._readAttachmentCapabilities=function(e){var t={supportsName:!1,supportsSize:!1,supportsContentType:!1,supportsKeywords:!1,supportsExifInfo:!1};return e&&Array.isArray(e)&&e.forEach(function(e){var r=le[e.name];r&&(t[r]=!!e.isEnabled)}),t},n.prototype._readDataCapabilities=function(e){return{isVersioned:ae(e,\"isDataVersioned\",!1),supportsAttachment:ae(e,\"hasAttachments\",!1),supportsM:ae(e,\"hasM\",!1),supportsZ:ae(e,\"hasZ\",!1)}},n.prototype._readMetadataCapabilities=function(e){return{supportsAdvancedFieldProperties:ae(e,\"supportsFieldDescriptionProperty\",!1)}},n.prototype._readOperationsCapabilities=function(e,t){var r=e?e.toLowerCase().split(\",\").map(function(e){return e.trim()}):[],i=-1!==r.indexOf(\"editing\"),o=i&&-1!==r.indexOf(\"create\"),n=i&&-1!==r.indexOf(\"delete\"),a=i&&-1!==r.indexOf(\"update\");return i&&!(o||n||a)&&(o=n=a=!0),{supportsCalculate:ae(t,\"supportsCalculate\",!1),supportsTruncate:ae(t,\"supportsTruncate\",!1),supportsValidateSql:ae(t,\"supportsValidateSql\",!1),supportsAdd:o,supportsDelete:n,supportsEditing:i,supportsQuery:-1!==r.indexOf(\"query\"),supportsQueryAttachments:ae(t.advancedQueryCapabilities,\"supportsQueryAttachments\",!1),supportsResizeAttachments:ae(t,\"supportsAttachmentsResizing\",!1),supportsSync:-1!==r.indexOf(\"sync\"),supportsUpdate:a,supportsExceedsLimitStatistics:ae(t,\"supportsExceedsLimitStatistics\",!1)}},n.prototype._readQueryCapabilities=function(e){var t=e.advancedQueryCapabilities,r=e.ownershipBasedAccessControlForFeatures,i=e.archivingInfo,o=(e.supportedQueryFormats||\"\").split(\",\").reduce(function(e,t){var r=t.toLowerCase().trim();return r&&e.add(r),e},new Set);return{supportsStatistics:ae(t,\"supportsStatistics\",e.supportsStatistics),supportsCentroid:ae(t,\"supportsReturningGeometryCentroid\",!1),supportsDistance:ae(t,\"supportsQueryWithDistance\",!1),supportsDistinct:ae(t,\"supportsDistinct\",e.supportsAdvancedQueries),supportsExtent:ae(t,\"supportsReturningQueryExtent\",!1),supportsGeometryProperties:ae(t,\"supportsReturningGeometryProperties\",!1),supportsHavingClause:ae(t,\"supportsHavingClause\",!1),supportsOrderBy:ae(t,\"supportsOrderBy\",e.supportsAdvancedQueries),supportsPagination:ae(t,\"supportsPagination\",!1),supportsQuantization:ae(e,\"supportsCoordinatesQuantization\",!1),supportsQuantizationEditMode:ae(e,\"supportsQuantizationEditMode\",!1),supportsQueryGeometry:ae(e,\"supportsReturningQueryGeometry\",!1),supportsResultType:ae(t,\"supportsQueryWithResultType\",!1),supportsMaxRecordCountFactor:ae(t,\"supportsMaxRecordCountFactor\",!1),supportsSqlExpression:ae(t,\"supportsSqlExpression\",!1),supportsStandardizedQueriesOnly:ae(e,\"useStandardizedQueries\",!1),supportsQueryByOthers:ae(r,\"allowOthersToQuery\",!0),supportsHistoricMoment:ae(i,\"supportsQueryWithHistoricMoment\",!1),supportsFormatPBF:o.has(\"pbf\"),supportsDisjointSpatialRelationship:ae(t,\"supportsDisjointSpatialRel\",!1),supportsCacheHint:ae(t,\"supportsQueryWithCacheHint\",!1),maxRecordCountFactor:se(e,\"maxRecordCountFactor\",void 0),maxRecordCount:se(e,\"maxRecordCount\",void 0),standardMaxRecordCount:se(e,\"standardMaxRecordCount\",void 0),tileMaxRecordCount:se(e,\"tileMaxRecordCount\",void 0)}},n.prototype._readQueryRelatedCapabilities=function(e){var t=e.advancedQueryCapabilities,r=ae(t,\"supportsAdvancedQueryRelated\",!1);return{supportsPagination:ae(t,\"supportsQueryRelatedPagination\",!1),supportsCount:r,supportsOrderBy:r}},n.prototype._readEditingCapabilities=function(e){var t=e.ownershipBasedAccessControlForFeatures;return{supportsGeometryUpdate:ae(e,\"allowGeometryUpdates\",!0),supportsGlobalId:ae(e,\"supportsApplyEditsWithGlobalIds\",!1),supportsRollbackOnFailure:ae(e,\"supportsRollbackOnFailureParameter\",!1),supportsUpdateWithoutM:ae(e,\"allowUpdateWithoutMValues\",!1),supportsUploadWithItemId:ae(e,\"supportsAttachmentsByUploadId\",!1),supportsDeleteByAnonymous:ae(t,\"allowAnonymousToDelete\",!0),supportsDeleteByOthers:ae(t,\"allowOthersToDelete\",!0),supportsUpdateByAnonymous:ae(t,\"allowAnonymousToUpdate\",!0),supportsUpdateByOthers:ae(t,\"allowOthersToUpdate\",!0)}},o([I.property({readOnly:!0,json:{read:!1}})],n.prototype,\"capabilities\",void 0),o([I.reader(\"service\",\"capabilities\",[\"advancedQueryCapabilities\",\"allowGeometryUpdates\",\"allowUpdateWithoutMValues\",\"archivingInfo\",\"capabilities\",\"hasAttachments\",\"hasM\",\"hasZ\",\"maxRecordCount\",\"maxRecordCountFactor\",\"ownershipBasedAccessControlForFeatures\",\"standardMaxRecordCount\",\"supportedQueryFormats\",\"supportsAdvancedQueries\",\"supportsApplyEditsWithGlobalIds\",\"supportsAttachmentsByUploadId\",\"supportsAttachmentsResizing\",\"supportsCalculate\",\"supportsCoordinatesQuantization\",\"supportsExceedsLimitStatistics\",\"supportsFieldDescriptionProperty\",\"supportsQuantizationEditMode\",\"supportsRollbackOnFailureParameter\",\"supportsStatistics\",\"supportsTruncate\",\"supportsValidateSql\",\"tileMaxRecordCount\",\"useStandardizedQueries\"])],n.prototype,\"readCapabilities\",null),o([I.property({type:String,json:{read:{source:\"layerDefinition.copyrightText\"},origins:{service:{read:{source:\"copyrightText\"}}}}})],n.prototype,\"copyright\",void 0),o([I.property({type:String,json:{read:{source:\"layerDefinition.displayField\"},origins:{service:{read:{source:\"displayField\"}}}}})],n.prototype,\"displayField\",void 0),o([I.property({type:String,json:{origins:{service:{read:!1,write:!1}},read:{source:\"layerDefinition.definitionExpression\"},write:{target:\"layerDefinition.definitionExpression\"}}})],n.prototype,\"definitionExpression\",void 0),o([I.property({readOnly:!0,json:{read:ee.read}})],n.prototype,\"defaultSymbol\",void 0),o([I.property()],n.prototype,\"dynamicDataSource\",void 0),o([I.property({readOnly:!0})],n.prototype,\"editFieldsInfo\",void 0),o([I.property({type:Boolean})],n.prototype,\"editingEnabled\",void 0),o([I.reader([\"portal-item\",\"web-map\",\"web-scene\"],\"editingEnabled\",[\"layerDefinition.capabilities\"])],n.prototype,\"readEditingEnabled\",null),o([I.writer([\"portal-item\",\"web-map\",\"web-scene\"],\"editingEnabled\",{\"layerDefinition.capabilities\":{type:String}})],n.prototype,\"writeEditingEnabled\",null),o([I.property({readOnly:!0})],n.prototype,\"editingInfo\",void 0),o([I.reader(\"editingInfo\")],n.prototype,\"readEditingInfo\",null),o([I.property(L.elevationInfo)],n.prototype,\"elevationInfo\",void 0),o([I.property({types:{key:\"type\",base:Q.default,typeMap:{selection:U.default,cluster:q.default}},json:{write:{target:\"layerDefinition.featureReduction\"}}})],n.prototype,\"featureReduction\",void 0),o([I.reader(\"featureReduction\",[\"layerDefinition.featureReduction\"])],n.prototype,\"readFeatureReduction\",null),o([I.writer(\"web-scene\",\"featureReduction\",{\"layerDefinition.featureReduction\":{types:G.webSceneFeatureReductionTypes}})],n.prototype,\"writeWebSceneFeatureReduction\",null),o([I.property(r({},ye.fields,{json:{origins:{service:{read:!0}},read:{source:\"layerDefinition.fields\"}}}))],n.prototype,\"fields\",void 0),o([I.property({readOnly:!0,dependsOn:[\"fields\"]})],n.prototype,\"fieldsIndex\",null),o([I.property({type:F,json:{origins:{service:{read:{source:\"extent\"}}},read:{source:\"layerDefinition.extent\"}}})],n.prototype,\"fullExtent\",void 0),o([I.property()],n.prototype,\"gdbVersion\",void 0),o([I.property({readOnly:!0})],n.prototype,\"geometryProperties\",void 0),o([I.property({type:[\"point\",\"polygon\",\"polyline\",\"multipoint\",\"multipatch\",\"mesh\"],json:{origins:{service:{read:pe.read}},read:{source:\"layerDefinition.geometryType\",reader:pe.read}}})],n.prototype,\"geometryType\",void 0),o([I.property({type:Boolean,json:{origins:{service:{read:!0}},read:{source:\"layerDefinition.hasM\"}}})],n.prototype,\"hasM\",void 0),o([I.property({type:Boolean,json:{origins:{service:{read:!0}},read:{source:\"layerDefinition.hasZ\"}}})],n.prototype,\"hasZ\",void 0),o([I.property({readOnly:!0,type:D})],n.prototype,\"heightModelInfo\",void 0),o([I.property({type:Date})],n.prototype,\"historicMoment\",void 0),o([I.property({json:{origins:{service:{read:!1},\"portal-item\":{read:!1}}}})],n.prototype,\"id\",void 0),o([I.property({readOnly:!0})],n.prototype,\"isTable\",void 0),o([I.reader(\"service\",\"isTable\",[\"type\"]),I.reader(\"isTable\",[\"layerDefinition.type\"])],n.prototype,\"readIsTable\",null),o([I.property({dependsOn:[\"loaded\",\"url\",\"source\"],readOnly:!0})],n.prototype,\"hasService\",null),o([I.property(L.labelsVisible)],n.prototype,\"labelsVisible\",void 0),o([I.property({type:[W],json:{origins:{service:{read:{source:\"drawingInfo.labelingInfo\",reader:H.reader},write:{target:\"drawingInfo.labelingInfo\",enabled:!1}}},read:{source:\"layerDefinition.drawingInfo.labelingInfo\",reader:H.reader},write:{target:\"layerDefinition.drawingInfo.labelingInfo\"}}})],n.prototype,\"labelingInfo\",void 0),o([I.property(L.opacityDrawingInfo)],n.prototype,\"opacity\",void 0),o([I.property({type:Number,json:{origins:{service:{read:{source:\"id\"}}},read:!1}})],n.prototype,\"layerId\",void 0),o([I.property(L.legendEnabled)],n.prototype,\"legendEnabled\",void 0),o([I.property({type:[\"show\",\"hide\"]})],n.prototype,\"listMode\",void 0),o([I.property({type:Number,json:{origins:{service:{write:{enabled:!1}}},read:{source:\"layerDefinition.minScale\"},write:{target:\"layerDefinition.minScale\"}}})],n.prototype,\"minScale\",void 0),o([I.reader(\"service\",\"minScale\",[\"minScale\",\"effectiveMinScale\"])],n.prototype,\"readMinScale\",null),o([I.property({type:Number,json:{origins:{service:{write:{enabled:!1}}},read:{source:\"layerDefinition.maxScale\"},write:{target:\"layerDefinition.maxScale\"}}})],n.prototype,\"maxScale\",void 0),o([I.reader(\"service\",\"maxScale\",[\"maxScale\",\"effectiveMaxScale\"])],n.prototype,\"readMaxScale\",null),o([I.property({type:String})],n.prototype,\"globalIdField\",void 0),o([I.reader(\"globalIdField\",[\"layerDefinition.globalIdField\",\"layerDefinition.fields\"]),I.reader(\"service\",\"globalIdField\",[\"globalIdField\",\"fields\"])],n.prototype,\"readGlobalIdFieldFromService\",null),o([I.property({type:String})],n.prototype,\"objectIdField\",void 0),o([I.reader(\"objectIdField\",[\"layerDefinition.objectIdField\",\"layerDefinition.fields\"]),I.reader(\"service\",\"objectIdField\",[\"objectIdField\",\"fields\"])],n.prototype,\"readObjectIdFieldFromService\",null),o([I.property({value:\"ArcGISFeatureLayer\",type:[\"ArcGISFeatureLayer\"]})],n.prototype,\"operationalLayerType\",void 0),o([I.property(ye.outFields)],n.prototype,\"outFields\",void 0),o([I.property({readOnly:!0,dependsOn:[\"layerId\"]})],n.prototype,\"parsedUrl\",null),o([I.property({type:String,json:{origins:{\"web-scene\":{read:!0,write:!0}},read:!1}})],n.prototype,\"path\",void 0),o([I.property(L.popupEnabled)],n.prototype,\"popupEnabled\",void 0),o([I.property({type:p,json:{read:{source:\"popupInfo\"},write:{target:\"popupInfo\"}}})],n.prototype,\"popupTemplate\",void 0),o([I.property({readOnly:!0,dependsOn:[\"fields\",\"title\"]})],n.prototype,\"defaultPopupTemplate\",null),o([I.property({type:[Z],readOnly:!0})],n.prototype,\"relationships\",void 0),o([I.property({types:l.rendererTypes,json:{origins:{service:{write:{target:\"drawingInfo.renderer\",enabled:!1}}},write:{target:\"layerDefinition.drawingInfo.renderer\"}}})],n.prototype,\"renderer\",null),o([I.reader(\"service\",\"renderer\",[\"drawingInfo.renderer\",\"defaultSymbol\",\"type\"]),I.reader(\"renderer\",[\"layerDefinition.drawingInfo.renderer\",\"layerDefinition.defaultSymbol\",\"layerDefinition.type\"])],n.prototype,\"readRenderer\",null),o([I.writer(\"renderer\")],n.prototype,\"writeRenderer\",null),o([I.writer(\"web-scene\",\"renderer\",{\"layerDefinition.drawingInfo.renderer\":{types:l.webSceneRendererTypes}})],n.prototype,\"writeWebSceneRenderer\",null),o([I.property()],n.prototype,\"sourceJSON\",void 0),o([I.property({type:Boolean})],n.prototype,\"returnM\",void 0),o([I.property({type:Boolean})],n.prototype,\"returnZ\",void 0),o([I.property(L.screenSizePerspectiveEnabled)],n.prototype,\"screenSizePerspectiveEnabled\",void 0),o([I.property()],n.prototype,\"source\",null),o([I.cast(\"source\")],n.prototype,\"castSource\",null),o([I.reader(\"portal-item\",\"source\",[\"featureSet\"]),I.reader(\"web-map\",\"source\",[\"featureSet\"])],n.prototype,\"readSource\",null),o([I.property({readOnly:!0,json:{origins:{service:{read:{source:\"definitionExpression\"}}}}})],n.prototype,\"serviceDefinitionExpression\",void 0),o([I.property({type:x,json:{origins:{service:{read:{source:\"extent.spatialReference\"}}},read:{source:\"layerDefinition.extent.spatialReference\"}}})],n.prototype,\"spatialReference\",void 0),o([I.property({type:[V]})],n.prototype,\"templates\",void 0),o([I.reader(\"templates\",[\"editFieldsInfo\",\"creatorField\",\"editorField\",\"templates\"])],n.prototype,\"readTemplates\",null),o([I.property({type:K})],n.prototype,\"timeInfo\",void 0),o([I.property()],n.prototype,\"title\",void 0),o([I.reader(\"service\",\"title\",[\"name\"]),I.reader(\"portal-item\",\"title\",[\"layerDefinition.title\",\"layerDefinition.name\",\"title\"])],n.prototype,\"readTitle\",null),o([I.reader(\"web-map\",\"title\",[\"layerDefinition.name\",\"title\"])],n.prototype,\"readTitleFromWebMap\",null),o([I.property({type:String})],n.prototype,\"sublayerTitleMode\",void 0),o([I.property({type:String,json:{read:{source:\"timeInfo.trackIdField\"}}})],n.prototype,\"trackIdField\",void 0),o([I.property({json:{\nread:!1}})],n.prototype,\"type\",void 0),o([I.property({type:String})],n.prototype,\"typeIdField\",void 0),o([I.reader(\"service\",\"typeIdField\"),I.reader(\"typeIdField\",[\"layerDefinition.typeIdField\"])],n.prototype,\"readTypeIdField\",null),o([I.property({type:[z]})],n.prototype,\"types\",void 0),o([I.reader(\"service\",\"types\",[\"types\"]),I.reader(\"types\",[\"layerDefinition.types\"])],n.prototype,\"readTypes\",null),o([I.property({type:y.ofType(_.FeatureIndex),readOnly:!0})],n.prototype,\"indexes\",void 0),o([I.property(L.url)],n.prototype,\"url\",null),o([I.writer(\"url\")],n.prototype,\"writeUrl\",null),o([I.property({readOnly:!0})],n.prototype,\"userIsAdmin\",void 0),o([I.property({json:{origins:{service:{read:!0}},read:!1}})],n.prototype,\"version\",void 0),o([I.reader(\"service\",\"version\",[\"currentVersion\",\"capabilities\",\"drawingInfo\",\"hasAttachments\",\"htmlPopupType\",\"relationships\",\"timeInfo\",\"typeIdField\",\"types\"])],n.prototype,\"readVersion\",null),o([I.property({type:Boolean,json:{origins:{\"portal-item\":{write:{target:\"layerDefinition.defaultVisibility\"}}}}})],n.prototype,\"visible\",void 0),o([I.reader(\"portal-item\",\"visible\",[\"visibility\",\"layerDefinition.defaultVisibility\"])],n.prototype,\"readVisible\",null),n=o([I.subclass(\"esri.layers.FeatureLayer\")],n)}(I.declared(C.TemporalLayer(E.ScaleRangeLayer(j.RefreshableLayer(R.ArcGISService(M.OperationalLayer(A.PortalLayer(v.MultiOriginJSONMixin(T)))))))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/accessorSupport/decorators\",\"./Layer\",\"./mixins/ScaleRangeLayer\",\"../support/GraphicsCollection\",\"../symbols/support/ElevationInfo\"],function(e,r,t,o,p,i,n,s,a,c,y,l){return function(e){function r(r){var t=e.call(this,r)||this;return t.elevationInfo=null,t.graphics=new y.default,t.screenSizePerspectiveEnabled=!0,t.type=\"graphics\",t}return t(r,e),r.prototype.destroy=function(){this.removeAll()},r.prototype.add=function(e){return this.graphics.add(e),this},r.prototype.addMany=function(e){return this.graphics.addMany(e),this},r.prototype.removeAll=function(){return this.graphics.removeAll(),this},r.prototype.remove=function(e){this.graphics.remove(e)},r.prototype.removeMany=function(e){this.graphics.removeMany(e)},r.prototype.on=function(e,r){return this.inherited(arguments,[e,r])},r.prototype.graphicChanged=function(e){this.emit(\"graphic-update\",e)},o([s.property({type:l})],r.prototype,\"elevationInfo\",void 0),o([s.property(y.graphicsCollectionProperty)],r.prototype,\"graphics\",void 0),o([s.property({type:[\"show\",\"hide\"]})],r.prototype,\"listMode\",void 0),o([s.property()],r.prototype,\"screenSizePerspectiveEnabled\",void 0),o([s.property({readOnly:!0})],r.prototype,\"type\",void 0),r=o([s.subclass(\"esri.layers.GraphicsLayer\")],r)}(s.declared(c.ScaleRangeLayer(a)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/loadAll\",\"../core/MultiOriginJSONSupport\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/utils\",\"./Layer\",\"./mixins/OperationalLayer\",\"./mixins/PortalLayer\",\"../support/LayersMixin\",\"@dojo/framework/shim/Promise\"],function(i,e,t,r,o,s,n,l,a,p,y,c,u,h){return function(i){function e(e){var t=i.call(this,e)||this;return t._visibilityHandles={},t.fullExtent=void 0,t.operationalLayerType=\"GroupLayer\",t.spatialReference=void 0,t.type=\"group\",t._visibilityWatcher=t._visibilityWatcher.bind(t),t}return t(e,i),e.prototype.initialize=function(){this._enforceVisibility(this.visibilityMode,this.visible),this.watch(\"visible\",this._visibleWatcher.bind(this),!0)},e.prototype._writeLayers=function(i,e,t,r){var o=[];if(!i)return o;i.forEach(function(i){if(\"write\"in i&&i.write){var e=i.write(null,r);e&&e.layerType&&o.push(e)}}),e.layers=o},Object.defineProperty(e.prototype,\"portalItem\",{set:function(i){this._set(\"portalItem\",i)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"visibilityMode\",{set:function(i){var e=this._get(\"visibilityMode\")!==i;this._set(\"visibilityMode\",i),e&&this._enforceVisibility(i,this.visible)},enumerable:!0,configurable:!0}),e.prototype.load=function(i){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:[\"Feature Service\",\"Feature Collection\",\"Scene Service\"]},i)),this.when()},e.prototype.loadAll=function(){var i=this;return n.loadAll(this,function(e){e(i.layers)})},e.prototype.layerAdded=function(i){i.visible&&\"exclusive\"===this.visibilityMode?this._turnOffOtherLayers(i):\"inherited\"===this.visibilityMode&&(i.visible=this.visible),this._visibilityHandles[i.uid]=i.watch(\"visible\",this._visibilityWatcher,!0)},e.prototype.layerRemoved=function(i){var e=this._visibilityHandles[i.uid];e&&(e.remove(),delete this._visibilityHandles[i.uid]),this._enforceVisibility(this.visibilityMode,this.visible)},e.prototype._turnOffOtherLayers=function(i){this.layers.forEach(function(e){e!==i&&(e.visible=!1)})},e.prototype._enforceVisibility=function(i,e){if(p.getProperties(this).initialized){var t=this.layers,r=t.find(function(i){return i.visible});switch(i){case\"exclusive\":t.length&&!r&&(r=t.getItemAt(0),r.visible=!0),this._turnOffOtherLayers(r);break;case\"inherited\":t.forEach(function(i){i.visible=e})}}},e.prototype._visibleWatcher=function(i){\"inherited\"===this.visibilityMode&&this.layers.forEach(function(e){e.visible=i})},e.prototype._visibilityWatcher=function(i,e,t,r){var o=r;switch(this.visibilityMode){case\"exclusive\":i?this._turnOffOtherLayers(o):this._isAnyLayerVisible()||(o.visible=!0);break;case\"inherited\":o.visible=this.visible}},e.prototype._isAnyLayerVisible=function(){return this.layers.some(function(i){return i.visible})},r([a.property()],e.prototype,\"fullExtent\",void 0),r([a.property({json:{read:!1,write:{ignoreOrigin:!0}}})],e.prototype,\"layers\",void 0),r([a.writer(\"layers\")],e.prototype,\"_writeLayers\",null),r([a.property({type:[\"GroupLayer\"]})],e.prototype,\"operationalLayerType\",void 0),r([a.property({json:{origins:{\"web-scene\":{read:!1,write:!1}}}})],e.prototype,\"portalItem\",null),r([a.property()],e.prototype,\"spatialReference\",void 0),r([a.property({json:{read:!1},readOnly:!0,value:\"group\"})],e.prototype,\"type\",void 0),r([a.property({type:String,value:\"independent\",json:{write:!0}})],e.prototype,\"visibilityMode\",null),e=r([a.subclass(\"esri.layers.GroupLayer\")],e)}(a.declared(c.OperationalLayer(u.PortalLayer(h.LayersMixin(l.MultiOriginJSONMixin(y))))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../config\",\"../geometry\",\"../request\",\"../core/Error\",\"../core/Evented\",\"../core/Identifiable\",\"../core/Loadable\",\"../core/Logger\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"@dojo/framework/shim/Promise\"],function(e,t,r,o,n,a,i,p,l,u,s,c,y,d,f,b,h){var v=0,g=f.getLogger(\"esri.layers.Layer\");return function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.attributionDataUrl=null,e.fullExtent=new l.Extent(-180,-90,180,90,l.SpatialReference.WGS84),e.legendEnabled=!0,e.listMode=\"show\",e.opacity=1,e.parent=null,e.popupEnabled=!0,e.attributionVisible=!0,e.spatialReference=l.SpatialReference.WGS84,e.title=null,e.type=null,e.url=null,e.visible=!0,e}return o(r,t),r.fromArcGISServerUrl=function(t){return i(this,void 0,void 0,function(){var r,o,n;return a(this,function(a){switch(a.label){case 0:return r=\"string\"==typeof t?{url:t}:t,[4,new Promise(function(t,r){e([\"./support/arcgisLayers\"],t,r)})];case 1:o=a.sent(),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,o.fromUrl(r)];case 3:return[2,a.sent()];case 4:throw n=a.sent(),g.error(\"#fromArcGISServerUrl({ url: '\"+r.url+\"'})\",\"Failed to create layer from arcgis server url\",n),n;case 5:return[2]}})})},r.fromPortalItem=function(t){return i(this,void 0,void 0,function(){var r,o,n,i,l,u;return a(this,function(a){switch(a.label){case 0:return r=\"portalItem\"in t?t:{portalItem:t},[4,new Promise(function(t,r){e([\"../portal/support/portalLayers\"],t,r)})];case 1:o=a.sent(),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,o.fromItem(r)];case 3:return[2,a.sent()];case 4:throw n=a.sent(),i=r&&r.portalItem,l=i&&i.id||\"unset\",u=i&&i.portal&&i.portal.url||p.portalUrl,g.error(\"#fromPortalItem()\",\"Failed to create layer from portal item (portal: '\"+u+\"', id: '\"+l+\"')\",n),n;case 5:return[2]}})})},r.prototype.initialize=function(){var e=this;this.when().catch(function(t){f.getLogger(e.declaredClass).error(\"#load()\",\"Failed to load layer (title: '\"+e.title+\"', id: '\"+e.id+\"')\",t)})},Object.defineProperty(r.prototype,\"hasAttributionData\",{get:function(){return null!=this.attributionDataUrl},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"id\",{get:function(){return Date.now().toString(16)+\"-layer-\"+v++},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"parsedUrl\",{get:function(){var e=this._get(\"url\");return e?b.urlToObject(e):null},enumerable:!0,configurable:!0}),r.prototype.fetchAttributionData=function(){return i(this,void 0,void 0,function(){var e,t;return a(this,function(r){switch(r.label){case 0:return e=this.attributionDataUrl,this.hasAttributionData&&e?[4,u(e,{query:{f:\"json\"},responseType:\"json\"})]:[3,2];case 1:return t=r.sent(),[2,t.data];case 2:throw new s(\"layer:no-attribution-data\",\"Layer does not have attribution data\")}})})},n([h.property({type:String})],r.prototype,\"attributionDataUrl\",void 0),n([h.property({type:l.Extent})],r.prototype,\"fullExtent\",void 0),n([h.property({readOnly:!0,dependsOn:[\"attributionDataUrl\"]})],r.prototype,\"hasAttributionData\",null),n([h.property({type:String})],r.prototype,\"id\",null),n([h.property({type:Boolean})],r.prototype,\"legendEnabled\",void 0),n([h.property({type:[\"show\",\"hide\",\"hide-children\"]})],r.prototype,\"listMode\",void 0),n([h.property({type:Number,range:{min:0,max:1},nonNullable:!0})],r.prototype,\"opacity\",void 0),n([h.property()],r.prototype,\"parent\",void 0),n([h.property({readOnly:!0,dependsOn:[\"url\"]})],r.prototype,\"parsedUrl\",null),n([h.property({type:Boolean})],r.prototype,\"popupEnabled\",void 0),n([h.property({type:Boolean})],r.prototype,\"attributionVisible\",void 0),n([h.property({type:l.SpatialReference})],r.prototype,\"spatialReference\",void 0),n([h.property({type:String})],r.prototype,\"title\",void 0),n([h.property({type:String,readOnly:!0,json:{read:!1}})],r.prototype,\"type\",void 0),n([h.property()],r.prototype,\"url\",void 0),n([h.property({type:Boolean,nonNullable:!0})],r.prototype,\"visible\",void 0),r=n([h.subclass(\"esri.layers.Layer\")],r)}(h.declared(c.EventedMixin(y.IdentifiableMixin(d))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * ## Overview\n *\n * MapImageLayer allows you to display and analyze data from\n * [sublayers](#sublayers) defined in a\n * [map service](http://server.arcgis.com/en/server/latest/publish-services/windows/what-is-a-map-service.htm), exporting images\n * instead of features. Map service images are\n * dynamically generated on the server based on a request, which includes an\n * LOD (level of detail), a bounding box, dpi, spatial reference and other\n * options. The exported image is of the entire map extent specified.\n *\n * ::: esri-md class=\"panel trailer-1\"\n * Unlike {@link module:esri/layers/FeatureLayer}, MapImageLayer processing\n * is handled by the server, not the client. Offloading the processing to the\n * server allows MapImageLayer to render more features with a higher level\n * of performance in some cases.\n * :::\n *\n * MapImageLayer does not display tiled images. To display\n * tiled map service layers, see {@link module:esri/layers/TileLayer}.\n *\n * ## Creating a MapImageLayer\n *\n * MapImageLayer may be created in one of two ways: from a [service URL](#url) or from an ArcGIS\n * Portal [item ID](#portalItem).\n *\n * ### Reference a service URL\n *\n * To create a MapImageLayer instance from a service, you must set the [url](#url) property\n * to the REST endpoint of a layer in a Map Service. The URL will typically look\n * like the following.\n *\n * ```js\n * https://<hostname>/arcgis/rest/services/<service-name>/MapServer\n * ```\n *\n * For a layer to be visible in a view, it must be added to the {@link module:esri/Map}\n * referenced by the view. See {@link module:esri/Map#add Map.add()} for information about adding layers to a map.\n *\n * ```js\n * require([\"esri/layers/MapImageLayer\"], function(MapImageLayer){\n * // points to the states layer in a service storing U.S. census data\n * var layer = new MapImageLayer({\n * url: \"https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer\"\n * });\n * map.add(layer); // adds the layer to the map\n * });\n * ```\n *\n * If the map service is requested from a different domain, a [CORS enabled server](../guide/cors/index.html) or a [proxy](../guide/proxies/index.html) is\n * required.\n *\n * ### Reference an ArcGIS portal Item ID\n *\n * You can also create a MapImageLayer from its ID if it exists as an item in ArcGIS Online or ArcGIS Enterprise.\n * For example, the following snippet shows how to add a new MapImageLayer instance to a map using the\n * [portalItem](#portalItem) property.\n *\n * ```js\n * // references an ArcGIS Online item pointing to a Map Service Layer\n * var layer = new MapImageLayer({\n * portalItem: { // autocasts as esri/portal/PortalItem\n * id: \"8444e275037549c1acab02d2626daaee\"\n * }\n * });\n * map.add(layer); // adds the layer to the map\n * ```\n *\n * ## Sublayers\n *\n * Map services contain one or more sublayers. Sublayers may even contain nested sublayers.\n * When the [sublayers](#sublayers) property of the MapImageLayer is not specified, then an image of all sublayers\n * in the service is exported to the client. If a subset of sublayers from the service are\n * specified, then only the subset of sublayers are rendered on the client.\n * Sublayers have default rendering, scale visibility, labels, and other properties saved to the server. However, these properties may be dynamically\n * changed so a new map image is exported to the view. Sublayers of a MapImageLayer can only be styled with 2D symbology even if they are rendered in\n * a {@link module:esri/WebScene}.\n * To learn more about working with sublayers, see the {@link module:esri/layers/support/Sublayer} API\n * documentation.\n *\n * [](../sample-code/layers-mapimagelayer-renderers/index.html)\n *\n * <a name=\"dynamic-layers\"></a>\n * ## Dynamic layers\n *\n * Sublayers may be rendered on the fly as dynamic layers. There are two types of dynamic layers:\n * {@link module:esri/layers/support/Sublayer#source DynamicMapLayer} and\n * {@link module:esri/layers/support/Sublayer#source DynamicDataLayer}.\n *\n * {@link module:esri/layers/support/Sublayer#source Dynamic map layers} allow you\n * to override sublayers in the map service with new renderers,\n * definition expressions, opacity, scale visibility, etc. Multiple dynamic map layers may exist\n * for a single map service layer.\n *\n * {@link module:esri/layers/support/Sublayer#source Dynamic data layers} provide\n * the ability to create layers on the fly from data referenced in\n * registered workspaces.\n * The data may be tables with or without geometries, feature classes, and\n * rasters. These data sources are not directly visible to the services directory, but may be\n * published and configured with the ArcGIS Server Manager.\n * Data from tables may be joined to other tables or dynamic map layers.\n *\n * ::: esri-md class=\"panel trailer-1\"\n * Esri requires that when you use an ArcGIS Online basemap in your app, the map must include Esri attribution and you must be licensed to use the content.\n * For detailed guidelines on working with attribution, please visit the official [attribution in your app](https://developers.arcgis.com/terms/attribution/) documentation.\n * For information on terms of use, see the [Terms of Use FAQ](https://developers.arcgis.com/terms/faq/).\n * :::\n *\n * @module esri/layers/MapImageLayer\n * @since 4.0\n * @see module:esri/layers/support/Sublayer\n * @see module:esri/layers/TileLayer\n * @see [Sample - MapImageLayer](../sample-code/layers-mapimagelayer/index.html)\n * @see [Sample - MapImageLayer: toggle sublayer visibility](../sample-code/layers-mapimagelayer-sublayers/index.html)\n * @see [Sample - MapImageLayer: set definition expression](../sample-code/layers-mapimagelayer-definitionexpression/index.html)\n * @see [Sample - MapImageLayer: set renderers on sublayers](../sample-code/layers-mapimagelayer-renderers/index.html)\n * @see [Sample - MapImageLayer: label sublayer features](../sample-code/layers-mapimagelayer-dynamic-labels/index.html)\n * @see [Sample - MapImageLayer: create dynamic map layers](../sample-code/layers-dynamicmaplayer/index.html)\n * @see [Sample - MapImageLayer: dynamic data layer with table join](../sample-code/layers-dynamicdatalayer-table-join/index.html)\n * @see [Sample - MapImageLayer: dynamic data layer with query table](../sample-code/layers-dynamicdatalayer-query-table/index.html)\n * @see [Sample - MapImageLayer: dynamic data layer with raster](../sample-code/layers-dynamicdatalayer-raster/index.html)\n *\n * @example\n * var layer = new MapImageLayer({\n * url: \"https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer\",\n * sublayers: [\n * {\n * id: 3,\n * visible: false\n * }, {\n * id: 2,\n * visible: true\n * }, {\n * id: 1,\n * visible: true\n * }, {\n * id: 0,\n * visible: true,\n * definitionExpression: \"pop2000 > 100000\"\n * }\n * ]\n * });\n */\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../request\",\"../core/Error\",\"../core/maybe\",\"../core/MultiOriginJSONSupport\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../geometry/support/scaleUtils\",\"./Layer\",\"./mixins/ArcGISMapService\",\"./mixins/ArcGISService\",\"./mixins/OperationalLayer\",\"./mixins/PortalLayer\",\"./mixins/RefreshableLayer\",\"./mixins/ScaleRangeLayer\",\"./mixins/SublayersOwner\",\"./mixins/TemporalLayer\",\"./support/commonProperties\",\"./support/ExportImageParameters\"],function(e,r,t,o,a,i,p,s,n,l,y,u,c,d,m,h,g,v,S,f,x,b,w,O,I,L){return function(e){function r(r,t){var o=e.call(this,r)||this;return o.alwaysRefetch=!1,o.dpi=96,o.gdbVersion=null,o.imageFormat=\"png24\",o.imageMaxHeight=2048,o.imageMaxWidth=2048,o.imageTransparency=!0,o.labelsVisible=!1,o.isReference=null,o.operationalLayerType=\"ArcGISMapServiceLayer\",o.sourceJSON=null,o.sublayers=null,o.type=\"map-image\",o.url=null,o}return o(r,e),r.prototype.normalizeCtorArgs=function(e,r){return\"string\"==typeof e?t({url:e},r):e},r.prototype.load=function(e){var r=this,t=y.isSome(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:[\"Map Service\"]},e).then(function(){return r._fetchService(t)})),this.when()},r.prototype.readImageFormat=function(e,r){var t=r.supportedImageFormatTypes;return t&&t.indexOf(\"PNG32\")>-1?\"png32\":\"png24\"},r.prototype.createExportImageParameters=function(e,r,o,a){var i=a&&a.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian());var p=new L.ExportImageParameters({layer:this,scale:m.getScale({extent:e,width:r})*i}),s=p.toJSON();p.layer=null,p.destroy();var n=!a||!a.rotation||this.version<10.3?{}:{rotation:-a.rotation},l=e&&e.spatialReference,y=l.wkid||JSON.stringify(l.toJSON());s.dpi*=i;var u={};if(a&&a.timeExtent){var c=a.timeExtent.toJSON(),d=c.start,h=c.end;d&&h&&d===h?u.time=\"\"+d:null==d&&null==h||(u.time=(null==d?\"null\":d)+\",\"+(null==h?\"null\":h))}return t({bbox:e&&e.xmin+\",\"+e.ymin+\",\"+e.xmax+\",\"+e.ymax,bboxSR:y,imageSR:y,size:r+\",\"+o},s,n,u)},r.prototype.fetchImage=function(e,r,o,a){var i={responseType:\"image\"};a&&a.timestamp&&(i.query={_ts:a.timestamp}),a&&a.signal&&(i.signal=a.signal);var p=this.parsedUrl.path+\"/export\",s=t({},this.parsedUrl.query,this.createExportImageParameters(e,r,o,a),{f:\"image\",_ts:this.alwaysRefetch?Date.now():null});return null==s.dynamicLayers||this.capabilities.exportMap.supportsDynamicLayers?(i.query?i.query=t({},s,i.query):i.query=s,n(p,i).then(function(e){return e.data}).catch(function(e){if(c.isAbortError(e))throw e;throw new l(\"mapimagelayer:image-fetch-error\",\"Unable to load image: \"+p,{error:e})})):c.reject(new l(\"mapimagelayer:dynamiclayer-not-supported\",\"service \"+this.url+\" doesn't support dynamic layers, which is required to be able to change the sublayer's order, rendering, labeling or source.\",{query:s}))},r.prototype._fetchService=function(e){return s(this,void 0,void 0,function(){var r,o,a;return p(this,function(i){switch(i.label){case 0:return this.sourceJSON?(this.read(this.sourceJSON,{origin:\"service\",url:this.parsedUrl}),[2]):[4,n(this.parsedUrl.path,{query:t({f:\"json\"},this.parsedUrl.query),signal:e})];case 1:return r=i.sent(),o=r.data,a=r.ssl,a&&(this.url=this.url.replace(/^http:/i,\"https:\")),this.sourceJSON=o,this.read(o,{origin:\"service\",url:this.parsedUrl}),[2]}})})},a([d.property()],r.prototype,\"alwaysRefetch\",void 0),a([d.property()],r.prototype,\"dpi\",void 0),a([d.property()],r.prototype,\"gdbVersion\",void 0),a([d.property({json:{read:!1,write:!1}})],r.prototype,\"popupEnabled\",void 0),a([d.property()],r.prototype,\"imageFormat\",void 0),a([d.reader(\"imageFormat\",[\"supportedImageFormatTypes\"])],r.prototype,\"readImageFormat\",null),a([d.property({json:{origins:{service:{read:{source:\"maxImageHeight\"}}}}})],r.prototype,\"imageMaxHeight\",void 0),a([d.property({json:{origins:{service:{read:{source:\"maxImageWidth\"}}}}})],r.prototype,\"imageMaxWidth\",void 0),a([d.property()],r.prototype,\"imageTransparency\",void 0),a([d.property({json:{read:!1,write:!1}})],r.prototype,\"labelsVisible\",void 0),a([d.property({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:function(){return{enabled:!1}}}}})],r.prototype,\"isReference\",void 0),a([d.property({type:[\"ArcGISMapServiceLayer\"]})],r.prototype,\"operationalLayerType\",void 0),a([d.property()],r.prototype,\"sourceJSON\",void 0),a([d.property()],r.prototype,\"sublayers\",void 0),a([d.property({type:[\"show\",\"hide\",\"hide-children\"]})],r.prototype,\"listMode\",void 0),a([d.property({json:{read:!1},readOnly:!0,value:\"map-image\"})],r.prototype,\"type\",void 0),a([d.property(I.url)],r.prototype,\"url\",void 0),r=a([d.subclass(\"esri.layers.MapImageLayer\")],r)}(d.declared(O.TemporalLayer(b.ScaleRangeLayer(x.RefreshableLayer(w.SublayersOwner(g.ArcGISMapService(v.ArcGISService(S.OperationalLayer(f.PortalLayer(u.MultiOriginJSONMixin(h)))))))))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/extendsHelper\"],function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(){function e(e,t,i,o){void 0===e&&(e=null),void 0===t&&(t={}),this.localId=0,this.geohashIndexed=!1,this.geohashX=0,this.geohashY=0,this.geometry=e,t&&(this.attributes=t),i&&(this.centroid=i),null!=o&&(this.objectId=o)}return e}();t.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(){this.objectIdFieldName=null,this.globalIdFieldName=null,this.geohashFieldName=null,this.geometryProperties=null,this.geometryType=null,this.spatialReference=null,this.hasZ=!1,this.hasM=!1,this.features=[],this.fields=[],this.transform=null,this.exceededTransferLimit=!1}return e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]),this.lengths=e,this.coords=t}return e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"../../core/maybe\"],function(e,n,r,t){function a(e,n){if(e===n)return!0;if(null==e||null==n)return!1;if(e.length!==n.length)return!1;for(var r=0;r<e.length;r++){var t=e[r],a=n[r];if(t.length!==a.length)return!1;for(var i=0;i<t.length;i++)if(t[i]!==a[i])return!1}return!0}function i(e,n){if(e===n)return!0;if(null==e||null==n)return!1;if(e.length!==n.length)return!1;for(var r=0;r<e.length;r++)if(!a(e[r],n[r]))return!1;return!0}function u(e,n){return!!o(e.spatialReference,n.spatialReference)&&(e.x===n.x&&e.y===n.y&&e.z===n.z&&e.m===n.m)}function s(e,n){return e.hasZ===n.hasZ&&e.hasM===n.hasM&&(!!o(e.spatialReference,n.spatialReference)&&i(e.paths,n.paths))}function f(e,n){return e.hasZ===n.hasZ&&e.hasM===n.hasM&&(!!o(e.spatialReference,n.spatialReference)&&i(e.rings,n.rings))}function l(e,n){return e.hasZ===n.hasZ&&e.hasM===n.hasM&&(!!o(e.spatialReference,n.spatialReference)&&a(e.points,n.points))}function c(e,n){return e.hasZ===n.hasZ&&e.hasM===n.hasM&&(!!o(e.spatialReference,n.spatialReference)&&(e.xmin===n.xmin&&e.ymin===n.ymin&&e.zmin===n.zmin&&e.xmax===n.xmax&&e.ymax===n.ymax&&e.zmax===n.zmax))}function o(e,n){return e===n||e&&n&&e.equals(n)}function h(e,n){if(e===n)return!0;if(t.isNone(e)||t.isNone(n))return!1;if(e.type!==n.type)return!1;switch(e.type){case\"point\":return u(e,n);case\"extent\":return c(e,n);case\"polyline\":return s(e,n);case\"polygon\":return f(e,n);case\"multipoint\":return l(e,n);case\"mesh\":return!1;default:return void r.neverReached(e)}}function p(e,n){if(e===n)return!0;if(!e||!n)return!1;var r=Object.keys(e),t=Object.keys(n);if(r.length!==t.length)return!1;for(var a=0,i=r;a<i.length;a++){var u=i[a];if(e[u]!==n[u])return!1}return!0}function m(e,n){return e===n||null!=e&&null!=n&&e.objectId===n.objectId&&(!!h(e.geometry,n.geometry)&&!!p(e.attributes,n.attributes))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.equals=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../geometry\",\"../../Graphic\",\"../../core/compilerUtils\",\"../../core/has\",\"../../core/lang\",\"../../core/maybe\",\"../../core/typedArrayUtil\",\"../../geometry/SpatialReference\",\"../../geometry/support/aaBoundingBox\",\"../../geometry/support/aaBoundingRect\",\"../../geometry/support/jsonUtils\",\"../../geometry/support/quantizationUtils\",\"../support/Field\",\"./dehydratedFeatureComparison\"],function(e,t,r,a,n,i,s,o,l,u,h,c,p,m,y,f){function d(e){return o.isSome(e.geometry)}function g(e){return r.isFeatureGeometryType(e.type)}function b(e){return\"point\"===e.type}function x(e){var t=r.featureGeometryTypeKebabDictionary.fromJSON(e.geometryType),a=u.fromJSON(e.spatialReference),i=e.transform,s=e.features.map(function(r){var s=v(r,t,a,e.objectIdFieldName),o=s.geometry;if(o&&i)switch(o.type){case\"point\":s.geometry=m.hydratePoint(i,o,o,o.hasZ,o.hasM);break;case\"multipoint\":s.geometry=m.hydrateMultipoint(i,o,o,o.hasZ,o.hasM);break;case\"polygon\":s.geometry=m.hydratePolygon(i,o,o,o.hasZ,o.hasM);break;case\"polyline\":s.geometry=m.hydratePolyline(i,o,o,o.hasZ,o.hasM);break;default:n.neverReached(o)}return s});return{geometryType:t,features:s,spatialReference:a,fields:e.fields?e.fields.map(function(e){return y.fromJSON(e)}):null,objectIdFieldName:e.objectIdFieldName,globalIdFieldName:e.globalIdFieldName,geohashFieldName:e.geohashFieldName,geometryProperties:e.geometryProperties,hasZ:e.hasZ,hasM:e.hasM,exceededTransferLimit:e.exceededTransferLimit,transform:null}}function v(e,t,r,n){return{uid:a.generateUID(),objectId:n&&e.attributes?e.attributes[n]:null,attributes:e.attributes,geometry:Z(e.geometry,t,r),visible:!0}}function Z(e,t,r){if(!e)return null;switch(t){case\"point\":var a=e,n={x:a.x,y:a.y,z:a.z,m:a.m,hasZ:null!=a.z,hasM:null!=a.m,type:\"point\",spatialReference:r};return n;case\"polyline\":var i=e,n={paths:i.paths,hasZ:!!i.hasZ,hasM:!!i.hasM,type:\"polyline\",spatialReference:r};return n;case\"polygon\":var s=e,n={rings:s.rings,hasZ:!!s.hasZ,hasM:!!s.hasM,type:\"polygon\",spatialReference:r};return n;case\"multipoint\":var o=e,n={points:o.points,hasZ:!!o.hasZ,hasM:!!o.hasM,type:\"multipoint\",spatialReference:r};return n}}function M(e,t,r,a){return{x:e,y:t,z:r,hasZ:null!=r,hasM:!1,spatialReference:a,type:\"point\"}}function A(e){return\"declaredClass\"in e}function R(e){return\"declaredClass\"in e}function z(e){return\"declaredClass\"in e}function N(e,t){if(!e||z(e))return e;var r=new a({layer:t,sourceLayer:t});return r.visible=e.visible,r.symbol=s.clone(e.symbol),r.attributes=s.clone(e.attributes),r.geometry=k(e.geometry),r}function k(e){return o.isNone(e)?null:A(e)?e:p.fromJSON(w(e))}function F(e,t){if(!e)return null;var r;if(R(e)){if(null==t)return e.clone();if(R(t))return t.copy(e)}return null!=t?(r=t,r.x=e.x,r.y=e.y,r.spatialReference=e.spatialReference,e.hasZ?(r.z=e.z,r.hasZ=e.hasZ):(r.z=null,r.hasZ=!1),e.hasM?(r.m=e.m,r.hasM=!0):(r.m=null,r.hasM=!1)):(r=M(e.x,e.y,e.z,e.spatialReference),e.hasM&&(r.m=e.m,r.hasM=!0)),r}function S(e){if(!e)return 0;var t=32;for(var r in e)if(e.hasOwnProperty(r)){var a=e[r];switch(typeof a){case\"string\":t+=V(a);break;default:case\"number\":t+=16}}return t}function j(e){if(o.isNone(e))return 0;var t=32;switch(e.type){case\"point\":t+=42;break;case\"polyline\":case\"polygon\":for(var r=0,a=2+(e.hasZ?1:0)+(e.hasM?1:0),i=\"polyline\"===e.type?e.paths:e.rings,s=0,u=i;s<u.length;s++){r+=u[s].length}t+=8*r*a+64,t+=128*r,t+=34,t+=32*(i.length+1);break;case\"multipoint\":var h=2+(e.hasZ?1:0)+(e.hasM?1:0),c=e.points.length;t+=8*c*h+64,t+=128*c,t+=34,t+=32;break;case\"extent\":t+=98,e.hasM&&(t+=32),e.hasZ&&(t+=32);break;case\"mesh\":t+=l.estimateSize(e.vertexAttributes.position),t+=l.estimateSize(e.vertexAttributes.normal),t+=l.estimateSize(e.vertexAttributes.uv),t+=l.estimateSize(e.vertexAttributes.tangent);break;default:n.neverReached(e)}return t}function I(e){var t=32;return t+=S(e.attributes),t+=3,t+=8+j(e.geometry)}function O(e){if(o.isNone(e))return 0;switch(e.type){case\"point\":return 1;case\"polyline\":for(var t=0,r=0,a=e.paths;r<a.length;r++){t+=a[r].length}return t;case\"polygon\":for(var t=0,i=0,s=e.rings;i<s.length;i++){t+=s[i].length}return t;case\"multipoint\":return e.points.length;case\"extent\":return 2;case\"mesh\":var l=e.vertexAttributes&&e.vertexAttributes.position;return l?l.length/3:0;default:return void n.neverReached(e)}}function P(e){if(!e)return!1;switch(e.type){case\"extent\":case\"point\":return!0;case\"polyline\":for(var t=0,r=e.paths;t<r.length;t++){if(r[t].length>0)return!0}return!1;case\"polygon\":for(var a=0,i=e.rings;a<i.length;a++){if(i[a].length>0)return!0}return!1;case\"multipoint\":return e.points.length>0;case\"mesh\":return e.vertexAttributes&&e.vertexAttributes.position&&e.vertexAttributes.position.length>0;default:return void n.neverReached(e)}}function w(e){var t=e.spatialReference.toJSON();switch(e.type){case\"point\":return{x:e.x,y:e.y,z:e.z,m:e.m,spatialReference:t};case\"polygon\":var r=e.rings,a=e.hasZ,i=e.hasM;return{rings:G(r),hasZ:a,hasM:i,spatialReference:t};case\"polyline\":var s=e.paths,a=e.hasZ,i=e.hasM;return{paths:G(s),hasZ:a,hasM:i,spatialReference:t};case\"extent\":var o=e.xmin,l=e.xmax,u=e.ymin,h=e.ymax,c=e.zmin,p=e.zmax,m=e.mmin,y=e.mmax,a=e.hasZ,i=e.hasM;return{xmin:o,xmax:l,ymin:u,ymax:h,zmin:c,zmax:p,mmin:m,mmax:y,hasZ:a,hasM:i,spatialReference:t};case\"multipoint\":var f=e.points,a=e.hasZ,i=e.hasM;return{points:J(f)?B(f):f,hasZ:a,hasM:i,spatialReference:t};default:return void n.neverReached(e)}}function G(e){return T(e)?e.map(function(e){return B(e)}):e}function B(e){return e.map(function(e){return l.toArray(e)})}function T(e){for(var t=0,r=e;t<r.length;t++){var a=r[t];if(0!==a.length)return J(a)}return!1}function J(e){return e.length&&(l.isFloat32Array(e[0])||l.isFloat64Array(e[0]))}function C(e,t){switch(h.empty(t),\"mesh\"===e.type&&(e=e.extent),e.type){case\"point\":t[0]=t[3]=e.x,t[1]=t[4]=e.y,e.hasZ&&(t[2]=t[5]=e.z);break;case\"polyline\":for(var r=0;r<e.paths.length;r++)h.expandWithNestedArray(t,e.paths[r],e.hasZ);break;case\"polygon\":for(var r=0;r<e.rings.length;r++)h.expandWithNestedArray(t,e.rings[r],e.hasZ);break;case\"multipoint\":h.expandWithNestedArray(t,e.points,e.hasZ);break;case\"extent\":t[0]=e.xmin,t[1]=e.ymin,t[3]=e.xmax,t[4]=e.ymax,null!=e.zmin&&(t[2]=e.zmin),null!=e.zmax&&(t[5]=e.zmax);break;default:n.neverReached(e)}}function W(e,t){C(e,_),h.expand(t,_)}function D(e,t){switch(c.empty(t),\"mesh\"===e.type&&(e=e.extent),e.type){case\"point\":t[0]=t[2]=e.x,t[1]=t[3]=e.y;break;case\"polyline\":for(var r=0;r<e.paths.length;r++)c.expandWithNestedArray(t,e.paths[r]);break;case\"polygon\":for(var r=0;r<e.rings.length;r++)c.expandWithNestedArray(t,e.rings[r]);break;case\"multipoint\":c.expandWithNestedArray(t,e.points);break;case\"extent\":t[0]=e.xmin,t[1]=e.ymin,t[2]=e.xmax,t[3]=e.ymax;break;default:n.neverReached(e)}}function U(e,t){D(e,K),c.expand(t,K)}function q(e,t){return null!=e.objectId?e.objectId:e.attributes&&t?e.attributes[t]:null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.equals=f.equals;var L=function(){function e(e,t,r){this.uid=e,this.geometry=t,this.attributes=r,this.visible=!0,this.objectId=null,this.centroid=null}return e}();t.DehydratedFeatureClass=L,t.hasGeometry=d,t.isFeatureGeometry=g;var H=function(){function e(){this.exceededTransferLimit=!1,this.features=[],this.fields=[],this.hasM=!1,this.hasZ=!1,this.geometryType=null,this.objectIdFieldName=null,this.globalIdFieldName=null,this.geometryProperties=null,this.geohashFieldName=null,this.spatialReference=null,this.transform=null}return e}();t.DehydratedFeatureSetClass=H,t.isPoint=b,t.fromFeatureSetJSON=x,t.fromJSONGeometry=Z,t.makeDehydratedPoint=M,t.isHydratedGeometry=A,t.isHydratedPoint=R,t.isHydratedGraphic=z,t.hydrateGraphic=N,t.hydrateGeometry=k,t.clonePoint=F;var V=i(\"esri-text-decoder\")?function(e){return 32+e.length}:function(e){return 32*e.length};t.estimateAttributesObjectSize=S,t.estimateGeometryObjectSize=j,t.estimateSize=I,t.numVertices=O,t.hasVertices=P,t.computeAABB=C,t.expandAABB=W,t.computeAABR=D,t.expandAABR=U,t.getObjectId=q;var _=h.create(),K=c.create()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/Logger\",\"../../geometry/support/jsonUtils\",\"./OptimizedFeature\",\"./OptimizedFeatureSet\",\"./OptimizedGeometry\"],function(e,r,t,n,o,s,a,u){function i(e,r){return e?r?4:3:r?3:2}function l(e,r,t,n){if(e){if(t)return r&&n?ce:ie;if(r&&n)return le}else if(r&&n)return ie;return ue}function c(e,r){var t=e.scale,n=e.translate;return Math.round((r-n[0])/t[0])}function h(e,r){var t=e.scale,n=e.translate;return Math.round((n[1]-r)/t[1])}function d(e,r){var t=e.scale,n=e.translate;return r*t[0]+n[0]}function g(e,r){var t=e.scale;return e.translate[1]-r*t[1]}function f(e,r,t){return e?r?t?M(e):y(e):t?I(e):v(e):null}function v(e){var r=e.coords;return{x:r[0],y:r[1]}}function m(e,r){return e.coords[0]=r.x,e.coords[1]=r.y,e}function y(e){var r=e.coords;return{x:r[0],y:r[1],z:r[2]}}function p(e,r){return e.coords[0]=r.x,e.coords[1]=r.y,e.coords[2]=r.z,e}function I(e){var r=e.coords;return{x:r[0],y:r[1],m:r[2]}}function F(e,r){return e.coords[0]=r.x,e.coords[1]=r.y,e.coords[2]=r.m,e}function M(e){var r=e.coords;return{x:r[0],y:r[1],z:r[2],m:r[3]}}function b(e,r){return e.coords[0]=r.x,e.coords[1]=r.y,e.coords[2]=r.z,e.coords[3]=r.m,e}function N(e,r,t,n){var o=v;t&&n?o=M:t?o=y:n&&(o=I);for(var s=0,a=r;s<a.length;s++){var u=a[s],i=u.geometry,l=u.attributes,c=i?o(i):null;e.push({attributes:l,geometry:c})}return e}function T(e,r){return e&&r?b:e?p:r?F:m}function w(e,r,t,n,o){for(var a=T(t,n),i=0,l=r;i<l.length;i++){var c=l[i],h=c.geometry,d=c.attributes,g=void 0;h&&(g=a(new u.default,h)),e.push(new s.default(g,d,null,d[o]))}return e}function G(e,r,t){return void 0===t&&(t=T(null!=r.z,null!=r.m)),t(e,r)}function P(e,r,t,n){for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.geometry,i=a.attributes,l=void 0;u&&(l=z(u,t,n)),e.push({attributes:i,geometry:l})}return e}function z(e,r,t){if(!e)return null;for(var n=i(r,t),o=[],s=0;s<e.coords.length;s+=n){for(var a=[],u=0;u<n;u++)a.push(e.coords[s+u]);o.push(a)}return r?t?{points:o,hasZ:r,hasM:t}:{points:o,hasZ:r}:t?{points:o,hasM:t}:{points:o}}function x(e,r,t,n,o){for(var a=i(t,n),l=0,c=r;l<c.length;l++){var h=c[l],d=h.geometry,g=h.attributes,f=void 0;d&&(f=Z(new u.default,d,a)),e.push(new s.default(f,g,null,g[o]))}return e}function Z(e,r,t){void 0===t&&(t=i(r.hasZ,r.hasM)),e.lengths[0]=r.points.length;for(var n=e.coords,o=0,s=0,a=r.points;s<a.length;s++)for(var u=a[s],l=0;l<t;l++)n[o++]=u[l];return e}function O(e,r,t,n){for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.geometry,i=a.attributes,l=void 0;u&&(l=E(u,t,n)),e.push({attributes:i,geometry:l})}return e}function E(e,r,t){if(!e)return null;for(var n=i(r,t),o=e.coords,s=e.lengths,a=[],u=0,l=0,c=s;l<c.length;l++){for(var h=c[l],d=[],g=0;g<h;g++){for(var f=[],v=0;v<n;v++)f.push(o[u++]);d.push(f)}a.push(d)}return r?t?{paths:a,hasZ:r,hasM:t}:{paths:a,hasZ:r}:t?{paths:a,hasM:t}:{paths:a}}function S(e,r,t,n,o){for(var a=i(t,n),l=0,c=r;l<c.length;l++){var h=c[l],d=h.geometry,g=h.attributes,f=void 0;d&&(f=j(new u.default,d,a)),e.push(new s.default(f,g,null,g[o]))}return e}function j(e,r,t){void 0===t&&(t=i(r.hasZ,r.hasM));for(var n=e.lengths,o=e.coords,s=0,a=0,u=r.paths;a<u.length;a++){for(var l=u[a],c=0,h=l;c<h.length;c++)for(var d=h[c],g=0;g<t;g++)o[s++]=d[g];n.push(l.length)}return e}function V(e,r,t,n){for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.geometry,i=a.attributes,l=a.centroid,c=void 0;if(u&&(c=Y(u,t,n)),l){var h=v(l);e.push({attributes:i,centroid:h,geometry:c})}else e.push({attributes:i,geometry:c})}return e}function Y(e,r,t){if(!e)return null;for(var n=i(r,t),o=e.coords,s=e.lengths,a=[],u=0,l=0,c=s;l<c.length;l++){for(var h=c[l],d=[],g=0;g<h;g++){for(var f=[],v=0;v<n;v++)f.push(o[u++]);d.push(f)}a.push(d)}return r?t?{rings:a,hasZ:r,hasM:t}:{rings:a,hasZ:r}:t?{rings:a,hasM:t}:{rings:a}}function _(e,r,t,n,o){for(var a=0,i=r;a<i.length;a++){var l=i[a],c=l.geometry,h=l.centroid,d=l.attributes,g=void 0;c&&(g=k(new u.default,c,t,n)),h?e.push(new s.default(g,d,m(new u.default,h),d[o])):e.push(new s.default(g,d,null,d[o]))}return e}function k(e,r,t,n){return void 0===t&&(t=r.hasZ),void 0===n&&(n=r.hasM),L(e,r.rings,t,n),e}function L(e,r,t,n){var o=i(t,n),s=e.lengths,a=e.coords,u=0;s.length=a.length=0;for(var l=0,c=r;l<c.length;l++){for(var h=c[l],d=0,g=h;d<g.length;d++)for(var f=g[d],v=0;v<o;v++)a[u++]=f[v];s.push(h.length)}return e}function q(e,r,t,n,o){he[0]=e;var s=A(de,he,r,t,n,o)[0];return he.length=de.length=0,s}function A(e,r,n,o,a,u){if(e.length=0,!n){for(var i=0,l=r;i<l.length;i++){var c=l[i],h=c.attributes[u];e.push(new s.default(null,c.attributes,null,h))}return e}switch(n){case\"esriGeometryPoint\":return w(e,r,o,a,u);case\"esriGeometryMultipoint\":return x(e,r,o,a,u);case\"esriGeometryPolyline\":return S(e,r,o,a,u);case\"esriGeometryPolygon\":return _(e,r,o,a,u);default:se.error(\"convertToFeatureSet:unknown-geometry\",new t(\"Unable to parse unknown geometry type '\"+n+\"'\")),e.length=0}return e}function U(e,r,t,n){de[0]=e,X(he,de,r,t,n);var o=he[0];return he.length=de.length=0,o}function R(e,r,n){if(!e)return null;var s=new u.default;if(\"hasZ\"in e&&null==r&&(r=e.hasZ),\"hasM\"in e&&null==n&&(n=e.hasM),o.isPoint(e)){return T(null!=r?r:null!=e.z,null!=n?n:null!=e.m)(s,e)}return o.isPolygon(e)?k(s,e,r,n):o.isPolyline(e)?j(s,e,i(r,n)):o.isMultipoint(e)?Z(s,e,i(r,n)):void se.error(\"convertFromGeometry:unknown-geometry\",new t(\"Unable to parse unknown geometry type '\"+e+\"'\"))}function B(e,r,n,o){var s=e&&(\"coords\"in e?e:e.geometry);if(!s)return null;switch(r){case\"esriGeometryPoint\":var a=v;return n&&o?a=M:n?a=y:o&&(a=I),a(s);case\"esriGeometryMultipoint\":return z(s,n,o);case\"esriGeometryPolyline\":return E(s,n,o);case\"esriGeometryPolygon\":return Y(s,n,o);default:return void se.error(\"convertToGeometry:unknown-geometry\",new t(\"Unable to parse unknown geometry type '\"+r+\"'\"))}}function X(e,r,n,o,s){switch(e.length=0,n){case\"esriGeometryPoint\":return N(e,r,o,s);case\"esriGeometryMultipoint\":return P(e,r,o,s);case\"esriGeometryPolyline\":return O(e,r,o,s);case\"esriGeometryPolygon\":return V(e,r,o,s);default:se.error(\"convertToFeatureSet:unknown-geometry\",new t(\"Unable to parse unknown geometry type '\"+n+\"'\"))}return e}function C(e){var r=e.objectIdFieldName,t=e.spatialReference,n=e.transform,o=e.fields,s=e.hasM,a=e.hasZ,u=e.features,i=e.geometryType,l=e.exceededTransferLimit,c=X([],u,i,a,s),h={features:c,fields:o,geometryType:i,objectIdFieldName:r,spatialReference:t};return n&&(h.transform=n),l&&(h.exceededTransferLimit=l),s&&(h.hasM=s),a&&(h.hasZ=a),h}function Q(e,r){var n=new a.default,o=e.hasM,s=e.hasZ,u=e.features,i=e.objectIdFieldName,l=e.spatialReference,c=e.geometryType,h=e.exceededTransferLimit,d=e.transform;return n.fields=e.fields,n.geometryType=c,n.objectIdFieldName=i||r,n.spatialReference=l,n.objectIdFieldName?(u&&A(n.features,u,c,s,o,n.objectIdFieldName),h&&(n.exceededTransferLimit=h),o&&(n.hasM=o),s&&(n.hasZ=s),d&&(n.transform=d),n):(se.error(new t(\"optimized-features:invalid-objectIdFieldName\",\"objectIdFieldName is missing\")),n)}function D(e){var r=e.transform,t=e.features,n=e.hasM,o=e.hasZ;if(!r)return e;for(var s=0,a=t;s<a.length;s++){var u=a[s];u.geometry&&te(u.geometry,u.geometry,n,o,r),u.centroid&&te(u.centroid,u.centroid,n,o,r)}return e.transform=null,e}function H(e,r){var t=r.geometryType,n=r.features,o=r.hasM,a=r.hasZ;if(!e)return r;for(var i=0;i<n.length;i++){var l=n[i],c=new s.default(new u.default,l.attributes);J(c.geometry,l.geometry,o,a,t,e),l.centroid&&(c.centroid=new u.default,J(c.centroid,l.centroid,o,a,\"esriGeometryPoint\",e)),n[i]=c}return r.transform=e,r}function J(e,r,t,n,o,s,a,u){if(void 0===a&&(a=t),void 0===u&&(u=n),e.lengths.length&&(e.lengths.length=0),e.coords.length&&(e.coords.length=0),!r||!r.coords.length)return null;var d=ae[o],g=r.coords,f=r.lengths,v=i(t,n),m=i(t&&a,n&&u),y=l(t,n,a,u);if(!f.length)return y(e.coords,g,0,0,c(s,g[0]),h(s,g[1])),e.lengths.length&&(e.lengths.length=0),e.coords.length=v,e;for(var p,I,F,M,b=0,N=0,T=N,w=0,G=f;w<G.length;w++){var P=G[w];if(!(P<d)){var z=0;N=T,F=p=c(s,g[b]),M=I=h(s,g[b+1]),y(e.coords,g,N,b,F,M),z++,b+=v,N+=m;for(var x=1;x<P;x++,b+=v)F=c(s,g[b]),M=h(s,g[b+1]),F===p&&M===I||(y(e.coords,g,N,b,F-p,M-I),N+=m,z++,p=F,I=M);z>=d&&(e.lengths.push(z),T=N)}}return e.coords.length=T,e.coords.length?e:null}function K(e,r,t,n,o,s,a,u){if(void 0===a&&(a=t),void 0===u&&(u=n),e.lengths.length&&(e.lengths.length=0),e.coords.length&&(e.coords.length=0),!r||!r.coords.length)return null;var c=ae[o],h=r.coords,d=r.lengths,g=i(t,n),f=i(t&&a,n&&u),v=l(t,n,a,u);if(!d.length)return v(e.coords,h,0,0,h[0],h[1]),e.lengths.length&&(e.lengths.length=0),e.coords.length=g,e;for(var m=0,y=s*s,p=0,I=d;p<I.length;p++){var F=I[p];if(F<c)m+=F*g;else{var M=e.coords.length/f,b=m,N=m+(F-1)*g;v(e.coords,h,e.coords.length,b,h[b],h[b+1]),$(e.coords,h,g,y,v,b,N),v(e.coords,h,e.coords.length,N,h[N],h[N+1]);var T=e.coords.length/f-M;T>=c?e.lengths.push(T):e.coords.length=M*f,m+=F*g}}return e.coords.length?e:null}function W(e,r,t,n){var o=e[r],s=e[r+1],a=e[t],u=e[t+1],i=e[n],l=e[n+1],c=a,h=u,d=i-c,g=l-h;if(0!==d||0!==g){var f=d*d+g*g,v=((o-c)*d+(s-h)*g)/f;v>1?(c=i,h=l):v>0&&(c+=d*v,h+=g*v)}return d=o-c,g=s-h,d*d+g*g}function $(e,r,t,n,o,s,a){for(var u,i=n,l=0,c=s+t;c<a;c+=t)(u=W(r,c,s,a))>i&&(l=c,i=u);i>n&&(l-s>t&&$(e,r,t,n,o,s,l),o(e,r,e.length,l,r[l],r[l+1]),a-l>t&&$(e,r,t,n,o,l,a))}function ee(e,r,t,n){var o=i(t,n),s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;if(r&&r.coords)for(var c=r.coords,h=0;h<c.length;h+=o){var d=c[h],g=c[h+1];s=Math.min(s,d),u=Math.max(u,d),a=Math.min(a,g),l=Math.max(l,g)}return e[0]=s,e[1]=a,e[2]=u,e[3]=l,e}function re(e,r,t,n){for(var o=i(t,n),s=r.lengths,a=r.coords,u=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY,d=0,g=0,f=s;g<f.length;g++){var v=f[g],m=a[d],y=a[d+1];u=Math.min(m,u),l=Math.min(y,l),c=Math.max(m,c),h=Math.max(y,h),d+=o;for(var p=1;p<v;p++,d+=o){var I=a[d],F=a[d+1];m+=I,y+=F,I<0&&(u=Math.min(u,m)),I>0&&(c=Math.max(c,m)),F<0?l=Math.min(l,y):F>0&&(h=Math.max(h,y))}}return e[0]=u,e[1]=l,e[2]=c,e[3]=h,e}function te(e,r,t,n,o){var s=r.coords,a=r.lengths,u=t?n?ce:ie:n?ie:ue,l=i(t,n);if(!s.length)return e!==r&&(e.lengths.length=0,e.coords.length=0),e;if(!a.length)return u(e.coords,s,0,0,d(o,s[0]),g(o,s[1])),e!==r&&(e.lengths.length=0,e.coords.length=l),e;for(var c=o.scale,h=c[0],f=c[1],v=0,m=0;m<a.length;m++){var y=a[m];e.lengths[m]=y;var p=d(o,s[v]),I=g(o,s[v+1]);u(e.coords,s,v,v,p,I),v+=l;for(var F=1;F<y;F++,v+=l)p+=s[v]*h,I-=s[v+1]*f,u(e.coords,s,v,v,p,I)}return e!==r&&(e.lengths.length=a.length,e.coords.length=s.length),e}function ne(e,r,t,n,o,s){var a,u=i(t,n),c=l(t,n,o,s),h=r.coords;e.coords.length=0,e.lengths.length=0,(a=e.lengths).push.apply(a,r.lengths);for(var d=0;d<h.length;d+=u)c(e.coords,h,e.coords.length,d,h[d],h[d+1]);return e}function oe(e,r,t,n,o){if(!r||!r.coords||!r.coords.length)return null;for(var s=ae[t],a=r.coords,u=r.lengths,c=l(n,o,n,o),h=i(n,o),d=0,g=0,f=0,v=0,m=0,y=u;m<y.length;m++){var p=y[m];g=v,c(e.coords,a,g,d,a[d],a[d+1]),d+=h;var I=a[d],F=a[d+1],M=I,b=F,N=F/I;g+=h,c(e.coords,a,g,d,M,b),d+=h;for(var T=2;T<p;T++){I=a[d],F=a[d+1];var w=F/I,G=N===w||!isFinite(N)&&!isFinite(w),P=G&&isFinite(w)?N>=0&&w>=0||N<=0&&w<=0:b>=0&&F>=0||b<=0&&F<=0;G&&P?(M+=I,b+=F):(M=I,b=F,g+=h),c(e.coords,a,g,d,M,b),d+=h,N=w}g+=h;var z=(g-v)/h;z>=s&&(e.lengths[f]=z,v=g,f++)}return e.coords.length>g&&(e.coords.length=g),e.lengths.length>f&&(e.lengths.length=f),e.coords.length?e:null}Object.defineProperty(r,\"__esModule\",{value:!0});var se=n.getLogger(\"esri.tasks.support.optimizedFeatureSet\"),ae={esriGeometryPoint:0,esriGeometryPolyline:2,esriGeometryPolygon:3,esriGeometryMultipoint:0},ue=function(e,r,t,n,o,s){e[t]=o,e[t+1]=s},ie=function(e,r,t,n,o,s){e[t]=o,e[t+1]=s,e[t+2]=r[n+2]},le=function(e,r,t,n,o,s){e[t]=o,e[t+1]=s,e[t+2]=r[n+3]},ce=function(e,r,t,n,o,s){e[t]=o,e[t+1]=s,e[t+2]=r[n+2],e[t+3]=r[n+3]};r.quantizeX=c,r.quantizeY=h,r.hydrateX=d,r.hydrateY=g,r.convertToPoint=f,r.convertFromPoint=G,r.convertToMultipoint=z,r.convertFromMultipoint=Z,r.convertToPolyline=E,r.convertFromPolyline=j,r.convertToPolygon=Y,r.convertFromPolygon=k,r.convertFromNestedArray=L;var he=[],de=[];r.convertFromFeature=q,r.convertFromFeatures=A,r.convertToFeature=U,r.convertFromGeometry=R,r.convertToGeometry=B,r.convertToFeatures=X,r.convertToFeatureSet=C,r.convertFromFeatureSet=Q,r.hydrateOptimizedFeatureSet=D,r.quantizeOptimizedFeatureSet=H,r.quantizeOptimizedGeometry=J,r.generalizeOptimizedGeometry=K,r.getBoundsOptimizedGeometry=ee,r.getQuantizedBoundsOptimizedGeometry=re,r.hydrateOptimizedGeometry=te,r.removeZMValues=ne,r.removeCollinearVectices=oe});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/assignHelper\",\"../../../core/tsSupport/generatorHelper\",\"../../../core/tsSupport/awaiterHelper\",\"../../../geometry\",\"../../../Graphic\",\"../../../core/Collection\",\"../../../core/Error\",\"../../../core/has\",\"../../../core/Loadable\",\"../../../core/Logger\",\"../../../core/maybe\",\"../../../core/Promise\",\"../../../core/promiseUtils\",\"../../../core/requireUtils\",\"../../../core/workers\",\"../../../core/accessorSupport/decorators\",\"../../../core/accessorSupport/ensureType\",\"../../../tasks/support/FeatureSet\",\"module\"],function(e,t,r,o,i,n,s,a,u,p,l,c,d,y,h,f,g,m,v,_,b,S,F){Object.defineProperty(t,\"__esModule\",{value:!0});var T=0,R=y.getLogger(\"esri.layers.graphics.sources.MemorySource\"),O=function(t){function i(e){var r=t.call(this,e)||this;return r._idToClientGraphic=null,r.type=\"memory\",r}return r(i,t),i.prototype.load=function(e){var t=h.isSome(e)?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),this.when()},Object.defineProperty(i.prototype,\"workerGeometryType\",{get:function(){var e=this.layer&&this.layer.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?\"polygon\":e:null},enumerable:!0,configurable:!0}),i.prototype.applyEdits=function(e){var t=this;return this.load().then(function(){return t._applyEdits(e)})},i.prototype.openPorts=function(){var e=this;return this.load().then(function(){return e._connection.openPorts()})},i.prototype.queryFeatures=function(e,t){var r=this;return void 0===t&&(t={}),this.load(t).then(function(){return r._connection.invoke(\"queryFeatures\",e?e.toJSON():null,t)}).then(function(e){var t=S.fromJSON(e);if(!r._requiresClientGraphicMapping())return t;for(var o=r.layer.objectIdField,i=0,n=t.features;i<n.length;i++){var s=n[i],a=s.attributes[o],u=r._idToClientGraphic.get(a);u&&(s.geometry=u.geometry)}return t.geometryType=r.layer.geometryType,t})},i.prototype.queryFeaturesJSON=function(e,t){var r=this;return void 0===t&&(t={}),this._requiresClientGraphicMapping()?g.reject(new l(\"query-features-json:unsupported\",\"Cannot query in JSON format for client only geometry types (mesh and extent)\")):this.load(t).then(function(){return r._connection.invoke(\"queryFeatures\",e?e.toJSON():null,t)})},i.prototype.queryFeatureCount=function(e,t){var r=this;return void 0===t&&(t={}),this.load(t).then(function(){return r._connection.invoke(\"queryFeatureCount\",e?e.toJSON():null,t)})},i.prototype.queryObjectIds=function(e,t){var r=this;return void 0===t&&(t={}),this.load(t).then(function(){return r._connection.invoke(\"queryObjectIds\",e?e.toJSON():null,t)})},i.prototype.queryExtent=function(e,t){var r=this;return void 0===t&&(t={}),this.load(t).then(function(){return r._connection.invoke(\"queryExtent\",e?e.toJSON():null,t)}).then(function(e){return{count:e.count,extent:a.Extent.fromJSON(e.extent)}})},i.prototype._applyEdits=function(e){var t=this;if(!this._connection)throw new l(\"feature-layer-source:edit-failure\",\"Memory source not loaded\");var r=this.layer.objectIdField,o=null,i=[],n=[];if(e.addFeatures&&(o=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(var s=0,a=e.deleteFeatures;s<a.length;s++){var u=a[s];\"objectId\"in u&&null!=u.objectId?i.push(u.objectId):\"attributes\"in u&&null!=u.attributes[r]&&i.push(u.attributes[r])}if(e.updateFeatures)for(var p=0,c=e.updateFeatures;p<c.length;p++){var u=c[p];n.push(this._serializeFeature(u))}return this._connection.invoke(\"applyEdits\",{adds:o?o.features:[],updates:n,deletes:i}).then(function(e){var r=e.fullExtent,i=e.featureEditResults;if(t.fullExtent=r,o&&o.finish(i.uidToObjectId),t._idToClientGraphic)for(var n=0,s=i.deleteResults;n<s.length;n++){var a=s[n];a.success&&t._idToClientGraphic.delete(a.objectId)}return t._createEditsResult(i)})},i.prototype._createEditsResult=function(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}},i.prototype._createFeatureEditResult=function(e){var t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new l(\"feature-layer-source:edit-failure\",t.description,{code:t.code}):null}},i.prototype._prepareAddFeatures=function(e){for(var t=new Map,r=new Array(e.length),o=null,i=0;i<e.length;i++){var n=e[i],s=this._serializeFeature(n);!o&&h.isSome(n.geometry)&&(o=n.geometry.type),r[i]=s,t.set(\"\"+s.uid,n)}var a=this;return{features:r,inferredGeometryType:o,finish:function(e){var r=a.sourceJSON.objectIdField;for(var o in e){var i=e[o],n=t.get(o);n&&(n.attributes||(n.attributes={}),-1===i?delete n.attributes[r]:n.attributes[r]=i,a._addIdToClientGraphic(n))}}}},i.prototype._addIdToClientGraphic=function(e){if(this._idToClientGraphic){var t=this.sourceJSON.objectIdField,r=e.attributes&&e.attributes[t];null!=r&&this._idToClientGraphic.set(r,e)}},i.prototype._requiresClientGraphicMapping=function(){var e=this.layer.geometryType||this.sourceJSON.geometryType;return this._geometryTypeRequiresClientGraphicMapping(e)},i.prototype._geometryRequiresClientGraphicMapping=function(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)},i.prototype._geometryTypeRequiresClientGraphicMapping=function(e){return\"mesh\"===e||\"multipatch\"===e||\"extent\"===e},i.prototype._serializeFeature=function(e){var t=e.attributes,r=this._geometryForSerialization(e),o=(T++).toString();return r?{uid:o,geometry:r.toJSON(),attributes:t}:{uid:o,attributes:t}},i.prototype._geometryForSerialization=function(e){var t=e.geometry;return h.isNone(t)?null:this._geometryRequiresClientGraphicMapping(t)?a.Polygon.fromExtent(t.extent):t},i.prototype._startWorker=function(t){return s(this,void 0,void 0,function(){var r,o,i,s,u,p,l,d,y,h,f,_,b,S,T,O;return n(this,function(n){switch(n.label){case 0:return c(\"esri-webpack\")?[4,g.create(function(t){return e([\"./support/MemorySourceWorker\"],t)})]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=this,[4,v.open(m.getAbsMid(\"./support/MemorySourceWorker\",e,F),{strategy:c(\"esri-workers-for-memory-layers\")?\"dedicated\":\"local\",signal:t})];case 3:return r._connection=n.sent(),o=this.layer,i=o.fields,s=o.spatialReference,u=o.objectIdField,p=o.hasM,l=o.hasZ,d=o.timeInfo,y=\"defaults\"===this.layer.originOf(\"spatialReference\"),h=this._prepareAddFeatures(this.items),this.on(\"before-changes\",function(e){R.error(\"Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead\"),e.preventDefault()}),f={features:h.features,fields:i&&i.map(function(e){return e.toJSON()}),geometryType:a.typeKebabDictionary.toJSON(this.workerGeometryType),hasM:p,hasZ:l,objectIdField:u,spatialReference:y?null:s&&s.toJSON(),timeInfo:d?d.toJSON():null},[4,this._connection.invoke(\"load\",f,{signal:t})];case 4:for(_=n.sent(),b=0,S=_.warnings;b<S.length;b++)T=S[b],R.warn(T.message,{layer:this.layer,warning:T});return _.featureErrors.length&&R.warn(\"Encountered \"+_.featureErrors.length+\" validation errors while loading features\",_.featureErrors),O=_.layerDefinition,this._geometryTypeRequiresClientGraphicMapping(h.inferredGeometryType)&&(O.geometryType=a.typeKebabDictionary.toJSON(h.inferredGeometryType)),this.sourceJSON=O,this._requiresClientGraphicMapping()&&(this._idToClientGraphic=new Map),h.finish(_.assignedObjectIds),[2]}})})},o([_.shared({Type:u,ensureType:b.ensureType(u)})],i.prototype,\"itemType\",void 0),o([_.property()],i.prototype,\"type\",void 0),o([_.property({constructOnly:!0})],i.prototype,\"layer\",void 0),o([_.property({readOnly:!0,dependsOn:[\"layer.geometryType\"]})],i.prototype,\"workerGeometryType\",null),o([_.property()],i.prototype,\"sourceJSON\",void 0),i=o([_.subclass(\"esri.layers.graphics.sources.MemorySource\")],i)}(_.declared(d.LoadableMixin(f.EsriPromiseMixin(p))));t.MemorySource=O,t.default=O});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n// copyright\n\n/**\n * The copyright text as defined by the service.\n *\n * @name copyright\n * @type {string}\n *\n * @memberof module:esri/layers/mixins/ArcGISMapService\n */\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"../../geometry/Extent\",\"../../geometry/SpatialReference\",\"../support/commonProperties\"],function(e,r,t,p,o,i,s,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.ArcGISMapService=function(e){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.capabilities=void 0,r.copyright=null,r.fullExtent=null,r.legendEnabled=!0,r.spatialReference=null,r.version=null,r}return t(r,e),r.prototype.readCapabilities=function(e,r){var t=r.capabilities&&r.capabilities.split(\",\").map(function(e){return e.toLowerCase().trim()});if(!t)return{operations:{supportsQuery:!1,supportsExportMap:!1,supportsExportTiles:!1,supportsTileMap:!1},exportMap:null,exportTiles:null};var p=this.type,o=-1!==t.indexOf(\"query\"),i=-1!==t.indexOf(\"map\"),s=!!r.exportTilesAllowed,a=-1!==t.indexOf(\"tilemap\"),n=\"tile\"!==p&&!!r.supportsDynamicLayers,l=\"tile\"!==p&&(!r.tileInfo||n),u=\"tile\"!==p&&(!r.tileInfo||n),y=\"tile\"!==p;return{operations:{supportsQuery:o,supportsExportMap:i,supportsExportTiles:s,supportsTileMap:a},exportMap:i?{supportsSublayersChanges:y,supportsDynamicLayers:n,supportsSublayerVisibility:l,supportsSublayerDefinitionExpression:u}:null,exportTiles:s?{maxExportTilesCount:+r.maxExportTilesCount}:null}},r.prototype.readVersion=function(e,r){var t=r.currentVersion;return t||(t=r.hasOwnProperty(\"capabilities\")||r.hasOwnProperty(\"tables\")?10:r.hasOwnProperty(\"supportedImageFormatTypes\")?9.31:9.3),t},p([o.property({readOnly:!0})],r.prototype,\"capabilities\",void 0),p([o.reader(\"service\",\"capabilities\",[\"capabilities\",\"exportTilesAllowed\",\"maxExportTilesCount\",\"supportsDynamicLayers\",\"tileInfo\"])],r.prototype,\"readCapabilities\",null),p([o.property({json:{read:{source:\"copyrightText\"}}})],r.prototype,\"copyright\",void 0),p([o.property({type:i})],r.prototype,\"fullExtent\",void 0),p([o.property({json:{origins:{service:{read:!1},\"portal-item\":{read:!1}}}})],r.prototype,\"id\",void 0),p([o.property({type:Boolean,json:{origins:{service:{read:{enabled:!1}}},read:{source:\"showLegend\"},write:{target:\"showLegend\"}}})],r.prototype,\"legendEnabled\",void 0),p([o.property(a.popupEnabled)],r.prototype,\"popupEnabled\",void 0),p([o.property({type:s})],r.prototype,\"spatialReference\",void 0),p([o.property()],r.prototype,\"version\",void 0),p([o.reader(\"version\",[\"currentVersion\",\"capabilities\",\"tables\",\"supportedImageFormatTypes\"])],r.prototype,\"readVersion\",null),r=p([o.subclass(\"esri.layers.mixins.ArcGISMapService\")],r)}(o.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Logger\",\"../../core/accessorSupport/decorators\",\"../support/arcgisLayerUrl\"],function(e,t,r,i,n,o,l){Object.defineProperty(t,\"__esModule\",{value:!0});var s=n.getLogger(\"esri.layers.mixins.ArcGISService\");t.ArcGISService=function(e){return function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,\"title\",{get:function(){if(this._get(\"title\")&&\"defaults\"!==this.originOf(\"title\"))return this._get(\"title\");if(this.url){var e=l.parse(this.url);if(e&&e.title)return e.title}return this._get(\"title\")||\"\"},set:function(e){this._set(\"title\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"url\",{set:function(e){this._set(\"url\",l.sanitizeUrl(e,s))},enumerable:!0,configurable:!0}),i([o.property({dependsOn:[\"url\"]})],t.prototype,\"title\",null),i([o.property({type:String})],t.prototype,\"url\",null),t=i([o.subclass(\"esri.layers.mixins.ArcGISService\")],t)}(o.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Error\",\"../../core/promiseUtils\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/read\",\"../../core/accessorSupport/write\",\"../support/commonProperties\"],function(e,r,t,i,a,n,o,c,u,y){Object.defineProperty(r,\"__esModule\",{value:!0}),r.OperationalLayer=function(e){return function(e){function n(){var r=null!==e&&e.apply(this,arguments)||this;return r.title=\"Layer\",r}return t(n,e),n.prototype.writeListMode=function(e,r,t,i){i&&\"ground\"===i.layerContainerType?r[t]=e:e&&u.willPropertyWrite(this,t,{},i)&&(r[t]=e)},n.prototype.writeTitle=function(e,r){r.title=e||\"Layer\"},n.prototype.writeOperationalLayerType=function(e,r){e&&(r.layerType=e)},n.prototype.read=function(e,r){var t=this,i=arguments;r&&(r.layer=this),c.readLoadable(this,e,function(r){return t.inherited(i,[e,r])},r)},n.prototype.write=function(e,t){if(t&&t.origin){var i=t.origin+\"/\"+(t.layerContainerType||\"operational-layers\"),n=r.supportedTypes[i],o=n&&n[this.operationalLayerType];if(\"write\"!==o&&\"readwrite\"!==o)return t.messages&&t.messages.push(new a(\"layer:unsupported\",\"Layers (\"+this.title+\", \"+this.id+\") of type '\"+this.declaredClass+\"' are not supported in the context of '\"+i+\"'\",{layer:this})),null}var c=this.inherited(arguments,[e,t]),u=!!t&&!!t.messages&&!!t.messages.filter(function(e){return e instanceof a&&\"web-document-write:property-required\"===e.name}).length;return!this.url&&u?null:c},i([o.property({type:String,json:{write:{ignoreOrigin:!0},origins:{\"web-scene\":{write:{isRequired:!0,ignoreOrigin:!0}}}}})],n.prototype,\"id\",void 0),i([o.property({json:{write:{ignoreOrigin:!0}}})],n.prototype,\"listMode\",void 0),i([o.writer(\"listMode\")],n.prototype,\"writeListMode\",null),i([o.property({type:String,json:{write:{ignoreOrigin:!0,allowNull:!0},origins:{\"web-scene\":{write:{isRequired:!0,ignoreOrigin:!0}}}}})],n.prototype,\"title\",void 0),i([o.writer(\"title\")],n.prototype,\"writeTitle\",null),i([o.property({type:String,readOnly:!0,json:{write:{target:\"layerType\",ignoreOrigin:!0}}})],n.prototype,\"operationalLayerType\",void 0),i([o.writer(\"operationalLayerType\")],n.prototype,\"writeOperationalLayerType\",null),i([o.property(y.opacity)],n.prototype,\"opacity\",void 0),i([o.property({type:Boolean,json:{read:{source:\"visibility\"},write:{target:\"visibility\"},origins:{\"web-document\":{read:{source:\"visibility\"},write:{target:\"visibility\"},default:!0}}}})],n.prototype,\"visible\",void 0),n=i([o.subclass(\"esri.layers.mixins.OperationalLayer\")],n)}(o.declared(e))},r.typeModuleMap={ArcGISFeatureLayer:function(){return n.create(function(r){return e([\"../FeatureLayer\"],r)})},ArcGISImageServiceLayer:function(){return n.create(function(r){return e([\"../ImageryLayer\"],r)})},ArcGISImageServiceVectorLayer:function(){return n.resolve(null)},ArcGISMapServiceLayer:function(){return n.create(function(r){return e([\"../MapImageLayer\"],r)})},ArcGISSceneServiceLayer:function(){return n.create(function(r){return e([\"../SceneLayer\"],r)})},ArcGISStreamLayer:function(){return n.create(function(r){return e([\"../StreamLayer\"],r)})},ArcGISTiledElevationServiceLayer:function(){return n.create(function(r){return e([\"../ElevationLayer\"],r)})},ArcGISTiledImageServiceLayer:function(){return n.create(function(r){return e([\"../TileLayer\"],r)})},ArcGISTiledMapServiceLayer:function(){return n.create(function(r){return e([\"../TileLayer\"],r)})},BingMapsAerial:function(){return n.create(function(r){return e([\"../BingMapsLayer\"],r)})},BingMapsRoad:function(){return n.create(function(r){return e([\"../BingMapsLayer\"],r)})},BingMapsHybrid:function(){return n.create(function(r){return e([\"../BingMapsLayer\"],r)})},BuildingSceneLayer:function(){return n.create(function(r){return e([\"../BuildingSceneLayer\"],r)})},CSV:function(){return n.create(function(r){return e([\"../CSVLayer\"],r)})},GeoRSS:function(){return n.create(function(r){return e([\"../GeoRSSLayer\"],r)})},GroupLayer:function(){return n.create(function(r){return e([\"../GroupLayer\"],r)})},IntegratedMeshLayer:function(){return n.create(function(r){return e([\"../IntegratedMeshLayer\"],r)})},KML:function(){return n.create(function(r){return e([\"../KMLLayer\"],r)})},OpenStreetMap:function(){return n.create(function(r){return e([\"../OpenStreetMapLayer\"],r)})},PointCloudLayer:function(){return n.create(function(r){return e([\"../PointCloudLayer\"],r)})},VectorTileLayer:function(){return n.create(function(r){return e([\"../VectorTileLayer\"],r)})},WebTiledLayer:function(){return n.create(function(r){return e([\"../WebTileLayer\"],r)})},WFS:function(){return n.resolve(null)},WMS:function(){return n.create(function(r){return e([\"../WMSLayer\"],r)})},RasterDataLayer:function(){return n.resolve(null)}},r.supportedTypes={\"web-scene/operational-layers\":{ArcGISFeatureLayer:\"readwrite\",ArcGISImageServiceLayer:\"readwrite\",ArcGISMapServiceLayer:\"readwrite\",ArcGISSceneServiceLayer:\"readwrite\",ArcGISTiledElevationServiceLayer:\"read\",ArcGISTiledImageServiceLayer:\"readwrite\",ArcGISTiledMapServiceLayer:\"readwrite\",BuildingSceneLayer:\"readwrite\",GroupLayer:\"readwrite\",IntegratedMeshLayer:\"readwrite\",PointCloudLayer:\"readwrite\",WebTiledLayer:\"readwrite\",CSV:\"readwrite\",VectorTileLayer:\"readwrite\",WMS:\"readwrite\",KML:\"readwrite\",RasterDataLayer:\"readwrite\"},\"web-scene/basemap\":{ArcGISTiledImageServiceLayer:\"readwrite\",ArcGISTiledMapServiceLayer:\"readwrite\",WebTiledLayer:\"readwrite\",OpenStreetMap:\"readwrite\",VectorTileLayer:\"readwrite\",ArcGISImageServiceLayer:\"readwrite\",WMS:\"readwrite\",ArcGISMapServiceLayer:\"readwrite\"},\"web-scene/ground\":{ArcGISTiledElevationServiceLayer:\"readwrite\"},\"web-map/operational-layers\":{ArcGISImageServiceLayer:\"readwrite\",ArcGISImageServiceVectorLayer:\"readwrite\",ArcGISMapServiceLayer:\"readwrite\",ArcGISStreamLayer:\"readwrite\",ArcGISTiledImageServiceLayer:\"readwrite\",ArcGISTiledMapServiceLayer:\"readwrite\",ArcGISFeatureLayer:\"readwrite\",BingMapsAerial:\"readwrite\",BingMapsRoad:\"readwrite\",BingMapsHybrid:\"readwrite\",CSV:\"readwrite\",GeoRSS:\"readwrite\",KML:\"readwrite\",VectorTileLayer:\"readwrite\",WFS:\"readwrite\",WMS:\"readwrite\",WebTiledLayer:\"readwrite\"},\"web-map/basemap\":{ArcGISImageServiceLayer:\"readwrite\",ArcGISImageServiceVectorLayer:\"readwrite\",ArcGISMapServiceLayer:\"readwrite\",ArcGISTiledImageServiceLayer:\"readwrite\",ArcGISTiledMapServiceLayer:\"readwrite\",OpenStreetMap:\"readwrite\",VectorTileLayer:\"readwrite\",WMS:\"readwrite\",WebTiledLayer:\"readwrite\",BingMapsAerial:\"readwrite\",BingMapsRoad:\"readwrite\",BingMapsHybrid:\"readwrite\"}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/Error\",\"../../core/Logger\",\"../../core/promiseUtils\",\"../../core/urlUtils\",\"../../core/accessorSupport/decorators\",\"../../portal/Portal\",\"../../portal/PortalItem\"],function(t,e,r,o,a,i,s,l,p,n,u,c,d){Object.defineProperty(e,\"__esModule\",{value:!0});var h=l.getLogger(\"esri.layers.mixins.PortalLayer\");e.PortalLayer=function(e){return function(e){function l(){return null!==e&&e.apply(this,arguments)||this}return r(l,e),Object.defineProperty(l.prototype,\"portalItem\",{set:function(t){t!==this._get(\"portalItem\")&&(this.removeOrigin(\"portal-item\"),this._set(\"portalItem\",t))},enumerable:!0,configurable:!0}),l.prototype.readPortalItem=function(t,e,r){if(e.itemId)return new d({id:e.itemId,portal:r&&r.portal})},l.prototype.writePortalItem=function(t,e){t&&t.id&&(e.itemId=t.id)},l.prototype.loadFromPortal=function(e,r){return i(this,void 0,void 0,function(){var o,i;return a(this,function(a){switch(a.label){case 0:if(!this.portalItem||!this.portalItem.id)return[2];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,p.create(function(e){return t([\"../../portal/support/layersLoader\"],e)})];case 2:return o=a.sent(),p.throwIfAborted(r),[4,o.load({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData},r)];case 3:return[2,a.sent()];case 4:throw i=a.sent(),h.warn(\"Failed to load layer (\"+this.title+\", \"+this.id+\") portal item (\"+this.portalItem.id+\")\\n \"+i),i;case 5:return[2]}})})},l.prototype.read=function(t,e){var r=arguments;e&&(e.layer=this),this.inherited(r)},l.prototype.write=function(t,e){var r=e&&e.portal,o=this.portalItem&&this.portalItem.id&&(this.portalItem.portal||c.getDefault());return r&&o&&!n.hasSamePortal(o.restUrl,r.restUrl)?(e.messages&&e.messages.push(new s(\"layer:cross-portal\",\"The layer '\"+this.title+\" (\"+this.id+\")' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer\",{layer:this})),null):this.inherited(arguments)},o([u.property({type:d})],l.prototype,\"portalItem\",null),o([u.reader(\"web-document\",\"portalItem\",[\"itemId\"])],l.prototype,\"readPortalItem\",null),o([u.writer(\"portalItem\",{itemId:{type:String}})],l.prototype,\"writePortalItem\",null),l=o([u.subclass(\"esri.layers.mixins.PortalLayer\")],l)}(u.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,n){Object.defineProperty(r,\"__esModule\",{value:!0}),r.RefreshableLayer=function(e){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.refreshInterval=0,r}return t(r,e),r.prototype.refresh=function(){this.emit(\"refresh\")},o([n.property({type:Number,cast:function(e){return e>=.1?e:e<=0?0:.1},json:{write:!0,origins:{\"web-document\":{write:!0}}}})],r.prototype,\"refreshInterval\",void 0),r=o([n.subclass(\"esri.layers.mixins.RefreshableLayer\")],r)}(n.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\"],function(e,r,t,n,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.ScaleRangeLayer=function(e){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.minScale=0,r.maxScale=0,r}return t(r,e),Object.defineProperty(r.prototype,\"scaleRangeId\",{get:function(){return this.minScale+\",\"+this.maxScale},enumerable:!0,configurable:!0}),n([a.property({type:Number,json:{write:!0}})],r.prototype,\"minScale\",void 0),n([a.property({type:Number,json:{write:!0}})],r.prototype,\"maxScale\",void 0),n([a.property({readOnly:!0,dependsOn:[\"minScale\",\"maxScale\"]})],r.prototype,\"scaleRangeId\",null),r=n([a.subclass(\"esri.layers.mixins.ScaleRangeLayer\")],r)}(a.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Collection\",\"../../core/CollectionFlattener\",\"../../core/Error\",\"../../core/lang\",\"../../core/Logger\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../support/Sublayer\",\"../support/sublayerUtils\"],function(e,r,t,s,a,n,i,u,l,o,y,c,p,b){function f(e,r,t){var s=[],a={};return e?(e.forEach(function(e){var n=new p;if(n.read(e,r),t&&(-1===t.indexOf(n.id)?n.visible=!1:n.visible=!0),a[n.id]=n,null!=e.parentLayerId&&-1!==e.parentLayerId){var i=a[e.parentLayerId];i.sublayers||(i.sublayers=[]),i.sublayers.unshift(n)}else s.unshift(n)}),s):s}function d(e){return e.__accessor__.store}function v(e){return e.__accessor__.overridden}function h(e,r){var t=r.get(e.id);if(t){var s=d(e);d(t).forEach(function(e,r){return s.set(r,e)}),v(t)&&(e.__accessor__.overridden=l.mixin(v(e)||{},v(t))),t.sublayers&&(e.sublayers=t.sublayers.map(function(e){return h(e,r)}))}else e.sublayers&&e.sublayers.forEach(function(e){return h(e,r)});return e}Object.defineProperty(r,\"__esModule\",{value:!0});var S=o.getLogger(\"esri.layers.TileLayer\");r.SublayersOwner=function(e){return function(e){function r(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];var s=e.apply(this,r)||this;return s.allSublayers=new i({root:s,rootCollectionNames:[\"sublayers\"],getChildrenFunction:function(e){return e.sublayers}}),s.watch(\"sublayers\",function(e,r){return s._handleSublayersChange(e,r)},!0),s}return s(r,e),r.prototype.readServiceSublayers=function(e,r,t){return f(r.layers,t)},r.prototype.readSublayersFromItemOrWebMap=function(e,r,t){return!r.layers&&r.visibleLayers?r.visibleLayers.map(function(e){return{id:e}}):f(r.layers,t,r.visibleLayers)},r.prototype.readSublayers=function(e,r,t){var s=f(r.layers,t);return this._updateSublayersForOrigin(3,s),this._updateSublayersForOrigin(5,s),this._updateSublayersForOrigin(4,s),s},r.prototype.writeSublayers=function(e,r,s,a){if(e&&this.serviceSublayers){var n=e.slice().reverse().flatten(function(e){var r=e.sublayers;return r&&r.toArray().reverse()}).toArray(),i=this.serviceSublayers.flatten(function(e){var r=e.sublayers;return r&&r.toArray().reverse()}).toArray().reduce(function(e,r){return e.set(r.id,r),e},new Map),u=!1,l=!0;this.capabilities&&this.capabilities.operations.supportsExportMap&&this.capabilities.exportMap.supportsDynamicLayers?(u=b.isExportDynamic(n,this.serviceSublayers,this),l=!u&&b.sameStructureAsService(n,this.serviceSublayers)):l=b.sameStructureAsService(n,this.serviceSublayers),r.layers=[],n.forEach(function(e){var s=i.get(e.id),n=t({writeAsDynamic:u,writeOverridesOnly:l,serviceSublayer:s},a),o=e.write({},n);(!l||l&&Object.keys(o).length>1)&&r.layers.push(o)});var o=n.filter(function(e){return e.visible}).map(function(e){return e.id});\"tile\"!==this.type&&(r.visibleLayers=o)}},r.prototype.findSublayerById=function(e){return this.allSublayers.find(function(r){return r.id===e})},r.prototype.createServiceSublayers=function(){return this.serviceSublayers.map(function(e){return e.clone()})},r.prototype._updateSublayersForOrigin=function(e,r){var t=d(this);if(t.has(\"sublayers\",e)){var s=t.get(\"sublayers\",e),a=s.flatten(function(e){return e.sublayers});if(a.every(function(e){return!d(e).has(\"minScale\")})){var i=a.reduce(function(e,r){return e.set(r.id,r),e},new Map),u=r.map(function(e){return h(e.clone(),i)});t.set(\"sublayers\",new(n.ofType(p))(u),e)}}},r.prototype._handleSublayersChange=function(e,r){var t=this;r&&(r.forEach(function(e){e.parent=null,e.layer=null}),this._sublayersHandles.forEach(function(e){return e.remove()}),this._sublayersHandles=null),e&&(e.forEach(function(e){e.parent=t,e.layer=t}),this._sublayersHandles=[e.on(\"after-add\",function(e){var r=e.item;r.parent=t,r.layer=t}),e.on(\"after-remove\",function(e){var r=e.item;r.parent=null,r.layer=null})],\"tile\"===this.type&&this._sublayersHandles.push(e.on(\"before-changes\",function(e){S.error(new u(\"tilelayer:sublayers-non-modifiable\",\"Sublayer can't be added, moved, or removed from the layer's sublayers\",{layer:t})),e.preventDefault()})))},a([y.property({readOnly:!0})],r.prototype,\"allSublayers\",void 0),a([y.property({readOnly:!0,type:n.ofType(p)})],r.prototype,\"serviceSublayers\",void 0),a([y.reader(\"service\",\"serviceSublayers\",[\"layers\"])],r.prototype,\"readServiceSublayers\",null),a([y.property({value:null,type:n.ofType(p),json:{type:[Number],write:{target:\"subLayerIds\",allowNull:!0}}})],r.prototype,\"sublayers\",void 0),a([y.reader([\"web-map\",\"web-scene\",\"portal-item\"],\"sublayers\",[\"layers\",\"visibleLayers\"])],r.prototype,\"readSublayersFromItemOrWebMap\",null),a([y.reader(\"service\",\"sublayers\",[\"layers\"])],r.prototype,\"readSublayers\",null),a([y.writer(\"sublayers\",{layers:{type:[p]},visibleLayers:{type:[c.Integer]}})],r.prototype,\"writeSublayers\",null),r=a([y.subclass(\"esri.layers.mixins.SublayersOwner\")],r)}(y.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * TimeInfo provides information such as date fields that store\n * {@link module:esri/layers/support/TimeInfo#startField start}\n * and {@link module:esri/layers/support/TimeInfo#endField end} time\n * for each feature and the {@link module:esri/layers/support/TimeInfo#fullTimeExtent fullTimeExtent}\n * for the layer. The `timeInfo` property, along with its `startField` and `endField` properties, must be set at the\n * time of layer initialization if it is being set for a\n * {@link module:esri/layers/GeoJSONLayer}, {@link module:esri/layers/CSVLayer} or\n * {@link module:esri/layers/FeatureLayer} initialized from\n * [client-side features](esri-layers-FeatureLayer.html#creating-a-featurelayer).\n * The {@link module:esri/layers/support/TimeInfo#fullTimeExtent fullTimeExtent} for `timeInfo` is\n * automatically calculated based on its `startField` and `endField` properties.\n * The timeInfo parameters cannot be changed after the layer is {@link module:esri/layers/FeatureLayer#load loaded}.\n *\n * @name timeInfo\n * @type {module:esri/layers/support/TimeInfo}\n * @memberof module:esri/layers/mixins/TemporalLayer\n * @default null\n * @since 4.11\n * @autocast\n *\n * @example\n * // create geojson layer from usgs earthquakes geojson feed\n * const geojsonLayer = new GeoJSONLayer({\n * url: \"https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson\",\n * copyright: \"USGS Earthquakes\",\n * fields: [\n * { \"name\": \"mag\", \"type\": \"double\" },\n * { \"name\": \"place\", \"type\": \"string\" },\n * { \"name\": \"time\", \"type\": \"date\" }, // date field\n * { \"name\": \"depth\", \"type\": \"double\" }\n * ],\n * // timeInfo can be used to do temporal queries\n * // set the startField and endField.\n * // timeExtent is automatically calculated from the\n * // the start and end date fields\n * timeInfo: {\n * startField: \"time\"\n * }\n * });\n */\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../TimeExtent\",\"../../TimeInterval\",\"../../core/accessorSupport/decorators\",\"../../layers/support/TimeInfo\",\"../support/fieldUtils\",\"../support/timeUtils\"],function(e,t,r,o,i,n,p,s,l,u){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TemporalLayer=function(e){return function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.timeExtent=null,t.timeOffset=null,t.useViewTime=!0,t}return r(t,e),t.prototype.readOffset=function(e,t){var r=t.timeInfo.exportOptions;if(!r)return null;var o=r.timeOffset,i=u.timeUnitKebabDictionary.fromJSON(r.timeOffsetUnits);return o&&i?new n({value:o,unit:i}):null},Object.defineProperty(t.prototype,\"timeInfo\",{set:function(e){l.fixTimeInfoFields(e,this.fields),this._set(\"timeInfo\",e)},enumerable:!0,configurable:!0}),o([p.property({type:i,json:{write:!1}})],t.prototype,\"timeExtent\",void 0),o([p.property({type:n})],t.prototype,\"timeOffset\",void 0),o([p.reader(\"service\",\"timeOffset\",[\"timeInfo.exportOptions\"])],t.prototype,\"readOffset\",null),o([p.property({value:null,type:s,json:{write:!0,origins:{\"web-document\":{read:!1,write:!1}}}})],t.prototype,\"timeInfo\",null),o([p.property({type:Boolean,json:{write:!1}})],t.prototype,\"useViewTime\",void 0),t=o([p.subclass(\"esri.layers.mixins.TemporalLayer\")],t)}(p.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"./exifUtils\"],function(e,r,t,o,n,i,p,d){var l={1:{id:1,rotation:0,mirrored:!1},2:{id:2,rotation:0,mirrored:!0},3:{id:3,rotation:180,mirrored:!1},4:{id:4,rotation:180,mirrored:!0},5:{id:5,rotation:-90,mirrored:!0},6:{id:6,rotation:90,mirrored:!1},7:{id:7,rotation:90,mirrored:!0},8:{id:8,rotation:-90,mirrored:!1}};return function(e){function r(r){var t=e.call(this,r)||this;return t.contentType=null,t.exifInfo=null,t.id=null,t.globalId=null,t.keywords=null,t.name=null,t.parentGlobalId=null,t.parentObjectId=null,t.size=null,t.url=null,t}t(r,e),n=r,Object.defineProperty(r.prototype,\"orientationInfo\",{get:function(){var e=this.exifInfo,r=d.getExifValue({exifName:\"Exif IFD0\",tagName:\"Orientation\",exifInfo:e});return l[r]||null},enumerable:!0,configurable:!0}),r.prototype.clone=function(){return new n({contentType:this.contentType,exifInfo:this.exifInfo,id:this.id,globalId:this.globalId,keywords:this.keywords,name:this.name,parentGlobalId:this.parentGlobalId,parentObjectId:this.parentObjectId,size:this.size,url:this.url})};var n;return o([i.property({type:String})],r.prototype,\"contentType\",void 0),o([i.property()],r.prototype,\"exifInfo\",void 0),o([i.property({readOnly:!0,dependsOn:[\"exifInfo\"]})],r.prototype,\"orientationInfo\",null),o([i.property({type:p.Integer})],r.prototype,\"id\",void 0),o([i.property({type:String})],r.prototype,\"globalId\",void 0),o([i.property({type:String})],r.prototype,\"keywords\",void 0),o([i.property({type:String})],r.prototype,\"name\",void 0),o([i.property({json:{read:!1}})],r.prototype,\"parentGlobalId\",void 0),o([i.property({json:{read:!1}})],r.prototype,\"parentObjectId\",void 0),o([i.property({type:p.Integer})],r.prototype,\"size\",void 0),o([i.property({json:{read:!1}})],r.prototype,\"url\",void 0),r=n=o([i.subclass(\"esri.layers.support.AttachmentInfo\")],r)}(i.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,p,n){Object.defineProperty(r,\"__esModule\",{value:!0});var u=function(e){function r(r){var o=e.call(this,r)||this;return o.name=null,o.code=null,o}t(r,e),p=r,r.prototype.clone=function(){return new p({name:this.name,code:this.code})};var p;return o([n.property({type:String,json:{write:!0}})],r.prototype,\"name\",void 0),o([n.property({type:[String,Number],json:{write:!0}})],r.prototype,\"code\",void 0),r=p=o([n.subclass(\"esri.layers.support.CodedValue\")],r)}(n.declared(p.JSONSupport));r.CodedValue=u,r.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./CodedValue\",\"./Domain\"],function(e,o,r,t,n,a,d,u){return function(e){function o(o){var r=e.call(this,o)||this;return r.codedValues=null,r.type=\"coded-value\",r}r(o,e),u=o,o.prototype.getName=function(e){var o=null;if(this.codedValues){var r=String(e);this.codedValues.some(function(e){return String(e.code)===r&&(o=e.name),!!o})}return o},o.prototype.clone=function(){return new u({codedValues:n.clone(this.codedValues),name:this.name})};var u;return t([a.property({type:[d.default],json:{write:!0}})],o.prototype,\"codedValues\",void 0),t([a.enumeration.serializable()({codedValue:\"coded-value\"})],o.prototype,\"type\",void 0),o=u=t([a.subclass(\"esri.layers.support.CodedValueDomain\")],o)}(a.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,n,p,a){var i=new n.default({inherited:\"inherited\",codedValue:\"coded-value\",range:\"range\"});return function(e){function r(r){var t=e.call(this,r)||this;return t.name=null,t.type=null,t}return t(r,e),o([a.property({type:String,json:{write:!0}})],r.prototype,\"name\",void 0),o([a.enumeration.serializable()(i)],r.prototype,\"type\",void 0),r=o([a.subclass(\"esri.layers.support.Domain\")],r)}(a.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"./sublayerUtils\",\"./timeUtils\",\"../../views/View\"],function(e,r,t,a,i,n,s,l,y,o){Object.defineProperty(r,\"__esModule\",{value:!0});var u={visible:\"visibleSublayers\",definitionExpression:\"layerDefs\",labelingInfo:\"hasDynamicLayers\",labelsVisible:\"hasDynamicLayers\",opacity:\"hasDynamicLayers\",minScale:\"visibleSublayers\",maxScale:\"visibleSublayers\",renderer:\"hasDynamicLayers\",source:\"hasDynamicLayers\"},p=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r._scale=null,r.view=null,r}return a(r,e),Object.defineProperty(r.prototype,\"dynamicLayers\",{get:function(){if(!this.hasDynamicLayers)return null;var e=this.visibleSublayers.map(function(e){return e.toExportImageJSON()});return e.length?JSON.stringify(e):null},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"hasDynamicLayers\",{get:function(){return this.layer&&l.isExportDynamic(this.visibleSublayers,this.layer.serviceSublayers,this.layer)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"layer\",{set:function(e){var r=this;this._get(\"layer\")!==e&&(this._set(\"layer\",e),this._layerHandles&&(this._layerHandles.forEach(function(e){return e.remove()}),this._layerHandles.length=0),e&&(this._layerHandles=[e.allSublayers.on(\"change\",function(){return r.notifyChange(\"visibleSublayers\")}),e.on(\"sublayer-update\",function(e){return r.notifyChange(u[e.propertyName])})]))},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"layers\",{get:function(){var e=this.visibleSublayers;return e?e.length?\"show:\"+e.map(function(e){return e.id}).join(\",\"):\"show:-1\":null},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"layerDefs\",{get:function(){var e=this.visibleSublayers.filter(function(e){return null!=e.definitionExpression});return e.length?JSON.stringify(e.reduce(function(e,r){return e[r.id]=r.definitionExpression,e},{})):null},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"scale\",{get:function(){return null!=this._scale?this._scale:this.view&&this.view.scale||0},set:function(e){this.view||(this._scale=e,this.notifyChange(\"scale\"))},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"version\",{get:function(){var e=this;e.layers,e.layerDefs,e.dynamicLayers,e.timeExtent;var r=e.layer;return r&&(r.dpi,r.imageFormat,r.imageTransparency,r.gdbVersion),(this._get(\"version\")||0)+1},set:function(e){this._set(\"version\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"visibleSublayers\",{get:function(){var e=this,r=[];if(!this.layer)return r;var t=this.layer.sublayers,a=function(t){var i=e.scale,n=0===i,s=0===t.minScale||i<=t.minScale,l=0===t.maxScale||i>=t.maxScale;t.visible&&(n||s&&l)&&(t.sublayers?t.sublayers.forEach(a):r.unshift(t))};t&&t.forEach(a);var i=this._get(\"visibleSublayers\");return!i||i.length!==r.length||i.some(function(e,t){return r[t]!==e})?r:i},enumerable:!0,configurable:!0}),r.prototype.toJSON=function(){var e=this.layer,r={dpi:e.dpi,format:e.imageFormat,transparent:e.imageTransparency,gdbVersion:e.gdbVersion||null};return this.hasDynamicLayers&&this.dynamicLayers?r.dynamicLayers=this.dynamicLayers:r=t({},r,{layers:this.layers,layerDefs:this.layerDefs}),r},i([s.property({readOnly:!0,dependsOn:[\"hasDynamicLayers\",\"visibleSublayers\"]})],r.prototype,\"dynamicLayers\",null),i([s.property({readOnly:!0,dependsOn:[\"visibleSublayers\",\"layer.serviceSublayers\",\"layer.capabilities\"]})],r.prototype,\"hasDynamicLayers\",null),i([s.property()],r.prototype,\"layer\",null),i([s.property({readOnly:!0,dependsOn:[\"visibleSublayers\"]})],r.prototype,\"layers\",null),i([s.property({readOnly:!0,dependsOn:[\"visibleSublayers\"]})],r.prototype,\"layerDefs\",null),i([s.property({type:Number,dependsOn:[\"view.scale\"]})],r.prototype,\"scale\",null),i([s.property(y.combinedViewLayerTimeExtentProperty)],r.prototype,\"timeExtent\",void 0),i([s.property({dependsOn:[\"layers\",\"layerDefs\",\"dynamicLayers\",\"layer.dpi\",\"layer.imageFormat\",\"layer.imageTransparency\",\"layer.gdbVersion\",\"timeExtent\"]})],r.prototype,\"version\",null),i([s.property({type:o})],r.prototype,\"view\",void 0),i([s.property({readOnly:!0,dependsOn:[\"layer.sublayers\",\"scale\"]})],r.prototype,\"visibleSublayers\",null),r=i([s.subclass(\"esri.layers.mixins.ExportImageParameters\")],r)}(s.declared(n));r.ExportImageParameters=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,n,p){Object.defineProperty(r,\"__esModule\",{value:!0});var i=function(e){function r(r){return e.call(this,r)||this}t(r,e),n=r,r.prototype.clone=function(){var e=this,r=e.name,t=e.fields,o=e.isAscending,p=e.isUnique,i=e.description;return new n({name:r,fields:t,isAscending:o,isUnique:p,description:i})};var n;return o([p.property({constructOnly:!0})],r.prototype,\"name\",void 0),o([p.property({constructOnly:!0})],r.prototype,\"fields\",void 0),o([p.property({constructOnly:!0})],r.prototype,\"isAscending\",void 0),o([p.property({constructOnly:!0})],r.prototype,\"isUnique\",void 0),o([p.property({constructOnly:!0})],r.prototype,\"description\",void 0),r=n=o([p.subclass(\"esri.layers.support.FeatureIndex\")],r)}(p.declared(n.JSONSupport));r.FeatureIndex=i,r.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,p,u){Object.defineProperty(r,\"__esModule\",{value:!0});var c=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.type=null,r}return t(r,e),o([u.property({type:[\"selection\",\"cluster\"],readOnly:!0,json:{read:!1,write:!0}})],r.prototype,\"type\",void 0),r=o([u.subclass(\"esri.layers.support.FeatureReduction\")],r)}(u.declared(p.JSONSupport));r.FeatureReduction=c,r.default=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../PopupTemplate\",\"../../core/JSONSupport\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\"],function(e,t,r,p,o,u,s,c){Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"cluster\",r.clusterRadius=s.toPt(\"80px\"),r.popupTemplate=null,r}return r(t,e),p([c.property({type:[\"cluster\"],readOnly:!0,json:{write:!0}})],t.prototype,\"type\",void 0),p([c.property({type:Number,cast:function(e){return\"auto\"===e?e:s.toPt(e)},json:{write:!0}})],t.prototype,\"clusterRadius\",void 0),p([c.property({type:o,json:{read:{source:\"popupInfo\"},write:{target:\"popupInfo\"}}})],t.prototype,\"popupTemplate\",void 0),t=p([c.subclass(\"esri.layers.support.FeatureReductionCluster\")],t)}(c.declared(u.JSONSupport));t.FeatureReductionCluster=a,t.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./FeatureReduction\"],function(e,t,r,o,c,u){Object.defineProperty(t,\"__esModule\",{value:!0});var p=function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"selection\",r}return r(t,e),o([c.property({type:[\"selection\"]})],t.prototype,\"type\",void 0),t=o([c.subclass(\"esri.layers.support.FeatureReductionSelection\")],t)}(c.declared(u.default));t.FeatureReductionSelection=p,t.default=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\"],function(e,o,r,t,i,l,n,p){var a=new i.default({esriFeatureEditToolAutoCompletePolygon:\"auto-complete-polygon\",esriFeatureEditToolCircle:\"circle\",esriFeatureEditToolEllipse:\"ellipse\",esriFeatureEditToolFreehand:\"freehand\",esriFeatureEditToolLine:\"line\",esriFeatureEditToolNone:\"none\",esriFeatureEditToolPoint:\"point\",esriFeatureEditToolPolygon:\"polygon\",esriFeatureEditToolRectangle:\"rectangle\",esriFeatureEditToolArrow:\"arrow\",esriFeatureEditToolTriangle:\"triangle\",esriFeatureEditToolLeftArrow:\"left-arrow\",esriFeatureEditToolRightArrow:\"right-arrow\",esriFeatureEditToolUpArrow:\"up-arrow\",esriFeatureEditToolDownArrow:\"down-arrow\"});return function(e){function o(o){var r=e.call(this,o)||this;return r.name=null,r.description=null,r.drawingTool=null,r.prototype=null,r.thumbnail=null,r}return r(o,e),o.prototype.writeDrawingTool=function(e,o){o.drawingTool=a.toJSON(e)},o.prototype.writePrototype=function(e,o){o.prototype=n.fixJson(n.clone(e),!0)},o.prototype.writeThumbnail=function(e,o){o.thumbnail=n.fixJson(n.clone(e))},t([p.property({json:{write:!0}})],o.prototype,\"name\",void 0),t([p.property({json:{write:!0}})],o.prototype,\"description\",void 0),t([p.property({json:{read:a.read,write:a.write}})],o.prototype,\"drawingTool\",void 0),t([p.writer(\"drawingTool\")],o.prototype,\"writeDrawingTool\",null),t([p.property({json:{write:!0}})],o.prototype,\"prototype\",void 0),t([p.writer(\"prototype\")],o.prototype,\"writePrototype\",null),t([p.property({json:{write:!0}})],o.prototype,\"thumbnail\",void 0),t([p.writer(\"thumbnail\")],o.prototype,\"writeThumbnail\",null),o=t([p.subclass(\"esri.layers.support.FeatureTemplate\")],o)}(p.declared(l.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./domains\",\"./FeatureTemplate\"],function(e,r,t,o,n,p,a,i,s){return function(e){function r(r){var t=e.call(this,r)||this;return t.id=null,t.name=null,t.domains=null,t.templates=null,t}return t(r,e),r.prototype.readDomains=function(e){var r={};for(var t in e)if(e.hasOwnProperty(t)){var o=e[t];switch(o.type){case\"range\":r[t]=i.RangeDomain.fromJSON(o);break;case\"codedValue\":r[t]=i.CodedValueDomain.fromJSON(o);break;case\"inherited\":r[t]=i.InheritedDomain.fromJSON(o)}}return r},r.prototype.writeDomains=function(e,r){var t={};for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]&&e[o].toJSON());p.fixJson(t),r.domains=t},r.prototype.readTemplates=function(e){return e&&e.map(function(e){return new s(e)})},r.prototype.writeTemplates=function(e,r){r.templates=e&&e.map(function(e){return e.toJSON()})},o([a.property({json:{write:!0}})],r.prototype,\"id\",void 0),o([a.property({json:{write:!0}})],r.prototype,\"name\",void 0),o([a.property({json:{write:!0}})],r.prototype,\"domains\",void 0),o([a.reader(\"domains\")],r.prototype,\"readDomains\",null),o([a.writer(\"domains\")],r.prototype,\"writeDomains\",null),o([a.property({json:{write:!0}})],r.prototype,\"templates\",void 0),o([a.reader(\"templates\")],r.prototype,\"readTemplates\",null),o([a.writer(\"templates\")],r.prototype,\"writeTemplates\",null),r=o([a.subclass(\"esri.layers.support.FeatureType\")],r)}(a.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"./domains\",\"./fieldType\"],function(e,t,r,o,n,i,p,a,l,d){var u=new n.default({binary:\"binary\",coordinate:\"coordinate\",countOrAmount:\"count-or-amount\",dateAndTime:\"date-and-time\",description:\"description\",locationOrPlaceName:\"location-or-place-name\",measurement:\"measurement\",nameOrTitle:\"name-or-title\",none:\"none\",orderedOrRanked:\"ordered-or-ranked\",percentageOrRatio:\"percentage-or-ratio\",typeOrCategory:\"type-or-category\",uniqueIdentifier:\"unique-identifier\"});return function(e){function t(t){var r=e.call(this,t)||this;return r.alias=null,r.defaultValue=void 0,r.description=null,r.domain=null,r.editable=!0,r.length=-1,r.name=null,r.nullable=!0,r.type=null,r.valueType=null,r}r(t,e),n=t,t.prototype.readDescription=function(e,t){var r,o=t.description;try{r=JSON.parse(o)}catch(e){}return r?r.value:null},t.prototype.readValueType=function(e,t){var r,o=t.description;try{r=JSON.parse(o)}catch(e){}return r?u.fromJSON(r.fieldValueType):null},t.prototype.clone=function(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain&&this.domain.clone()||null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType})};var n;return o([p.property({type:String,json:{write:!0}})],t.prototype,\"alias\",void 0),o([p.property({type:[String,Number],json:{write:{allowNull:!0}}})],t.prototype,\"defaultValue\",void 0),o([p.property()],t.prototype,\"description\",void 0),o([p.reader(\"description\")],t.prototype,\"readDescription\",null),o([p.property({types:l.types,json:{read:{reader:l.fromJSON},write:!0}})],t.prototype,\"domain\",void 0),o([p.property({type:Boolean,json:{write:!0}})],t.prototype,\"editable\",void 0),o([p.property({type:a.Integer,json:{write:!0}})],t.prototype,\"length\",void 0),o([p.property({type:String,json:{write:!0}})],t.prototype,\"name\",void 0),o([p.property({type:Boolean,json:{write:!0}})],t.prototype,\"nullable\",void 0),o([p.enumeration.serializable()(d.kebabDict)],t.prototype,\"type\",void 0),o([p.property()],t.prototype,\"valueType\",void 0),o([p.reader(\"valueType\",[\"description\"])],t.prototype,\"readValueType\",null),t=n=o([p.subclass(\"esri.layers.support.Field\")],t)}(p.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/extendsHelper\"],function(t,e,i){function s(t){return\"date\"===t.type||\"esriFieldTypeDate\"===t.type}function n(t){return t.toLowerCase().trim()}return function(){function t(t){if(this.fields=t,this._fieldsMap=new Map,this._dateFieldsSet=new Set,this.dateFields=[],t){for(var e=[],i=0,r=t;i<r.length;i++){var o=r[i],a=o&&o.name;if(a){var d=n(a);this._fieldsMap.set(a,o),this._fieldsMap.set(d,o),e.push(d),s(o)&&(this.dateFields.push(o),this._dateFieldsSet.add(o))}}e.sort(),this.uid=e.join(\",\")}}return t.prototype.destroy=function(){this._fieldsMap.clear()},t.prototype.has=function(t){return null!=this.get(t)},t.prototype.get=function(t){return null!=t?this._fieldsMap.get(t)||this._fieldsMap.get(n(t)):void 0},t.prototype.isDateField=function(t){return this._dateFieldsSet.has(this.get(t))},t.prototype.normalizeFieldName=function(t){var e=this.get(t);if(e)return e.name},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./Domain\"],function(e,r,t,o,n,i){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=\"inherited\",t}t(r,e),i=r,r.prototype.clone=function(){return new i};var i;return o([n.enumeration.serializable()({inherited:\"inherited\"})],r.prototype,\"type\",void 0),r=i=o([n.subclass(\"esri.layers.support.InheritedDomain\")],r)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\"],function(e,r,t,o,p,l,s){return function(e){function r(r){var t=e.call(this,r)||this;return t.level=0,t.levelValue=null,t.resolution=0,t.scale=0,t}t(r,e),p=r,r.prototype.clone=function(){return new p({level:this.level,levelValue:this.levelValue,resolution:this.resolution,scale:this.scale})};var p;return o([l.property({type:s.Integer,json:{write:!0}})],r.prototype,\"level\",void 0),o([l.property({type:String,json:{write:!0}})],r.prototype,\"levelValue\",void 0),o([l.property({type:Number,json:{write:!0}})],r.prototype,\"resolution\",void 0),o([l.property({type:Number,json:{write:!0}})],r.prototype,\"scale\",void 0),r=p=o([l.subclass(\"esri.layers.support.LOD\")],r)}(l.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../symbols\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./LabelExpressionInfo\",\"./labelUtils\",\"./types\",\"../../symbols/support/defaults\",\"../../symbols/support/jsonUtils\"],function(e,r,t,n,o,l,s,i,a,p,c,u,b,f,v,y){function x(e){return!e||\"service\"!==e.origin&&(!e.layer||!f.isOfType(e.layer,\"map-image\"))}function m(e){var r=e.match(E);return r&&r[1].trim()||null}function w(e){if(!e)return null;var r=g.exec(e);return r&&(r[1]||r[3])||null}function S(e){return e.replace(new RegExp(\"\\\\[\",\"g\"),\"{\").replace(new RegExp(\"\\\\]\",\"g\"),\"}\")}function d(e){return e.replace(new RegExp(\"\\\\{\",\"g\"),\"[\").replace(new RegExp(\"\\\\}\",\"g\"),\"]\")}var h=new i.default({esriServerPointLabelPlacementAboveCenter:\"above-center\",esriServerPointLabelPlacementAboveLeft:\"above-left\",esriServerPointLabelPlacementAboveRight:\"above-right\",esriServerPointLabelPlacementBelowCenter:\"below-center\",esriServerPointLabelPlacementBelowLeft:\"below-left\",esriServerPointLabelPlacementBelowRight:\"below-right\",esriServerPointLabelPlacementCenterCenter:\"center-center\",esriServerPointLabelPlacementCenterLeft:\"center-left\",esriServerPointLabelPlacementCenterRight:\"center-right\",esriServerLinePlacementAboveAfter:\"above-after\",esriServerLinePlacementAboveAlong:\"above-along\",esriServerLinePlacementAboveBefore:\"above-before\",esriServerLinePlacementAboveStart:\"above-start\",esriServerLinePlacementAboveEnd:\"above-end\",esriServerLinePlacementBelowAfter:\"below-after\",esriServerLinePlacementBelowAlong:\"below-along\",esriServerLinePlacementBelowBefore:\"below-before\",esriServerLinePlacementBelowStart:\"below-start\",esriServerLinePlacementBelowEnd:\"below-end\",esriServerLinePlacementCenterAfter:\"center-after\",esriServerLinePlacementCenterAlong:\"center-along\",esriServerLinePlacementCenterBefore:\"center-before\",esriServerLinePlacementCenterStart:\"center-start\",esriServerLinePlacementCenterEnd:\"center-end\",esriServerPolygonPlacementAlwaysHorizontal:\"always-horizontal\"},{ignoreUnknown:!0}),E=/^\\s*\\{([^}]+)\\}\\s*$/i,g=/^\\s*(?:(?:\\$feature\\.(\\w+))|(?:\\$feature\\[([\"'])([\\w\\s]+)(\\2)\\]))\\s*$/i;return function(e){function r(r){var t=e.call(this,r)||this;return t.name=null,t.labelExpression=null,t.labelExpressionInfo=null,t.labelPlacement=null,t.maxScale=0,t.minScale=0,t.symbol=v.defaultTextSymbol2D,t.useCodedValues=void 0,t.where=null,t}n(r,e),o=r,r.evaluateWhere=function(e,r){var t=function(e,r,t){switch(r){case\"=\":return e==t;case\"<>\":return e!=t;case\">\":return e>t;case\">=\":return e>=t;case\"<\":return e<t;case\"<=\":return e<=t}return!1};try{if(null==e)return!0;var n=e.split(\" \");if(3===n.length)return t(r[n[0]],n[1],n[2]);if(7===n.length){var o=t(r[n[0]],n[1],n[2]),l=n[3],s=t(r[n[4]],n[5],n[6]);switch(l){case\"AND\":return o&&s;case\"OR\":return o||s}}return!1}catch(r){console.log(\"Error.: can't parse = \"+e)}},r.prototype.readLabelExpression=function(e,r){var t=r.labelExpressionInfo;if(!t||!t.value&&!t.expression)return e},r.prototype.writeLabelExpression=function(e,r,t,n){if(this.labelExpressionInfo&&x(n))if(null!=this.labelExpressionInfo.value)e=d(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){var o=w(this.labelExpressionInfo.expression);o&&(e=\"[\"+o+\"]\")}null!=e&&(r[t]=e)},r.prototype.writeLabelExpressionInfo=function(e,r,t,n){if(null==e&&null!=this.labelExpression&&x(n))e=new u({expression:this.getLabelExpressionArcade()});else if(!e)return;var o=e.toJSON(n);o.expression&&(r[t]=o)},r.prototype.writeMaxScale=function(e,r){(e||this.minScale)&&(r.maxScale=e)},r.prototype.writeMinScale=function(e,r){(e||this.maxScale)&&(r.minScale=e)},r.prototype.getLabelExpression=function(){var e={expression:\"\",type:\"none\"};return this.labelExpressionInfo?this.labelExpressionInfo.value?(e.expression=this.labelExpressionInfo.value,e.type=\"conventional\"):this.labelExpressionInfo.expression&&(e.expression=this.labelExpressionInfo.expression,e.type=\"arcade\"):null!=this.labelExpression&&(e.expression=S(this.labelExpression),e.type=\"conventional\"),e},r.prototype.getLabelExpressionArcade=function(){var e=this.getLabelExpression();if(!e)return null;switch(e.type){case\"conventional\":return b.convertTemplatedStringToArcade(e.expression);case\"arcade\":return e.expression}return null},r.prototype.getLabelExpressionSingleField=function(){var e=this.getLabelExpression();if(!e)return null;switch(e.type){case\"conventional\":return m(e.expression);case\"arcade\":return w(e.expression)}return null},r.prototype.clone=function(){return new o({labelExpression:this.labelExpression,labelExpressionInfo:p.clone(this.labelExpressionInfo),labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,symbol:p.clone(this.symbol),where:this.where,useCodedValues:this.useCodedValues})};var o;return t([c.property({type:String,json:{write:!0}})],r.prototype,\"name\",void 0),t([c.property({type:String,json:{write:{allowNull:!0}}})],r.prototype,\"labelExpression\",void 0),t([c.reader(\"labelExpression\")],r.prototype,\"readLabelExpression\",null),t([c.writer(\"labelExpression\")],r.prototype,\"writeLabelExpression\",null),t([c.property({type:u,json:{write:{overridePolicy:function(e,r,t){return x(t)?{allowNull:!0}:{enabled:!1}}}}})],r.prototype,\"labelExpressionInfo\",void 0),t([c.writer(\"labelExpressionInfo\")],r.prototype,\"writeLabelExpressionInfo\",null),t([c.property({type:h.apiValues,json:{type:h.jsonValues,read:h.read,write:h.write}})],r.prototype,\"labelPlacement\",void 0),t([c.property({type:Number})],r.prototype,\"maxScale\",void 0),t([c.writer(\"maxScale\")],r.prototype,\"writeMaxScale\",null),t([c.property({type:Number})],r.prototype,\"minScale\",void 0),t([c.writer(\"minScale\")],r.prototype,\"writeMinScale\",null),t([c.property({types:s.symbolTypesLabel,json:{origins:{\"web-scene\":{types:s.symbolTypesLabel3D,read:y.read,write:y.writeTarget,default:null}},read:y.read,write:y.writeTarget,default:null}})],r.prototype,\"symbol\",void 0),t([c.property({type:Boolean,json:{write:!0}})],r.prototype,\"useCodedValues\",void 0),t([c.property({type:String,json:{write:!0}})],r.prototype,\"where\",void 0),r=o=t([c.subclass(\"esri.layers.support.LabelClass\")],r)}(c.declared(a.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"./labelUtils\"],function(e,r,o,t,p,n,s){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.value=null,r.expression=null,r}o(r,e),p=r,r.prototype.readExpression=function(e,r){return r.value?s.convertTemplatedStringToArcade(r.value):e},r.prototype.writeExpression=function(e,r,o){null!=this.value&&(e=s.convertTemplatedStringToArcade(this.value)),r[o]=e},r.prototype.clone=function(){return new p({value:this.value,expression:this.expression})};var p;return t([n.property({json:{read:!1,write:!1}})],r.prototype,\"value\",void 0),t([n.property({type:String,json:{write:{allowNull:!0}}})],r.prototype,\"expression\",void 0),t([n.reader(\"expression\",[\"expression\",\"value\"])],r.prototype,\"readExpression\",null),t([n.writer(\"expression\")],r.prototype,\"writeExpression\",null),r=p=t([n.subclass(\"esri.layers.support.LabelExpressionInfo\")],r)}(n.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/paramHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../geometry/Extent\"],function(t,e,r,o,p,i,l,n){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.extent=null,e.height=null,e.href=null,e.opacity=1,e.rotation=0,e.scale=null,e.visible=!0,e.width=null,e}return r(e,t),o([l.property({type:n})],e.prototype,\"extent\",void 0),o([l.property()],e.prototype,\"height\",void 0),o([l.property()],e.prototype,\"href\",void 0),o([l.property()],e.prototype,\"opacity\",void 0),o([l.property()],e.prototype,\"rotation\",void 0),o([l.property()],e.prototype,\"scale\",void 0),o([l.property()],e.prototype,\"visible\",void 0),o([l.property()],e.prototype,\"width\",void 0),e=o([l.subclass(\"esri.layer.support.MapImage\")],e)}(l.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./Domain\"],function(e,r,n,t,a,u){return function(e){function r(r){var n=e.call(this,r)||this;return n.maxValue=null,n.minValue=null,n.type=\"range\",n}n(r,e),u=r,r.prototype.clone=function(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})};var u;return t([a.property({type:Number,json:{type:[Number],read:{source:\"range\",reader:function(e,r){return r.range&&r.range[1]}},write:{enabled:!1,overridePolicy:function(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:\"range\",writer:function(e,r,n){r[n]=[this.minValue||0,e]}}}})],r.prototype,\"maxValue\",void 0),t([a.property({type:Number,json:{type:[Number],read:{source:\"range\",reader:function(e,r){return r.range&&r.range[0]}},write:{target:\"range\",writer:function(e,r,n){r[n]=[e,this.maxValue||0]}}}})],r.prototype,\"minValue\",void 0),t([a.enumeration.serializable()({range:\"range\"})],r.prototype,\"type\",void 0),r=u=t([a.subclass(\"esri.layers.support.RangeDomain\")],r)}(a.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,n,a,i){var p=new n.default({esriRelCardinalityOneToOne:\"one-to-one\",esriRelCardinalityOneToMany:\"one-to-many\",esriRelCardinalityManyToMany:\"many-to-many\"});return function(e){function r(r){var o=e.call(this,r)||this;return o.cardinality=null,o.id=null,o.keyField=null,o.name=null,o.relatedTableId=null,o}return o(r,e),t([i.property({json:{read:p.read,write:p.write}})],r.prototype,\"cardinality\",void 0),t([i.property({json:{read:!0,write:!0}})],r.prototype,\"id\",void 0),t([i.property({json:{read:!0,write:!0}})],r.prototype,\"keyField\",void 0),t([i.property({json:{read:!0,write:!0}})],r.prototype,\"name\",void 0),t([i.property({json:{read:!0,write:!0}})],r.prototype,\"relatedTableId\",void 0),r=t([i.subclass(\"esri.layers.support.Relationship\")],r)}(i.declared(a.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/paramHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../PopupTemplate\",\"../../renderers\",\"../../symbols\",\"../../core/Collection\",\"../../core/Error\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/Logger\",\"../../core/promiseUtils\",\"../../core/urlUtils\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../../core/accessorSupport/write\",\"./commonProperties\",\"./LabelClass\",\"./layerSourceUtils\",\"../../renderers/support/jsonUtils\",\"../../tasks/support/Query\"],function(e,r,t,i,n,o,a,l,s,p,u,y,c,f,d,h,b,g,m,w,S,O,v,P,_){function x(e){return e&&\"esriSMS\"===e.type}var E=d.getLogger(\"esri.layers.support.Sublayer\"),I=0;return function(r){function n(e){var t=r.call(this,e)||this;return t._sublayersHandles=null,t}t(n,r),c=n,Object.defineProperty(n.prototype,\"definitionExpression\",{get:function(){return this._get(\"definitionExpression\")},set:function(e){this._setAndNotifyLayer(\"definitionExpression\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"id\",{get:function(){var e=this._get(\"id\");return null==e?I++:e},set:function(e){if(this._get(\"id\")!==e)return!1===this.get(\"layer.capabilities.exportMap.supportsDynamicLayers\")?void this._logLockedError(\"id\"):void this._set(\"id\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"labelingInfo\",{get:function(){return this._get(\"labelingInfo\")},set:function(e){this._setAndNotifyLayer(\"labelingInfo\",e)},enumerable:!0,configurable:!0}),n.prototype.writeLabelingInfo=function(e,r,t,i){i&&!i.writeAsDynamic||e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map(function(e){return e.write({},i)})}})},Object.defineProperty(n.prototype,\"labelsVisible\",{get:function(){return this._get(\"labelsVisible\")},set:function(e){this._setAndNotifyLayer(\"labelsVisible\",e)},enumerable:!0,configurable:!0}),n.prototype.writeLabelsVisible=function(e,r,t,i){i&&!i.writeAsDynamic||(r.showLabels=e)},Object.defineProperty(n.prototype,\"layer\",{set:function(e){this._set(\"layer\",e),this.sublayers&&this.sublayers.forEach(function(r){return r.layer=e})},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"legendEnabled\",{get:function(){return this._get(\"legendEnabled\")},set:function(e){this._set(\"legendEnabled\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"listMode\",{get:function(){return this._get(\"listMode\")},set:function(e){this._set(\"listMode\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"minScale\",{get:function(){return this._get(\"minScale\")},set:function(e){this._setAndNotifyLayer(\"minScale\",e)},enumerable:!0,configurable:!0}),n.prototype.readMinScale=function(e,r){return r.minScale||r.layerDefinition&&r.layerDefinition.minScale||0},n.prototype.writeMinScale=function(e,r,t,i){if(i&&i.writeOverridesOnly){var n=i&&i.serviceSublayer;if(n&&n.minScale===e&&n.maxScale===this.maxScale)return}r.minScale=e},Object.defineProperty(n.prototype,\"maxScale\",{get:function(){return this._get(\"maxScale\")},set:function(e){this._setAndNotifyLayer(\"maxScale\",e)},enumerable:!0,configurable:!0}),n.prototype.readMaxScale=function(e,r){return r.maxScale||r.layerDefinition&&r.layerDefinition.maxScale||0},n.prototype.writeMaxScale=function(e,r,t,i){if(i&&i.writeOverridesOnly){var n=i&&i.serviceSublayer;if(n&&n.maxScale===e&&n.minScale===this.minScale)return}r.maxScale=e},Object.defineProperty(n.prototype,\"opacity\",{get:function(){return this._get(\"opacity\")},set:function(e){this._setAndNotifyLayer(\"opacity\",e)},enumerable:!0,configurable:!0}),n.prototype.readOpacity=function(e,r){var t=r.layerDefinition;return 1-.01*(null!=t.transparency?t.transparency:t.drawingInfo.transparency)},n.prototype.writeOpacity=function(e,r,t,i){i&&!i.writeAsDynamic||(r.layerDefinition={drawingInfo:{transparency:100-100*e}})},n.prototype.writeParent=function(e,r,t,i){i&&i.writeOverridesOnly||(this.parent&&this.parent!==this.layer?r.parentLayerId=this.parent.id:r.parentLayerId=-1)},Object.defineProperty(n.prototype,\"popupEnabled\",{get:function(){return this._get(\"popupEnabled\")},set:function(e){this._set(\"popupEnabled\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"popupTemplate\",{get:function(){return this._get(\"popupTemplate\")},set:function(e){this._set(\"popupTemplate\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"renderer\",{get:function(){return this._get(\"renderer\")},set:function(e){if(e)for(var r=0,t=e.getSymbols();r<t.length;r++){var i=t[r];if(p.isSymbol3D(i)){E.warn(\"Sublayer renderer should use 2D symbols\");break}}this._setAndNotifyLayer(\"renderer\",e)},enumerable:!0,configurable:!0}),n.prototype.readRenderer=function(e,r,t){return e=r.layerDefinition.drawingInfo.renderer||void 0,e&&((e=P.read(e,r,t)||void 0)||E.error(\"Failed to create renderer\",{rendererDefinition:r.drawingInfo.renderer,layer:this,context:t})),e},n.prototype.writeRenderer=function(e,r,t,i){i&&!i.writeAsDynamic||(r.layerDefinition={drawingInfo:{renderer:e.toJSON()}})},n.prototype.writeWebSceneRenderer=function(e,r,t,i){i&&!i.writeAsDynamic||(r.layerDefinition={drawingInfo:{renderer:e.toJSON()}})},Object.defineProperty(n.prototype,\"source\",{get:function(){return this._get(\"source\")||{mapLayerId:this.id,type:v.MAPLAYER}},set:function(e){this._setAndNotifyLayer(\"source\",e)},enumerable:!0,configurable:!0}),n.prototype.writeSource=function(e,r,t,i){i&&!i.writeAsDynamic&&i.writeOverridesOnly||(r.layerDefinition={source:v.sourceToJSON(e)})},Object.defineProperty(n.prototype,\"sublayers\",{set:function(e){this._handleSublayersChange(e,this._get(\"sublayers\")),this._set(\"sublayers\",e)},enumerable:!0,configurable:!0}),n.prototype.castSublayers=function(e){return m.default(u.ofType(c),e)},n.prototype.writeSublayers=function(e,r,t,i){i&&i.writeOverridesOnly||this.get(\"sublayers.length\")&&(r[t]=this.sublayers.map(function(e){return e.id}).toArray().reverse())},Object.defineProperty(n.prototype,\"title\",{get:function(){return this._get(\"title\")},set:function(e){this._set(\"title\",e)},enumerable:!0,configurable:!0}),n.prototype.writeTitle=function(e,r,t,i){if(i&&i.writeOverridesOnly){var n=i&&i.serviceSublayer;if(n&&n.title===e)return}r[t]=e},Object.defineProperty(n.prototype,\"url\",{get:function(){var e=this.layer,r=this.source;if(!e)return null;if(v.isMapLayerSource(r))return e.parsedUrl.path+\"/\"+r.mapLayerId;var t={layer:JSON.stringify({source:v.sourceToJSON(this.source)})};return e.parsedUrl.path+\"/dynamicLayer?\"+b.objectToQuery(t)},set:function(e){e?this._override(\"url\",e):this._clearOverride(\"url\")},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"visible\",{get:function(){return this._get(\"visible\")},set:function(e){this._setAndNotifyLayer(\"visible\",e)},enumerable:!0,configurable:!0}),n.prototype.writeVisible=function(e,r,t,i){if(i&&i.writeOverridesOnly){var n=i&&i.serviceSublayer;if(n&&n.visible===e)return}r[t]=e},n.prototype.clone=function(){var e=new c;return this.hasOwnProperty(\"definitionExpression\")&&(e.definitionExpression=this.definitionExpression),this.hasOwnProperty(\"id\")&&(e.id=this.id),this.hasOwnProperty(\"labelingInfo\")&&(e.labelingInfo=f.clone(this.labelingInfo)),this.hasOwnProperty(\"labelsVisible\")&&(e.labelsVisible=this.labelsVisible),this.hasOwnProperty(\"legendEnabled\")&&(e.legendEnabled=this.legendEnabled),this.hasOwnProperty(\"visible\")&&(e.visible=this.visible),this.hasOwnProperty(\"layer\")&&(e.layer=this.layer),this.hasOwnProperty(\"minScale\")&&(e.minScale=this.minScale),this.hasOwnProperty(\"maxScale\")&&(e.maxScale=this.maxScale),this.hasOwnProperty(\"opacity\")&&(e.opacity=this.opacity),this.hasOwnProperty(\"parent\")&&(e.parent=this.parent),this.hasOwnProperty(\"popupEnabled\")&&(e.popupEnabled=this.popupEnabled),this.hasOwnProperty(\"popupTemplate\")&&(e.popupTemplate=this.popupTemplate?this.popupTemplate.clone():this.popupTemplate),this.hasOwnProperty(\"renderer\")&&(e.renderer=this.renderer?this.renderer.clone():this.renderer),this.hasOwnProperty(\"source\")&&(e.source=f.clone(this.source)),this.hasOwnProperty(\"sublayers\")&&(e.sublayers=this.sublayers?this.sublayers.clone():this.sublayers),this.hasOwnProperty(\"title\")&&(e.title=this.title),e},n.prototype.createQuery=function(){return new _({returnGeometry:!0,where:this.definitionExpression||\"1=1\"})},n.prototype.createFeatureLayer=function(){return a(this,void 0,void 0,function(){var r,t,i,n,a;return o(this,function(o){switch(o.label){case 0:return this.hasOwnProperty(\"sublayers\")?[2,null]:(r=this.layer&&this.layer.parsedUrl,t=this.source,i=null,r&&(i=v.isMapLayerSource(t)?r.path+\"/\"+t.mapLayerId:r.path+\"/dynamicLayer\"),[4,h.create(function(r){return e([\"../FeatureLayer\"],r)})]);case 1:return n=o.sent(),a=new n({url:i}),this.hasOwnProperty(\"definitionExpression\")&&(a.definitionExpression=this.definitionExpression),this.hasOwnProperty(\"labelingInfo\")&&(a.labelingInfo=f.clone(this.labelingInfo)),this.hasOwnProperty(\"labelsVisible\")&&(a.labelsVisible=this.labelsVisible),this.hasOwnProperty(\"legendEnabled\")&&(a.legendEnabled=this.legendEnabled),this.hasOwnProperty(\"visible\")&&(a.visible=this.visible),this.hasOwnProperty(\"minScale\")&&(a.minScale=this.minScale),this.hasOwnProperty(\"maxScale\")&&(a.maxScale=this.maxScale),this.hasOwnProperty(\"opacity\")&&(a.opacity=this.opacity),this.hasOwnProperty(\"popupTemplate\")&&(a.popupTemplate=this.popupTemplate?this.popupTemplate.clone():this.popupTemplate),this.hasOwnProperty(\"renderer\")&&(a.renderer=this.renderer?this.renderer.clone():this.renderer),this.hasOwnProperty(\"source\")&&v.isDataLayerSource(this.source)&&(a.dynamicDataSource=f.clone(this.source)),this.hasOwnProperty(\"title\")&&(a.title=this.title),[2,a]}})})},n.prototype.queryFeatures=function(r,t){var i=this;return void 0===r&&(r=this.createQuery()),h.all([h.create(function(r){return e([\"../../tasks/operations/query\"],r)}),h.create(function(r){return e([\"../../tasks/support/FeatureSet\"],r)})]).then(function(e){var n=e[0].executeQuery,o=e[1];return n(i.url,_.from(r),t).then(function(e){return o.fromJSON(e.data)})}).then(function(e){return e&&e.features&&e.features.forEach(function(e){e.sourceLayer=i}),e})},n.prototype.toExportImageJSON=function(){var e={id:this.id,source:v.sourceToJSON(this.source)};if(this.definitionExpression&&(e.definitionExpression=this.definitionExpression),this.renderer||this.labelingInfo||null!=this.opacity||null!=this.labelsVisible){var r=e.drawingInfo={};this.renderer&&(r.renderer=this.renderer.toJSON()),null!=this.labelsVisible&&(r.showLabels=this.labelsVisible),!1!==this.labelsVisible&&this.labelingInfo&&(r.labelingInfo=this.labelingInfo.map(function(e){return e.write({},{origin:\"service\"})}),r.showLabels=!0),null!=this.opacity&&(r.transparency=100-100*this.opacity,this._assignDefaultSymbolColors(r.renderer))}return e},n.prototype._assignDefaultSymbolColors=function(e){this._forEachSimpleMarkerSymbols(e,function(e){e.color||\"esriSMSX\"!==e.style&&\"esriSMSCross\"!==e.style||(e.outline&&e.outline.color?e.color=e.outline.color:e.color=[0,0,0,0])})},n.prototype._forEachSimpleMarkerSymbols=function(e,r){if(e){for(var t=(\"uniqueValueInfos\"in e?e.uniqueValueInfos:\"classBreakInfos\"in e?e.classBreakInfos:[]),i=0,n=t;i<n.length;i++){var o=n[i];x(o.symbol)&&r(o.symbol)}\"symbol\"in e&&x(e.symbol)&&r(e.symbol),\"defaultSymbol\"in e&&x(e.defaultSymbol)&&r(e.defaultSymbol)}},n.prototype._setAndNotifyLayer=function(e,r){var t,i=this.layer,n=this._get(e);switch(e){case\"definitionExpression\":t=\"supportsSublayerDefinitionExpression\";case\"minScale\":case\"maxScale\":case\"visible\":t=\"supportsSublayerVisibility\";break;case\"labelingInfo\":case\"labelsVisible\":case\"opacity\":case\"renderer\":case\"source\":t=\"supportsDynamicLayers\"}if(t&&!1===this.get(\"layer.capabilities.exportMap.\"+t))return void this._logLockedError(e);this._set(e,r),n!==r&&i&&i.emit&&i.emit(\"sublayer-update\",{propertyName:e})},n.prototype._handleSublayersChange=function(e,r){var t=this;r&&(r.forEach(function(e){e.parent=null,e.layer=null}),this._sublayersHandles.forEach(function(e){return e.remove()}),this._sublayersHandles=null),e&&(e.forEach(function(e){e.parent=t,e.layer=t.layer}),this._sublayersHandles=[e.on(\"after-add\",function(e){var r=e.item;r.parent=t,r.layer=t.layer}),e.on(\"after-remove\",function(e){var r=e.item;r.parent=null,r.layer=null}),e.on(\"before-changes\",function(e){var r=t.get(\"layer.capabilities.exportMap.supportsSublayersChanges\");null==r||r||(E.error(new y(\"sublayer:sublayers-non-modifiable\",\"Sublayer can't be added, moved, or removed from the layer's sublayers\",{layer:t})),e.preventDefault())})])},n.prototype._logLockedError=function(e){E.error(new y(\"sublayer:locked\",\"Property '\"+e+\"' can't be changed on Sublayer from the layer '\"+this.layer.id+\"'\",{sublayer:this,layer:this.layer}))};var c;return i([g.property({type:String,value:null,json:{read:{source:\"layerDefinition.definitionExpression\"},write:{target:\"layerDefinition.definitionExpression\"}}})],n.prototype,\"definitionExpression\",null),i([g.property({type:Number,json:{write:{ignoreOrigin:!0}}})],n.prototype,\"id\",null),i([g.property({value:null,type:[O],json:{read:{source:\"layerDefinition.drawingInfo.labelingInfo\"},write:{target:\"layerDefinition.drawingInfo.labelingInfo\"}}})],n.prototype,\"labelingInfo\",null),i([g.writer(\"labelingInfo\")],n.prototype,\"writeLabelingInfo\",null),i([g.property({type:Boolean,json:{read:{source:\"showLabels\"},write:{target:\"showLabels\"}}})],n.prototype,\"labelsVisible\",null),i([g.writer(\"labelsVisible\")],n.prototype,\"writeLabelsVisible\",null),i([g.property({value:null})],n.prototype,\"layer\",null),i([g.property(S.legendEnabled)],n.prototype,\"legendEnabled\",null),i([g.property({type:[\"show\",\"hide\",\"hide-children\"],value:\"show\",json:{read:!1,write:!1,origins:{\"web-scene\":{read:!0,write:!0}}}})],n.prototype,\"listMode\",null),i([g.property({type:Number,value:0,json:{write:{overridePolicy:function(e,r,t){if(w.willPropertyWrite(this,\"maxScale\",{},t))return{ignoreOrigin:!0}}}}})],n.prototype,\"minScale\",null),i([g.reader(\"portal-item\",\"minScale\",[\"minScale\",\"layerDefinition.minScale\"])],n.prototype,\"readMinScale\",null),i([g.writer(\"minScale\")],n.prototype,\"writeMinScale\",null),i([g.property({type:Number,value:0,json:{write:{overridePolicy:function(e,r,t){if(w.willPropertyWrite(this,\"minScale\",{},t))return{ignoreOrigin:!0}}}}})],n.prototype,\"maxScale\",null),i([g.reader(\"portal-item\",\"maxScale\",[\"maxScale\",\"layerDefinition.maxScale\"])],n.prototype,\"readMaxScale\",null),i([g.writer(\"maxScale\")],n.prototype,\"writeMaxScale\",null),i([g.property({type:Number,json:{write:{target:\"layerDefinition.drawingInfo.transparency\"}}})],n.prototype,\"opacity\",null),i([g.reader(\"opacity\",[\"layerDefinition.drawingInfo.transparency\",\"layerDefinition.transparency\"])],n.prototype,\"readOpacity\",null),i([g.writer(\"opacity\")],n.prototype,\"writeOpacity\",null),i([g.property({json:{type:Number,write:{target:\"parentLayerId\",allowNull:!0}}})],n.prototype,\"parent\",void 0),i([g.writer(\"parent\")],n.prototype,\"writeParent\",null),i([g.property(S.popupEnabled)],n.prototype,\"popupEnabled\",null),i([g.property({value:null,type:l,json:{read:{source:\"popupInfo\"},write:{target:\"popupInfo\"}}})],n.prototype,\"popupTemplate\",null),i([g.property({types:s.rendererTypes,value:null,json:{write:{target:\"layerDefinition.drawingInfo.renderer\"}}})],n.prototype,\"renderer\",null),i([g.reader(\"renderer\",[\"layerDefinition.drawingInfo.renderer\"])],n.prototype,\"readRenderer\",null),i([g.writer(\"renderer\")],n.prototype,\"writeRenderer\",null),i([g.writer(\"web-scene\",\"renderer\",{\"layerDefinition.drawingInfo.renderer\":{types:s.webSceneRendererTypes}})],n.prototype,\"writeWebSceneRenderer\",null),i([g.property({cast:v.castSource,json:{read:{source:\"layerDefinition.source\",reader:v.sourceFromJSON},write:{target:\"layerDefinition.source\"}}})],n.prototype,\"source\",null),i([g.writer(\"source\")],n.prototype,\"writeSource\",null),i([g.property({value:null,json:{type:[m.Integer],write:{target:\"subLayerIds\",allowNull:!0}}})],n.prototype,\"sublayers\",null),i([g.cast(\"sublayers\")],n.prototype,\"castSublayers\",null),i([g.writer(\"sublayers\")],n.prototype,\"writeSublayers\",null),i([g.property({type:String,value:null,json:{read:{source:\"name\"},write:{target:\"name\",allowNull:!0,ignoreOrigin:!0}}})],n.prototype,\"title\",null),i([g.writer(\"title\")],n.prototype,\"writeTitle\",null),i([g.property({type:String,dependsOn:[\"layer\",\"source\"],json:{read:{source:\"layerUrl\"},write:{target:\"layerUrl\",overridePolicy:function(){return{enabled:this._isOverridden(\"url\")}}}}})],n.prototype,\"url\",null),i([g.property({type:Boolean,value:!0,json:{read:{source:\"defaultVisibility\"},write:{target:\"defaultVisibility\"}}})],n.prototype,\"visible\",null),i([g.writer(\"visible\")],n.prototype,\"writeVisible\",null),n=c=i([g.subclass(\"esri.layers.support.Sublayer\")],n)}(g.declared(c.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../geometry\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/unitUtils\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../../geometry/support/aaBoundingRect\",\"../../geometry/support/spatialReferenceUtils\",\"../../geometry/support/webMercatorUtils\",\"./LOD\"],function(e,t,r,o,i,l,n,s,p,a,c,u,f,v,y){var h=new n.default({PNG:\"png\",PNG8:\"png8\",PNG24:\"png24\",PNG32:\"png32\",JPEG:\"jpg\",JPG:\"jpg\",DIB:\"dib\",TIFF:\"tiff\",EMF:\"emf\",PS:\"ps\",PDF:\"pdf\",GIF:\"gif\",SVG:\"svg\",SVGZ:\"svgz\",Mixed:\"mixed\",MIXED:\"mixed\",LERC:\"lerc\",pbf:\"pbf\"});return function(e){function t(t){var r=e.call(this,t)||this;return r.dpi=96,r.format=null,r.origin=null,r.minScale=0,r.maxScale=0,r.size=null,r.spatialReference=null,r}o(t,e),n=t,t.create=function(e){void 0===e&&(e={size:256,spatialReference:l.SpatialReference.WebMercator});var t=e.resolutionFactor||1,r=e.scales,o=e.size||256,i=e.spatialReference||l.SpatialReference.WebMercator;if(!f.isValid(i)){var s=[];if(r)for(var a=0;a<r.length;a++){var c=r[a];s.push({level:a,scale:c,resolution:c})}else for(var u=5e-4,a=23;a>=0;a--)s.unshift({level:a,scale:u,resolution:u}),u*=2;return new n({dpi:96,lods:s,origin:new l.Point(0,0,i),size:[o,o],spatialReference:i})}var v=f.getInfo(i),y=v?new l.Point(v.origin[0],v.origin[1],i):new l.Point(0,0,i),h=p.getMetersPerUnitForSR(i),d=1/(39.37*h*96),g=[];if(r)for(var a=0;a<r.length;a++){var c=r[a],u=c*d;g.push({level:a,scale:c,resolution:u})}else{var m=f.isGeographic(i)?512/o*591657527.5917094:256/o*591657527.591555,S=Math.ceil(24/t);g.push({level:0,scale:m,resolution:m*d});for(var a=1;a<S;a++){var c=m/Math.pow(2,t),u=c*d;g.push({level:a,scale:c,resolution:u}),m=c}}return new n({dpi:96,lods:g,origin:y,size:[o,o],spatialReference:i})},Object.defineProperty(t.prototype,\"isWrappable\",{get:function(){var e=this,t=e.spatialReference,r=e.origin;if(t&&r){var o=f.getInfo(t);return t.isWrappable&&Math.abs(o.origin[0]-r.x)<=o.dx}return!1},enumerable:!0,configurable:!0}),t.prototype.readOrigin=function(e,t){return l.Point.fromJSON(r({spatialReference:t.spatialReference},e))},Object.defineProperty(t.prototype,\"lods\",{set:function(e){var t=this,r=0,o=0,i=[];this._levelToLOD={},e&&(r=-1/0,o=1/0,e.forEach(function(e){i.push(e.scale),r=e.scale>r?e.scale:r,o=e.scale<o?e.scale:o,t._levelToLOD[e.level]=e})),this._set(\"scales\",i),this._set(\"minScale\",r),this._set(\"maxScale\",o),this._set(\"lods\",e),this._initializeUpsampleLevels()},enumerable:!0,configurable:!0}),t.prototype.readSize=function(e,t){return[t.cols,t.rows]},t.prototype.writeSize=function(e,t){t.cols=e[0],t.rows=e[0]},t.prototype.zoomToScale=function(e){var t=this.scales;if(e<=0)return t[0];if(e>=t.length)return t[t.length-1];var r=Math.round(e-.5),o=Math.round(e);return t[o]+(o-e)*(t[r]-t[o])},t.prototype.scaleToZoom=function(e){for(var t=this.scales,r=t.length-1,o=0;o<r;o++){var i=t[o],l=t[o+1];if(i<=e)return o;if(l===e)return o+1;if(i>e&&l<e)return o+1-(e-l)/(i-l)}return o},t.prototype.snapScale=function(e,t){void 0===t&&(t=.95);var r=this.scaleToZoom(e);return r%Math.floor(r)>=t?this.zoomToScale(Math.ceil(r)):this.zoomToScale(Math.floor(r))},t.prototype.tileAt=function(e,t,r,o){var i=this.lodAt(e);if(!i)return null;var l,n;if(\"number\"==typeof t)l=t,n=r;else if(f.equals(t.spatialReference,this.spatialReference))l=t.x,n=t.y,o=r;else{var s=v.project(t,this.spatialReference);if(!s)return null;l=s.x,n=s.y,o=r}var p=i.resolution*this.size[0],a=i.resolution*this.size[1];return o||(o={id:null,level:0,row:0,col:0,extent:u.create()}),o.level=e,o.row=Math.floor((this.origin.y-n)/a+.001),o.col=Math.floor((l-this.origin.x)/p+.001),this.updateTileInfo(o),o},t.prototype.updateTileInfo=function(e){var t=this.lodAt(e.level);if(t){var r=t.resolution*this.size[0],o=t.resolution*this.size[1];e.id=e.level+\"/\"+e.row+\"/\"+e.col,e.extent||(e.extent=u.create()),e.extent[0]=this.origin.x+e.col*r,e.extent[1]=this.origin.y-(e.row+1)*o,e.extent[2]=e.extent[0]+r,e.extent[3]=e.extent[1]+o}},t.prototype.upsampleTile=function(e){var t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel)&&(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),!0)},t.prototype.getTileBounds=function(e,t){var r=this.lodAt(t.level).resolution,o=r*this.size[0],i=r*this.size[1];return e[0]=this.origin.x+t.col*o,e[1]=this.origin.y-(t.row+1)*i,e[2]=e[0]+o,e[3]=e[1]+i,e},t.prototype.lodAt=function(e){return this._levelToLOD&&this._levelToLOD[e]||null},t.prototype.clone=function(){return n.fromJSON(this.write({}))},t.prototype._initializeUpsampleLevels=function(){var e=this.lods;this._upsampleLevels=[];for(var t=null,r=0;r<e.length;r++){var o=e[r];this._upsampleLevels[o.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/o.resolution:0},t=o}};var n;return i([a.property({type:Number,json:{write:!0}})],t.prototype,\"compressionQuality\",void 0),i([a.property({type:Number,json:{write:!0}})],t.prototype,\"dpi\",void 0),i([a.property({type:String,json:{read:h.read,write:h.write,origins:{\"web-scene\":{read:!1,write:!1}}}})],t.prototype,\"format\",void 0),i([a.property({readOnly:!0,dependsOn:[\"spatialReference\",\"origin\"]})],t.prototype,\"isWrappable\",null),i([a.property({type:l.Point,json:{write:!0}})],t.prototype,\"origin\",void 0),i([a.reader(\"origin\")],t.prototype,\"readOrigin\",null),i([a.property({type:[y],value:null,json:{write:!0}})],t.prototype,\"lods\",null),i([a.property({readOnly:!0})],t.prototype,\"minScale\",void 0),i([a.property({readOnly:!0})],t.prototype,\"maxScale\",void 0),i([a.property({readOnly:!0})],t.prototype,\"scales\",void 0),i([a.property({cast:function(e){return Array.isArray(e)?e:\"number\"==typeof e?[e,e]:[256,256]}})],t.prototype,\"size\",void 0),i([a.reader(\"size\",[\"rows\",\"cols\"])],t.prototype,\"readSize\",null),i([a.writer(\"size\",{cols:{type:c.Integer},rows:{type:c.Integer}})],t.prototype,\"writeSize\",null),i([a.property({type:l.SpatialReference,json:{write:!0}})],t.prototype,\"spatialReference\",void 0),t=n=i([a.subclass(\"esri.layers.support.TileInfo\")],t)}(a.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../TimeExtent\",\"../../TimeInterval\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./TimeReference\",\"./timeUtils\"],function(e,t,r,i,l,n,o,a,u,p,m){return function(e){function t(t){var r=e.call(this,t)||this;return r.cumulative=!1,r.endField=null,r.fullTimeExtent=null,r.hasLiveData=!1,r.interval=null,r.startField=null,r.timeReference=null,r.trackIdField=null,r.useTime=!0,r}r(t,e),o=t,t.prototype.readFullTimeExtent=function(e,t){if(!t.timeExtent||!Array.isArray(t.timeExtent)||2!==t.timeExtent.length)return null;var r=t.timeExtent[0],i=t.timeExtent[1];return new l({start:r,end:i})},t.prototype.writeFullTimeExtent=function(e,t){e&&e.start&&e.end?t.timeExtent=[e.start.getTime(),e.end.getTime()]:t.timeExtent=null},t.prototype.readInterval=function(e,t){return t.timeInterval&&t.timeIntervalUnits?new n({value:t.timeInterval,unit:m.timeUnitKebabDictionary.fromJSON(t.timeIntervalUnits)}):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?new n({value:t.defaultTimeInterval,unit:m.timeUnitKebabDictionary.fromJSON(t.defaultTimeIntervalUnits)}):null},t.prototype.writeInterval=function(e,t){if(e){var r=e.toJSON();t.timeInterval=r.value,t.timeIntervalUnits=r.unit}else t.timeInterval=null,t.timeIntervalUnits=null},t.prototype.clone=function(){var e=this,t=e.cumulative,r=e.endField,i=e.hasLiveData,l=e.interval,n=e.startField,u=e.timeReference,p=e.fullTimeExtent,m=e.trackIdField,d=e.useTime;return new o({cumulative:t,endField:r,hasLiveData:i,interval:l,startField:n,timeReference:a.clone(u),fullTimeExtent:a.clone(p),trackIdField:m,useTime:d})};var o;return i([u.property({type:Boolean,json:{read:{source:\"exportOptions.timeDataCumulative\"},write:{target:\"exportOptions.timeDataCumulative\"}}})],t.prototype,\"cumulative\",void 0),i([u.property({type:String,json:{read:{source:\"endTimeField\"},write:{target:\"endTimeField\",allowNull:!0}}})],t.prototype,\"endField\",void 0),i([u.property({type:l,json:{write:{enabled:!0,allowNull:!0}}})],t.prototype,\"fullTimeExtent\",void 0),i([u.reader(\"fullTimeExtent\",[\"timeExtent\"])],t.prototype,\"readFullTimeExtent\",null),i([u.writer(\"fullTimeExtent\")],t.prototype,\"writeFullTimeExtent\",null),i([u.property({type:Boolean,json:{write:!0}})],t.prototype,\"hasLiveData\",void 0),i([u.property({type:n,json:{write:{enabled:!0,allowNull:!0}}})],t.prototype,\"interval\",void 0),i([u.reader(\"interval\",[\"timeInterval\",\"timeIntervalUnits\",\"defaultTimeInterval\",\"defaultTimeIntervalUnits\"])],t.prototype,\"readInterval\",null),i([u.writer(\"interval\")],t.prototype,\"writeInterval\",null),i([u.property({type:String,json:{read:{source:\"startTimeField\"},write:{target:\"startTimeField\",allowNull:!0}}})],t.prototype,\"startField\",void 0),i([u.property({type:p,json:{write:{enabled:!0,allowNull:!0}}})],t.prototype,\"timeReference\",void 0),i([u.property({type:String,json:{write:{enabled:!0,allowNull:!0}}})],t.prototype,\"trackIdField\",void 0),i([u.property({type:Boolean,json:{read:{source:\"exportOptions.useTime\"},write:{target:\"exportOptions.useTime\"}}})],t.prototype,\"useTime\",void 0),t=o=i([u.subclass(\"esri.layers.support.TimeInfo\")],t)}(u.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,t,r,i,o,n){return function(e){function t(t){var r=e.call(this,t)||this;return r.respectsDaylightSaving=!1,r.timezone=null,r}r(t,e),o=t,t.prototype.readRespectsDaylightSaving=function(e,t){return void 0!==t.respectsDaylightSaving?t.respectsDaylightSaving:void 0!==t.respectDaylightSaving&&t.respectDaylightSaving},t.prototype.clone=function(){var e=this,t=e.respectsDaylightSaving,r=e.timezone;return new o({respectsDaylightSaving:t,timezone:r})};var o;return i([n.property({type:Boolean,json:{write:!0}})],t.prototype,\"respectsDaylightSaving\",void 0),i([n.reader(\"respectsDaylightSaving\",[\"respectsDaylightSaving\",\"respectDaylightSaving\"])],t.prototype,\"readRespectsDaylightSaving\",null),i([n.property({type:String,json:{read:{source:\"timeZone\"},write:{target:\"timeZone\"}}})],t.prototype,\"timezone\",void 0),t=o=i([n.subclass(\"esri.layers.support.TimeReference\")],t)}(n.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/urlUtils\"],function(e,r,t){function i(e){return!!p.test(e)}function n(e){var r=t.urlToObject(e),i=r.path.match(p)||r.path.match(m);if(!i)return null;var n=i[1],a=i[2],l=i[3],u=i[4],o=a.indexOf(\"/\");return{title:s(-1!==o?a.slice(o+1):a),serverType:l,sublayer:null!=u&&\"\"!==u?parseInt(u,10):null,url:{path:n}}}function s(e){return e=e.replace(/\\s*[\\/_]+\\s*/g,\" \"),e[0].toUpperCase()+e.slice(1)}function a(e,r){var t=[];if(e){var i=n(e);i&&i.title&&t.push(i.title)}if(r){var a=s(r);t.push(a)}if(2===t.length){if(-1!==t[0].toLowerCase().indexOf(t[1].toLowerCase()))return t[0];if(-1!==t[1].toLowerCase().indexOf(t[0].toLowerCase()))return t[1]}return t.join(\" - \")}function l(e){if(!e)return!1;e=e.toLowerCase();var r=-1!==e.indexOf(\".arcgis.com/\"),t=-1!==e.indexOf(\"//services\")||-1!==e.indexOf(\"//tiles\")||-1!==e.indexOf(\"//features\");return r&&t}function u(e,r){return r&&e&&-1!==e.toLowerCase().indexOf(r.toLowerCase())}function o(e,r){return e?t.removeTrailingSlash(t.removeQueryParameters(e,r)):e}function v(e,r,i){if(!r)return{url:r};r=t.removeQueryParameters(r,i);var s,a=t.urlToObject(r),l=n(a.path);return l&&null!=l.sublayer&&(null==e.layerId&&(s=l.sublayer),r=l.url.path),{url:t.removeTrailingSlash(r),layerId:s}}function c(e,r,i,n,s){t.write(r,n,\"url\",s),n.url&&null!=e.layerId&&(n.url=t.join(n.url,i,e.layerId.toString()))}function f(e){if(!e)return!1;var r=e.toLowerCase(),t=-1!==r.indexOf(\"/services/\"),i=-1!==r.indexOf(\"/mapserver/wmsserver\"),n=-1!==r.indexOf(\"/imageserver/wmsserver\"),s=-1!==r.indexOf(\"/wmsserver\");return t&&(i||n||s)}function d(e){if(!e)return!1;var r=new t.Url(t.makeAbsolute(e)),i=r.authority.toLowerCase();return\"server.arcgisonline.com\"===i||\"services.arcgisonline.com\"===i}Object.defineProperty(r,\"__esModule\",{value:!0}),r.serverTypes=[\"MapServer\",\"ImageServer\",\"FeatureServer\",\"SceneServer\",\"StreamServer\",\"VectorTileServer\"];var p=new RegExp(\"^((?:https?:)?\\\\/\\\\/\\\\S+?\\\\/rest\\\\/services\\\\/(.+?)\\\\/(\"+r.serverTypes.join(\"|\")+\"))(?:\\\\/(?:layers\\\\/)?(\\\\d+))?\",\"i\"),m=new RegExp(\"^((?:https?:)?\\\\/\\\\/\\\\S+?\\\\/([^\\\\/\\\\n]+)\\\\/(\"+r.serverTypes.join(\"|\")+\"))(?:\\\\/(?:layers\\\\/)?(\\\\d+))?\",\"i\");r.isArcGISUrl=i,r.parse=n,r.cleanTitle=s,r.titleFromUrlAndName=a,r.isHostedAgolService=l,r.isHostedSecuredProxyService=u,r.sanitizeUrl=o,r.sanitizeUrlWithLayerId=v,r.writeUrlWithLayerId=c,r.isWmsServer=f,r.isServerOrServicesAGOLUrl=d});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/urlUtils\",\"../../core/accessorSupport/utils\",\"../../core/accessorSupport/write\",\"../../symbols/support/ElevationInfo\",\"../../webdoc/support/opacityUtils\"],function(e,r,n,i,o,t,a,s){function c(e){return{type:e,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.screenSizePerspectiveEnabled={type:Boolean,value:!0,json:{origins:{\"web-scene\":{read:{source:[\"id\",\"url\",\"layerType\"],reader:function(e,r){return null==r.screenSizePerspective&&\"defaults\"===this.originOf(\"screenSizePerspectiveEnabled\")?void o.getProperties(this).store.set(\"screenSizePerspectiveEnabled\",!1,0):r.screenSizePerspective}},write:{ignoreOrigin:!0,target:\"screenSizePerspective\",writer:function(e,r,n,i){\"defaults\"===this.originOf(\"screenSizePerspectiveEnabled\")&&e?r[n]=e:t.willPropertyWrite(this,\"screenSizePerspectiveEnabled\",{},i)&&(r[n]=e)}}}}}},r.popupEnabled={type:Boolean,value:!0,json:{read:{source:\"disablePopup\",reader:function(e,r){return!r.disablePopup}},write:{target:\"disablePopup\",writer:function(e,r,n){r[n]=!e}}}},r.labelsVisible={type:Boolean,json:{read:{source:\"showLabels\"},write:{target:\"showLabels\"}}},r.url={type:String,json:{write:{isRequired:!0,ignoreOrigin:!0,writer:i.write}}},r.legendEnabled={type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:\"showLegend\"},write:{target:\"showLegend\"}}},r.elevationInfo={value:null,type:a,json:{origins:{service:{read:{source:\"elevationInfo\"},write:{target:\"elevationInfo\",enabled:!1}}},read:{source:\"layerDefinition.elevationInfo\"},write:{target:\"layerDefinition.elevationInfo\"}}},r.readOnlyService=c,r.opacity={type:Number,json:{origins:{\"web-document\":{default:1,write:!0,read:!0}}}},r.opacityDrawingInfo=n({},r.opacity,{json:n({},r.opacity.json,{origins:{\"web-document\":n({},r.opacity.json.origins[\"web-document\"],{write:{enabled:!0,target:{opacity:{type:Number},\"layerDefinition.drawingInfo.transparency\":{type:Number}}}})},read:{source:[\"layerDefinition.drawingInfo.transparency\",\"drawingInfo.transparency\"],reader:function(e,r,n){return n&&\"service\"!==n.origin||!r.drawingInfo||void 0===r.drawingInfo.transparency?r.layerDefinition&&r.layerDefinition.drawingInfo&&void 0!==r.layerDefinition.drawingInfo.transparency?s.transparencyToOpacity(r.layerDefinition.drawingInfo.transparency):void 0:s.transparencyToOpacity(r.drawingInfo.transparency)}}})})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"./CodedValueDomain\",\"./Domain\",\"./InheritedDomain\",\"./RangeDomain\"],function(e,n,a,r,i,o,u){function t(e,n){return null===d(e,n)}function d(e,n){switch(e.type){case\"range\":var a=\"range\"in e?e.range[0]:e.minValue,r=\"range\"in e?e.range[1]:e.maxValue;if(+n<a||+n>r)return c.VALUE_OUT_OF_RANGE;break;case\"coded-value\":case\"codedValue\":if(null==e.codedValues||e.codedValues.every(function(e){return null==e||e.code!==n}))return c.INVALID_CODED_VALUE}return null}function l(e){if(e&&\"range\"===e.type){return{min:\"range\"in e?e.range[0]:e.minValue,max:\"range\"in e?e.range[1]:e.maxValue}}}function m(e){if(!e||!e.type)return null;switch(e.type){case\"range\":return n.RangeDomain.fromJSON(e);case\"codedValue\":return n.CodedValueDomain.fromJSON(e);case\"inherited\":return n.InheritedDomain.fromJSON(e);default:a.neverReached(e)}return null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.CodedValueDomain=r,n.DomainBase=i,n.InheritedDomain=o,n.RangeDomain=u;var c;!function(e){e.VALUE_OUT_OF_RANGE=\"domain-validation-error::value-out-of-range\",e.INVALID_CODED_VALUE=\"domain-validation-error::invalid-coded-value\"}(c=n.DomainValidationError||(n.DomainValidationError={})),n.isValidDomainValue=t,n.validateDomainValue=d,n.types={key:\"type\",base:n.DomainBase,typeMap:{range:n.RangeDomain,\"coded-value\":n.CodedValueDomain,inherited:n.InheritedDomain}},n.getDomainRange=l,n.fromJSON=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/arrayUtils\"],function(e,n,r){function t(e){var n=e.exifInfo,t=e.exifName,u=e.tagName;if(!n||!t||!u)return null;var i=r.find(n,function(e){return e.name===t});return i?a({tagName:u,tags:i.tags}):null}function a(e){var n=e.tagName,t=e.tags;if(!t||!n)return null;var a=r.find(t,function(e){return e.name===n});return a&&a.value||null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getExifValue=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/object\",\"./FeatureReduction\",\"./FeatureReductionCluster\",\"./FeatureReductionSelection\"],function(e,t,r,u,n,o,a){function c(e,t,r){t=t.layerDefinition||t;var u=t.featureReduction;if(u)switch(u.type){case\"selection\":return a.default.fromJSON(u);case\"cluster\":return o.default.fromJSON(u)}return null}function i(e,t,r,n){var o=s(e,{},n);o&&u.setDeepValue(r,o,t)}function s(e,t,u){return e?\"selection\"!==e.type?(u.messages&&u.messages.push(new r(\"featureReduction:unsupported\",\"FeatureReduction of type '\"+e.declaredClass+\"' are not supported in scenes.\",{featureReduction:e,context:u})),null):e.write(t,u):null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.webSceneFeatureReductionTypes={key:\"type\",base:n.default,typeMap:{selection:a.default}},t.read=c,t.writeTarget=i,t.write=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/array\",\"../../core/Logger\",\"./Field\",\"./fieldUtils\"],function(e,i,r,t,l,s){function d(){return{fields:{type:[l],value:null},outFields:{type:[String],dependsOn:[\"fields\"],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange(\"outFields\")},get:function(){var e=this._userOutFields;if(!e||!e.length)return null;if(r.includes(e,\"*\"))return[\"*\"];if(!this.fields)return e;for(var i=0,t=e;i<t.length;i++){var l=t[i];s.hasField(this.fields,l)||n.error(\"field-attributes-layer:invalid-field\",\"Invalid field \"+l+\" found in outFields\",{layer:this,outFields:e})}return s.fixFields(this.fields,e)}}}}Object.defineProperty(i,\"__esModule\",{value:!0});var n=t.getLogger(\"esri.layers.support.fieldProperties\");i.defineFieldProperties=d});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/jsonMap\"],function(e,i,l){Object.defineProperty(i,\"__esModule\",{value:!0}),i.kebabDict=new l.default({esriFieldTypeSmallInteger:\"small-integer\",esriFieldTypeInteger:\"integer\",esriFieldTypeSingle:\"single\",esriFieldTypeDouble:\"double\",esriFieldTypeLong:\"long\",esriFieldTypeString:\"string\",esriFieldTypeDate:\"date\",esriFieldTypeOID:\"oid\",esriFieldTypeGeometry:\"geometry\",esriFieldTypeBlob:\"blob\",esriFieldTypeRaster:\"raster\",esriFieldTypeGUID:\"guid\",esriFieldTypeGlobalID:\"global-id\",esriFieldTypeXML:\"xml\"})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"@dojo/framework/shim/array\",\"../../core/Error\",\"../../core/iteratorUtils\",\"../../core/maybe\",\"../../core/object\",\"../../core/promiseUtils\",\"./domains\",\"../../support/arcadeOnDemand\"],function(e,n,i,r,t,l,a,o,u,s,d,c,f){function g(e,i){if(null!=e&&null!=i)for(var r=0,t=Array.isArray(e)?e:[e];r<t.length;r++){var l=t[r];if(m(n.rendererFields,l,i),\"visualVariables\"in l&&l.visualVariables)for(var a=0,o=l.visualVariables;a<o.length;a++){var u=o[a];m(n.visualVariableFields,u,i)}}}function m(e,n,i){if(e)for(var r=0,t=e;r<t.length;r++){var l=t[r],a=s.getDeepValue(l,n),o=a&&\"function\"!=typeof a&&I(i,a);o&&s.setDeepValue(l,o.name,n)}}function F(e,n){if(null!=e&&null!=n)if(\"startField\"in e){var i=I(n,e.startField),r=I(n,e.endField);e.startField=i&&i.name||null,e.endField=r&&r.name||null}else{var t=I(n,e.startTimeField),l=I(n,e.endTimeField);e.startTimeField=t&&t.name||null,e.endTimeField=l&&l.name||null}}function p(e,n){return e&&n?(ee.clear(),v(ee,e,n),o.valuesOfSet(ee).sort()):[]}function v(e,n,i){if(i)if(n&&n.length)if(l.includes(i,\"*\"))for(var r=0,t=n;r<t.length;r++){var a=t[r].name;e.add(a)}else for(var o=0,u=i;o<u.length;o++){var s=u[o];h(e,n,s)}else{if(l.includes(i,\"*\"))return e.clear(),void e.add(\"*\");for(var d=0,c=i;d<c.length;d++){var s=c[d];e.add(s)}}}function h(e,n,i){if(n&&n.length){var r=I(n,i);return void(r&&e.add(r.name))}\"string\"==typeof i&&e.add(i)}function y(e,n){return n&&e?l.includes(n,\"*\")?e.map(function(e){return e.name}):n:[]}function b(e,n,i){if(void 0===i&&(i=1),!n||!e)return[];if(l.includes(n,\"*\"))return[\"*\"];var r=p(e,n);return r.length/e.length>=i?[\"*\"]:r}function I(e,n){if(\"string\"!=typeof n)return null;if(null!=e){n=n.toLowerCase();for(var i=0,r=e;i<r.length;i++){var t=r[i];if(t&&t.name.toLowerCase()===n)return t}}return null}function T(e,n){if(!e||!n||\"string\"!=typeof n)return!1;n=n.toLowerCase();for(var i=0,r=e;i<r.length;i++){var t=r[i];if(t&&t.name.toLowerCase()===n)return!0}return!1}function V(e,n,i){return t(this,void 0,void 0,function(){var t,l,a,o,u;return r(this,function(r){switch(r.label){case 0:return i?[4,f.loadArcade()]:[2];case 1:for(t=r.sent().arcadeUtils,l=t.extractFieldNames(i),a=0,o=l;a<o.length;a++)u=o[a],h(e,n,u);return[2]}})})}function N(e){return t(this,void 0,void 0,function(){var n;return r(this,function(i){switch(i.label){case 0:return e?(n=new Set,[4,S(n,e)]):[2,[]];case 1:return i.sent(),[2,o.valuesOfSet(n).sort()]}})})}function S(e,n){return t(this,void 0,void 0,function(){var i,t;return r(this,function(r){return n?(i=n.fields,t=s.getDeepValue(\"elevationInfo.featureExpressionInfo\",n),t?[2,t.collectRequiredFields(e,i)]:[2]):[2]})})}function E(n,i,l){return t(this,void 0,void 0,function(){var t,o;return r(this,function(r){switch(r.label){case 0:return i&&l&&(l.where&&\"1=1\"!==l.where||l.timeExtent)?(i.timeInfo&&l.timeExtent&&v(n,i.fields,[i.timeInfo.startField,i.timeInfo.endField]),l.where?[4,d.create(function(n){e([\"../../core/sql/WhereClause\"],n)})]:[3,2]):[2];case 1:if(t=r.sent(),o=t.WhereClause.create(l.where,i.fieldsIndex),!o.isStandardized)throw new a(\"fieldUtils:collectFilterFields\",\"Where clause is not standardized\");v(n,i.fields,o.fieldNames),r.label=2;case 2:return[2]}})})}function w(e){return t(this,void 0,void 0,function(){var n;return r(this,function(i){return e?(n=\"timeInfo\"in e&&e.timeInfo,n?[2,p(e.fields,[e.trackIdField,n.startField,n.endField])]:[2,[]]):[2,[]]})})}function R(e){if(!e)return[];var n=\"editFieldsInfo\"in e&&e.editFieldsInfo;return n?p(e.fields,[n&&n.creatorField,n&&n.creationDateField,n&&n.editorField,n&&n.editDateField]):[]}function D(e){if(!e)return[];var n=\"geometryProperties\"in e&&e.geometryProperties;return n?p(e.fields,[n&&n.shapeAreaFieldName,n&&n.shapeLengthFieldName]):[]}function x(e){return t(this,void 0,void 0,function(){var n;return r(this,function(i){switch(i.label){case 0:return e?(n=new Set,[4,A(n,e)]):[2,[]];case 1:return i.sent(),[2,o.valuesOfSet(n).sort()]}})})}function A(e,n){return t(this,void 0,void 0,function(){var i,t;return r(this,function(r){switch(r.label){case 0:return i=n.labelingInfo,t=n.fields,i&&i.length?[4,d.all(i.map(function(n){return _(e,t,n)}))]:[2];case 1:return r.sent(),[2]}})})}function _(e,n,i){return t(this,void 0,void 0,function(){var t,l,a,o,u;return r(this,function(r){switch(r.label){case 0:return i?(t=i.getLabelExpression(),l=i.where,\"arcade\"!==t.type?[3,2]:[4,V(e,n,t.expression)]):[2];case 1:return r.sent(),[3,3];case 2:a=t.expression.match(/{[^}]*}/g),a&&a.forEach(function(i){h(e,n,i.slice(1,-1))}),r.label=3;case 3:return o=/['\"]+/g,l&&(u=l.split(\" \"),3===u.length&&h(e,n,u[0].replace(o,\"\")),7===u.length&&(h(e,n,u[0].replace(o,\"\")),h(e,n,u[4].replace(o,\"\")))),[2]}})})}function L(e){var n=e.defaultValue;return void 0!==n&&P(e,n)?n:e.nullable?null:void 0}function O(e){return\"number\"==typeof e&&!isNaN(e)&&isFinite(e)}function U(e){return null===e||O(e)}function k(e){return null===e||ne(e)}function z(e){return null!=e&&\"string\"==typeof e}function C(e){return null===e||z(e)}function M(){return!0}function P(e,n){var i;switch(e.type){case\"date\":case\"integer\":case\"long\":case\"small-integer\":case\"esriFieldTypeDate\":case\"esriFieldTypeInteger\":case\"esriFieldTypeLong\":case\"esriFieldTypeSmallInteger\":i=e.nullable?k:ne;break;case\"double\":case\"single\":case\"esriFieldTypeSingle\":case\"esriFieldTypeDouble\":i=e.nullable?U:O;break;case\"string\":case\"esriFieldTypeString\":i=e.nullable?C:z;break;default:i=M}return 1===arguments.length?i:i(n)}function G(e){return null!=e&&ie.has(e.type)}function H(e){return null!=e&&(\"string\"===e.type||\"esriFieldTypeString\"===e.type)}function j(e){return null!=e&&(\"date\"===e.type||\"esriFieldTypeDate\"===e.type)}function q(e,n){return null===Y(e,n)}function W(e){return null==e||\"number\"==typeof e&&isNaN(e)?null:e}function Y(e,n){return e.nullable&&null===n?null:G(e)&&!J(e.type,Number(n))?re.OUT_OF_RANGE:P(e,n)?e.domain?c.validateDomainValue(e.domain,n):null:te.INVALID_TYPE}function J(e,n){var i=\"string\"==typeof e?B(e):e;return!!i&&(i.isInteger?ne(n)&&n>=i.min&&n<=i.max:n>=i.min&&n<=i.max)}function X(e){var n=c.getDomainRange(e.domain);if(n)return n;if(G(e))return B(e.type)}function B(e){switch(e){case\"esriFieldTypeSmallInteger\":case\"small-integer\":return n.smallIntegerRange;case\"esriFieldTypeInteger\":case\"integer\":return n.integerRange;case\"esriFieldTypeSingle\":case\"single\":return n.singleRange;case\"esriFieldTypeDouble\":case\"double\":return n.doubleRange}}function K(e){if(!O(e))return null;if(ne(e)){if(e>=n.smallIntegerRange.min&&e<=n.smallIntegerRange.max)return\"esriFieldTypeSmallInteger\";if(e>=n.integerRange.min&&e<=n.integerRange.max)return\"esriFieldTypeInteger\"}return e>=n.singleRange.min&&e<=n.singleRange.max?\"esriFieldTypeSingle\":\"esriFieldTypeDouble\"}function Q(e,n,i){switch(e){case c.DomainValidationError.INVALID_CODED_VALUE:return\"Value \"+i+\" is not in the coded domain - field: \"+n.name+\", domain: \"+JSON.stringify(n.domain);case c.DomainValidationError.VALUE_OUT_OF_RANGE:return\"Value \"+i+\" is out of the range of valid values - field: \"+n.name+\", domain: \"+JSON.stringify(n.domain);case te.INVALID_TYPE:return\"Value \"+i+\" is not a valid value for the field type - field: \"+n.name+\", type: \"+n.type+\", nullable: \"+n.nullable;case re.OUT_OF_RANGE:var r=B(n.type),t=r.min,l=r.max;return\"Value \"+i+\" is out of range for the number type - field: \"+n.name+\", type: \"+n.type+\", value range is \"+t+\" to \"+l}}function Z(e,n){return!$(e,n,null)}function $(e,n,i){if(!n||!n.attributes||!e){if(u.isSome(i))for(var r=0,t=e;r<t.length;r++){var l=t[r];i.add(l)}return!0}for(var a=n.attributes,o=!1,s=0,d=e;s<d.length;s++){var l=d[s];if(!(l in a)){if(o=!0,!u.isSome(i))break;i.add(l)}}return o}Object.defineProperty(n,\"__esModule\",{value:!0}),n.rendererFields=[\"field\",\"field2\",\"field3\",\"normalizationField\",\"rotationInfo.field\",\"proportionalSymbolInfo.field\",\"proportionalSymbolInfo.normalizationField\",\"colorInfo.field\",\"colorInfo.normalizationField\"],n.visualVariableFields=[\"field\",\"normalizationField\"],n.fixRendererFields=g,n.fixTimeInfoFields=F;var ee=new Set;n.fixFields=p,n.collectFields=v,n.collectField=h,n.unpackFieldNames=y,n.packFields=b,n.getField=I,n.hasField=T,n.collectArcadeFieldNames=V,n.getElevationFields=N,n.collectElevationFields=S,n.collectFilterFields=E,n.getTimeFields=w,n.getFeatureEditFields=R,n.getFeatureGeometryFields=D,n.getLabelingFields=x,n.collectLabelingFields=A,n.getFieldDefaultValue=L;var ne=function(){return\"isInteger\"in Number?Number.isInteger:function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e}}();n.isValueMatchingFieldType=P,n.numericTypes=[\"integer\",\"small-integer\",\"single\",\"double\"];var ie=o.createSetFromValues(n.numericTypes.concat([\"esriFieldTypeInteger\",\"esriFieldTypeSmallInteger\",\"esriFieldTypeSingle\",\"esriFieldTypeDouble\"]));n.isNumericField=G,n.isStringField=H,n.isDateField=j,n.isValidFieldValue=q;var re;!function(e){e.OUT_OF_RANGE=\"numeric-range-validation-error::out-of-range\"}(re=n.NumericRangeValidationError||(n.NumericRangeValidationError={}));var te;!function(e){e.INVALID_TYPE=\"type-validation-error::invalid-type\"}(te=n.TypeValidationError||(n.TypeValidationError={})),n.sanitizeNullFieldValue=W,n.validateFieldValue=Y,n.isNumberInRange=J,n.getFieldRange=X,n.getNumericTypeForValue=K,n.smallIntegerRange={min:-32768,max:32767,isInteger:!0},n.integerRange={min:-2147483648,max:2147483647,isInteger:!0},n.singleRange={min:-3.4e38,max:1.2e38,isInteger:!1},n.doubleRange={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1},n.validationErrorToString=Q,n.featureHasFields=Z,n.populateMissingFields=$});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/string\"],function(e,r,n){function t(e){var r;return e?(r=n.replace(e,function(e){return i+'$feature[\"'+e+'\"]'+c}),r=_.test(r)?r.replace(_,\"\"):o+r,r=g.test(r)?r.replace(g,\"\"):r+o,r=r.replace(p,u).replace(a,l)):r='\"\"',r}Object.defineProperty(r,\"__esModule\",{value:!0});var i=\"__begin__\",c=\"__end__\",p=new RegExp(i,\"ig\"),a=new RegExp(c,\"ig\"),_=new RegExp(\"^\"+i,\"i\"),g=new RegExp(c+\"$\",\"i\"),o='\"',u=o+\" + \",l=\" + \"+o;r.convertTemplatedStringToArcade=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./LabelClass\"],function(e,r,n){function i(e,r,i){var l=this;return e?e.map(function(e){var o=new n;if(o.read(e,i),o.labelExpression){var f=r.fields||r.layerDefinition&&r.layerDefinition.fields||l.fields;o.labelExpression=o.labelExpression.replace(t,function(e,r){return\"[\"+a(r,f)+\"]\"})}return o}):null}function a(e,r){if(!r)return e;for(var n=e.toLowerCase(),i=0;i<r.length;i++){var a=r[i].name;if(a.toLowerCase()===n)return a}return e}Object.defineProperty(r,\"__esModule\",{value:!0});var t=/\\[([^\\[\\]]+)\\]/gi;r.reader=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/jsonMap\",\"../../core/lang\"],function(e,r,a,t){function o(e){return null!=e&&e.hasOwnProperty(\"mapLayerId\")}function i(e){return null!=e&&e.hasOwnProperty(\"dataSource\")}function l(e){return e?(o(e)&&(e.type=r.MAPLAYER),i(e)&&(e.type=r.DATALAYER,e.dataSource.type||y(e.dataSource)),e):e}function n(e){var a={};return e.type===r.MAPLAYER?(a.mapLayerId=e.mapLayerId,e.gdbVersion&&(a.gdbVersion=e.gdbVersion)):e.type===r.DATALAYER&&(e.fields&&(a.fields=e.fields),a.dataSource=u(e.dataSource)),a.type=p.toJSON(e.type),t.fixJson(a)}function c(e){var a={};return p.fromJSON(e.type)===r.MAPLAYER?(a.mapLayerId=e.mapLayerId,e.gdbVersion&&(a.gdbVersion=e.gdbVersion)):p.fromJSON(e.type)===r.DATALAYER&&(e.fields&&(a.fields=e.fields),a.dataSource=s(e.dataSource)),a.type=p.fromJSON(e.type),t.fixJson(a)}function y(e){e.workspaceId?e.gdbVersion?e.type=\"table\":e.query||e.oidFields?e.type=\"query-table\":e.type=\"raster\":e.leftTableKey&&e.rightTableKey&&e.leftTableSource&&e.rightTableSource&&(e.type=\"join-table\",e.leftTableSource=l(e.leftTableSource),e.rightTableSource=l(e.rightTableSource))}function u(e){var r;switch(e.type){case\"table\":r={dataSourceName:e.dataSourceName,workspaceId:e.workspaceId,gdbVersion:e.gdbVersion};break;case\"query-table\":r={geometryType:d.toJSON(e.geometryType),workspaceId:e.workspaceId,query:e.query,oidFields:e.oidFields,spatialReference:e.spatialReference};break;case\"join-table\":r={leftTableSource:n(e.leftTableSource),rightTableSource:n(e.rightTableSource),leftTableKey:e.leftTableKey,rightTableKey:e.rightTableKey,joinType:f.toJSON(e.joinType)};break;case\"raster\":r={workspaceId:e.workspaceId,dataSourceName:e.dataSourceName}}return r.type=b.toJSON(e.type),t.fixJson(r)}function s(e){var r;switch(e.type){case\"table\":r={dataSourceName:e.dataSourceName,workspaceId:e.workspaceId,gdbVersion:e.gdbVersion};break;case\"queryTable\":r={geometryType:d.fromJSON(e.geometryType),workspaceId:e.workspaceId,query:e.query,oidFields:e.oidFields,spatialReference:e.spatialReference};break;case\"joinTable\":r={leftTableSource:c(e.leftTableSource),rightTableSource:c(e.rightTableSource),leftTableKey:e.leftTableKey,rightTableKey:e.rightTableKey,joinType:f.fromJSON(e.joinType)};break;case\"raster\":r={workspaceId:e.workspaceId,dataSourceName:e.dataSourceName}}return r.type=b.fromJSON(e.type),t.fixJson(r)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.MAPLAYER=\"map-layer\",r.DATALAYER=\"data-layer\";var d=new a.default({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryMultiPatch:\"multipatch\"}),p=new a.default({mapLayer:r.MAPLAYER,dataLayer:r.DATALAYER}),b=new a.default({joinTable:\"join-table\",queryTable:\"query-table\"}),f=new a.default({esriLeftOuterJoin:\"left-outer-join\",esriLeftInnerJoin:\"left-inner-join\"});r.isMapLayerSource=o,r.isDataLayerSource=i,r.castSource=l,r.sourceToJSON=n,r.sourceFromJSON=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./layerSourceUtils\"],function(r,e,n){function u(r,e,u){return!!r.some(function(r){var e=r.source;return!(!e||e.type===n.MAPLAYER&&e.mapLayerId===r.id&&(!e.gdbVersion||e.gdbVersion===u.gdbVersion))||null!=r.renderer||null!=r.labelingInfo||r.hasOwnProperty(\"opacity\")&&null!=r.opacity||r.hasOwnProperty(\"labelsVisible\")&&null!=r.labelsVisible})||!t(r,e)}function l(r,e){return e.slice().reverse().flatten(function(r){var e=r.sublayers;return e&&e.toArray().reverse()}).every(function(e,n){var u=r[n];return u&&e.id===u.id&&(null==e.sublayers&&null==u.sublayers||null!=e.sublayers&&null!=u.sublayers&&e.sublayers.map(function(r){return r.id}).join(\",\")===u.sublayers.map(function(r){return r.id}).join(\",\"))})}function t(r,e){function n(r){var e=r.id,l=r.sublayers;u.unshift(e),l&&l.toArray().forEach(n)}if(!r||!r.length)return!0;var u=[];if(e.forEach(n),r.length>u.length)return!1;for(var l=0,t=u.length,i=0,s=r;i<s.length;i++){for(var a=s[i].id;l<t&&u[l]!==a;)l++;if(l>=t)return!1}return!0}Object.defineProperty(e,\"__esModule\",{value:!0}),e.isExportDynamic=u,e.sameStructureAsService=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../TimeExtent\",\"../../core/compilerUtils\",\"../../core/jsonMap\"],function(e,t,s,r,i){function n(e){return e}function l(e,t,s){var r=new Date(e.getTime());if(t&&s){var i=u[s],n=i.getter,l=i.setter,a=i.multiplier;r[l](r[n]()+t*a)}return r}function a(e,t){switch(t){case\"milliseconds\":return new Date(e.getTime());case\"seconds\":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds());case\"minutes\":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes());case\"hours\":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours());case\"days\":return new Date(e.getFullYear(),e.getMonth(),e.getDate());case\"weeks\":return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());case\"months\":return new Date(e.getFullYear(),e.getMonth(),1);case\"years\":return new Date(e.getFullYear(),0,1);case\"decades\":return new Date(e.getFullYear()-e.getFullYear()%10,0,1);case\"centuries\":return new Date(e.getFullYear()-e.getFullYear()%100,0,1);default:return r.neverReached(t),null}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Milliseconds=n;var u={milliseconds:{getter:\"getUTCMilliseconds\",setter:\"setUTCMilliseconds\",multiplier:1},seconds:{getter:\"getUTCSeconds\",setter:\"setUTCSeconds\",multiplier:1},minutes:{getter:\"getUTCMinutes\",setter:\"setUTCMinutes\",multiplier:1},hours:{getter:\"getUTCHours\",setter:\"setUTCHours\",multiplier:1},days:{getter:\"getUTCDate\",setter:\"setUTCDate\",multiplier:1},weeks:{getter:\"getUTCDate\",setter:\"setUTCDate\",multiplier:7},months:{getter:\"getUTCMonth\",setter:\"setUTCMonth\",multiplier:1},years:{getter:\"getUTCFullYear\",setter:\"setUTCFullYear\",multiplier:1},decades:{getter:\"getUTCFullYear\",setter:\"setUTCFullYear\",multiplier:10},centuries:{getter:\"getUTCFullYear\",setter:\"setUTCFullYear\",multiplier:100}};t.timeUnitKebabDictionary=i.strict()({esriTimeUnitsMilliseconds:\"milliseconds\",esriTimeUnitsSeconds:\"seconds\",esriTimeUnitsMinutes:\"minutes\",esriTimeUnitsHours:\"hours\",esriTimeUnitsDays:\"days\",esriTimeUnitsWeeks:\"weeks\",esriTimeUnitsMonths:\"months\",esriTimeUnitsYears:\"years\",esriTimeUnitsDecades:\"decades\",esriTimeUnitsCenturies:\"centuries\",esriTimeUnitsUnknown:null}),t.offsetDate=l,t.combinedViewLayerTimeExtentProperty={type:s,dependsOn:[\"view.timeExtent\",\"layer.timeExtent\",\"layer.timeInfo\",\"layer.timeOffset\",\"layer.timeOffset.value\",\"layer.timeOffset.unit\",\"layer.useViewTime\"],readOnly:!0,get:function(){if(!this.layer||!this.layer.timeInfo)return null;var e=this.view?this.view.timeExtent:null,t=this.layer.useViewTime?e:this.layer.timeExtent;if(!t)return null;var s=this.layer.timeOffset,r=s?t.offset(-s.value,s.unit):t,i=this._get(\"timeExtent\");return r.equals(i)?i:r}},t.millisecondsPerTimeUnit={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8},t.truncateDate=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function t(e,r){var t=e.constructor._meta;if(!t||!t.bases)return!1;var a=t.bases,n=Array.isArray(r);return a.some(function(e){var t=e.__accessorMetadata__;if(!t)return!1;var a=t.properties;if(!a||!a.type||!a.type.value)return!1;var u=a.type.value;return n?-1!==r.indexOf(u):u===r})}Object.defineProperty(r,\"__esModule\",{value:!0}),r.isOfType=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.createCache=function(){var e,n;return{invalidate:function(){n=void 0,e=void 0},result:function(r,i){if(e)for(var t=0;t<r.length;t++)e[t]!==r[t]&&(n=void 0);return n||(n=i(),e=r),n}}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./projection\"],function(e,t,o){Object.defineProperty(t,\"__esModule\",{value:!0});var n={namespace:void 0,performanceLogger:function(){},eventHandlerInterceptor:void 0,styleApplyer:function(e,t,o){e.style[t]=o}};t.applyDefaultProjectionOptions=function(e){return o.extend(n,e)},t.dom={create:function(e,n){return n=t.applyDefaultProjectionOptions(n),o.createDom(e,document.createElement(\"div\"),void 0,n),o.createProjection(e,n)},append:function(e,n,r){return r=t.applyDefaultProjectionOptions(r),o.createDom(n,e,void 0,r),o.createProjection(n,r)},insertBefore:function(e,n,r){return r=t.applyDefaultProjectionOptions(r),o.createDom(n,e.parentNode,e,r),o.createProjection(n,r)},merge:function(e,n,r){return r=t.applyDefaultProjectionOptions(r),n.domNode=e,o.initPropertiesAndChildren(e,n,r),o.createProjection(n,r)},replace:function(e,n,r){return r=t.applyDefaultProjectionOptions(r),o.createDom(n,e.parentNode,e,r),e.parentNode.removeChild(e),o.createProjection(n,r)}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function o(e,r,o){if(Array.isArray(r))o=r,r=void 0;else if(r&&(\"string\"==typeof r||r.hasOwnProperty(\"vnodeSelector\"))||o&&(\"string\"==typeof o||o.hasOwnProperty(\"vnodeSelector\")))throw new Error(\"h called with invalid arguments\");var t,i;return o&&1===o.length&&\"string\"==typeof o[0]?t=o[0]:o&&(i=[],n(e,o,i),0===i.length&&(i=void 0)),{vnodeSelector:e,properties:r,children:i,text:\"\"===t?void 0:t,domNode:null}}Object.defineProperty(r,\"__esModule\",{value:!0});var t=function(e){return{vnodeSelector:\"\",properties:void 0,children:void 0,text:e.toString(),domNode:null}},n=function(e,r,o){for(var i=0,d=r.length;i<d;i++){var l=r[i];Array.isArray(l)?n(e,l,o):null!==l&&void 0!==l&&!1!==l&&(\"string\"==typeof l&&(l=t(l)),o.push(l))}};r.h=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./dom\",\"./h\",\"./projector\",\"./cache\",\"./mapping\"],function(e,r,c,a,o,t,p){Object.defineProperty(r,\"__esModule\",{value:!0}),r.dom=c.dom,r.h=a.h,r.createProjector=o.createProjector,r.createCache=t.createCache,r.createMapping=p.createMapping});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.createMapping=function(e,r,n){var t=[],a=[];return{results:a,map:function(i){for(var l=i.map(e),f=a.slice(),o=0,u=0;u<i.length;u++){var c=i[u],g=l[u];if(g===t[o])a[u]=f[o],n(c,f[o],u),o++;else{for(var p=!1,s=1;s<t.length+1;s++){var v=(o+s)%t.length;if(t[v]===g){a[u]=f[v],n(i[u],f[v],u),o=v+1,p=!0;break}}p||(a[u]=r(c,u))}}a.length=i.length,t=l}}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../widgets/support/widgetUtils\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0});var o=\"http://www.w3.org/2000/svg\",i=[];t.extend=function(e,t){var r={};return Object.keys(e).forEach(function(t){r[t]=e[t]}),t&&Object.keys(t).forEach(function(e){r[e]=t[e]}),r};var n=function(e,t){return e.vnodeSelector===t.vnodeSelector&&(e.properties&&t.properties?e.properties.key===t.properties.key&&e.properties.bind===t.properties.bind:!e.properties&&!t.properties)},s=function(e){if(\"string\"!=typeof e)throw new Error(\"Style values must be strings\")},p=function(e,t,r){if(\"\"!==t.vnodeSelector)for(var o=r;o<e.length;o++)if(n(e[o],t))return o;return-1},a=function(e,t,r,o){var i=e[t];if(\"\"!==i.vnodeSelector){var s=i.properties;if(!(s?void 0===s.key?s.bind:s.key:void 0))for(var p=0;p<e.length;p++)if(p!==t){var a=e[p];if(n(a,i))throw new Error(r.vnodeSelector+\" had a \"+i.vnodeSelector+\" child \"+(\"added\"===o?o:\"removed\")+\", but there is now more than one. You must add unique key properties to make them distinguishable.\")}}},d=function(e){if(e.properties){var t=e.properties.enterAnimation;t&&t(e.domNode,e.properties)}},l=[],c=!1,f=function(e){(e.children||[]).forEach(f),e.properties&&e.properties.afterRemoved&&e.properties.afterRemoved.apply(e.properties.bind||e.properties,[e.domNode])},v=function(){c=!1,l.forEach(f),l.length=0},u=function(e){l.push(e),c||(c=!0,\"undefined\"!=typeof window&&\"requestIdleCallback\"in window?window.requestIdleCallback(v,{timeout:16}):setTimeout(v,16))},h=function(e){var t=e.domNode;if(e.properties){var r=e.properties.exitAnimation;if(r){t.style.pointerEvents=\"none\";return void r(t,function(){t.parentNode&&(t.parentNode.removeChild(t),u(e))},e.properties)}}t.parentNode&&(t.parentNode.removeChild(t),u(e))},m=function(e,t,i){if(t)for(var n=i.eventHandlerInterceptor,p=Object.keys(t),a=p.length,d=0;d<a;d++)!function(a){var d=p[a],l=t[d];if(\"className\"===d)throw new Error('Property \"className\" is not supported, use \"class\".');if(\"class\"===d)w(e,l,!0);else if(\"classes\"===d)for(var c=Object.keys(l),f=c.length,v=0;v<f;v++){var u=c[v];l[u]&&e.classList.add(u)}else if(\"styles\"===d)for(var h=Object.keys(l),m=h.length,v=0;v<m;v++){var y=h[v],g=l[y];g&&(s(g),i.styleApplyer(e,y,g))}else if(\"key\"!==d&&null!==l&&void 0!==l){var b=typeof l;\"function\"===b?0===d.lastIndexOf(\"on\",0)&&(n&&(l=n(d,l,e,t)),\"oninput\"===d&&function(){var e=l;l=function(t){e.apply(this,[t]),t.target[\"oninput-value\"]=t.target.value}}(),e[d]=l):i.namespace===o?\"href\"===d?e.setAttributeNS(\"http://www.w3.org/1999/xlink\",d,l):e.setAttribute(d,l):\"string\"===b&&\"value\"!==d?\"innerHTML\"===d?e[d]=r.sanitizer.sanitize(l):e.setAttribute(d,l):e[d]=l}}(d)},y=function(e,r,o){if(r)for(var i=0,n=r;i<n.length;i++){var s=n[i];t.createDom(s,e,void 0,o)}};t.initPropertiesAndChildren=function(e,t,r){y(e,t.children,r),t.text&&(e.textContent=t.text),m(e,t.properties,r),t.properties&&t.properties.afterCreate&&t.properties.afterCreate.apply(t.properties.bind||t.properties,[e,r,t.vnodeSelector,t.properties,t.children])},t.createDom=function(e,r,i,n){var s,p=0,a=e.vnodeSelector,d=r.ownerDocument;if(\"\"===a)s=e.domNode=d.createTextNode(e.text),void 0!==i?r.insertBefore(s,i):r.appendChild(s);else{for(var l=0;l<=a.length;++l){var c=a.charAt(l);if(l===a.length||\".\"===c||\"#\"===c){var f=a.charAt(p-1),v=a.slice(p,l);\".\"===f?s.classList.add(v):\"#\"===f?s.id=v:(\"svg\"===v&&(n=t.extend(n,{namespace:o})),void 0!==n.namespace?s=e.domNode=d.createElementNS(n.namespace,v):(s=e.domNode=e.domNode||d.createElement(v),\"input\"===v&&e.properties&&void 0!==e.properties.type&&s.setAttribute(\"type\",e.properties.type)),void 0!==i?r.insertBefore(s,i):s.parentNode!==r&&r.appendChild(s)),p=l+1}}t.initPropertiesAndChildren(s,e,n)}};var g,w=function(e,t,r){t&&t.split(\" \").forEach(function(t){t&&e.classList.toggle(t,r)})},b=function(e,t,i,n){if(i){for(var p=!1,a=Object.keys(i),d=a.length,l=0;l<d;l++){var c=a[l],f=i[c],v=t[c];if(\"class\"===c)v!==f&&(w(e,v,!1),w(e,f,!0));else if(\"classes\"===c)for(var u=e.classList,h=Object.keys(f),m=h.length,y=0;y<m;y++){var g=h[y],b=!!f[g],N=!!v[g];b!==N&&(p=!0,b?u.add(g):u.remove(g))}else if(\"styles\"===c)for(var x=Object.keys(f),k=x.length,y=0;y<k;y++){var A=x[y],S=f[A],C=v[A];S!==C&&(p=!0,S?(s(S),n.styleApplyer(e,A,S)):n.styleApplyer(e,A,\"\"))}else if(f||\"string\"!=typeof v||(f=\"\"),\"value\"===c){var E=e[c];E!==f&&(e[\"oninput-value\"]?E===e[\"oninput-value\"]:f!==v)&&(e[c]=f,e[\"oninput-value\"]=void 0),f!==v&&(p=!0)}else if(f!==v){var O=typeof f;\"function\"===O&&n.eventHandlerInterceptor||(n.namespace===o?\"href\"===c?e.setAttributeNS(\"http://www.w3.org/1999/xlink\",c,f):e.setAttribute(c,f):\"string\"===O?\"innerHTML\"===c?e[c]=r.sanitizer.sanitize(f):\"role\"===c&&\"\"===f?e.removeAttribute(c):e.setAttribute(c,f):e[c]!==f&&(e[c]=f),p=!0)}}return p}},N=function(e,r,o,s,l){if(o===s)return!1;o=o||i,s=s||i;for(var c,f=o.length,v=s.length,u=0,m=0,y=!1;m<v;){var w=u<f?o[u]:void 0,b=s[m];if(void 0!==w&&n(w,b))y=g(w,b,l)||y,u++;else{var N=p(o,b,u+1);if(N>=0){for(c=u;c<N;c++)h(o[c]),a(o,c,e,\"removed\");y=g(o[N],b,l)||y,u=N+1}else t.createDom(b,r,u<f?o[u].domNode:void 0,l),d(b),a(s,m,e,\"added\")}m++}if(f>u)for(c=u;c<f;c++)h(o[c]),a(o,c,e,\"removed\");return y};g=function(e,r,i){var n=e.domNode,s=!1;if(e===r)return!1;var p=!1;if(\"\"===r.vnodeSelector){if(r.text!==e.text){var a=n.ownerDocument.createTextNode(r.text);return n.parentNode.replaceChild(a,n),r.domNode=a,s=!0}r.domNode=n}else 0===r.vnodeSelector.lastIndexOf(\"svg\",0)&&(i=t.extend(i,{namespace:o})),e.text!==r.text&&(p=!0,void 0===r.text?n.removeChild(n.firstChild):n.textContent=r.text),r.domNode=n,p=N(r,n,e.children,r.children,i)||p,p=b(n,e.properties,r.properties,i)||p,r.properties&&r.properties.afterUpdate&&r.properties.afterUpdate.apply(r.properties.bind||r.properties,[n,i,r.vnodeSelector,r.properties,r.children]);return p&&r.properties&&r.properties.updateAnimation&&r.properties.updateAnimation(n,r.properties,e.properties),s},t.createProjection=function(e,t){return{getLastRender:function(){return e},update:function(r){if(e.vnodeSelector!==r.vnodeSelector)throw new Error(\"The selector for the root VNode may not be changed. (consider using dom.merge and add one extra level to the virtual DOM)\");var o=e;e=r,g(o,r,t)},domNode:e.domNode}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./dom\"],function(e,r,n){Object.defineProperty(r,\"__esModule\",{value:!0});var o,t=function(e,r){for(var n=[];e!==r;)n.push(e),e=e.parentNode;return n};o=Array.prototype.find?function(e,r){return e.find(r)}:function(e,r){return e.filter(r)[0]};var i=function(e,r){var n=e;return r.forEach(function(e){n=n&&n.children?o(n.children,function(r){return r.domNode===e}):void 0}),n},u=function(e,r,n){var o=function(o){n(\"domEvent\",o);var u=r(),d=t(o.currentTarget,u.domNode);d.reverse();var c=i(u.getLastRender(),d);e.scheduleRender();var a;return c&&(a=c.properties[\"on\"+o.type].apply(c.properties.bind||this,arguments)),n(\"domEventProcessed\",o),a};return function(e,r,n,t){return o}};r.createProjector=function(e){var r,o,t=n.applyDefaultProjectionOptions(e),i=t.performanceLogger,d=!0,c=!1,a=[],f=[],p=function(e,n,o){var d,c=function(){return d};t.eventHandlerInterceptor=u(r,c,i),d=e(n,o(),t),a.push(d),f.push(o)},v=function(){if(o=void 0,d){d=!1,i(\"renderStart\",void 0);for(var e=0;e<a.length;e++){var r=f[e]();i(\"rendered\",void 0),a[e].update(r),i(\"patched\",void 0)}i(\"renderDone\",void 0),d=!0}};return r={renderNow:v,scheduleRender:function(){o||c||(o=requestAnimationFrame(v))},stop:function(){o&&(cancelAnimationFrame(o),o=void 0),c=!0},resume:function(){c=!1,d=!0,r.scheduleRender()},append:function(e,r){p(n.dom.append,e,r)},insertBefore:function(e,r){p(n.dom.insertBefore,e,r)},merge:function(e,r){p(n.dom.merge,e,r)},replace:function(e,r){p(n.dom.replace,e,r)},detach:function(e){for(var r=0;r<f.length;r++)if(f[r]===e)return f.splice(r,1),a.splice(r,1)[0];throw new Error(\"renderFunction was not found\")}}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/*!\n * @esri/arcgis-html-sanitizer - v1.3.0 - Thu Sep 05 2019 13:28:05 GMT-0700 (Pacific Daylight Time)\n * Copyright (c) 2019 - Environmental Systems Research Institute, Inc.\n * Apache-2.0\n * \n * js-xss\n * Copyright (c) 2012-2017 Zongmin Lei(雷宗民) <leizongmin@gmail.com>\n * http://ucdok.com\n * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details\n * \n * Lodash/isPlainObject\n * Copyright (c) JS Foundation and other contributors <https://js.foundation/>\n * MIT License, see https://raw.githubusercontent.com/lodash/lodash/4.17.10-npm/LICENSE for details\n */\n\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Sanitizer=e():t.Sanitizer=e()}(this,function(){return function(t){function e(i){if(r[i])return r[i].exports;var n=r[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,i){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:i})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var n in t)e.d(i,n,function(e){return t[e]}.bind(null,n));return i},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,\"a\",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=8)}([function(t,e,r){function i(t,e){return new s(e).process(t)}var n=void 0,o=r(3),a=r(6),s=r(11);for(var l in(e=t.exports=i).filterXSS=i,e.FilterXSS=s,o)e[l]=o[l];for(var l in a)e[l]=a[l];void 0!==n&&(n.filterXSS=t.exports),\"undefined\"!=typeof self&&\"undefined\"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},function(t,e,r){var i=void 0,n=r(4),o=r(9);for(var a in(e=t.exports=function(t,e){return new o(e).process(t)}).FilterCSS=o,n)e[a]=n[a];void 0!==i&&(i.filterCSS=t.exports)},function(t,e){t.exports={indexOf:function(t,e){var r,i;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1},forEach:function(t,e,r){var i,n;if(Array.prototype.forEach)return t.forEach(e,r);for(i=0,n=t.length;i<n;i++)e.call(r,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\\s*)|(\\s*$)/g,\"\")},spaceIndex:function(t){var e=/\\s|\\n|\\t/.exec(t);return e?e.index:-1}}},function(t,e,r){function i(){return{a:[\"target\",\"href\",\"title\"],abbr:[\"title\"],address:[],area:[\"shape\",\"coords\",\"href\",\"alt\"],article:[],aside:[],audio:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\"],b:[],bdi:[\"dir\"],bdo:[\"dir\"],big:[],blockquote:[\"cite\"],br:[],caption:[],center:[],cite:[],code:[],col:[\"align\",\"valign\",\"span\",\"width\"],colgroup:[\"align\",\"valign\",\"span\",\"width\"],dd:[],del:[\"datetime\"],details:[\"open\"],div:[],dl:[],dt:[],em:[],font:[\"color\",\"size\",\"face\"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],ins:[\"datetime\"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:[\"width\",\"border\",\"align\",\"valign\"],tbody:[\"align\",\"valign\"],td:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],tfoot:[\"align\",\"valign\"],th:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],thead:[\"align\",\"valign\"],tr:[\"rowspan\",\"align\",\"valign\"],tt:[],u:[],ul:[],video:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\",\"height\",\"width\"]}}function n(t){return t.replace(m,\"<\").replace(b,\">\")}function o(t){return t.replace(v,\""\")}function a(t){return t.replace(y,'\"')}function s(t){return t.replace(w,function(t,e){return\"x\"===e[0]||\"X\"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))})}function l(t){return t.replace(x,\":\").replace(k,\" \")}function c(t){for(var e=\"\",r=0,i=t.length;r<i;r++)e+=t.charCodeAt(r)<32?\" \":t.charAt(r);return d.trim(e)}function u(t){return t=c(t=l(t=s(t=a(t))))}function f(t){return t=n(t=o(t))}var p=r(1).FilterCSS,g=r(1).getDefaultWhiteList,d=r(2),h=new p,m=/</g,b=/>/g,v=/\"/g,y=/"/g,w=/&#([a-zA-Z0-9]*);?/gim,x=/:?/gim,k=/&newline;?/gim,A=/((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi,S=/e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi,O=/u\\s*r\\s*l\\s*\\(.*/gi,T=/<!--[\\s\\S]*?-->/g;e.whiteList={a:[\"target\",\"href\",\"title\"],abbr:[\"title\"],address:[],area:[\"shape\",\"coords\",\"href\",\"alt\"],article:[],aside:[],audio:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\"],b:[],bdi:[\"dir\"],bdo:[\"dir\"],big:[],blockquote:[\"cite\"],br:[],caption:[],center:[],cite:[],code:[],col:[\"align\",\"valign\",\"span\",\"width\"],colgroup:[\"align\",\"valign\",\"span\",\"width\"],dd:[],del:[\"datetime\"],details:[\"open\"],div:[],dl:[],dt:[],em:[],font:[\"color\",\"size\",\"face\"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],ins:[\"datetime\"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:[\"width\",\"border\",\"align\",\"valign\"],tbody:[\"align\",\"valign\"],td:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],tfoot:[\"align\",\"valign\"],th:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],thead:[\"align\",\"valign\"],tr:[\"rowspan\",\"align\",\"valign\"],tt:[],u:[],ul:[],video:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\",\"height\",\"width\"]},e.getDefaultWhiteList=i,e.onTag=function(t,e,r){},e.onIgnoreTag=function(t,e,r){},e.onTagAttr=function(t,e,r){},e.onIgnoreTagAttr=function(t,e,r){},e.safeAttrValue=function(t,e,r,i){if(r=u(r),\"href\"===e||\"src\"===e){if(\"#\"===(r=d.trim(r)))return\"#\";if(\"http://\"!==r.substr(0,7)&&\"https://\"!==r.substr(0,8)&&\"mailto:\"!==r.substr(0,7)&&\"tel:\"!==r.substr(0,4)&&\"#\"!==r[0]&&\"/\"!==r[0])return\"\"}else if(\"background\"===e){if(A.lastIndex=0,A.test(r))return\"\"}else if(\"style\"===e){if(S.lastIndex=0,S.test(r))return\"\";if(O.lastIndex=0,O.test(r)&&(A.lastIndex=0,A.test(r)))return\"\";!1!==i&&(r=(i=i||h).process(r))}return r=f(r)},e.escapeHtml=n,e.escapeQuote=o,e.unescapeQuote=a,e.escapeHtmlEntities=s,e.escapeDangerHtml5Entities=l,e.clearNonPrintableCharacter=c,e.friendlyAttrValue=u,e.escapeAttrValue=f,e.onIgnoreTagStripAll=function(){return\"\"},e.StripTagBody=function(t,e){\"function\"!=typeof e&&(e=function(){});var r=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(o,a,s){if(function(e){return!!r||-1!==d.indexOf(t,e)}(o)){if(s.isClosing){var l=\"[/removed]\",c=s.position+l.length;return i.push([!1!==n?n:s.position,c]),n=!1,l}return n||(n=s.position),\"[removed]\"}return e(o,a,s)},remove:function(t){var e=\"\",r=0;return d.forEach(i,function(i){e+=t.slice(r,i[0]),r=i[1]}),e+=t.slice(r)}}},e.stripCommentTag=function(t){return t.replace(T,\"\")},e.stripBlankChar=function(t){var e=t.split(\"\");return(e=e.filter(function(t){var e=t.charCodeAt(0);return!(127===e||e<=31&&10!==e&&13!==e)})).join(\"\")},e.cssFilter=h,e.getDefaultCSSWhiteList=g},function(t,e){function r(){return{\"align-content\":!1,\"align-items\":!1,\"align-self\":!1,\"alignment-adjust\":!1,\"alignment-baseline\":!1,all:!1,\"anchor-point\":!1,animation:!1,\"animation-delay\":!1,\"animation-direction\":!1,\"animation-duration\":!1,\"animation-fill-mode\":!1,\"animation-iteration-count\":!1,\"animation-name\":!1,\"animation-play-state\":!1,\"animation-timing-function\":!1,azimuth:!1,\"backface-visibility\":!1,background:!0,\"background-attachment\":!0,\"background-clip\":!0,\"background-color\":!0,\"background-image\":!0,\"background-origin\":!0,\"background-position\":!0,\"background-repeat\":!0,\"background-size\":!0,\"baseline-shift\":!1,binding:!1,bleed:!1,\"bookmark-label\":!1,\"bookmark-level\":!1,\"bookmark-state\":!1,border:!0,\"border-bottom\":!0,\"border-bottom-color\":!0,\"border-bottom-left-radius\":!0,\"border-bottom-right-radius\":!0,\"border-bottom-style\":!0,\"border-bottom-width\":!0,\"border-collapse\":!0,\"border-color\":!0,\"border-image\":!0,\"border-image-outset\":!0,\"border-image-repeat\":!0,\"border-image-slice\":!0,\"border-image-source\":!0,\"border-image-width\":!0,\"border-left\":!0,\"border-left-color\":!0,\"border-left-style\":!0,\"border-left-width\":!0,\"border-radius\":!0,\"border-right\":!0,\"border-right-color\":!0,\"border-right-style\":!0,\"border-right-width\":!0,\"border-spacing\":!0,\"border-style\":!0,\"border-top\":!0,\"border-top-color\":!0,\"border-top-left-radius\":!0,\"border-top-right-radius\":!0,\"border-top-style\":!0,\"border-top-width\":!0,\"border-width\":!0,bottom:!1,\"box-decoration-break\":!0,\"box-shadow\":!0,\"box-sizing\":!0,\"box-snap\":!0,\"box-suppress\":!0,\"break-after\":!0,\"break-before\":!0,\"break-inside\":!0,\"caption-side\":!1,chains:!1,clear:!0,clip:!1,\"clip-path\":!1,\"clip-rule\":!1,color:!0,\"color-interpolation-filters\":!0,\"column-count\":!1,\"column-fill\":!1,\"column-gap\":!1,\"column-rule\":!1,\"column-rule-color\":!1,\"column-rule-style\":!1,\"column-rule-width\":!1,\"column-span\":!1,\"column-width\":!1,columns:!1,contain:!1,content:!1,\"counter-increment\":!1,\"counter-reset\":!1,\"counter-set\":!1,crop:!1,cue:!1,\"cue-after\":!1,\"cue-before\":!1,cursor:!1,direction:!1,display:!0,\"display-inside\":!0,\"display-list\":!0,\"display-outside\":!0,\"dominant-baseline\":!1,elevation:!1,\"empty-cells\":!1,filter:!1,flex:!1,\"flex-basis\":!1,\"flex-direction\":!1,\"flex-flow\":!1,\"flex-grow\":!1,\"flex-shrink\":!1,\"flex-wrap\":!1,float:!1,\"float-offset\":!1,\"flood-color\":!1,\"flood-opacity\":!1,\"flow-from\":!1,\"flow-into\":!1,font:!0,\"font-family\":!0,\"font-feature-settings\":!0,\"font-kerning\":!0,\"font-language-override\":!0,\"font-size\":!0,\"font-size-adjust\":!0,\"font-stretch\":!0,\"font-style\":!0,\"font-synthesis\":!0,\"font-variant\":!0,\"font-variant-alternates\":!0,\"font-variant-caps\":!0,\"font-variant-east-asian\":!0,\"font-variant-ligatures\":!0,\"font-variant-numeric\":!0,\"font-variant-position\":!0,\"font-weight\":!0,grid:!1,\"grid-area\":!1,\"grid-auto-columns\":!1,\"grid-auto-flow\":!1,\"grid-auto-rows\":!1,\"grid-column\":!1,\"grid-column-end\":!1,\"grid-column-start\":!1,\"grid-row\":!1,\"grid-row-end\":!1,\"grid-row-start\":!1,\"grid-template\":!1,\"grid-template-areas\":!1,\"grid-template-columns\":!1,\"grid-template-rows\":!1,\"hanging-punctuation\":!1,height:!0,hyphens:!1,icon:!1,\"image-orientation\":!1,\"image-resolution\":!1,\"ime-mode\":!1,\"initial-letters\":!1,\"inline-box-align\":!1,\"justify-content\":!1,\"justify-items\":!1,\"justify-self\":!1,left:!1,\"letter-spacing\":!0,\"lighting-color\":!0,\"line-box-contain\":!1,\"line-break\":!1,\"line-grid\":!1,\"line-height\":!1,\"line-snap\":!1,\"line-stacking\":!1,\"line-stacking-ruby\":!1,\"line-stacking-shift\":!1,\"line-stacking-strategy\":!1,\"list-style\":!0,\"list-style-image\":!0,\"list-style-position\":!0,\"list-style-type\":!0,margin:!0,\"margin-bottom\":!0,\"margin-left\":!0,\"margin-right\":!0,\"margin-top\":!0,\"marker-offset\":!1,\"marker-side\":!1,marks:!1,mask:!1,\"mask-box\":!1,\"mask-box-outset\":!1,\"mask-box-repeat\":!1,\"mask-box-slice\":!1,\"mask-box-source\":!1,\"mask-box-width\":!1,\"mask-clip\":!1,\"mask-image\":!1,\"mask-origin\":!1,\"mask-position\":!1,\"mask-repeat\":!1,\"mask-size\":!1,\"mask-source-type\":!1,\"mask-type\":!1,\"max-height\":!0,\"max-lines\":!1,\"max-width\":!0,\"min-height\":!0,\"min-width\":!0,\"move-to\":!1,\"nav-down\":!1,\"nav-index\":!1,\"nav-left\":!1,\"nav-right\":!1,\"nav-up\":!1,\"object-fit\":!1,\"object-position\":!1,opacity:!1,order:!1,orphans:!1,outline:!1,\"outline-color\":!1,\"outline-offset\":!1,\"outline-style\":!1,\"outline-width\":!1,overflow:!1,\"overflow-wrap\":!1,\"overflow-x\":!1,\"overflow-y\":!1,padding:!0,\"padding-bottom\":!0,\"padding-left\":!0,\"padding-right\":!0,\"padding-top\":!0,page:!1,\"page-break-after\":!1,\"page-break-before\":!1,\"page-break-inside\":!1,\"page-policy\":!1,pause:!1,\"pause-after\":!1,\"pause-before\":!1,perspective:!1,\"perspective-origin\":!1,pitch:!1,\"pitch-range\":!1,\"play-during\":!1,position:!1,\"presentation-level\":!1,quotes:!1,\"region-fragment\":!1,resize:!1,rest:!1,\"rest-after\":!1,\"rest-before\":!1,richness:!1,right:!1,rotation:!1,\"rotation-point\":!1,\"ruby-align\":!1,\"ruby-merge\":!1,\"ruby-position\":!1,\"shape-image-threshold\":!1,\"shape-outside\":!1,\"shape-margin\":!1,size:!1,speak:!1,\"speak-as\":!1,\"speak-header\":!1,\"speak-numeral\":!1,\"speak-punctuation\":!1,\"speech-rate\":!1,stress:!1,\"string-set\":!1,\"tab-size\":!1,\"table-layout\":!1,\"text-align\":!0,\"text-align-last\":!0,\"text-combine-upright\":!0,\"text-decoration\":!0,\"text-decoration-color\":!0,\"text-decoration-line\":!0,\"text-decoration-skip\":!0,\"text-decoration-style\":!0,\"text-emphasis\":!0,\"text-emphasis-color\":!0,\"text-emphasis-position\":!0,\"text-emphasis-style\":!0,\"text-height\":!0,\"text-indent\":!0,\"text-justify\":!0,\"text-orientation\":!0,\"text-overflow\":!0,\"text-shadow\":!0,\"text-space-collapse\":!0,\"text-transform\":!0,\"text-underline-position\":!0,\"text-wrap\":!0,top:!1,transform:!1,\"transform-origin\":!1,\"transform-style\":!1,transition:!1,\"transition-delay\":!1,\"transition-duration\":!1,\"transition-property\":!1,\"transition-timing-function\":!1,\"unicode-bidi\":!1,\"vertical-align\":!1,visibility:!1,\"voice-balance\":!1,\"voice-duration\":!1,\"voice-family\":!1,\"voice-pitch\":!1,\"voice-range\":!1,\"voice-rate\":!1,\"voice-stress\":!1,\"voice-volume\":!1,volume:!1,\"white-space\":!1,widows:!1,width:!0,\"will-change\":!1,\"word-break\":!0,\"word-spacing\":!0,\"word-wrap\":!0,\"wrap-flow\":!1,\"wrap-through\":!1,\"writing-mode\":!1,\"z-index\":!1}}var i=/javascript\\s*\\:/gim;e.whiteList=r(),e.getDefaultWhiteList=r,e.onAttr=function(t,e,r){},e.onIgnoreAttr=function(t,e,r){},e.safeAttrValue=function(t,e){return i.test(e)?\"\":e}},function(t,e){t.exports={indexOf:function(t,e){var r,i;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1},forEach:function(t,e,r){var i,n;if(Array.prototype.forEach)return t.forEach(e,r);for(i=0,n=t.length;i<n;i++)e.call(r,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\\s*)|(\\s*$)/g,\"\")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\\s*$)/g,\"\")}}},function(t,e,r){function i(t){var e=l.spaceIndex(t);if(-1===e)var r=t.slice(1,-1);else r=t.slice(1,e+1);return\"/\"===(r=l.trim(r).toLowerCase()).slice(0,1)&&(r=r.slice(1)),\"/\"===r.slice(-1)&&(r=r.slice(0,-1)),r}function n(t){return\"</\"===t.slice(0,2)}function o(t,e){for(;e<t.length;e++){var r=t[e];if(\" \"!==r)return\"=\"===r?e:-1}}function a(t,e){for(;e>0;e--){var r=t[e];if(\" \"!==r)return\"=\"===r?e:-1}}function s(t){return function(t){return'\"'===t[0]&&'\"'===t[t.length-1]||\"'\"===t[0]&&\"'\"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}var l=r(2),c=/[^a-zA-Z0-9_:\\.\\-]/gim;e.parseTag=function(t,e,r){var o=\"\",a=0,s=!1,l=!1,c=0,u=t.length,f=\"\",p=\"\";for(c=0;c<u;c++){var g=t.charAt(c);if(!1===s){if(\"<\"===g){s=c;continue}}else if(!1===l){if(\"<\"===g){o+=r(t.slice(a,c)),s=c,a=c;continue}if(\">\"===g){o+=r(t.slice(a,s)),f=i(p=t.slice(s,c+1)),o+=e(s,o.length,f,p,n(p)),a=c+1,s=!1;continue}if(('\"'===g||\"'\"===g)&&\"=\"===t.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return a<t.length&&(o+=r(t.substr(a))),o},e.parseAttr=function(t,e){function r(t,r){if(!((t=(t=l.trim(t)).replace(c,\"\").toLowerCase()).length<1)){var i=e(t,r||\"\");i&&n.push(i)}}for(var i=0,n=[],u=!1,f=t.length,p=0;p<f;p++){var g,d=t.charAt(p);if(!1!==u||\"=\"!==d)if(!1===u||p!==i||'\"'!==d&&\"'\"!==d||\"=\"!==t.charAt(p-1)){if(/\\s|\\n|\\t/.test(d)){if(t=t.replace(/\\s|\\n|\\t/g,\" \"),!1===u){if(-1===(g=o(t,p))){r(l.trim(t.slice(i,p))),u=!1,i=p+1;continue}p=g-1;continue}if(-1===(g=a(t,p-1))){r(u,s(l.trim(t.slice(i,p)))),u=!1,i=p+1;continue}}}else{if(-1===(g=t.indexOf(d,p+1)))break;r(u,l.trim(t.slice(i+1,g))),u=!1,i=(p=g)+1}else u=t.slice(i,p),i=p+1}return i<t.length&&(!1===u?r(t.slice(i)):r(u,s(l.trim(t.slice(i))))),l.trim(n.join(\" \"))}},function(t,e){var r,i,n=Function.prototype,o=Object.prototype,a=n.toString,s=o.hasOwnProperty,l=a.call(Object),c=o.toString,u=(r=Object.getPrototypeOf,i=Object,function(t){return r(i(t))});t.exports=function(t){if(!function(t){return!!t&&\"object\"==typeof t}(t)||\"[object Object]\"!=c.call(t)||function(t){var e=!1;if(null!=t&&\"function\"!=typeof t.toString)try{e=!!(t+\"\")}catch(t){}return e}(t))return!1;var e=u(t);if(null===e)return!0;var r=s.call(e,\"constructor\")&&e.constructor;return\"function\"==typeof r&&r instanceof r&&a.call(r)==l}},function(t,e,r){\"use strict\";r.r(e),r.d(e,\"Sanitizer\",function(){return s});var i=r(7),n=r.n(i),o=r(0),a=r.n(o),s=function(){function t(t,e){var r,i=this;this.arcgisWhiteList={a:[\"href\",\"target\",\"style\"],img:[\"src\",\"width\",\"height\",\"border\",\"alt\",\"style\"],video:[\"autoplay\",\"controls\",\"height\",\"loop\",\"muted\",\"poster\",\"preload\",\"src\",\"width\"],audio:[\"autoplay\",\"controls\",\"loop\",\"muted\",\"preload\",\"src\"],span:[\"style\"],table:[\"width\",\"height\",\"cellpadding\",\"cellspacing\",\"border\",\"style\"],div:[\"style\",\"align\"],font:[\"size\",\"color\",\"style\"],tr:[\"height\",\"valign\",\"align\",\"style\"],td:[\"height\",\"width\",\"valign\",\"align\",\"colspan\",\"rowspan\",\"nowrap\",\"style\"],th:[\"height\",\"width\",\"valign\",\"align\",\"colspan\",\"rowspan\",\"nowrap\",\"style\"],p:[\"style\"],b:[],strong:[],i:[],em:[],u:[],br:[],li:[],ul:[],ol:[],hr:[],tbody:[]},this.allowedProtocols=[\"http\",\"https\",\"mailto\",\"iform\",\"tel\",\"flow\",\"lfmobile\",\"arcgis-navigator\",\"arcgis-appstudio-player\",\"arcgis-survey123\",\"arcgis-collector\",\"arcgis-workforce\",\"arcgis-explorer\",\"arcgis-trek2there\",\"mspbi\",\"comgooglemaps\",\"pdfefile\",\"pdfehttp\",\"pdfehttps\",\"boxapp\",\"boxemm\",\"awb\",\"awbs\",\"gropen\",\"radarscope\"],this.arcgisFilterOptions={allowCommentTag:!0,safeAttrValue:function(t,e,r,n){return\"a\"===t&&\"href\"===e||(\"img\"===t||\"audio\"===t||\"video\"===t)&&\"src\"===e?i.sanitizeUrl(r):a.a.safeAttrValue(t,e,r,n)}},t&&!e?r=t:t&&e?(r=Object.create(this.arcgisFilterOptions),Object.keys(t).forEach(function(e){\"whiteList\"===e?r.whiteList=i._extendObjectOfArrays([i.arcgisWhiteList,t.whiteList||{}]):r[e]=t[e]})):(r=Object.create(this.arcgisFilterOptions)).whiteList=this.arcgisWhiteList,this.xssFilterOptions=r,this._xssFilter=new a.a.FilterXSS(r)}return t.prototype.sanitize=function(t){switch(typeof t){case\"number\":return isNaN(t)||!isFinite(t)?null:t;case\"boolean\":return t;case\"string\":return this._xssFilter.process(t);case\"object\":return this._iterateOverObject(t);default:return null}},t.prototype.sanitizeUrl=function(t){var e=this._trim(t.substring(0,t.indexOf(\":\")));return\"/\"===t||\"#\"===t||\"#\"===t[0]||this.allowedProtocols.indexOf(e.toLowerCase())>-1?a.a.escapeAttrValue(t):\"\"},t.prototype.validate=function(t){var e=this.sanitize(t);return{isValid:t===e,sanitized:e}},t.prototype._extendObjectOfArrays=function(t){var e={};return t.forEach(function(t){Object.keys(t).forEach(function(r){Array.isArray(t[r])&&Array.isArray(e[r])?e[r]=e[r].concat(t[r]):e[r]=t[r]})}),e},t.prototype._iterateOverObject=function(t){var e=this;try{var r=!1,i=void 0;if(Array.isArray(t))i=t.reduce(function(t,i){var n=e.validate(i);return n.isValid?t.concat([i]):(r=!0,t.concat([n.sanitized]))},[]);else{if(!n()(t))return null;i=Object.keys(t).reduce(function(i,n){var o=t[n],a=e.validate(o);return a.isValid?i[n]=o:(r=!0,i[n]=a.sanitized),i},{})}return r?i:t}catch(t){return null}},t.prototype._trim=function(t){return String.prototype.trim?t.trim():t.replace(/(^\\s*)|(\\s*$)/g,\"\")},t}()},function(t,e,r){function i(t){return null==t}function n(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).whiteList=t.whiteList||o.whiteList,t.onAttr=t.onAttr||o.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||o.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||o.safeAttrValue,this.options=t}var o=r(4),a=r(10);r(5),n.prototype.process=function(t){if(!(t=(t=t||\"\").toString()))return\"\";var e=this.options,r=e.whiteList,n=e.onAttr,o=e.onIgnoreAttr,s=e.safeAttrValue;return a(t,function(t,e,a,l,c){var u=r[a],f=!1;if(!0===u?f=u:\"function\"==typeof u?f=u(l):u instanceof RegExp&&(f=u.test(l)),!0!==f&&(f=!1),l=s(a,l)){var p,g={position:e,sourcePosition:t,source:c,isWhite:f};return f?i(p=n(a,l,g))?a+\":\"+l:p:i(p=o(a,l,g))?void 0:p}})},t.exports=n},function(t,e,r){var i=r(5);t.exports=function(t,e){function r(){if(!o){var r=i.trim(t.slice(a,s)),n=r.indexOf(\":\");if(-1!==n){var c=i.trim(r.slice(0,n)),u=i.trim(r.slice(n+1));if(c){var f=e(a,l.length,c,u,r);f&&(l+=f+\"; \")}}}a=s+1}\";\"!==(t=i.trimRight(t))[t.length-1]&&(t+=\";\");for(var n=t.length,o=!1,a=0,s=0,l=\"\";s<n;s++){var c=t[s];if(\"/\"===c&&\"*\"===t[s+1]){var u=t.indexOf(\"*/\",s+2);if(-1===u)break;a=(s=u+1)+1,o=!1}else\"(\"===c?o=!0:\")\"===c?o=!1:\";\"===c?o||r():\"\\n\"===c&&r()}return i.trim(l)}},function(t,e,r){function i(t){return null==t}function n(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new o(t.css))}var o=r(1).FilterCSS,a=r(3),s=r(6),l=s.parseTag,c=s.parseAttr,u=r(2);n.prototype.process=function(t){if(!(t=(t=t||\"\").toString()))return\"\";var e=this.options,r=e.whiteList,n=e.onTag,o=e.onIgnoreTag,s=e.onTagAttr,f=e.onIgnoreTagAttr,p=e.safeAttrValue,g=e.escapeHtml,d=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var h=!1;e.stripIgnoreTagBody&&(h=a.StripTagBody(e.stripIgnoreTagBody,o),o=h.onIgnoreTag);var m=l(t,function(t,e,a,l,h){var m,b={sourcePosition:t,position:e,isClosing:h,isWhite:r.hasOwnProperty(a)};if(!i(m=n(a,l,b)))return m;if(b.isWhite){if(b.isClosing)return\"</\"+a+\">\";var v=function(t){var e=u.spaceIndex(t);if(-1===e)return{html:\"\",closing:\"/\"===t[t.length-2]};var r=\"/\"===(t=u.trim(t.slice(e+1,-1)))[t.length-1];return r&&(t=u.trim(t.slice(0,-1))),{html:t,closing:r}}(l),y=r[a],w=c(v.html,function(t,e){var r,n=-1!==u.indexOf(y,t);return i(r=s(a,t,e,n))?n?(e=p(a,t,e,d))?t+'=\"'+e+'\"':t:i(r=f(a,t,e,n))?void 0:r:r});return l=\"<\"+a,w&&(l+=\" \"+w),v.closing&&(l+=\" /\"),l+=\">\"}return i(m=o(a,l,b))?g(l):m},g);return h&&(m=h.remove(m)),m},t.exports=n}]).Sanitizer});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**!\n * Sortable 1.10.0\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\n\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self,t.Sortable=e())}(this,function(){\"use strict\";function t(e){return(t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(e)}function e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n(){return n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},n.apply(this,arguments)}function o(t){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{},i=Object.keys(o);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),i.forEach(function(n){e(t,n,o[n])})}return t}function i(t,e){if(null==t)return{};var n,o,i={},r=Object.keys(t);for(o=0;o<r.length;o++)n=r[o],e.indexOf(n)>=0||(i[n]=t[n]);return i}function r(t,e){if(null==t)return{};var n,o,r=i(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o<a.length;o++)n=a[o],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function a(t){return l(t)||s(t)||c()}function l(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}function s(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t))return Array.from(t)}function c(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}function u(t){return!!navigator.userAgent.match(t)}function d(t,e,n){t.addEventListener(e,n,!ht&&bt)}function h(t,e,n){t.removeEventListener(e,n,!ht&&bt)}function f(t,e){if(e){if(\">\"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function p(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function g(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(\">\"===e[0]?t.parentNode===n&&f(t,e):f(t,e))||o&&t===n)return t;if(t===n)break}while(t=p(t))}return null}function v(t,e,n){if(t&&e)if(t.classList)t.classList[n?\"add\":\"remove\"](e);else{var o=(\" \"+t.className+\" \").replace(yt,\" \").replace(\" \"+e+\" \",\" \");t.className=(o+(n?\" \"+e:\"\")).replace(yt,\" \")}}function m(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,\"\"):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf(\"webkit\")||(e=\"-webkit-\"+e),o[e]=n+(\"string\"==typeof n?\"\":\"px\")}}function b(t,e){var n=\"\";if(\"string\"==typeof t)n=t;else do{var o=m(t,\"transform\");o&&\"none\"!==o&&(n=o+\" \"+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix;return i&&new i(n)}function y(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function w(){return ht?document.documentElement:document.scrollingElement}function E(t,e,n,o,i){if(t.getBoundingClientRect||t===window){var r,a,l,s,c,u,d;if(t!==window&&t!==w()?(r=t.getBoundingClientRect(),a=r.top,l=r.left,s=r.bottom,c=r.right,u=r.height,d=r.width):(a=0,l=0,s=window.innerHeight,c=window.innerWidth,u=window.innerHeight,d=window.innerWidth),(e||n)&&t!==window&&(i=i||t.parentNode,!ht))do{if(i&&i.getBoundingClientRect&&(\"none\"!==m(i,\"transform\")||n&&\"static\"!==m(i,\"position\"))){var h=i.getBoundingClientRect();a-=h.top+parseInt(m(i,\"border-top-width\")),l-=h.left+parseInt(m(i,\"border-left-width\")),s=a+r.height,c=l+r.width;break}}while(i=i.parentNode);if(o&&t!==window){var f=b(i||t),p=f&&f.a,g=f&&f.d;f&&(a/=g,l/=p,d/=p,u/=g,s=a+u,c=l+d)}return{top:a,left:l,bottom:s,right:c,width:d,height:u}}}function D(t,e,n){for(var o=M(t,!0),i=E(t)[e];o;){var r=E(o)[n];if(!(\"top\"===n||\"left\"===n?i>=r:i<=r))return o;if(o===w())break;o=M(o,!1)}return!1}function _(t,e,n){for(var o=0,i=0,r=t.children;i<r.length;){if(\"none\"!==r[i].style.display&&r[i]!==j.ghost&&r[i]!==j.dragged&&g(r[i],n.draggable,t,!1)){if(o===e)return r[i];o++}i++}return null}function S(t,e){for(var n=t.lastElementChild;n&&(n===j.ghost||\"none\"===m(n,\"display\")||e&&!f(n,e));)n=n.previousElementSibling;return n||null}function C(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)\"TEMPLATE\"===t.nodeName.toUpperCase()||t===j.clone||e&&!f(t,e)||n++;return n}function T(t){var e=0,n=0,o=w();if(t)do{var i=b(t),r=i.a,a=i.d;e+=t.scrollLeft*r,n+=t.scrollTop*a}while(t!==o&&(t=t.parentNode));return[e,n]}function x(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n);return-1}function M(t,e){if(!t||!t.getBoundingClientRect)return w();var n=t,o=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=m(n);if(n.clientWidth<n.scrollWidth&&(\"auto\"==i.overflowX||\"scroll\"==i.overflowX)||n.clientHeight<n.scrollHeight&&(\"auto\"==i.overflowY||\"scroll\"==i.overflowY)){if(!n.getBoundingClientRect||n===document.body)return w();if(o||e)return n;o=!0}}}while(n=n.parentNode);return w()}function O(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function A(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function N(t,e){return function(){if(!dt){var n=arguments,o=this;1===n.length?t.call(o,n[0]):t.apply(o,n),dt=setTimeout(function(){dt=void 0},e)}}}function I(){clearTimeout(dt),dt=void 0}function P(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function k(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function R(t,e){m(t,\"position\",\"absolute\"),m(t,\"top\",e.top),m(t,\"left\",e.left),m(t,\"width\",e.width),m(t,\"height\",e.height)}function X(t){m(t,\"position\",\"\"),m(t,\"top\",\"\"),m(t,\"left\",\"\"),m(t,\"width\",\"\"),m(t,\"height\",\"\")}function Y(){var t,e=[];return{captureAnimationState:function(){if(e=[],this.options.animation){[].slice.call(this.el.children).forEach(function(t){if(\"none\"!==m(t,\"display\")&&t!==j.ghost){e.push({target:t,rect:E(t)});var n=o({},e[e.length-1].rect);if(t.thisAnimationDuration){var i=b(t,!0);i&&(n.top-=i.f,n.left-=i.e)}t.fromRect=n}})}},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(x(e,{target:t}),1)},animateAll:function(n){var o=this;if(!this.options.animation)return clearTimeout(t),void(\"function\"==typeof n&&n());var i=!1,r=0;e.forEach(function(t){var e=0,n=t.target,a=n.fromRect,l=E(n),s=n.prevFromRect,c=n.prevToRect,u=t.rect,d=b(n,!0);d&&(l.top-=d.f,l.left-=d.e),n.toRect=l,n.thisAnimationDuration&&A(s,l)&&!A(a,l)&&(u.top-l.top)/(u.left-l.left)==(a.top-l.top)/(a.left-l.left)&&(e=F(u,s,c,o.options)),A(l,a)||(n.prevFromRect=a,n.prevToRect=l,e||(e=o.options.animation),o.animate(n,u,l,e)),e&&(i=!0,r=Math.max(r,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},e),n.thisAnimationDuration=e)}),clearTimeout(t),i?t=setTimeout(function(){\"function\"==typeof n&&n()},r):\"function\"==typeof n&&n(),e=[]},animate:function(t,e,n,o){if(o){m(t,\"transition\",\"\"),m(t,\"transform\",\"\");var i=b(this.el),r=i&&i.a,a=i&&i.d,l=(e.left-n.left)/(r||1),s=(e.top-n.top)/(a||1);t.animatingX=!!l,t.animatingY=!!s,m(t,\"transform\",\"translate3d(\"+l+\"px,\"+s+\"px,0)\"),B(t),m(t,\"transition\",\"transform \"+o+\"ms\"+(this.options.easing?\" \"+this.options.easing:\"\")),m(t,\"transform\",\"translate3d(0,0,0)\"),\"number\"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout(function(){m(t,\"transition\",\"\"),m(t,\"transform\",\"\"),t.animated=!1,t.animatingX=!1,t.animatingY=!1},o)}}}}function B(t){return t.offsetWidth}function F(t,e,n,o){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*o.animation}function H(t){var e=t.sortable,n=t.rootEl,i=t.name,r=t.targetEl,a=t.cloneEl,l=t.toEl,s=t.fromEl,c=t.oldIndex,u=t.newIndex,d=t.oldDraggableIndex,h=t.newDraggableIndex,f=t.originalEvent,p=t.putSortable,g=t.extraEventProperties;if(e=e||n&&n[wt]){var v,m=e.options,b=\"on\"+i.charAt(0).toUpperCase()+i.substr(1);!window.CustomEvent||ht||ft?(v=document.createEvent(\"Event\"),v.initEvent(i,!0,!0)):v=new CustomEvent(i,{bubbles:!0,cancelable:!0}),v.to=l||n,v.from=s||n,v.item=r||n,v.clone=a,v.oldIndex=c,v.newIndex=u,v.oldDraggableIndex=d,v.newDraggableIndex=h,v.originalEvent=f,v.pullMode=p?p.lastPutMode:void 0;var y=o({},g,_t.getEventProperties(i,e));for(var w in y)v[w]=y[w];n&&n.dispatchEvent(v),m[b]&&m[b].call(e,v)}}function L(t){H(o({putSortable:Bt,cloneEl:Nt,targetEl:Ct,rootEl:Mt,oldIndex:Pt,oldDraggableIndex:Rt,newIndex:kt,newDraggableIndex:Xt},t))}function j(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw\"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(t));this.el=t,this.options=e=n({},e),t[wt]=this;var o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?\">li\":\">*\",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return se(t,this.options)},ghostClass:\"sortable-ghost\",chosenClass:\"sortable-chosen\",dragClass:\"sortable-drag\",ignore:\"a, img\",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData(\"Text\",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:\"data-id\",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:\"sortable-fallback\",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==j.supportPointer&&\"PointerEvent\"in window,emptyInsertThreshold:5};_t.initializePlugins(this,t,o);for(var i in o)!(i in e)&&(e[i]=o[i]);de(e);for(var r in this)\"_\"===r.charAt(0)&&\"function\"==typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!e.forceFallback&&ae,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?d(t,\"pointerdown\",this._onTapStart):(d(t,\"mousedown\",this._onTapStart),d(t,\"touchstart\",this._onTapStart)),this.nativeDraggable&&(d(t,\"dragover\",this),d(t,\"dragenter\",this)),$t.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),n(this,Y())}function K(t){t.dataTransfer&&(t.dataTransfer.dropEffect=\"move\"),t.cancelable&&t.preventDefault()}function W(t,e,n,o,i,r,a,l){var s,c,u=t[wt],d=u.options.onMove;return!window.CustomEvent||ht||ft?(s=document.createEvent(\"Event\"),s.initEvent(\"move\",!0,!0)):s=new CustomEvent(\"move\",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||E(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),d&&(c=d.call(u,s,a)),c}function z(t){t.draggable=!1}function G(){ne=!1}function U(t,e,n){var o=E(S(n.el,n.options.draggable));return e?t.clientX>o.right+10||t.clientX<=o.right&&t.clientY>o.bottom&&t.clientX>=o.left:t.clientX>o.right&&t.clientY>o.top||t.clientX<=o.right&&t.clientY>o.bottom+10}function q(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,u=o?n.top:n.left,d=o?n.bottom:n.right,h=!1;if(!a)if(l&&qt<c*i){if(!Jt&&(1===Ut?s>u+c*r/2:s<d-c*r/2)&&(Jt=!0),Jt)h=!0;else if(1===Ut?s<u+qt:s>d-qt)return-Ut}else if(s>u+c*(1-i)/2&&s<d-c*(1-i)/2)return V(e);return h=h||a,h&&(s<u+c*r/2||s>d-c*r/2)?s>u+c/2?1:-1:0}function V(t){return C(Ct)<C(t)?1:-1}function Z(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;n--;)o+=e.charCodeAt(n);return o.toString(36)}function Q(t){oe.length=0;for(var e=t.getElementsByTagName(\"input\"),n=e.length;n--;){var o=e[n];o.checked&&oe.push(o)}}function $(t){return setTimeout(t,0)}function J(t){return clearTimeout(t)}function tt(){function t(){this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var t in this)\"_\"===t.charAt(0)&&\"function\"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){var e=t.originalEvent;this.sortable.nativeDraggable?d(document,\"dragover\",this._handleAutoScroll):this.options.supportPointer?d(document,\"pointermove\",this._handleFallbackAutoScroll):e.touches?d(document,\"touchmove\",this._handleFallbackAutoScroll):d(document,\"mousemove\",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var e=t.originalEvent;this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?h(document,\"dragover\",this._handleAutoScroll):(h(document,\"pointermove\",this._handleFallbackAutoScroll),h(document,\"touchmove\",this._handleFallbackAutoScroll),h(document,\"mousemove\",this._handleFallbackAutoScroll)),nt(),et(),I()},nulling:function(){we=me=ve=_e=Ee=be=ye=null,De.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,e){var n=this,o=(t.touches?t.touches[0]:t).clientX,i=(t.touches?t.touches[0]:t).clientY,r=document.elementFromPoint(o,i);if(we=t,e||ft||ht||gt){Se(t,this.options,r,e);var a=M(r,!0);!_e||Ee&&o===be&&i===ye||(Ee&&nt(),Ee=setInterval(function(){var r=M(document.elementFromPoint(o,i),!0);r!==a&&(a=r,et()),Se(t,n.options,r,e)},10),be=o,ye=i)}else{if(!this.options.bubbleScroll||M(r,!0)===w())return void et();Se(t,this.options,M(r,!1),!1)}}},n(t,{pluginName:\"scroll\",initializeByDefault:!0})}function et(){De.forEach(function(t){clearInterval(t.pid)}),De=[]}function nt(){clearInterval(Ee)}function ot(){}function it(){}function rt(){function t(){this.defaults={swapClass:\"sortable-swap-highlight\"}}return t.prototype={dragStart:function(t){var e=t.dragEl;Te=e},dragOverValid:function(t){var e=t.completed,n=t.target,o=t.onMove,i=t.activeSortable,r=t.changed,a=t.cancel;if(i.options.swap){var l=this.sortable.el,s=this.options;if(n&&n!==l){var c=Te;!1!==o(n)?(v(n,s.swapClass,!0),Te=n):Te=null,c&&c!==Te&&v(c,s.swapClass,!1)}r(),e(!0),a()}},drop:function(t){var e=t.activeSortable,n=t.putSortable,o=t.dragEl,i=n||this.sortable,r=this.options;Te&&v(Te,r.swapClass,!1),Te&&(r.swap||n&&n.options.swap)&&o!==Te&&(i.captureAnimationState(),i!==e&&e.captureAnimationState(),at(o,Te),i.animateAll(),i!==e&&e.animateAll())},nulling:function(){Te=null}},n(t,{pluginName:\"swap\",eventProperties:function(){return{swapItem:Te}}})}function at(t,e){var n,o,i=t.parentNode,r=e.parentNode;i&&r&&!i.isEqualNode(e)&&!r.isEqualNode(t)&&(n=C(t),o=C(e),i.isEqualNode(r)&&n<o&&o++,i.insertBefore(e,i.children[n]),r.insertBefore(t,r.children[o]))}function lt(){function t(t){for(var e in this)\"_\"===e.charAt(0)&&\"function\"==typeof this[e]&&(this[e]=this[e].bind(this));t.options.supportPointer?d(document,\"pointerup\",this._deselectMultiDrag):(d(document,\"mouseup\",this._deselectMultiDrag),d(document,\"touchend\",this._deselectMultiDrag)),d(document,\"keydown\",this._checkKeyDown),d(document,\"keyup\",this._checkKeyUp),this.defaults={selectedClass:\"sortable-selected\",multiDragKey:null,setData:function(e,n){var o=\"\";Ie.length&&Me===t?Ie.forEach(function(t,e){o+=(e?\", \":\"\")+t.textContent}):o=n.textContent,e.setData(\"Text\",o)}}}return t.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(t){var e=t.dragEl;Oe=e},delayEnded:function(){this.isMultiDrag=~Ie.indexOf(Oe)},setupClone:function(t){var e=t.sortable,n=t.cancel;if(this.isMultiDrag){for(var o=0;o<Ie.length;o++)Pe.push(k(Ie[o])),Pe[o].sortableIndex=Ie[o].sortableIndex,Pe[o].draggable=!1,Pe[o].style[\"will-change\"]=\"\",v(Pe[o],this.options.selectedClass,!1),Ie[o]===Oe&&v(Pe[o],this.options.chosenClass,!1);e._hideClone(),n()}},clone:function(t){var e=t.sortable,n=t.rootEl,o=t.dispatchSortableEvent,i=t.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||Ie.length&&Me===e&&(ct(!0,n),o(\"clone\"),i()))},showClone:function(t){var e=t.cloneNowShown,n=t.rootEl,o=t.cancel;this.isMultiDrag&&(ct(!1,n),Pe.forEach(function(t){m(t,\"display\",\"\")}),e(),Ne=!1,o())},hideClone:function(t){var e=this,n=(t.sortable,t.cloneNowHidden),o=t.cancel;this.isMultiDrag&&(Pe.forEach(function(t){m(t,\"display\",\"none\"),e.options.removeCloneOnHide&&t.parentNode&&t.parentNode.removeChild(t)}),n(),Ne=!0,o())},dragStartGlobal:function(t){t.sortable;!this.isMultiDrag&&Me&&Me.multiDrag._deselectMultiDrag(),Ie.forEach(function(t){t.sortableIndex=C(t)}),Ie=Ie.sort(function(t,e){return t.sortableIndex-e.sortableIndex}),Xe=!0},dragStarted:function(t){var e=this,n=t.sortable;if(this.isMultiDrag){if(this.options.sort&&(n.captureAnimationState(),this.options.animation)){Ie.forEach(function(t){t!==Oe&&m(t,\"position\",\"absolute\")});var o=E(Oe,!1,!0,!0);Ie.forEach(function(t){t!==Oe&&R(t,o)}),Re=!0,ke=!0}n.animateAll(function(){Re=!1,ke=!1,e.options.animation&&Ie.forEach(function(t){X(t)}),e.options.sort&&ut()})}},dragOver:function(t){var e=t.target,n=t.completed,o=t.cancel;Re&&~Ie.indexOf(e)&&(n(!1),o())},revert:function(t){var e=t.fromSortable,n=t.rootEl,o=t.sortable,i=t.dragRect;Ie.length>1&&(Ie.forEach(function(t){o.addAnimationState({target:t,rect:Re?E(t):i}),X(t),t.fromRect=i,e.removeAnimationState(t)}),Re=!1,st(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(t){var e=t.sortable,n=t.isOwner,o=t.insertion,i=t.activeSortable,r=t.parentEl,a=t.putSortable,l=this.options;if(o){if(n&&i._hideClone(),ke=!1,l.animation&&Ie.length>1&&(Re||!n&&!i.options.sort&&!a)){var s=E(Oe,!1,!0,!0);Ie.forEach(function(t){t!==Oe&&(R(t,s),r.appendChild(t))}),Re=!0}if(!n)if(Re||ut(),Ie.length>1){var c=Ne;i._showClone(e),i.options.animation&&!Ne&&c&&Pe.forEach(function(t){i.addAnimationState({target:t,rect:Ae}),t.fromRect=Ae,t.thisAnimationDuration=null})}else i._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,o=t.isOwner,i=t.activeSortable;if(Ie.forEach(function(t){t.thisAnimationDuration=null}),i.options.animation&&!o&&i.multiDrag.isMultiDrag){Ae=n({},e);var r=b(Oe,!0);Ae.top-=r.f,Ae.left-=r.e}},dragOverAnimationComplete:function(){Re&&(Re=!1,ut())},drop:function(t){var e=t.originalEvent,n=t.rootEl,o=t.parentEl,i=t.sortable,r=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,s=l||this.sortable;if(e){var c=this.options,u=o.children;if(!Xe)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),v(Oe,c.selectedClass,!~Ie.indexOf(Oe)),~Ie.indexOf(Oe))Ie.splice(Ie.indexOf(Oe),1),xe=null,H({sortable:i,rootEl:n,name:\"deselect\",targetEl:Oe,originalEvt:e});else{if(Ie.push(Oe),H({sortable:i,rootEl:n,name:\"select\",targetEl:Oe,originalEvt:e}),e.shiftKey&&xe&&i.el.contains(xe)){var d=C(xe),h=C(Oe);if(~d&&~h&&d!==h){var f,p;for(h>d?(p=d,f=h):(p=h,f=d+1);p<f;p++)~Ie.indexOf(u[p])||(v(u[p],c.selectedClass,!0),Ie.push(u[p]),H({sortable:i,rootEl:n,name:\"select\",targetEl:u[p],originalEvt:e}))}}else xe=Oe;Me=s}if(Xe&&this.isMultiDrag){if((o[wt].options.sort||o!==n)&&Ie.length>1){var g=E(Oe),m=C(Oe,\":not(.\"+this.options.selectedClass+\")\");if(!ke&&c.animation&&(Oe.thisAnimationDuration=null),s.captureAnimationState(),!ke&&(c.animation&&(Oe.fromRect=g,Ie.forEach(function(t){if(t.thisAnimationDuration=null,t!==Oe){var e=Re?E(t):g;t.fromRect=e,s.addAnimationState({target:t,rect:e})}})),ut(),Ie.forEach(function(t){u[m]?o.insertBefore(t,u[m]):o.appendChild(t),m++}),a===C(Oe))){var b=!1;Ie.forEach(function(t){if(t.sortableIndex!==C(t))return void(b=!0)}),b&&r(\"update\")}Ie.forEach(function(t){X(t)}),s.animateAll()}Me=s}(n===o||l&&\"clone\"!==l.lastPutMode)&&Pe.forEach(function(t){t.parentNode&&t.parentNode.removeChild(t)})}},nullingGlobal:function(){this.isMultiDrag=Xe=!1,Pe.length=0},destroyGlobal:function(){this._deselectMultiDrag(),h(document,\"pointerup\",this._deselectMultiDrag),h(document,\"mouseup\",this._deselectMultiDrag),h(document,\"touchend\",this._deselectMultiDrag),h(document,\"keydown\",this._checkKeyDown),h(document,\"keyup\",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!Xe&&Me===this.sortable&&!(t&&g(t.target,this.options.draggable,this.sortable.el,!1)||t&&0!==t.button))for(;Ie.length;){var e=Ie[0];v(e,this.options.selectedClass,!1),Ie.shift(),H({sortable:this.sortable,rootEl:this.sortable.el,name:\"deselect\",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},n(t,{pluginName:\"multiDrag\",utils:{select:function(t){var e=t.parentNode[wt];e&&e.options.multiDrag&&!~Ie.indexOf(t)&&(Me&&Me!==e&&(Me.multiDrag._deselectMultiDrag(),Me=e),v(t,e.options.selectedClass,!0),Ie.push(t))},deselect:function(t){var e=t.parentNode[wt],n=Ie.indexOf(t);e&&e.options.multiDrag&&~n&&(v(t,e.options.selectedClass,!1),Ie.splice(n,1))}},eventProperties:function(){var t=this,e=[],n=[];return Ie.forEach(function(o){e.push({multiDragElement:o,index:o.sortableIndex});var i;i=Re&&o!==Oe?-1:Re?C(o,\":not(.\"+t.options.selectedClass+\")\"):C(o),n.push({multiDragElement:o,index:i})}),{items:a(Ie),clones:[].concat(Pe),oldIndicies:e,newIndicies:n}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),\"ctrl\"===t?t=\"Control\":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function st(t,e){Ie.forEach(function(n,o){var i=e.children[n.sortableIndex+(t?Number(o):0)];i?e.insertBefore(n,i):e.appendChild(n)})}function ct(t,e){Pe.forEach(function(n,o){var i=e.children[n.sortableIndex+(t?Number(o):0)];i?e.insertBefore(n,i):e.appendChild(n)})}function ut(){Ie.forEach(function(t){t!==Oe&&t.parentNode&&t.parentNode.removeChild(t)})}var dt,ht=u(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i),ft=u(/Edge/i),pt=u(/firefox/i),gt=u(/safari/i)&&!u(/chrome/i)&&!u(/android/i),vt=u(/iP(ad|od|hone)/i),mt=u(/chrome/i)&&u(/android/i),bt={capture:!1,passive:!1},yt=/\\s+/g,wt=\"Sortable\"+(new Date).getTime(),Et=[],Dt={initializeByDefault:!0},_t={mount:function(t){for(var e in Dt)!Dt.hasOwnProperty(e)||e in t||(t[e]=Dt[e]);Et.push(t)},pluginEvent:function(t,e,n){var i=this;this.eventCanceled=!1,n.cancel=function(){i.eventCanceled=!0};var r=t+\"Global\";Et.forEach(function(i){e[i.pluginName]&&(e[i.pluginName][r]&&e[i.pluginName][r](o({sortable:e},n)),e.options[i.pluginName]&&e[i.pluginName][t]&&e[i.pluginName][t](o({sortable:e},n)))})},initializePlugins:function(t,e,o,i){Et.forEach(function(i){var r=i.pluginName;if(t.options[r]||i.initializeByDefault){var a=new i(t,e,t.options);a.sortable=t,a.options=t.options,t[r]=a,n(o,a.defaults)}});for(var r in t.options)if(t.options.hasOwnProperty(r)){var a=this.modifyOption(t,r,t.options[r]);void 0!==a&&(t.options[r]=a)}},getEventProperties:function(t,e){var o={};return Et.forEach(function(i){\"function\"==typeof i.eventProperties&&n(o,i.eventProperties.call(e[i.pluginName],t))}),o},modifyOption:function(t,e,n){var o;return Et.forEach(function(i){t[i.pluginName]&&i.optionListeners&&\"function\"==typeof i.optionListeners[e]&&(o=i.optionListeners[e].call(t[i.pluginName],n))}),o}},St=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.evt,a=r(n,[\"evt\"]);_t.pluginEvent.bind(j)(t,e,o({dragEl:Ct,parentEl:Tt,ghostEl:xt,rootEl:Mt,nextEl:Ot,lastDownEl:At,cloneEl:Nt,cloneHidden:It,dragStarted:zt,putSortable:Bt,activeSortable:j.active,originalEvent:i,oldIndex:Pt,oldDraggableIndex:Rt,newIndex:kt,newDraggableIndex:Xt,hideGhostForTarget:he,unhideGhostForTarget:fe,cloneNowHidden:function(){It=!0},cloneNowShown:function(){It=!1},dispatchSortableEvent:function(t){L({sortable:e,name:t,originalEvent:i})}},a))};if(\"undefined\"==typeof window||!window.document)throw new Error(\"Sortable.js requires a window with a document\");var Ct,Tt,xt,Mt,Ot,At,Nt,It,Pt,kt,Rt,Xt,Yt,Bt,Ft,Ht,Lt,jt,Kt,Wt,zt,Gt,Ut,qt,Vt,Zt=!1,Qt=!1,$t=[],Jt=!1,te=!1,ee=[],ne=!1,oe=[],ie=vt,re=ft||ht?\"cssFloat\":\"float\",ae=!mt&&!vt&&\"draggable\"in document.createElement(\"div\"),le=function(){if(ht)return!1;var t=document.createElement(\"x\");return t.style.cssText=\"pointer-events:auto\",\"auto\"===t.style.pointerEvents}(),se=function(t,e){var n=m(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=_(t,0,e),r=_(t,1,e),a=i&&m(i),l=r&&m(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+E(i).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+E(r).width;if(\"flex\"===n.display)return\"column\"===n.flexDirection||\"column-reverse\"===n.flexDirection?\"vertical\":\"horizontal\";if(\"grid\"===n.display)return n.gridTemplateColumns.split(\" \").length<=1?\"vertical\":\"horizontal\";if(i&&a.float&&\"none\"!==a.float){var u=\"left\"===a.float?\"left\":\"right\";return!r||\"both\"!==l.clear&&l.clear!==u?\"horizontal\":\"vertical\"}return i&&(\"block\"===a.display||\"flex\"===a.display||\"table\"===a.display||\"grid\"===a.display||s>=o&&\"none\"===n[re]||r&&\"none\"===n[re]&&s+c>o)?\"vertical\":\"horizontal\"},ce=function(t,e,n){var o=n?t.left:t.top,i=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return o===a||i===l||o+r/2===a+s/2},ue=function(t,e){var n;return $t.some(function(o){if(!S(o)){var i=E(o),r=o[wt].options.emptyInsertThreshold,a=t>=i.left-r&&t<=i.right+r,l=e>=i.top-r&&e<=i.bottom+r;return r&&a&&l?n=o:void 0}}),n},de=function(e){function n(t,e){return function(o,i,r,a){var l=o.options.group.name&&i.options.group.name&&o.options.group.name===i.options.group.name;if(null==t&&(e||l))return!0;if(null==t||!1===t)return!1;if(e&&\"clone\"===t)return t;if(\"function\"==typeof t)return n(t(o,i,r,a),e)(o,i,r,a);var s=(e?o:i).options.group.name;return!0===t||\"string\"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var o={},i=e.group;i&&\"object\"==t(i)||(i={name:i}),o.name=i.name,o.checkPull=n(i.pull,!0),o.checkPut=n(i.put),o.revertClone=i.revertClone,e.group=o},he=function(){!le&&xt&&m(xt,\"display\",\"none\")},fe=function(){!le&&xt&&m(xt,\"display\",\"\")};document.addEventListener(\"click\",function(t){if(Qt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Qt=!1,!1},!0);var pe=function(t){if(Ct){t=t.touches?t.touches[0]:t;var e=ue(t.clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[wt]._onDragOver(n)}}},ge=function(t){Ct&&Ct.parentNode[wt]._isOutsideThisEl(t.target)};j.prototype={constructor:j,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(Gt=null)},_getDirection:function(t,e){return\"function\"==typeof this.options.direction?this.options.direction.call(this,t,e,Ct):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,o=this.options,i=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&\"touch\"===t.pointerType&&t,l=(a||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=o.filter;if(Q(n),!Ct&&!(/mousedown|pointerdown/.test(r)&&0!==t.button||o.disabled||s.isContentEditable||(l=g(l,o.draggable,n,!1))&&l.animated||At===l)){if(Pt=C(l),Rt=C(l,o.draggable),\"function\"==typeof c){if(c.call(this,t,l,this))return L({sortable:e,rootEl:s,name:\"filter\",targetEl:l,toEl:n,fromEl:n}),St(\"filter\",e,{evt:t}),void(i&&t.cancelable&&t.preventDefault())}else if(c&&(c=c.split(\",\").some(function(o){if(o=g(s,o.trim(),n,!1))return L({sortable:e,rootEl:o,name:\"filter\",targetEl:l,fromEl:n,toEl:n}),St(\"filter\",e,{evt:t}),!0})))return void(i&&t.cancelable&&t.preventDefault());o.handle&&!g(s,o.handle,n,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;if(n&&!Ct&&n.parentNode===r){var s=E(n);if(Mt=r,Ct=n,Tt=Ct.parentNode,Ot=Ct.nextSibling,At=n,Yt=a.group,j.dragged=Ct,Ft={target:Ct,clientX:(e||t).clientX,clientY:(e||t).clientY},Kt=Ft.clientX-s.left,Wt=Ft.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,Ct.style[\"will-change\"]=\"all\",o=function(){if(St(\"delayEnded\",i,{evt:t}),j.eventCanceled)return void i._onDrop();i._disableDelayedDragEvents(),!pt&&i.nativeDraggable&&(Ct.draggable=!0),i._triggerDragStart(t,e),L({sortable:i,name:\"choose\",originalEvent:t}),v(Ct,a.chosenClass,!0)},a.ignore.split(\",\").forEach(function(t){y(Ct,t.trim(),z)}),d(l,\"dragover\",pe),d(l,\"mousemove\",pe),d(l,\"touchmove\",pe),d(l,\"mouseup\",i._onDrop),d(l,\"touchend\",i._onDrop),d(l,\"touchcancel\",i._onDrop),pt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Ct.draggable=!0),St(\"delayStart\",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(ft||ht))o();else{if(j.eventCanceled)return void this._onDrop();d(l,\"mouseup\",i._disableDelayedDrag),d(l,\"touchend\",i._disableDelayedDrag),d(l,\"touchcancel\",i._disableDelayedDrag),d(l,\"mousemove\",i._delayedDragTouchMoveHandler),d(l,\"touchmove\",i._delayedDragTouchMoveHandler),a.supportPointer&&d(l,\"pointermove\",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Ct&&z(Ct),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;h(t,\"mouseup\",this._disableDelayedDrag),h(t,\"touchend\",this._disableDelayedDrag),h(t,\"touchcancel\",this._disableDelayedDrag),h(t,\"mousemove\",this._delayedDragTouchMoveHandler),h(t,\"touchmove\",this._delayedDragTouchMoveHandler),h(t,\"pointermove\",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||\"touch\"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?d(document,\"pointermove\",this._onTouchMove):e?d(document,\"touchmove\",this._onTouchMove):d(document,\"mousemove\",this._onTouchMove):(d(Ct,\"dragend\",this),d(Mt,\"dragstart\",this._onDragStart));try{document.selection?$(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(Zt=!1,Mt&&Ct){St(\"dragStarted\",this,{evt:e}),this.nativeDraggable&&d(document,\"dragover\",ge);var n=this.options;!t&&v(Ct,n.dragClass,!1),v(Ct,n.ghostClass,!0),j.active=this,t&&this._appendGhost(),L({sortable:this,name:\"start\",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(Ht){this._lastX=Ht.clientX,this._lastY=Ht.clientY,he();for(var t=document.elementFromPoint(Ht.clientX,Ht.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Ht.clientX,Ht.clientY))!==e;)e=t;if(Ct.parentNode[wt]._isOutsideThisEl(t),e)do{if(e[wt]){if(e[wt]._onDragOver({clientX:Ht.clientX,clientY:Ht.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);fe()}},_onTouchMove:function(t){if(Ft){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=xt&&b(xt),a=xt&&r&&r.a,l=xt&&r&&r.d,s=ie&&Vt&&T(Vt),c=(i.clientX-Ft.clientX+o.x)/(a||1)+(s?s[0]-ee[0]:0)/(a||1),u=(i.clientY-Ft.clientY+o.y)/(l||1)+(s?s[1]-ee[1]:0)/(l||1);if(!j.active&&!Zt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(xt){r?(r.e+=c-(Lt||0),r.f+=u-(jt||0)):r={a:1,b:0,c:0,d:1,e:c,f:u};var d=\"matrix(\".concat(r.a,\",\").concat(r.b,\",\").concat(r.c,\",\").concat(r.d,\",\").concat(r.e,\",\").concat(r.f,\")\");m(xt,\"webkitTransform\",d),m(xt,\"mozTransform\",d),m(xt,\"msTransform\",d),m(xt,\"transform\",d),Lt=c,jt=u,Ht=i}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!xt){var t=this.options.fallbackOnBody?document.body:Mt,e=E(Ct,!0,ie,!0,t),n=this.options;if(ie){for(Vt=t;\"static\"===m(Vt,\"position\")&&\"none\"===m(Vt,\"transform\")&&Vt!==document;)Vt=Vt.parentNode;Vt!==document.body&&Vt!==document.documentElement?(Vt===document&&(Vt=w()),e.top+=Vt.scrollTop,\ne.left+=Vt.scrollLeft):Vt=w(),ee=T(Vt)}xt=Ct.cloneNode(!0),v(xt,n.ghostClass,!1),v(xt,n.fallbackClass,!0),v(xt,n.dragClass,!0),m(xt,\"transition\",\"\"),m(xt,\"transform\",\"\"),m(xt,\"box-sizing\",\"border-box\"),m(xt,\"margin\",0),m(xt,\"top\",e.top),m(xt,\"left\",e.left),m(xt,\"width\",e.width),m(xt,\"height\",e.height),m(xt,\"opacity\",\"0.8\"),m(xt,\"position\",ie?\"absolute\":\"fixed\"),m(xt,\"zIndex\",\"100000\"),m(xt,\"pointerEvents\",\"none\"),j.ghost=xt,t.appendChild(xt),m(xt,\"transform-origin\",Kt/parseInt(xt.style.width)*100+\"% \"+Wt/parseInt(xt.style.height)*100+\"%\")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,i=n.options;if(St(\"dragStart\",this,{evt:t}),j.eventCanceled)return void this._onDrop();St(\"setupClone\",this),j.eventCanceled||(Nt=k(Ct),Nt.draggable=!1,Nt.style[\"will-change\"]=\"\",this._hideClone(),v(Nt,this.options.chosenClass,!1),j.clone=Nt),n.cloneId=$(function(){St(\"clone\",n),j.eventCanceled||(n.options.removeCloneOnHide||Mt.insertBefore(Nt,Ct),n._hideClone(),L({sortable:n,name:\"clone\"}))}),!e&&v(Ct,i.dragClass,!0),e?(Qt=!0,n._loopId=setInterval(n._emulateDragOver,50)):(h(document,\"mouseup\",n._onDrop),h(document,\"touchend\",n._onDrop),h(document,\"touchcancel\",n._onDrop),o&&(o.effectAllowed=\"move\",i.setData&&i.setData.call(n,o,Ct)),d(document,\"drop\",n),m(Ct,\"transform\",\"translateZ(0)\")),Zt=!0,n._dragStartId=$(n._dragStarted.bind(n,e,t)),d(document,\"selectstart\",n),zt=!0,gt&&m(document.body,\"user-select\",\"none\")},_onDragOver:function(t){function e(e,n){St(e,_,o({evt:t,isOwner:b,axis:c?\"vertical\":\"horizontal\",revert:s,dragRect:a,targetRect:l,canSort:y,fromSortable:w,target:d,completed:i,onMove:function(e,n){return W(Mt,u,Ct,a,e,E(e),t,n)},changed:r},n))}function n(){e(\"dragOverAnimationCapture\"),_.captureAnimationState(),_!==w&&w.captureAnimationState()}function i(n){return e(\"dragOverCompleted\",{insertion:n}),n&&(b?p._hideClone():p._showClone(_),_!==w&&(v(Ct,Bt?Bt.options.ghostClass:p.options.ghostClass,!1),v(Ct,h.ghostClass,!0)),Bt!==_&&_!==j.active?Bt=_:_===j.active&&Bt&&(Bt=null),w===_&&(_._ignoreWhileAnimating=d),_.animateAll(function(){e(\"dragOverAnimationComplete\"),_._ignoreWhileAnimating=null}),_!==w&&(w.animateAll(),w._ignoreWhileAnimating=null)),(d===Ct&&!Ct.animated||d===u&&!d.animated)&&(Gt=null),h.dragoverBubble||t.rootEl||d===document||(Ct.parentNode[wt]._isOutsideThisEl(t.target),!n&&pe(t)),!h.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),T=!0}function r(){kt=C(Ct),Xt=C(Ct,h.draggable),L({sortable:_,name:\"change\",toEl:u,newIndex:kt,newDraggableIndex:Xt,originalEvent:t})}var a,l,s,c,u=this.el,d=t.target,h=this.options,f=h.group,p=j.active,b=Yt===f,y=h.sort,w=Bt||p,_=this,T=!1;if(!ne){if(void 0!==t.preventDefault&&t.cancelable&&t.preventDefault(),d=g(d,h.draggable,u,!0),e(\"dragOver\"),j.eventCanceled)return T;if(Ct.contains(t.target)||d.animated&&d.animatingX&&d.animatingY||_._ignoreWhileAnimating===d)return i(!1);if(Qt=!1,p&&!h.disabled&&(b?y||(s=!Mt.contains(Ct)):Bt===this||(this.lastPutMode=Yt.checkPull(this,p,Ct,t))&&f.checkPut(this,p,Ct,t))){if(c=\"vertical\"===this._getDirection(t,d),a=E(Ct),e(\"dragOverValid\"),j.eventCanceled)return T;if(s)return Tt=Mt,n(),this._hideClone(),e(\"revert\"),j.eventCanceled||(Ot?Mt.insertBefore(Ct,Ot):Mt.appendChild(Ct)),i(!0);var x=S(u,h.draggable);if(!x||U(t,c,this)&&!x.animated){if(x===Ct)return i(!1);if(x&&u===t.target&&(d=x),d&&(l=E(d)),!1!==W(Mt,u,Ct,a,d,l,t,!!d))return n(),u.appendChild(Ct),Tt=u,r(),i(!0)}else if(d.parentNode===u){l=E(d);var M,O=0,A=Ct.parentNode!==u,N=!ce(Ct.animated&&Ct.toRect||a,d.animated&&d.toRect||l,c),I=c?\"top\":\"left\",k=D(d,\"top\",\"top\")||D(Ct,\"top\",\"top\"),R=k?k.scrollTop:void 0;Gt!==d&&(M=l[I],Jt=!1,te=!N&&h.invertSwap||A),O=q(t,d,l,c,N?1:h.swapThreshold,null==h.invertedSwapThreshold?h.swapThreshold:h.invertedSwapThreshold,te,Gt===d);var X;if(0!==O){var Y=C(Ct);do{Y-=O,X=Tt.children[Y]}while(X&&(\"none\"===m(X,\"display\")||X===xt))}if(0===O||X===d)return i(!1);Gt=d,Ut=O;var B=d.nextElementSibling,F=!1;F=1===O;var H=W(Mt,u,Ct,a,d,l,t,F);if(!1!==H)return 1!==H&&-1!==H||(F=1===H),ne=!0,setTimeout(G,30),n(),F&&!B?u.appendChild(Ct):d.parentNode.insertBefore(Ct,F?B:d),k&&P(k,0,R-k.scrollTop),Tt=Ct.parentNode,void 0===M||te||(qt=Math.abs(M-E(d)[I])),r(),i(!0)}if(u.contains(Ct))return i(!1)}return!1}},_ignoreWhileAnimating:null,_offMoveEvents:function(){h(document,\"mousemove\",this._onTouchMove),h(document,\"touchmove\",this._onTouchMove),h(document,\"pointermove\",this._onTouchMove),h(document,\"dragover\",pe),h(document,\"mousemove\",pe),h(document,\"touchmove\",pe)},_offUpEvents:function(){var t=this.el.ownerDocument;h(t,\"mouseup\",this._onDrop),h(t,\"touchend\",this._onDrop),h(t,\"pointerup\",this._onDrop),h(t,\"touchcancel\",this._onDrop),h(document,\"selectstart\",this)},_onDrop:function(t){var e=this.el,n=this.options;if(kt=C(Ct),Xt=C(Ct,n.draggable),St(\"drop\",this,{evt:t}),Tt=Ct&&Ct.parentNode,kt=C(Ct),Xt=C(Ct,n.draggable),j.eventCanceled)return void this._nulling();Zt=!1,te=!1,Jt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),J(this.cloneId),J(this._dragStartId),this.nativeDraggable&&(h(document,\"drop\",this),h(e,\"dragstart\",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),gt&&m(document.body,\"user-select\",\"\"),t&&(zt&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),xt&&xt.parentNode&&xt.parentNode.removeChild(xt),(Mt===Tt||Bt&&\"clone\"!==Bt.lastPutMode)&&Nt&&Nt.parentNode&&Nt.parentNode.removeChild(Nt),Ct&&(this.nativeDraggable&&h(Ct,\"dragend\",this),z(Ct),Ct.style[\"will-change\"]=\"\",zt&&!Zt&&v(Ct,Bt?Bt.options.ghostClass:this.options.ghostClass,!1),v(Ct,this.options.chosenClass,!1),L({sortable:this,name:\"unchoose\",toEl:Tt,newIndex:null,newDraggableIndex:null,originalEvent:t}),Mt!==Tt?(kt>=0&&(L({rootEl:Tt,name:\"add\",toEl:Tt,fromEl:Mt,originalEvent:t}),L({sortable:this,name:\"remove\",toEl:Tt,originalEvent:t}),L({rootEl:Tt,name:\"sort\",toEl:Tt,fromEl:Mt,originalEvent:t}),L({sortable:this,name:\"sort\",toEl:Tt,originalEvent:t})),Bt&&Bt.save()):kt!==Pt&&kt>=0&&(L({sortable:this,name:\"update\",toEl:Tt,originalEvent:t}),L({sortable:this,name:\"sort\",toEl:Tt,originalEvent:t})),j.active&&(null!=kt&&-1!==kt||(kt=Pt,Xt=Rt),L({sortable:this,name:\"end\",toEl:Tt,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){St(\"nulling\",this),Mt=Ct=Tt=xt=Ot=Nt=At=It=Ft=Ht=zt=kt=Xt=Pt=Rt=Gt=Ut=Bt=Yt=j.dragged=j.ghost=j.clone=j.active=null,oe.forEach(function(t){t.checked=!0}),oe.length=Lt=jt=0},handleEvent:function(t){switch(t.type){case\"drop\":case\"dragend\":this._onDrop(t);break;case\"dragenter\":case\"dragover\":Ct&&(this._onDragOver(t),K(t));break;case\"selectstart\":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,i=n.length,r=this.options;o<i;o++)t=n[o],g(t,r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||Z(t));return e},sort:function(t){var e={},n=this.el;this.toArray().forEach(function(t,o){var i=n.children[o];g(i,this.options.draggable,n,!1)&&(e[t]=i)},this),t.forEach(function(t){e[t]&&(n.removeChild(e[t]),n.appendChild(e[t]))})},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return g(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var o=_t.modifyOption(this,t,e);n[t]=void 0!==o?o:e,\"group\"===t&&de(n)},destroy:function(){St(\"destroy\",this);var t=this.el;t[wt]=null,h(t,\"mousedown\",this._onTapStart),h(t,\"touchstart\",this._onTapStart),h(t,\"pointerdown\",this._onTapStart),this.nativeDraggable&&(h(t,\"dragover\",this),h(t,\"dragenter\",this)),Array.prototype.forEach.call(t.querySelectorAll(\"[draggable]\"),function(t){t.removeAttribute(\"draggable\")}),this._onDrop(),$t.splice($t.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!It){if(St(\"hideClone\",this),j.eventCanceled)return;m(Nt,\"display\",\"none\"),this.options.removeCloneOnHide&&Nt.parentNode&&Nt.parentNode.removeChild(Nt),It=!0}},_showClone:function(t){if(\"clone\"!==t.lastPutMode)return void this._hideClone();if(It){if(St(\"showClone\",this),j.eventCanceled)return;Mt.contains(Ct)&&!this.options.group.revertClone?Mt.insertBefore(Nt,Ct):Ot?Mt.insertBefore(Nt,Ot):Mt.appendChild(Nt),this.options.group.revertClone&&this.animate(Ct,Nt),m(Nt,\"display\",\"\"),It=!1}}},d(document,\"touchmove\",function(t){(j.active||Zt)&&t.cancelable&&t.preventDefault()}),j.utils={on:d,off:h,css:m,find:y,is:function(t,e){return!!g(t,e,t,!1)},extend:O,throttle:N,closest:g,toggleClass:v,clone:k,index:C,nextTick:$,cancelNextTick:J,detectDirection:se,getChild:_},j.get=function(t){return t[wt]},j.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e[0].constructor===Array&&(e=e[0]),e.forEach(function(t){if(!t.prototype||!t.prototype.constructor)throw\"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(t));t.utils&&(j.utils=o({},j.utils,t.utils)),_t.mount(t)})},j.create=function(t,e){return new j(t,e)},j.version=\"1.10.0\";var ve,me,be,ye,we,Ee,De=[],_e=!1,Se=N(function(t,e,n,o){if(e.scroll){var i,r=(t.touches?t.touches[0]:t).clientX,a=(t.touches?t.touches[0]:t).clientY,l=e.scrollSensitivity,s=e.scrollSpeed,c=w(),u=!1;me!==n&&(me=n,et(),ve=e.scroll,i=e.scrollFn,!0===ve&&(ve=M(n,!0)));var d=0,h=ve;do{var f=h,p=E(f),g=p.top,v=p.bottom,b=p.left,y=p.right,D=p.width,_=p.height,S=void 0,C=void 0,T=f.scrollWidth,x=f.scrollHeight,O=m(f),A=f.scrollLeft,N=f.scrollTop;f===c?(S=D<T&&(\"auto\"===O.overflowX||\"scroll\"===O.overflowX||\"visible\"===O.overflowX),C=_<x&&(\"auto\"===O.overflowY||\"scroll\"===O.overflowY||\"visible\"===O.overflowY)):(S=D<T&&(\"auto\"===O.overflowX||\"scroll\"===O.overflowX),C=_<x&&(\"auto\"===O.overflowY||\"scroll\"===O.overflowY));var I=S&&(Math.abs(y-r)<=l&&A+D<T)-(Math.abs(b-r)<=l&&!!A),k=C&&(Math.abs(v-a)<=l&&N+_<x)-(Math.abs(g-a)<=l&&!!N);if(!De[d])for(var R=0;R<=d;R++)De[R]||(De[R]={});De[d].vx==I&&De[d].vy==k&&De[d].el===f||(De[d].el=f,De[d].vx=I,De[d].vy=k,clearInterval(De[d].pid),0==I&&0==k||(u=!0,De[d].pid=setInterval(function(){o&&0===this.layer&&j.active._onTouchMove(we);var e=De[this.layer].vy?De[this.layer].vy*s:0,n=De[this.layer].vx?De[this.layer].vx*s:0;\"function\"==typeof i&&\"continue\"!==i.call(j.dragged.parentNode[wt],n,e,t,we,De[this.layer].el)||P(De[this.layer].el,n,e)}.bind({layer:d}),24))),d++}while(e.bubbleScroll&&h!==c&&(h=M(h,!1)));_e=u}},30),Ce=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,i=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,l=t.unhideGhostForTarget,s=n||i;a();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,u=document.elementFromPoint(c.clientX,c.clientY);l(),s&&!s.el.contains(u)&&(r(\"spill\"),this.onSpill({dragEl:o,putSortable:n}))};ot.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var o=_(this.sortable.el,this.startIndex,this.options);o?this.sortable.el.insertBefore(e,o):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Ce},n(ot,{pluginName:\"revertOnSpill\"}),it.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,o=n||this.sortable;o.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),o.animateAll()},drop:Ce},n(it,{pluginName:\"removeOnSpill\"});var Te,xe,Me,Oe,Ae,Ne,Ie=[],Pe=[],ke=!1,Re=!1,Xe=!1;return j.mount(new tt),j.mount(it,ot),j.mount(new rt),j.mount(new lt),j});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'streets':'Streets','satellite':'Imagery','hybrid':'Imagery with Labels','terrain':'Terrain with Labels','topo':'Topographic','gray':'Light Gray Canvas','dark-gray':'Dark Gray Canvas','oceans':'Oceans','national-geographic':'National Geographic','osm':'OpenStreetMap','streets-night-vector':'World Street Map (Night)','streets-relief-vector':'World Street Map (with Relief)','streets-navigation-vector':'World Navigation Map'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'about':'About','add':'Add','all':'All','apply':'Apply','auth':({'logOut':'Log out','signIn':'Sign in'}),'back':'Back','cancel':'Cancel','change':'Change','clear':'Clear','close':'Close','collapse':'Collapse','configure':'Configure','control':({'pause':'Pause','play':'Play','resume':'Resume','stop':'Stop'}),'copy':'Copy','create':'Create','cut':'Cut','delete':'Delete','details':'Details','done':'Done','dragHandleTitle':'drag/reorder','dragHandleLabel':'Activate the reorder button and use the arrow keys to reorder the list or use your mouse to drag/reorder. Press escape to cancel the reordering.','edit':'Edit','error':'Error','esri':'Esri','exit':'Exit','expand':'Expand','fieldsSummary':'List of attributes and values','find':'Find','form':({'no':'No','ok':'OK','password':'Password','submit':'Submit','username':'Username','yes':'Yes'}),'help':'Help','home':'Home','info':'Info','information':'Information','layer':'Layer','loading':'Loading','maximize':'Maximize','menu':'Menu','more':'More','none':'None','open':'Open','pagination':({'first':'First','last':'Last','next':'Next','page':'Page','pageText':'{index} of {total}','previous':'Previous'}),'paste':'Paste','preview':'Preview','print':'Print','publish':'Publish','redo':'Redo','refresh':'Refresh','remove':'Remove','rename':'Rename','reset':'Reset','restore':'Restore','save':'Save','search':'Search','searching':'Searching','select':'Select','settings':'Settings','sort':'Sort','share':'Share','title':'Title','untitled':'Untitled','unnamed':'Unnamed','update':'Update','upload':'Upload','undo':'Undo','view':'View','visibility':({'hide':'Hide','show':'Show','toggle':'Toggle'}),'warning':'Warning'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({streets:\"Đường phố\",satellite:\"Dữ liệu hình ảnh\",hybrid:\"Hình ảnh có Dán nhãn\",terrain:\"Địa hình có Dán nhãn\",topo:\"Địa hình\",gray:\"Bức vẽ xám nhạt\",\"dark-gray\":\"Bức vẽ xám đậm\",oceans:\"Đại dương\",\"national-geographic\":\"National Geographic\",osm:\"OpenStreetMap\",\"streets-night-vector\":\"Bản đồ Đường phố Thế giới (Ban đêm)\",\"streets-relief-vector\":\"Bản đồ Đường phố Thế giới (có Địa hình)\",\"streets-navigation-vector\":\"Bản đồ Điều hướng Thế giới\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({about:\"Về\",add:\"Thêm\",all:\"Tất cả\",apply:\"Áp dụng\",auth:{logOut:\"Đăng xuất\",signIn:\"Đăng nhập\"},back:\"Quay lại\",cancel:\"Hủy\",change:\"Thay đổi\",clear:\"Xóa\",close:\"Đóng\",collapse:\"Thu gọn\",configure:\"Cấu hình\",control:{pause:\"Tạm dừng\",play:\"Phát\",resume:\"Tiếp tục\",stop:\"Dừng\"},copy:\"Sao chép\",create:\"Tạo\",cut:\"Cắt\",delete:\"Xóa\",details:\"Chi tiết\",done:\"Hoàn tất\",dragHandleTitle:\"kéo/sắp xếp lại\",dragHandleLabel:\"Kích hoạt nút sắp xếp lại và sử dụng các phím mũi tên để sắp xếp lại danh sách hoặc sử dụng chuột để kéo/sắp xếp lại. Nhấn thoát để hủy sắp xếp lại.\",edit:\"Chỉnh sửa\",error:\"Lỗi\",esri:\"Esri\",exit:\"Thoát\",expand:\"Mở rộng\",fieldsSummary:\"Danh sách các thuộc tính và giá trị\",find:\"Tìm\",form:{no:\"Không\",ok:\"OK\",password:\"Mật khẩu\",submit:\"Đệ trình\",username:\"Tên đăng nhập\",yes:\"Có\"},help:\"Trợ giúp\",home:\"Trang chủ\",info:\"Thông tin\",information:\"Thông tin\",layer:\"Lớp\",loading:\"Đang tải\",maximize:\"Phóng đại\",menu:\"Menu\",more:\"Khác\",none:\"Không có\",open:\"Mở\",pagination:{first:\"Đầu tiên\",last:\"Cuối cùng\",next:\"Tiếp\",page:\"Trang\",pageText:\"{index} trên {total}\",previous:\"Trước\"},paste:\"Dán\",preview:\"Xem trước\",print:\"In\",publish:\"Xuất bản\",redo:\"Làm lại\",refresh:\"Làm mới\",remove:\"Gỡ\",rename:\"Đổi tên\",reset:\"Thiết lập lại\",restore:\"Khôi phục\",save:\"Lưu\",search:\"Tìm kiếm\",searching:\"Đang tìm kiếm\",select:\"Chọn\",settings:\"Thiết lập\",sort:\"Sắp xếp\",share:\"Chia sẻ\",title:\"Tiêu đề\",untitled:\"Chưa có tiêu đề\",unnamed:\"Vô danh\",update:\"Cập nhật\",upload:\"Tải lên\",undo:\"Hoàn tác\",view:\"Xem\",visibility:{hide:\"Ẩn\",show:\"Hiển thị\",toggle:\"Chuyển đổi\"},warning:\"Cảnh báo\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(e,r,t,o,p,n){return function(e){function r(r){var t=e.call(this,r)||this;return t.name=null,t.title=null,t.expression=null,t.returnType=null,t}t(r,e),p=r,r.prototype.clone=function(){return new p({name:this.name,title:this.title,expression:this.expression,returnType:this.returnType})};var p;return o([n.property({type:String,json:{write:!0}})],r.prototype,\"name\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"title\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"expression\",void 0),o([n.property({type:[\"string\",\"number\"],json:{write:!0}})],r.prototype,\"returnType\",void 0),r=p=o([n.subclass(\"esri.popup.ExpressionInfo\")],r)}(n.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/jsonMap\",\"../core/JSONSupport\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./support/FieldInfoFormat\"],function(t,e,o,i,r,p,n,l,s){var a=new r.default({richtext:\"rich-text\",textarea:\"text-area\",textbox:\"text-box\"});return function(t){function e(e){var o=t.call(this,e)||this;return o.fieldName=null,o.format=null,o.isEditable=!1,o.label=null,o.stringFieldOption=\"text-box\",o.statisticType=null,o.tooltip=null,o.visible=!0,o}o(e,t),r=e,e.prototype.writeStringFieldOption=function(t,e){e.stringFieldOption=a.toJSON(t)},e.prototype.readStringFieldOption=function(t){if(t)return a.fromJSON(t)},e.prototype.clone=function(){return new r({fieldName:this.fieldName,format:this.format?n.clone(this.format):null,isEditable:this.isEditable,label:this.label,stringFieldOption:this.stringFieldOption,statisticType:this.statisticType,tooltip:this.tooltip,visible:this.visible})};var r;return i([l.property({type:String,json:{write:!0}})],e.prototype,\"fieldName\",void 0),i([l.property({type:s,json:{write:!0}})],e.prototype,\"format\",void 0),i([l.property({type:Boolean,json:{write:!0,default:!1}})],e.prototype,\"isEditable\",void 0),i([l.property({type:String,json:{write:!0}})],e.prototype,\"label\",void 0),i([l.property({type:a.apiValues,json:{write:!0,default:\"text-box\",type:a.jsonValues}})],e.prototype,\"stringFieldOption\",void 0),i([l.writer(\"stringFieldOption\")],e.prototype,\"writeStringFieldOption\",null),i([l.reader(\"stringFieldOption\")],e.prototype,\"readStringFieldOption\",null),i([l.property({type:[\"count\",\"sum\",\"min\",\"max\",\"avg\",\"stddev\",\"var\"],json:{write:!0}})],e.prototype,\"statisticType\",void 0),i([l.property({type:String,json:{write:!0}})],e.prototype,\"tooltip\",void 0),i([l.property({type:Boolean,json:{write:!0}})],e.prototype,\"visible\",void 0),e=r=i([l.subclass(\"esri.popup.FieldInfo\")],e)}(l.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(o,r,e,t,s,p){return function(o){function r(r){var e=o.call(this,r)||this;return e.returnTopmostRaster=null,e.showNoDataRecords=null,e}e(r,o),s=r,r.prototype.clone=function(){return new s({showNoDataRecords:this.showNoDataRecords,returnTopmostRaster:this.returnTopmostRaster})};var s;return t([p.property({type:Boolean,json:{write:!0}})],r.prototype,\"returnTopmostRaster\",void 0),t([p.property({type:Boolean,json:{write:!0}})],r.prototype,\"showNoDataRecords\",void 0),r=s=t([p.subclass(\"esri.popup.LayerOptions\")],r)}(p.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./support/RelatedRecordsInfoFieldOrder\"],function(e,r,o,t,s,d,p,l){return function(e){function r(r){var o=e.call(this,r)||this;return o.showRelatedRecords=null,o.orderByFields=null,o}o(r,e),s=r,r.prototype.clone=function(){return new s({showRelatedRecords:this.showRelatedRecords,orderByFields:this.orderByFields?d.clone(this.orderByFields):null})};var s;return t([p.property({type:Boolean,json:{write:!0}})],r.prototype,\"showRelatedRecords\",void 0),t([p.property({type:[l],json:{write:!0}})],r.prototype,\"orderByFields\",void 0),r=s=t([p.subclass(\"esri.popup.RelatedRecordsInfo\")],r)}(p.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./content/AttachmentsContent\",\"./content/Content\",\"./content/FieldsContent\",\"./content/MediaContent\",\"./content/TextContent\"],function(t,e,n,o,C,a,i){function s(t){return t instanceof e.BaseContent}Object.defineProperty(e,\"__esModule\",{value:!0}),e.AttachmentsContent=n,e.BaseContent=o,e.FieldsContent=C,e.MediaContent=a,e.TextContent=i,e.isContent=s,e.types={base:null,key:\"type\",typeMap:{attachment:e.AttachmentsContent,fields:e.FieldsContent,media:e.MediaContent,text:e.TextContent}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../layers/support/AttachmentInfo\",\"./Content\"],function(t,e,r,n,o,p,a,s){return function(t){function e(e){var r=t.call(this,e)||this;return r.attachmentInfos=null,r.displayType=null,r.type=\"attachments\",r}r(e,t),s=e,e.prototype.clone=function(){return new s({displayType:this.displayType,attachmentInfos:this.attachmentInfos?o.clone(this.attachmentInfos):null})};var s;return n([p.property({type:[a]})],e.prototype,\"attachmentInfos\",void 0),n([p.property({type:[\"preview\",\"list\"],json:{write:!0}})],e.prototype,\"displayType\",void 0),n([p.property({type:[\"attachments\"],readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=s=n([p.subclass(\"esri.popup.content.AttachmentsContent\")],e)}(p.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./mixins/ChartMediaInfo\",\"./support/chartMediaInfoUtils\"],function(e,t,r,o,a,n,i){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"bar-chart\",r}r(t,e),n=t,t.prototype.clone=function(){return new n({title:this.title,caption:this.caption,value:this.value?this.value.clone():null})};var n;return o([a.property({type:[\"bar-chart\"],readOnly:!0,json:{read:!1,write:i.chartTypeKebabDict.write}})],t.prototype,\"type\",void 0),t=n=o([a.subclass(\"esri.popup.content.BarChartMediaInfo\")],t)}(a.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./mixins/ChartMediaInfo\",\"./support/chartMediaInfoUtils\"],function(e,t,r,o,n,c,i){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"column-chart\",r}r(t,e),c=t,t.prototype.clone=function(){return new c({title:this.title,caption:this.caption,value:this.value?this.value.clone():null})};var c;return o([n.property({type:[\"column-chart\"],readOnly:!0,json:{read:!1,write:i.chartTypeKebabDict.write}})],t.prototype,\"type\",void 0),t=c=o([n.subclass(\"esri.popup.content.ColumnChartMediaInfo\")],t)}(n.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,t,r,o,p,n){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=null,r}return r(t,e),o([n.property({type:[\"attachments\",\"fields\",\"media\",\"text\"],readOnly:!0,json:{read:!1,write:!0}})],t.prototype,\"type\",void 0),t=o([n.subclass(\"esri.popup.content.Content\")],t)}(n.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../FieldInfo\",\"./Content\"],function(e,r,t,o,n,i,p,l){return function(e){function r(r){var t=e.call(this,r)||this;return t.fieldInfos=null,t.type=\"fields\",t}t(r,e),l=r,r.prototype.writeFieldInfos=function(e,r){r.fieldInfos=e&&e.map(function(e){return e.toJSON()})},r.prototype.clone=function(){return new l({fieldInfos:Array.isArray(this.fieldInfos)?n.clone(this.fieldInfos):null})};var l;return o([i.property({type:[p]})],r.prototype,\"fieldInfos\",void 0),o([i.writer(\"fieldInfos\")],r.prototype,\"writeFieldInfos\",null),o([i.property({type:[\"fields\"],readOnly:!0,json:{read:!1,write:!0}})],r.prototype,\"type\",void 0),r=l=o([i.subclass(\"esri.popup.content.FieldsContent\")],r)}(i.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./mixins/MediaInfo\",\"./support/ImageMediaInfoValue\"],function(e,r,t,o,n,p,i){return function(e){function r(r){var t=e.call(this,r)||this;return t.refreshInterval=null,t.type=\"image\",t.value=null,t}t(r,e),p=r,r.prototype.clone=function(){return new p({title:this.title,caption:this.caption,refreshInterval:this.refreshInterval,value:this.value?this.value.clone():null})};var p;return o([n.property({type:Number,json:{write:!0}})],r.prototype,\"refreshInterval\",void 0),o([n.property({type:[\"image\"],readOnly:!0,json:{read:!1,write:!0}})],r.prototype,\"type\",void 0),o([n.property({type:i,json:{write:!0}})],r.prototype,\"value\",void 0),r=p=o([n.subclass(\"esri.popup.content.ImageMediaInfo\")],r)}(n.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./mixins/ChartMediaInfo\",\"./support/chartMediaInfoUtils\"],function(e,t,r,o,n,i,a){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"line-chart\",r}r(t,e),i=t,t.prototype.clone=function(){return new i({title:this.title,caption:this.caption,value:this.value?this.value.clone():null})};var i;return o([n.property({type:[\"line-chart\"],readOnly:!0,json:{read:!1,write:a.chartTypeKebabDict.write}})],t.prototype,\"type\",void 0),t=i=o([n.subclass(\"esri.popup.content.LineChartMediaInfo\")],t)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./BarChartMediaInfo\",\"./ColumnChartMediaInfo\",\"./Content\",\"./ImageMediaInfo\",\"./LineChartMediaInfo\",\"./PieChartMediaInfo\",\"./support/mediaInfoTypes\"],function(e,o,t,r,n,a,i,p,d,f,s,c,u){return function(e){function o(o){var t=e.call(this,o)||this;return t.mediaInfos=null,t.type=\"media\",t}t(o,e),d=o,o.prototype.readMediaInfos=function(e){return e&&e.map(function(e){return\"image\"===e.type?f.fromJSON(e):\"barchart\"===e.type?i.fromJSON(e):\"columnchart\"===e.type?p.fromJSON(e):\"linechart\"===e.type?s.fromJSON(e):\"piechart\"===e.type?c.fromJSON(e):void 0}).filter(Boolean)},o.prototype.writeMediaInfos=function(e,o){o.mediaInfos=e&&e.map(function(e){return e.toJSON()})},o.prototype.clone=function(){return new d({mediaInfos:this.mediaInfos?n.clone(this.mediaInfos):null})};var d;return r([a.property({types:[u.types]})],o.prototype,\"mediaInfos\",void 0),r([a.reader(\"mediaInfos\")],o.prototype,\"readMediaInfos\",null),r([a.writer(\"mediaInfos\")],o.prototype,\"writeMediaInfos\",null),r([a.property({type:[\"media\"],readOnly:!0,json:{read:!1,write:!0}})],o.prototype,\"type\",void 0),o=d=r([a.subclass(\"esri.popup.content.MediaContent\")],o)}(a.declared(d))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./mixins/ChartMediaInfo\",\"./support/chartMediaInfoUtils\"],function(e,t,r,o,i,n,p){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"pie-chart\",r}r(t,e),n=t,t.prototype.clone=function(){return new n({title:this.title,caption:this.caption,value:this.value?this.value.clone():null})};var n;return o([i.property({type:[\"pie-chart\"],readOnly:!0,json:{read:!1,write:p.chartTypeKebabDict.write}})],t.prototype,\"type\",void 0),t=n=o([i.subclass(\"esri.popup.content.PieChartMediaInfo\")],t)}(i.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./Content\"],function(t,e,r,o,n,p){return function(t){function e(e){var r=t.call(this,e)||this;return r.text=null,r.type=\"text\",r}r(e,t),p=e,e.prototype.clone=function(){return new p({text:this.text})};var p;return o([n.property({type:String,json:{write:!0}})],e.prototype,\"text\",void 0),o([n.property({type:[\"text\"],readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=p=o([n.subclass(\"esri.popup.content.TextContent\")],e)}(n.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/accessorSupport/decorators\",\"./MediaInfo\",\"../support/ChartMediaInfoValue\"],function(e,r,t,o,p,n,a){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=null,t.value=null,t}return t(r,e),o([p.property({type:[\"bar-chart\",\"column-chart\",\"line-chart\",\"pie-chart\"],readOnly:!0,json:{read:!1,write:!0}})],r.prototype,\"type\",void 0),o([p.property({type:a,json:{write:!0}})],r.prototype,\"value\",void 0),r=o([p.subclass(\"esri.popup.content.mixins.ChartMediaInfo\")],r)}(p.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/JSONSupport\",\"../../../core/accessorSupport/decorators\"],function(t,e,r,o,p,i){return function(t){function e(e){var r=t.call(this,e)||this;return r.caption=\"\",r.title=\"\",r.type=null,r}return r(e,t),o([i.property({type:String,json:{write:!0}})],e.prototype,\"caption\",void 0),o([i.property({type:String,json:{write:!0}})],e.prototype,\"title\",void 0),o([i.property({type:[\"image\",\"bar-chart\",\"column-chart\",\"line-chart\",\"pie-chart\"],readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=o([i.subclass(\"esri.popup.content.mixins.MediaInfo\")],e)}(i.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/JSONSupport\",\"../../../core/lang\",\"../../../core/accessorSupport/decorators\",\"./ChartMediaInfoValueSeries\"],function(e,r,t,o,i,p,l,n){return function(e){function r(r){var t=e.call(this,r)||this;return t.fields=[],t.normalizeField=null,t.series=[],t.tooltipField=null,t}t(r,e),i=r,r.prototype.clone=function(){return new i({fields:p.clone(this.fields),normalizeField:this.normalizeField,tooltipField:this.tooltipField})};var i;return o([l.property({type:[String],json:{write:!0}})],r.prototype,\"fields\",void 0),o([l.property({type:String,json:{write:!0}})],r.prototype,\"normalizeField\",void 0),o([l.property({type:[n],json:{read:!1}})],r.prototype,\"series\",void 0),o([l.property({type:String,json:{write:!0}})],r.prototype,\"tooltipField\",void 0),r=i=o([l.subclass(\"esri.popup.content.support.ChartMediaInfoValue\")],r)}(l.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\"],function(t,o,r,e,p,n){return function(t){function o(o){var r=t.call(this,o)||this;return r.tooltip=null,r.x=null,r.y=null,r}r(o,t),p=o,o.prototype.clone=function(){return new p({tooltip:this.tooltip,x:this.x,y:this.y})};var p;return e([n.property()],o.prototype,\"tooltip\",void 0),e([n.property()],o.prototype,\"x\",void 0),e([n.property()],o.prototype,\"y\",void 0),o=p=e([n.subclass(\"esri.popup.content.support.ChartMediaInfoValueSeries\")],o)}(n.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/JSONSupport\",\"../../../core/accessorSupport/decorators\"],function(r,e,t,o,p,n){return function(r){function e(e){var t=r.call(this,e)||this;return t.linkURL=null,t.sourceURL=null,t}t(e,r),p=e,e.prototype.clone=function(){return new p({linkURL:this.linkURL,sourceURL:this.sourceURL})};var p;return o([n.property({type:String,json:{write:!0}})],e.prototype,\"linkURL\",void 0),o([n.property({type:String,json:{write:!0}})],e.prototype,\"sourceURL\",void 0),e=p=o([n.subclass(\"esri.popup.content.support.ImageMediaInfoValue\")],e)}(n.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/jsonMap\"],function(e,r,c){Object.defineProperty(r,\"__esModule\",{value:!0}),r.chartTypeKebabDict=c.strict()({barchart:\"bar-chart\",columnchart:\"column-chart\",linechart:\"line-chart\",piechart:\"pie-chart\"})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../BarChartMediaInfo\",\"../ColumnChartMediaInfo\",\"../ImageMediaInfo\",\"../LineChartMediaInfo\",\"../PieChartMediaInfo\",\"../mixins/MediaInfo\"],function(e,a,i,t,n,r,o,d){Object.defineProperty(a,\"__esModule\",{value:!0}),a.types={base:d,key:\"type\",defaultKeyValue:\"image\",typeMap:{\"bar-chart\":i,\"column-chart\":t,\"line-chart\":r,\"pie-chart\":o,image:n}},a.default=a.types});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/date\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../../intl/date\",\"../../intl/number\"],function(t,r,e,o,a,p,i,n,s,c){return function(t){function r(r){var e=t.call(this,r)||this;return e.dateFormat=null,e.digitSeparator=!1,e.places=null,e}e(r,t),p=r,r.prototype.clone=function(){return new p({dateFormat:this.dateFormat,digitSeparator:this.digitSeparator,places:this.places})},r.prototype.format=function(t){return this.dateFormat?s.formatDate(t,s.convertDateFormatToIntlOptions(this.dateFormat)):c.formatNumber(t,c.convertNumberFormatToIntlOptions(this))};var p;return o([i.enumeration.serializable()(a.dictionary)],r.prototype,\"dateFormat\",void 0),o([i.property({type:Boolean,json:{write:!0}})],r.prototype,\"digitSeparator\",void 0),o([i.property({type:n.Integer,json:{write:!0}})],r.prototype,\"places\",void 0),r=p=o([i.subclass(\"esri.popup.support.FieldInfoFormat\")],r)}(i.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,e,o,t,p,d){return function(r){function e(e){var o=r.call(this,e)||this;return o.field=null,o.order=null,o}o(e,r),p=e,e.prototype.clone=function(){return new p({field:this.field,order:this.order})};var p;return t([d.property({type:String,json:{write:!0}})],e.prototype,\"field\",void 0),t([d.property({type:[\"asc\",\"desc\"],json:{write:!0}})],e.prototype,\"order\",void 0),e=p=t([d.subclass(\"esri.popup.support.RelatedRecordsInfoFieldOrder\")],e)}(d.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/paramHelper\",\"dojo/_base/kernel\",\"../config\",\"../kernel\",\"../request\",\"../core/Error\",\"../core/JSONSupport\",\"../core/lang\",\"../core/Loadable\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"../geometry/Extent\",\"./PortalQueryParams\",\"./PortalQueryResult\",\"./PortalUser\",\"@dojo/framework/shim/Promise\"],function(e,r,t,o,n,i,p,u,a,s,l,c,y,d,h,f,v,m,S,g,P,b,O,_){var w,U={PortalGroup:function(){return m.create(function(r){return e([\"./PortalGroup\"],r)})},PortalItem:function(){return m.create(function(r){return e([\"./PortalItem\"],r)})},PortalUser:function(){return m.create(function(r){return e([\"./PortalUser\"],r)})}};return function(r){function u(e){var t=r.call(this,e)||this;return t.access=null,t.allSSL=!1,t.authMode=\"auto\",t.authorizedCrossOriginDomains=null,t.basemapGalleryGroupQuery=null,t.bingKey=null,t.canListApps=!1,t.canListData=!1,t.canListPreProvisionedItems=!1,t.canProvisionDirectPurchase=!1,t.canSearchPublic=!0,t.canShareBingPublic=!1,t.canSharePublic=!1,t.canSignInArcGIS=!1,t.canSignInIDP=!1,t.colorSetsGroupQuery=null,t.commentsEnabled=!1,t.created=null,t.culture=null,t.customBaseUrl=null,t.defaultBasemap=null,t.defaultExtent=null,t.defaultVectorBasemap=null,t.description=null,t.eueiEnabled=!1,t.featuredGroups=null,t.featuredItemsGroupQuery=null,t.galleryTemplatesGroupQuery=null,t.livingAtlasGroupQuery=null,t.hasCategorySchema=!1,t.helperServices=null,t.homePageFeaturedContent=null,t.homePageFeaturedContentCount=null,t.httpPort=null,t.httpsPort=null,t.id=null,t.ipCntryCode=null,t.isPortal=!1,t.isReadOnly=!1,t.layerTemplatesGroupQuery=null,t.maxTokenExpirationMinutes=null,t.modified=null,t.name=null,t.portalHostname=null,t.portalMode=null,t.portalProperties=null,t.region=null,t.rotatorPanels=null,t.showHomePageDescription=!1,t.sourceJSON=null,t.supportsHostedServices=!1,t.symbolSetsGroupQuery=null,t.templatesGroupQuery=null,t.units=null,t.url=s.portalUrl,t.urlKey=null,t.user=null,t.useStandardizedQuery=!1,t.useVectorBasemaps=!1,t.vectorBasemapGalleryGroupQuery=null,t}n(u,r),d=u,u.prototype.normalizeCtorArgs=function(e){return\"string\"==typeof e?{url:e}:e},u.prototype.destroy=function(){this._esriId_credentialCreateHandle&&(this._esriId_credentialCreateHandle.remove(),this._esriId_credentialCreateHandle=null)},u.prototype.readAuthorizedCrossOriginDomains=function(e){if(e)for(var r=0,t=e;r<t.length;r++){var o=t[r];-1===s.request.trustedServers.indexOf(o)&&s.request.trustedServers.push(o)}return e},u.prototype.readDefaultBasemap=function(e){if(e){var r=w.fromJSON(e);return r.portalItem={portal:this},r}return null},u.prototype.readDefaultVectorBasemap=function(e){if(e){var r=w.fromJSON(e);return r.portalItem={portal:this},r}return null},Object.defineProperty(u.prototype,\"extraQuery\",{get:function(){var e=this.user&&this.user.orgId,r=!e||this.canSearchPublic;return this.id&&!r?\" AND orgid:\"+this.id:null},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,\"isOrganization\",{get:function(){return!!this.access},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,\"restUrl\",{get:function(){var e=this.url;if(e){var r=e.indexOf(\"/sharing\");e=r>0?e.substring(0,r):this.url.replace(/\\/+$/,\"\"),e+=\"/sharing/rest\"}return e},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,\"thumbnailUrl\",{get:function(){var e=this.restUrl,r=this.thumbnail;return e&&r?this._normalizeSSL(e+\"/portals/self/resources/\"+r):null},enumerable:!0,configurable:!0}),u.prototype.readUrlKey=function(e){return e?e.toLowerCase():e},u.prototype.readUser=function(e){var r=null;return e&&(r=_.fromJSON(e),r.portal=this),r},u.prototype.load=function(r){var t=this,o=m.create(function(r){return e([\"../Basemap\"],r)}).then(function(e){m.throwIfAborted(r),w=e}).then(function(){return t.sourceJSON?t.sourceJSON:t._fetchSelf(t.authMode,!1,r)}).then(function(e){if(l.id){var r=l.id;t.credential=r.findCredential(t.restUrl),t.credential||t.authMode!==d.AUTH_MODE_AUTO||(t._esriId_credentialCreateHandle=r.on(\"credential-create\",function(){r.findCredential(t.restUrl)&&t._signIn()}))}t.sourceJSON=e,t.read(e)});return this.addResolvingPromise(o),this.when()},u.prototype.createClosestFacilityTask=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperServiceUrl(\"closestFacility\"),[4,new Promise(function(r,t){e([\"../tasks/ClosestFacilityTask\"],r,t)})];case 2:return t=o.sent(),[2,new t(r)]}})})},u.prototype.createElevationLayers=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperService(\"defaultElevationLayers\"),[4,new Promise(function(r,t){e([\"../layers/ElevationLayer\"],r,t)})];case 2:return t=o.sent(),[2,r?r.map(function(e){return new t({id:e.id,url:e.url})}):[]]}})})},u.prototype.createGeometryService=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperServiceUrl(\"geometry\"),[4,new Promise(function(r,t){e([\"../tasks/GeometryService\"],r,t)})];case 2:return t=o.sent(),[2,new t(r)]}})})},u.prototype.createPrintTask=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperServiceUrl(\"printTask\"),[4,new Promise(function(r,t){e([\"../tasks/PrintTask\"],r,t)})];case 2:return t=o.sent(),[2,new t(r)]}})})},u.prototype.createRouteTask=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperServiceUrl(\"route\"),[4,new Promise(function(r,t){e([\"../tasks/RouteTask\"],r,t)})];case 2:return t=o.sent(),[2,new t(r)]}})})},u.prototype.createServiceAreaTask=function(){return o(this,void 0,void 0,function(){var r,t;return p(this,function(o){switch(o.label){case 0:return[4,this.load()];case 1:return o.sent(),r=this._getHelperServiceUrl(\"serviceArea\"),[4,new Promise(function(r,t){e([\"../tasks/ServiceAreaTask\"],r,t)})];case 2:return t=o.sent(),[2,new t(r)]}})})},u.prototype.fetchBasemaps=function(e,r){var t=new b;return t.query=e||(this.useVectorBasemaps?this.vectorBasemapGalleryGroupQuery:this.basemapGalleryGroupQuery),t.disableExtraQuery=!0,this.queryGroups(t,r).then(function(e){if(t.num=100,t.query='type:\"Web Map\" -type:\"Web Application\"',e.total){var o=e.results[0];return t.sortField=o.sortField||\"name\",t.sortOrder=o.sortOrder||\"desc\",o.queryItems(t,r)}return null}).then(function(e){return e&&e.total?e.results.filter(function(e){return\"Web Map\"===e.type}).map(function(e){return new w({portalItem:e})}):[]})},u.prototype.fetchCategorySchema=function(e){return this.hasCategorySchema?this._request(this.restUrl+\"/portals/self/categorySchema\",e).then(function(e){return e.categorySchema}):m.isAborted(e)?m.reject(m.createAbortError()):m.resolve([])},u.prototype.fetchFeaturedGroups=function(e){var r=this.featuredGroups,t=new b;if(t.num=100,t.sortField=\"title\",r&&r.length){for(var o=[],n=0,i=r;n<i.length;n++){var p=i[n];o.push('(title:\"'+p.title+'\" AND owner:'+p.owner+\")\")}return t.query=o.join(\" OR \"),this.queryGroups(t,e).then(function(e){return e.results})}return m.isAborted(e)?m.reject(m.createAbortError()):m.resolve([])},u.prototype.fetchRegions=function(e){var r=this.user&&this.user.culture||this.culture||a.locale;return this._request(this.restUrl+\"/portals/regions\",t({},e,{query:{culture:r}}))},u.getDefault=function(){return d._default&&!d._default.destroyed||(d._default=new d),d._default},u.prototype.queryGroups=function(e,r){return this._queryPortal(\"/community/groups\",e,\"PortalGroup\",r)},u.prototype.queryItems=function(e,r){return this._queryPortal(\"/search\",e,\"PortalItem\",r)},u.prototype.queryUsers=function(e,r){return e.sortField||(e.sortField=\"username\"),this._queryPortal(\"/community/users\",e,\"PortalUser\",r)},u.prototype.toJSON=function(){throw new y(\"internal:not-yet-implemented\",\"Portal.toJSON is not yet implemented\")},u.fromJSON=function(e){if(!e)return null;if(e.declaredClass)throw new Error(\"JSON object is already hydrated\");return new d({sourceJSON:e})},u.prototype._getHelperService=function(e){var r=this.helperServices&&this.helperServices[e];if(!r)throw new y(\"portal:service-not-found\",'The `helperServices` do not include an entry named \"'+e+'\"');return r},u.prototype._getHelperServiceUrl=function(e){var r=this._getHelperService(e);if(!r.url)throw new y(\"portal:service-url-not-found\",'The `helperServices` entry \"'+e+'\" does not include a `url` value');return r.url},u.prototype._fetchSelf=function(e,r,o){void 0===e&&(e=this.authMode),void 0===r&&(r=!1);var n=this.restUrl+\"/portals/self\",i=t({authMode:e,query:{culture:a.locale}},o);return\"auto\"===i.authMode&&(i.authMode=\"no-prompt\"),r&&(i.query.default=!0),this._request(n,i)},u.prototype._queryPortal=function(e,r,o,n){var i=this,p=g.ensureType(b,r),u=function(r){return i._request(i.restUrl+e,t({},p.toRequestOptions(i),n)).then(function(e){var t=p.clone();return t.start=e.nextStart,new O({nextQueryParams:t,queryParams:p,total:e.total,results:d._resultsToTypedArray(r,{portal:i},e,n)})}).then(function(e){return m.all(e.results.map(function(r){return\"function\"==typeof r.when?r.when():e})).then(function(){return e},function(r){return m.throwIfAbortError(r),e})})};return o&&U[o]?U[o]().then(function(e){return m.throwIfAborted(n),u(e)}):u()},u.prototype._signIn=function(){var e=this;if(this.authMode===d.AUTH_MODE_ANONYMOUS)return m.reject(new y(\"portal:invalid-auth-mode\",'Current \"authMode\"\\' is \"'+this.authMode+'\"'));if(\"failed\"===this.loadStatus)return m.reject(this.loadError);var r=function(r){return m.resolve().then(function(){return\"not-loaded\"===e.loadStatus?(r||(e.authMode=\"immediate\"),e.load().then(function(){return null})):\"loading\"===e.loadStatus?e.load().then(function(){return e.credential?null:(e.credential=r,e._fetchSelf(\"immediate\"))}):e.user&&e.credential===r?null:(e.credential=r,e._fetchSelf(\"immediate\"))}).then(function(r){r&&(e.sourceJSON=r,e.read(r))})};return l.id?l.id.getCredential(this.restUrl).then(function(e){return r(e)}):r(this.credential)},u.prototype._normalizeSSL=function(e){return e.replace(/^http:/i,\"https:\").replace(\":7080\",\":7443\")},u.prototype._normalizeUrl=function(e){var r=this.credential&&this.credential.token;return this._normalizeSSL(r?e+(e.indexOf(\"?\")>-1?\"&\":\"?\")+\"token=\"+r:e)},u.prototype._requestToTypedArray=function(r,t,o){var n=this,i=function(e){return n._request(r,t).then(function(r){var t=d._resultsToTypedArray(e,{portal:n},r);return m.all(t.map(function(e){return\"function\"==typeof e.when?e.when():r})).then(function(){return t},function(){return t})})};return o?m.create(function(r){return e([\"./\"+o],r)}).then(function(e){return i(e)}):i()},u.prototype._request=function(e,r){void 0===r&&(r={});var o=t({f:\"json\"},r.query),n=r.authMode,i=void 0===n?this.authMode===d.AUTH_MODE_ANONYMOUS?\"anonymous\":\"auto\":n,p=r.body,u=void 0===p?null:p,a=r.cacheBust,s=void 0!==a&&a,l=r.method,y=void 0===l?\"auto\":l,h=r.responseType,f=void 0===h?\"json\":h,v=r.signal,m={authMode:i,body:u,cacheBust:s,method:y,query:o,responseType:f,timeout:0,signal:v};return c(this._normalizeSSL(e),m).then(function(e){return e.data})},u._resultsToTypedArray=function(e,r,t,o){var n;if(t){var i=v.isSome(o)?o.signal:null;n=t.listings||t.notifications||t.userInvitations||t.tags||t.items||t.groups||t.comments||t.provisions||t.results||t.relatedItems||t,(e||r)&&(n=n.map(function(t){var o=h.mixin(e?e.fromJSON(t):t,r);return\"function\"==typeof o.load&&o.load(i),o}))}else n=[];return n};var d;return u.AUTH_MODE_ANONYMOUS=\"anonymous\",u.AUTH_MODE_AUTO=\"auto\",u.AUTH_MODE_IMMEDIATE=\"immediate\",i([S.property()],u.prototype,\"access\",void 0),i([S.property()],u.prototype,\"allSSL\",void 0),i([S.property()],u.prototype,\"authMode\",void 0),i([S.property()],u.prototype,\"authorizedCrossOriginDomains\",void 0),i([S.reader(\"authorizedCrossOriginDomains\")],u.prototype,\"readAuthorizedCrossOriginDomains\",null),i([S.property()],u.prototype,\"basemapGalleryGroupQuery\",void 0),i([S.property()],u.prototype,\"bingKey\",void 0),i([S.property()],u.prototype,\"canListApps\",void 0),i([S.property()],u.prototype,\"canListData\",void 0),i([S.property()],u.prototype,\"canListPreProvisionedItems\",void 0),i([S.property()],u.prototype,\"canProvisionDirectPurchase\",void 0),i([S.property()],u.prototype,\"canSearchPublic\",void 0),i([S.property()],u.prototype,\"canShareBingPublic\",void 0),i([S.property()],u.prototype,\"canSharePublic\",void 0),i([S.property()],u.prototype,\"canSignInArcGIS\",void 0),i([S.property()],u.prototype,\"canSignInIDP\",void 0),i([S.property()],u.prototype,\"colorSetsGroupQuery\",void 0),i([S.property()],u.prototype,\"commentsEnabled\",void 0),i([S.property({type:Date})],u.prototype,\"created\",void 0),i([S.property()],u.prototype,\"credential\",void 0),i([S.property()],u.prototype,\"culture\",void 0),i([S.property()],u.prototype,\"currentVersion\",void 0),i([S.property()],u.prototype,\"customBaseUrl\",void 0),i([S.property()],u.prototype,\"defaultBasemap\",void 0),i([S.reader(\"defaultBasemap\")],u.prototype,\"readDefaultBasemap\",null),i([S.property({type:P})],u.prototype,\"defaultExtent\",void 0),i([S.property()],u.prototype,\"defaultVectorBasemap\",void 0),i([S.reader(\"defaultVectorBasemap\")],u.prototype,\"readDefaultVectorBasemap\",null),i([S.property()],u.prototype,\"description\",void 0),i([S.property()],u.prototype,\"eueiEnabled\",void 0),i([S.property({dependsOn:[\"user\",\"id\",\"canSearchPublic\"],readOnly:!0})],u.prototype,\"extraQuery\",null),i([S.property()],u.prototype,\"featuredGroups\",void 0),i([S.property()],u.prototype,\"featuredItemsGroupQuery\",void 0),i([S.property()],u.prototype,\"galleryTemplatesGroupQuery\",void 0),i([S.property()],u.prototype,\"livingAtlasGroupQuery\",void 0),i([S.property()],u.prototype,\"hasCategorySchema\",void 0),i([S.property()],u.prototype,\"helpBase\",void 0),i([S.property()],u.prototype,\"helperServices\",void 0),i([S.property()],u.prototype,\"helpMap\",void 0),i([S.property()],u.prototype,\"homePageFeaturedContent\",void 0),i([S.property()],u.prototype,\"homePageFeaturedContentCount\",void 0),i([S.property()],u.prototype,\"httpPort\",void 0),i([S.property()],u.prototype,\"httpsPort\",void 0),i([S.property()],u.prototype,\"id\",void 0),i([S.property()],u.prototype,\"ipCntryCode\",void 0),i([S.property({dependsOn:[\"access\"],readOnly:!0})],u.prototype,\"isOrganization\",null),i([S.property()],u.prototype,\"isPortal\",void 0),i([S.property()],u.prototype,\"isReadOnly\",void 0),i([S.property()],u.prototype,\"layerTemplatesGroupQuery\",void 0),i([S.property()],u.prototype,\"maxTokenExpirationMinutes\",void 0),i([S.property({type:Date})],u.prototype,\"modified\",void 0),i([S.property()],u.prototype,\"name\",void 0),i([S.property()],u.prototype,\"portalHostname\",void 0),i([S.property()],u.prototype,\"portalMode\",void 0),i([S.property()],u.prototype,\"portalProperties\",void 0),i([S.property()],u.prototype,\"region\",void 0),i([S.property({dependsOn:[\"url\"],readOnly:!0})],u.prototype,\"restUrl\",null),i([S.property()],u.prototype,\"rotatorPanels\",void 0),i([S.property()],u.prototype,\"showHomePageDescription\",void 0),i([S.property()],u.prototype,\"sourceJSON\",void 0),i([S.property()],u.prototype,\"staticImagesUrl\",void 0),i([S.property()],u.prototype,\"stylesGroupQuery\",void 0),i([S.property()],u.prototype,\"supportsHostedServices\",void 0),i([S.property()],u.prototype,\"symbolSetsGroupQuery\",void 0),i([S.property()],u.prototype,\"templatesGroupQuery\",void 0),i([S.property()],u.prototype,\"thumbnail\",void 0),i([S.property({dependsOn:[\"restUrl\",\"thumbnail\"],readOnly:!0})],u.prototype,\"thumbnailUrl\",null),i([S.property()],u.prototype,\"units\",void 0),i([S.property()],u.prototype,\"url\",void 0),i([S.property()],u.prototype,\"urlKey\",void 0),i([S.reader(\"urlKey\")],u.prototype,\"readUrlKey\",null),i([S.property()],u.prototype,\"user\",void 0),i([S.reader(\"user\")],u.prototype,\"readUser\",null),i([S.property()],u.prototype,\"useStandardizedQuery\",void 0),i([S.property()],u.prototype,\"useVectorBasemaps\",void 0),i([S.property()],u.prototype,\"vectorBasemapGalleryGroupQuery\",void 0),u=d=i([S.subclass(\"esri.portal.Portal\")],u)}(S.declared(d.JSONSupportMixin(f)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Error\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(e,r,t,o,p,l,n){return function(e){function r(r){var t=e.call(this,r)||this;return t.created=null,t.id=null,t.portal=null,t.title=null,t.username=null,t}return t(r,e),Object.defineProperty(r.prototype,\"url\",{get:function(){var e=this.get(\"portal.restUrl\");return e?e+\"/content/users/\"+this.username+\"/\"+this.id:null},enumerable:!0,configurable:!0}),r.prototype.toJSON=function(){throw new p(\"internal:not-yet-implemented\",\"PortalFolder.toJSON is not yet implemented\")},o([n.property({type:Date})],r.prototype,\"created\",void 0),o([n.property()],r.prototype,\"id\",void 0),o([n.property()],r.prototype,\"portal\",void 0),o([n.property()],r.prototype,\"title\",void 0),o([n.property({dependsOn:[\"portal.restUrl\"],readOnly:!0})],r.prototype,\"url\",null),o([n.property()],r.prototype,\"username\",void 0),r=o([n.subclass(\"esri.portal.PortalFolder\")],r)}(n.declared(l.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/Error\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"./PortalQueryParams\"],function(t,r,e,o,n,p,u,l,i,a){return function(t){function r(r){var e=t.call(this,r)||this;return e.access=null,e.created=null,e.description=null,e.id=null,e.isInvitationOnly=!1,e.modified=null,e.owner=null,e.portal=null,e.snippet=null,e.sortField=null,e.sortOrder=null,e.tags=null,e.title=null,e}return e(r,t),Object.defineProperty(r.prototype,\"thumbnailUrl\",{get:function(){var t=this.url,r=this.thumbnail;return t&&r?this.portal._normalizeUrl(t+\"/info/\"+r+\"?f=json\"):null},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"url\",{get:function(){var t=this.get(\"portal.restUrl\");return t?t+\"/community/groups/\"+this.id:null},enumerable:!0,configurable:!0}),r.prototype.fetchCategorySchema=function(t){var r=this;return this.portal._request(this.url+\"/categorySchema\",t).then(function(e){var o=e.categorySchema||[];return o.some(function(t){return\"contentCategorySetsGroupQuery.LivingAtlas\"===t.source})?r._fetchCategorySchemaSet(\"LivingAtlas\",t):o})},r.prototype.fetchMembers=function(t){return this.portal._request(this.url+\"/users\",t)},r.prototype.getThumbnailUrl=function(t){var r=this.thumbnailUrl;return r&&t&&(r+=\"&w=\"+t),r},r.prototype.toJSON=function(){throw new p(\"internal:not-yet-implemented\",\"PortalGroup.toJSON is not yet implemented\")},r.prototype.queryItems=function(t,r){var e=i.ensureType(a,t);return parseFloat(this.portal.currentVersion)>5?(e=e||new a,this.portal._queryPortal(\"/content/groups/\"+this.id+\"/search\",e,\"PortalItem\",r)):(e=e?e.clone():new a,e.query=\"group:\"+this.id+(e.query?\" \"+e.query:\"\"),this.portal.queryItems(e,r))},r.prototype._fetchCategorySchemaSet=function(t,r){var e=this;return this.portal._fetchSelf(this.portal.authMode,!0,r).then(function(t){var o=t.contentCategorySetsGroupQuery;if(o){var n=new a;return n.disableExtraQuery=!0,n.num=1,n.query=o,e.portal.queryGroups(n,r)}throw new p(\"portal-group:fetchCategorySchema\",\"contentCategorySetsGroupQuery value not found\")}).then(function(e){if(e.total){var o=e.results[0],n=new a;return n.num=1,n.query='typekeywords:\"'+t+'\"',o.queryItems(n,r)}throw new p(\"portal-group:fetchCategorySchema\",\"contentCategorySetsGroupQuery group not found\")}).then(function(t){if(t.total){return t.results[0].fetchData(\"json\",r).then(function(t){var r=t&&t.categorySchema;return r&&r.length?r:[]})}return[]})},o([l.property()],r.prototype,\"access\",void 0),o([l.property({type:Date})],r.prototype,\"created\",void 0),o([l.property()],r.prototype,\"description\",void 0),o([l.property()],r.prototype,\"id\",void 0),o([l.property()],r.prototype,\"isInvitationOnly\",void 0),o([l.property({type:Date})],r.prototype,\"modified\",void 0),o([l.property()],r.prototype,\"owner\",void 0),o([l.property()],r.prototype,\"portal\",void 0),o([l.property()],r.prototype,\"snippet\",void 0),o([l.property()],r.prototype,\"sortField\",void 0),o([l.property()],r.prototype,\"sortOrder\",void 0),o([l.property()],r.prototype,\"tags\",void 0),o([l.property()],r.prototype,\"thumbnail\",void 0),o([l.property({dependsOn:[\"url\",\"thumbnail\",\"portal.credential.token\"],readOnly:!0})],r.prototype,\"thumbnailUrl\",null),o([l.property()],r.prototype,\"title\",void 0),o([l.property({dependsOn:[\"portal.restUrl\"],readOnly:!0})],r.prototype,\"url\",null),r=o([l.subclass(\"esri.portal.PortalGroup\")],r)}(l.declared(u.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Information on the source of the item and its copyright status.\n *\n * @name accessInformation\n * @instance\n * @type {string}\n */\n\n// licenseInfo\n\n/**\n * Information on license or restrictions related to the item.\n *\n * @name licenseInfo\n * @instance\n * @type {string}\n */\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/Error\",\"../core/JSONSupport\",\"../core/lang\",\"../core/Loadable\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"../geometry/Extent\",\"./Portal\",\"./PortalRating\"],function(e,t,r,o,i,n,a,p,l,s,c,d,u,y,m,g,h){return function(t){function a(e){var r=t.call(this,e)||this;return r.access=null,r.accessInformation=null,r.applicationProxies=null,r.avgRating=null,r.categories=null,r.created=null,r.culture=null,r.description=null,r.extent=null,r.groupCategories=null,r.id=null,r.itemControl=null,r.licenseInfo=null,r.modified=null,r.name=null,r.numComments=null,r.numRatings=null,r.numViews=null,r.owner=null,r.ownerFolder=null,r.portal=null,r.screenshots=null,r.size=null,r.snippet=null,r.sourceJSON=null,r.tags=null,r.title=null,r.type=null,r.typeKeywords=null,r.url=null,r}r(a,t),l=a,a.from=function(e){return y.ensureClass(l,e)},Object.defineProperty(a.prototype,\"displayName\",{get:function(){var e=this.type,t=this.typeKeywords||[],r=e;return\"Feature Service\"===e||\"Feature Collection\"===e?r=t.indexOf(\"Table\")>-1?\"Table\":t.indexOf(\"Route Layer\")>-1?\"Route Layer\":t.indexOf(\"Markup\")>-1?\"Markup\":\"Feature Layer\":\"Image Service\"===e?r=t.indexOf(\"Elevation 3D Layer\")>-1?\"Elevation Layer\":\"Imagery Layer\":\"Scene Service\"===e?r=\"Scene Layer\":\"Scene Package\"===e?r=\"Scene Layer Package\":\"Stream Service\"===e?r=\"Feature Layer\":\"Geoprocessing Service\"===e&&this.portal&&this.portal.isPortal?r=t.indexOf(\"Web Tool\")>-1?\"Tool\":\"Geoprocessing Service\":\"Geocoding Service\"===e?r=\"Locator\":\"Microsoft Powerpoint\"===e?r=\"Microsoft PowerPoint\":\"GeoJson\"===e?r=\"GeoJSON\":\"Globe Service\"===e?r=\"Globe Layer\":\"Vector Tile Service\"===e?r=\"Tile Layer\":\"netCDF\"===e?r=\"NetCDF\":\"Map Service\"===e?r=-1===t.indexOf(\"Spatiotemporal\")&&(t.indexOf(\"Hosted Service\")>-1||t.indexOf(\"Tiled\")>-1)&&-1===t.indexOf(\"Relational\")?\"Tile Layer\":\"Map Image Layer\":e&&e.toLowerCase().indexOf(\"add in\")>-1?r=e.replace(/(add in)/gi,\"Add-In\"):\"datastore catalog service\"===e?r=\"Big Data File Share\":\"Compact Tile Package\"===e&&(r=\"Tile Package (tpkx)\"),r},enumerable:!0,configurable:!0}),a.prototype.readExtent=function(e){return e&&e.length?new m(e[0][0],e[0][1],e[1][0],e[1][1]):null},Object.defineProperty(a.prototype,\"iconUrl\",{get:function(){var t,r=this.type&&this.type.toLowerCase()||\"\",o=this.typeKeywords||[],i=!1,n=!1,a=!1,p=!1,l=!1;return r.indexOf(\"service\")>0||\"feature collection\"===r||\"kml\"===r||\"wms\"===r||\"wmts\"===r||\"wfs\"===r?(i=o.indexOf(\"Hosted Service\")>-1,\"feature service\"===r||\"feature collection\"===r||\"kml\"===r||\"wfs\"===r?(n=o.indexOf(\"Table\")>-1,a=o.indexOf(\"Route Layer\")>-1,p=o.indexOf(\"Markup\")>-1,l=-1!==o.indexOf(\"Spatiotemporal\"),t=l&&n?\"spatiotemporaltable\":n?\"table\":a?\"routelayer\":p?\"markup\":l?\"spatiotemporal\":i?\"featureshosted\":\"features\"):t=\"map service\"===r||\"wms\"===r||\"wmts\"===r?i||o.indexOf(\"Tiled\")>-1||\"wmts\"===r?\"maptiles\":\"mapimages\":\"scene service\"===r?o.indexOf(\"Line\")>-1?\"sceneweblayerline\":o.indexOf(\"3DObject\")>-1?\"sceneweblayermultipatch\":o.indexOf(\"Point\")>-1?\"sceneweblayerpoint\":o.indexOf(\"IntegratedMesh\")>-1?\"sceneweblayermesh\":o.indexOf(\"PointCloud\")>-1?\"sceneweblayerpointcloud\":o.indexOf(\"Polygon\")>-1?\"sceneweblayerpolygon\":o.indexOf(\"Building\")>-1?\"sceneweblayerbuilding\":\"sceneweblayer\":\"image service\"===r?o.indexOf(\"Elevation 3D Layer\")>-1?\"elevationlayer\":\"imagery\":\"stream service\"===r?\"streamlayer\":\"vector tile service\"===r?\"vectortile\":\"datastore catalog service\"===r?\"datastorecollection\":\"geocoding service\"===r?\"geocodeservice\":\"geoprocessing service\"===r&&o.indexOf(\"Web Tool\")>-1&&this.portal&&this.portal.isPortal?\"tool\":\"layers\"):t=\"web map\"===r||\"cityengine web scene\"===r?\"maps\":\"web scene\"===r?o.indexOf(\"ViewingMode-Local\")>-1?\"webscenelocal\":\"websceneglobal\":\"web mapping application\"===r||\"mobile application\"===r||\"application\"===r||\"operation view\"===r||\"desktop application\"===r?\"apps\":\"map document\"===r||\"map package\"===r||\"published map\"===r||\"scene document\"===r||\"globe document\"===r||\"basemap package\"===r||\"mobile basemap package\"===r||\"mobile map package\"===r||\"project package\"===r||\"project template\"===r||\"pro map\"===r||\"layout\"===r||\"layer\"===r&&o.indexOf(\"ArcGIS Pro\")>-1||\"explorer map\"===r&&o.indexOf(\"Explorer Document\")?\"mapsgray\":\"service definition\"===r||\"csv\"===r||\"shapefile\"===r||\"cad drawing\"===r||\"geojson\"===r||\"360 vr experience\"===r||\"netcdf\"===r?\"datafiles\":\"explorer add in\"===r||\"desktop add in\"===r||\"windows viewer add in\"===r||\"windows viewer configuration\"===r?\"appsgray\":\"arcgis pro add in\"===r||\"arcgis pro configuration\"===r?\"addindesktop\":\"rule package\"===r||\"file geodatabase\"===r||\"sqlite geodatabase\"===r||\"csv collection\"===r||\"kml collection\"===r||\"windows mobile package\"===r||\"map template\"===r||\"desktop application template\"===r||\"arcpad package\"===r||\"code sample\"===r||\"form\"===r||\"document link\"===r||\"operations dashboard add in\"===r||\"rules package\"===r||\"image\"===r||\"workflow manager package\"===r||\"explorer map\"===r&&o.indexOf(\"Explorer Mapping Application\")>-1||o.indexOf(\"Document\")>-1?\"datafilesgray\":\"network analysis service\"===r||\"geoprocessing service\"===r||\"geodata service\"===r||\"geometry service\"===r||\"geoprocessing package\"===r||\"locator package\"===r||\"geoprocessing sample\"===r||\"workflow manager service\"===r?\"toolsgray\":\"layer\"===r||\"layer package\"===r||\"explorer layer\"===r?\"layersgray\":\"scene package\"===r?\"scenepackage\":\"mobile scene package\"===r?\"mobilescenepackage\":\"tile package\"===r||\"compact tile package\"===r?\"tilepackage\":\"task file\"===r?\"taskfile\":\"report template\"===r?\"report-template\":\"statistical data collection\"===r?\"statisticaldatacollection\":\"insights workbook\"===r?\"workbook\":\"insights model\"===r?\"insightsmodel\":\"insights page\"===r?\"insightspage\":\"insights theme\"===r?\"insightstheme\":\"hub initiative\"===r?\"hubinitiative\":\"hubpage\"===r?\"hubpage\":\"hub site application\"===r?\"hubsite\":\"relational database connection\"===r?\"relationaldatabaseconnection\":\"big data file share\"===r?\"datastorecollection\":\"image collection\"===r?\"imagecollection\":\"style\"===r?\"style\":\"desktop style\"===r?\"desktopstyle\":\"dashboard\"===r?\"dashboard\":\"raster function template\"===r?\"rasterprocessingtemplate\":\"vector tile package\"===r?\"vectortilepackage\":\"ortho mapping project\"===r?\"orthomappingproject\":\"ortho mapping template\"===r?\"orthomappingtemplate\":\"solution\"===r?\"solutions\":\"geopackage\"===r?\"geopackage\":\"deep learning package\"===r?\"deeplearningpackage\":\"real time analytic\"===r?\"realtimeanalytics\":\"big data analytic\"===r?\"bigdataanalytics\":\"feed\"===r?\"feed\":\"excalibur imagery project\"===r?\"excaliburimageryproject\":\"notebook\"===r?\"notebook\":\"storymap\"===r?\"storymap\":\"survey123 add in\"===r?\"survey123addin\":\"mission\"===r?\"mission\":\"quickcapture project\"===r?\"quickcaptureproject\":\"pro report\"===r?\"proreport\":\"urban model\"===r?\"urbanmodel\":\"web experience\"===r?\"experiencebuilder\":\"web experience template\"===r?\"webexperiencetemplate\":\"workflow\"===r?\"workflow\":\"insights script\"===r?\"insightsscript\":\"kernel gateway connection\"===r?\"kernelgatewayconnection\":\"maps\",t?e.toUrl(\"../images/portal/\"+t+\"16.png\"):null},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,\"isLayer\",{get:function(){return[\"Map Service\",\"Feature Service\",\"Feature Collection\",\"Scene Service\",\"Image Service\",\"Stream Service\",\"Vector Tile Service\",\"WMTS\",\"WMS\"].indexOf(this.type)>-1},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,\"itemUrl\",{get:function(){var e=this.get(\"portal.restUrl\");return e?e+\"/content/items/\"+this.id:null},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,\"thumbnailUrl\",{get:function(){var e=this.itemUrl,t=this.thumbnail;return e&&t?this.portal._normalizeUrl(e+\"/info/\"+t+\"?f=json\"):null},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,\"userItemUrl\",{get:function(){var e=this.get(\"portal.restUrl\");if(!e)return null;var t=this.owner||this.get(\"portal.user.username\");return t?e+\"/content/users/\"+(this.ownerFolder?t+\"/\"+this.ownerFolder:t)+\"/items/\"+this.id:null},enumerable:!0,configurable:!0}),a.prototype.load=function(e){var t=this;this.portal||(this.portal=g.getDefault());var r=this.portal.load(e).then(function(){return t.sourceJSON?t.sourceJSON:t.id&&t.itemUrl?t.portal._request(t.itemUrl,{signal:s.isSome(e)?e.signal:null}):{}}).then(function(e){t.sourceJSON=e,t.read(e)});return this.addResolvingPromise(r),this.when()},a.prototype.addRating=function(e){var t={method:\"post\",query:{}};return e instanceof h&&(e=e.rating),isNaN(e)||\"number\"!=typeof e||(t.query.rating=e),this.portal._request(this.itemUrl+\"/addRating\",t).then(function(){return new h({rating:e,created:new Date})})},a.prototype.clone=function(){var e={access:this.access,accessInformation:this.accessInformation,applicationProxies:p.clone(this.applicationProxies),avgRating:this.avgRating,categories:p.clone(this.categories),created:p.clone(this.created),culture:this.culture,description:this.description,extent:p.clone(this.extent),groupCategories:p.clone(this.groupCategories),id:this.id,itemControl:this.itemControl,licenseInfo:this.licenseInfo,modified:p.clone(this.modified),name:this.name,numComments:this.numComments,numRatings:this.numRatings,numViews:this.numViews,owner:this.owner,ownerFolder:this.ownerFolder,portal:this.portal,screenshots:p.clone(this.screenshots),size:this.size,snippet:this.snippet,tags:p.clone(this.tags),thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:p.clone(this.typeKeywords),url:this.url};return this.loaded&&(e.loadStatus=\"loaded\"),new l({sourceJSON:this.sourceJSON}).set(e)},a.prototype.createPostQuery=function(){var e=this.toJSON();for(var t in e)\"tags\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"typeKeywords\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"extent\"===t&&e[t]&&(e[t]=JSON.stringify(e[t]));return e},a.prototype.deleteRating=function(){return this.portal._request(this.itemUrl+\"/deleteRating\",{method:\"post\"}).then(function(){})},a.prototype.fetchData=function(e,t){return void 0===e&&(e=\"json\"),this.portal._request(this.itemUrl+\"/data\",i({responseType:e},t))},a.prototype.fetchRating=function(e){return this.portal._request(this.itemUrl+\"/rating\",e).then(function(e){return null!=e.rating?(e.created=new Date(e.created),new h(e)):null})},a.prototype.fetchRelatedItems=function(e,t){return this.portal._requestToTypedArray(this.itemUrl+\"/relatedItems\",i({query:e},t),\"PortalItem\")},a.prototype.getThumbnailUrl=function(e){var t=this.thumbnailUrl;return t&&e&&(t+=\"&w=\"+e),t},a.prototype.reload=function(){var e=this;return this.portal._request(this.itemUrl,{cacheBust:!0}).then(function(t){return e.sourceJSON=t,e.read(t),e})},a.prototype.update=function(e){var t=this;return this.id?this.load().then(function(){return t.portal._signIn()}).then(function(){var r=e&&e.data,o={method:\"post\"};o.query=t.createPostQuery();for(var i in o.query)null===o.query[i]&&(o.query[i]=\"\");return o.query.clearEmptyFields=!0,null!=r&&(\"string\"==typeof r?o.query.text=r:\"object\"==typeof r&&(o.query.text=JSON.stringify(r))),t.portal._request(t.userItemUrl+\"/update\",o).then(function(){return t.reload()})}):c.reject(new n(\"portal:item-does-not-exist\",\"The item does not exist yet and cannot be updated\"))},a.prototype.updateThumbnail=function(e){var t=this;return this.id?this.load().then(function(){return t.portal._signIn()}).then(function(){var r=e.thumbnail,o=e.filename,i={method:\"post\"};if(\"string\"==typeof r)d.isDataProtocol(r)?i.query={data:r}:i.query={url:d.makeAbsolute(r)},s.isSome(o)&&(i.query.filename=o);else{var n=new FormData;s.isSome(o)?n.append(\"file\",r,o):n.append(\"file\",r),i.body=n}return t.portal._request(t.userItemUrl+\"/updateThumbnail\",i).then(function(){return t.reload()})}):c.reject(new n(\"portal:item-does-not-exist\",\"The item does not exist yet and cannot be updated\"))},a.prototype.toJSON=function(){var e=this.extent,t={created:this.created&&this.created.getTime(),description:this.description,extent:e&&[[e.xmin,e.ymin],[e.xmax,e.ymax]],id:this.id,modified:this.modified&&this.modified.getTime(),name:this.name,owner:this.owner,ownerFolder:this.ownerFolder,snippet:this.snippet,tags:this.tags,thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:this.typeKeywords,url:this.url};return p.fixJson(t)},a.fromJSON=function(e){if(!e)return null;if(e.declaredClass)throw new Error(\"JSON object is already hydrated\");return new l({sourceJSON:e})},a.prototype._getPostQuery=function(){var e=this.toJSON();for(var t in e)\"tags\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"typeKeywords\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"extent\"===t&&e[t]&&(e[t]=JSON.stringify(e[t]));return e};var l;return o([u.property()],a.prototype,\"access\",void 0),o([u.property()],a.prototype,\"accessInformation\",void 0),o([u.property({json:{read:{source:\"appProxies\"}}})],a.prototype,\"applicationProxies\",void 0),o([u.property()],a.prototype,\"avgRating\",void 0),o([u.property()],a.prototype,\"categories\",void 0),o([u.property({type:Date})],a.prototype,\"created\",void 0),o([u.property()],a.prototype,\"culture\",void 0),o([u.property()],a.prototype,\"description\",void 0),o([u.property({dependsOn:[\"type\",\"typeKeywords\"],readOnly:!0})],a.prototype,\"displayName\",null),o([u.property({type:m})],a.prototype,\"extent\",void 0),o([u.reader(\"extent\")],a.prototype,\"readExtent\",null),o([u.property()],a.prototype,\"groupCategories\",void 0),o([u.property({dependsOn:[\"type\",\"typeKeywords\"],readOnly:!0})],a.prototype,\"iconUrl\",null),o([u.property()],a.prototype,\"id\",void 0),o([u.property({dependsOn:[\"type\"],readOnly:!0})],a.prototype,\"isLayer\",null),o([u.property()],a.prototype,\"itemControl\",void 0),o([u.property({dependsOn:[\"portal.restUrl\",\"id\"],readOnly:!0})],a.prototype,\"itemUrl\",null),o([u.property()],a.prototype,\"licenseInfo\",void 0),o([u.property({type:Date})],a.prototype,\"modified\",void 0),o([u.property()],a.prototype,\"name\",void 0),o([u.property()],a.prototype,\"numComments\",void 0),o([u.property()],a.prototype,\"numRatings\",void 0),o([u.property()],a.prototype,\"numViews\",void 0),o([u.property()],a.prototype,\"owner\",void 0),o([u.property()],a.prototype,\"ownerFolder\",void 0),o([u.property({type:g})],a.prototype,\"portal\",void 0),o([u.property()],a.prototype,\"screenshots\",void 0),o([u.property()],a.prototype,\"size\",void 0),o([u.property()],a.prototype,\"snippet\",void 0),o([u.property()],a.prototype,\"sourceJSON\",void 0),o([u.property()],a.prototype,\"tags\",void 0),o([u.property()],a.prototype,\"thumbnail\",void 0),o([u.property({dependsOn:[\"itemUrl\",\"thumbnail\",\"portal.credential.token\"],readOnly:!0})],a.prototype,\"thumbnailUrl\",null),o([u.property()],a.prototype,\"title\",void 0),o([u.property()],a.prototype,\"type\",void 0),o([u.property()],a.prototype,\"typeKeywords\",void 0),o([u.property()],a.prototype,\"url\",void 0),o([u.property({dependsOn:[\"portal.restUrl\",\"portal.user.username\",\"owner\",\"ownerFolder\",\"id\"],readOnly:!0})],a.prototype,\"userItemUrl\",null),a=l=o([u.subclass(\"esri.portal.PortalItem\")],a)}(u.declared(a.JSONSupportMixin(l)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/jsonMap\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"../geometry/Extent\",\"../geometry/SpatialReference\",\"../geometry/support/webMercatorUtils\"],function(t,r,e,o,s,i,n,a,u,p,l,c){var y=new n.default({avgRating:\"avg-rating\",numRatings:\"num-ratings\",numComments:\"num-comments\",numViews:\"num-views\"});return function(t){function r(r){var e=t.call(this,r)||this;return e.categories=null,e.disableExtraQuery=!1,e.extent=null,e.num=10,e.query=null,e.sortField=null,e.start=1,e}o(r,t),i=r,Object.defineProperty(r.prototype,\"sortOrder\",{get:function(){return this._get(\"sortOrder\")||\"asc\"},set:function(t){\"asc\"!==t&&\"desc\"!==t||this._set(\"sortOrder\",t)},enumerable:!0,configurable:!0}),r.prototype.clone=function(){return new i({categories:this.categories?a.clone(this.categories):null,disableExtraQuery:this.disableExtraQuery,extent:this.extent?this.extent.clone():null,num:this.num,query:this.query,sortField:this.sortField,sortOrder:this.sortOrder,start:this.start})},r.prototype.toRequestOptions=function(t,r){var o;this.categories&&(o=this.categories.map(function(t){return Array.isArray(t)?JSON.stringify(t):t}));var s;if(this.extent){var i=c.project(this.extent,l.WGS84);i&&(s=i.xmin+\",\"+i.ymin+\",\"+i.xmax+\",\"+i.ymax)}var n=this.query;!this.disableExtraQuery&&t.extraQuery&&(n=\"(\"+n+\")\"+t.extraQuery);var a={categories:o,bbox:s,q:n,num:this.num,sortField:null,sortOrder:null,start:this.start};return this.sortField&&(a.sortField=y.toJSON(this.sortField),a.sortOrder=this.sortOrder),{query:e({},r,a)}};var i;return s([u.property()],r.prototype,\"categories\",void 0),s([u.property()],r.prototype,\"disableExtraQuery\",void 0),s([u.property({type:p})],r.prototype,\"extent\",void 0),s([u.property()],r.prototype,\"num\",void 0),s([u.property()],r.prototype,\"query\",void 0),s([u.property()],r.prototype,\"sortField\",void 0),s([u.property()],r.prototype,\"sortOrder\",null),s([u.property()],r.prototype,\"start\",void 0),r=i=s([u.subclass(\"esri.portal.PortalQueryParams\")],r)}(u.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/accessorSupport/decorators\"],function(r,e,t,o,p,s){return function(r){function e(e){var t=r.call(this,e)||this;return t.nextQueryParams=null,t.queryParams=null,t.results=null,t.total=null,t}return t(e,r),o([s.property()],e.prototype,\"nextQueryParams\",void 0),o([s.property()],e.prototype,\"queryParams\",void 0),o([s.property()],e.prototype,\"results\",void 0),o([s.property()],e.prototype,\"total\",void 0),e=o([s.subclass(\"esri.portal.PortalQueryResult\")],e)}(s.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/accessorSupport/decorators\"],function(r,e,t,o,c,p){return function(r){function e(e){var t=r.call(this,e)||this;return t.created=null,t.rating=null,t}return t(e,r),o([p.property()],e.prototype,\"created\",void 0),o([p.property()],e.prototype,\"rating\",void 0),e=o([p.subclass(\"esri.portal.PortalRating\")],e)}(p.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Error\",\"../core/JSONSupport\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"./PortalFolder\",\"./PortalGroup\"],function(r,t,e,o,n,p,l,u,i,a){return function(t){function p(){var r=t.call(this)||this;return r.access=null,r.created=null,r.culture=null,r.description=null,r.email=null,r.fullName=null,r.modified=null,r.orgId=null,r.portal=null,r.preferredView=null,r.privileges=null,r.region=null,r.role=null,r.roleId=null,r.sourceJSON=null,r.units=null,r.username=null,r.userType=null,r}e(p,t),s=p,Object.defineProperty(p.prototype,\"thumbnailUrl\",{get:function(){var r=this.url,t=this.thumbnail;return r&&t?this.portal._normalizeUrl(r+\"/info/\"+t+\"?f=json\"):null},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,\"userContentUrl\",{get:function(){var r=this.get(\"portal.restUrl\");return r?r+\"/content/users/\"+this.username:null},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,\"url\",{get:function(){var r=this.get(\"portal.restUrl\");return r?r+\"/community/users/\"+this.username:null},enumerable:!0,configurable:!0}),p.prototype.addItem=function(r){var t=this,e=r&&r.item,o=r&&r.data,n=r&&r.folder,p={method:\"post\"};e&&(p.query=e.createPostQuery(),null!=o&&(\"string\"==typeof o?p.query.text=o:\"object\"==typeof o&&(p.query.text=JSON.stringify(o))));var l=this.userContentUrl;return n&&(l+=\"/\"+(\"string\"==typeof n?n:n.id)),this.portal._request(l+\"/addItem\",p).then(function(r){return e.id=r.id,e.portal=t.portal,e.loaded?e.reload():e.load()})},p.prototype.deleteItem=function(r){var t=this.userContentUrl;return r.ownerFolder&&(t+=\"/\"+r.ownerFolder),this.portal._request(t+\"/items/\"+r.id+\"/delete\",{method:\"post\"}).then(function(){r.id=null,r.portal=null})},p.prototype.deleteItems=function(r){var t=this.userContentUrl+\"/deleteItems\",e=r.map(function(r){return r.id});if(e.length){var o={method:\"post\",query:{items:e.join(\",\")}};return this.portal._request(t,o).then(function(){r.forEach(function(r){r.id=null,r.portal=null})})}return l.resolve(void 0)},p.prototype.fetchFolders=function(){var r=this,t={query:{num:1}};return this.portal._request(this.userContentUrl,t).then(function(t){return t&&t.folders?t.folders.map(function(t){var e=i.fromJSON(t);return e.portal=r.portal,e}):[]})},p.prototype.fetchGroups=function(){var r=this;return this.portal._request(this.url).then(function(t){return t&&t.groups?t.groups.map(function(t){var e=a.fromJSON(t);return e.portal=r.portal,e}):[]})},p.prototype.fetchItems=function(t){var e=this;t||(t={});var o=this.userContentUrl;t.folder&&(o+=\"/\"+t.folder.id);var n;return l.create(function(t){return r([\"./PortalItem\"],t)}).then(function(r){n=r;var p=t.num||10,l=t.start||1,u=t.sortField||\"created\",i=t.sortOrder||\"asc\",a={folders:!1,num:p,start:l,sortField:u,sortOrder:i};return e.portal._request(o,{query:a})}).then(function(r){var t;return r&&r.items?(t=r.items.map(function(r){var t=n.fromJSON(r);return t.portal=e.portal,t}),l.all(t.map(function(r){return r.load()})).catch(function(r){return r}).then(function(){return{items:t,nextStart:r.nextStart,total:r.total}})):{items:[],nextStart:-1,total:0}})},p.prototype.fetchTags=function(){return this.portal._request(this.url+\"/tags\").then(function(r){return r.tags})},p.prototype.getThumbnailUrl=function(r){var t=this.thumbnailUrl;return t&&r&&(t+=\"&w=\"+r),t},p.prototype.queryFavorites=function(r){return this.favGroupId?(this._favGroup||(this._favGroup=new a({id:this.favGroupId,portal:this.portal})),this._favGroup.queryItems(r)):l.reject(new n(\"internal:unknown\",\"Unknown internal error\",{internalError:\"Unknown favGroupId\"}))},p.prototype.toJSON=function(){throw new n(\"internal:not-yet-implemented\",\"PortalGroup.toJSON is not yet implemented\")},p.fromJSON=function(r){if(!r)return null;if(r.declaredClass)throw new Error(\"JSON object is already hydrated\");var t=new s;return t.sourceJSON=r,t.read(r),t};var s;return o([u.property()],p.prototype,\"access\",void 0),o([u.property({type:Date})],p.prototype,\"created\",void 0),o([u.property()],p.prototype,\"culture\",void 0),o([u.property()],p.prototype,\"description\",void 0),o([u.property()],p.prototype,\"email\",void 0),o([u.property()],p.prototype,\"favGroupId\",void 0),o([u.property()],p.prototype,\"fullName\",void 0),o([u.property({type:Date})],p.prototype,\"modified\",void 0),o([u.property()],p.prototype,\"orgId\",void 0),o([u.property()],p.prototype,\"portal\",void 0),o([u.property()],p.prototype,\"preferredView\",void 0),o([u.property()],p.prototype,\"privileges\",void 0),o([u.property()],p.prototype,\"region\",void 0),o([u.property()],p.prototype,\"role\",void 0),o([u.property()],p.prototype,\"roleId\",void 0),o([u.property()],p.prototype,\"sourceJSON\",void 0),o([u.property()],p.prototype,\"thumbnail\",void 0),o([u.property({dependsOn:[\"url\",\"thumbnail\",\"portal.credential.token\"],readOnly:!0})],p.prototype,\"thumbnailUrl\",null),o([u.property()],p.prototype,\"units\",void 0),o([u.property({dependsOn:[\"portal.restUrl\"],readOnly:!0})],p.prototype,\"userContentUrl\",null),o([u.property({dependsOn:[\"portal.restUrl\"],readOnly:!0})],p.prototype,\"url\",null),o([u.property()],p.prototype,\"username\",void 0),o([u.property()],p.prototype,\"userType\",void 0),p=s=o([u.subclass(\"esri.portal.PortalUser\")],p)}(u.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./renderers/ClassBreaksRenderer\",\"./renderers/DictionaryRenderer\",\"./renderers/DotDensityRenderer\",\"./renderers/HeatmapRenderer\",\"./renderers/Renderer\",\"./renderers/SimpleRenderer\",\"./renderers/UniqueValueRenderer\",\"./renderers/support/jsonUtils\"],function(e,r,n,s,d,a,i,t,R,p){function l(e){return e instanceof r.BaseRenderer}Object.defineProperty(r,\"__esModule\",{value:!0}),r.ClassBreaksRenderer=n,r.DictionaryRenderer=s,r.DotDensityRenderer=d,r.HeatmapRenderer=a,r.BaseRenderer=i,r.SimpleRenderer=t,r.UniqueValueRenderer=R,r.isRenderer=l,r.read=p.read,r.write=p.write,r.fromJSON=p.fromJSON,r.rendererTypes={key:\"type\",base:r.BaseRenderer,typeMap:{heatmap:r.HeatmapRenderer,simple:r.SimpleRenderer,\"unique-value\":r.UniqueValueRenderer,\"class-breaks\":r.ClassBreaksRenderer,\"dot-density\":r.DotDensityRenderer,dictionary:r.DictionaryRenderer}},r.webSceneRendererTypes={key:\"type\",base:r.BaseRenderer,typeMap:{simple:r.SimpleRenderer,\"unique-value\":r.UniqueValueRenderer,\"class-breaks\":r.ClassBreaksRenderer}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/assignHelper\",\"../symbols\",\"../symbols\",\"../core/jsonMap\",\"../core/lang\",\"../core/Logger\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"../layers/support/fieldUtils\",\"./Renderer\",\"./mixins/VisualVariablesMixin\",\"./support/ClassBreakInfo\",\"./support/LegendOptions\",\"../support/arcadeOnDemand\",\"../symbols/support/jsonUtils\"],function(e,t,r,o,n,a,i,s,l,u,p,c,d,f,y,m,h,b,v,g,k,I,B,S){var x=d.getLogger(\"esri.renderers.ClassBreaksRenderer\"),w=new p.default({esriNormalizeByLog:\"log\",esriNormalizeByPercentOfTotal:\"percent-of-total\",esriNormalizeByField:\"field\"}),F=h.ensureType(k.ClassBreakInfo);return function(e){function t(t){var r=e.call(this,t)||this;return r.backgroundFillSymbol=null,r.classBreakInfos=null,r.defaultLabel=null,r.defaultSymbol=null,r.field=null,r.isMaxInclusive=!0,r.legendOptions=null,r.normalizationField=null,r.normalizationTotal=null,r.type=\"class-breaks\",r.valueExpression=null,r.valueExpressionTitle=null,r._set(\"classBreakInfos\",[]),r}r(t,e),n=t,Object.defineProperty(t.prototype,\"_cache\",{get:function(){return{compiledFunc:null}},enumerable:!0,configurable:!0}),t.prototype.readClassBreakInfos=function(e,t,r){if(Array.isArray(e)){var o=t.minValue;return e.map(function(e){var t=new k.ClassBreakInfo;return t.read(e,r),null==t.minValue&&(t.minValue=o),null==t.maxValue&&(t.maxValue=t.minValue),o=t.maxValue,t})}},t.prototype.writeClassBreakInfos=function(e,t,r,o){var n=e.map(function(e){return e.write({},o)});this._areClassBreaksConsecutive()&&n.forEach(function(e){return delete e.classMinValue}),t[r]=n},t.prototype.readDefaultSymbol=function(e,t,r){return S.read(e,t,r)},t.prototype.writeDefaultSymbolWebScene=function(e,t,r,o){S.writeTarget(e,t,r,o)},t.prototype.writeDefaultSymbol=function(e,t,r,o){S.writeTarget(e,t,r,o)},t.prototype.castField=function(e){return null==e?e:\"function\"==typeof e?(x.error(\".field: field must be a string value\"),null):h.ensureString(e)},Object.defineProperty(t.prototype,\"minValue\",{get:function(){return this.classBreakInfos&&this.classBreakInfos[0]&&this.classBreakInfos[0].minValue||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"normalizationType\",{get:function(){var e=this._get(\"normalizationType\"),t=!!this.normalizationField,r=null!=this.normalizationTotal;return t||r?(e=t&&\"field\"||r&&\"percent-of-total\"||null,t&&r&&x.warn(\"warning: both normalizationField and normalizationTotal are set!\")):\"field\"!==e&&\"percent-of-total\"!==e||(e=null),e},set:function(e){this._set(\"normalizationType\",e)},enumerable:!0,configurable:!0}),t.prototype.addClassBreakInfo=function(e,t,r){var o=null;o=\"number\"==typeof e?new k.ClassBreakInfo({minValue:e,maxValue:t,symbol:u.ensureType(r)}):F(c.clone(e)),this.classBreakInfos.push(o),1===this.classBreakInfos.length&&this.notifyChange(\"minValue\")},t.prototype.removeClassBreakInfo=function(e,t){for(var r=this.classBreakInfos.length,o=0;o<r;o++){var n=[this.classBreakInfos[o].minValue,this.classBreakInfos[o].maxValue];if(n[0]===e&&n[1]===t){this.classBreakInfos.splice(o,1);break}}},t.prototype.getBreakIndex=function(e,t){return this.valueExpression&&(f.isNone(t)||f.isNone(t.arcade))&&x.warn(\"\"),this.valueExpression?this._getBreakIndexForExpression(e,t):this._getBreakIndexForField(e)},t.prototype.getClassBreakInfo=function(e,t){return i(this,void 0,void 0,function(){var r,o,n,i;return a(this,function(a){switch(a.label){case 0:return r=t,this.valueExpression&&(f.isNone(t)||f.isNone(t.arcade))?(o=[{},r],n={},[4,B.loadArcade()]):[3,2];case 1:r=s.apply(void 0,o.concat([(n.arcade=a.sent(),n)])),a.label=2;case 2:return i=this.getBreakIndex(e,r),[2,-1!==i?this.classBreakInfos[i]:null]}})})},t.prototype.getSymbol=function(e,t){if(this.valueExpression&&(f.isNone(t)||f.isNone(t.arcade)))return void x.error(\"#getSymbol()\",\"Please use getSymbolAsync if valueExpression is used\");var r=this.getBreakIndex(e,t);return r>-1?this.classBreakInfos[r].symbol:this.defaultSymbol},t.prototype.getSymbolAsync=function(e,t){return i(this,void 0,void 0,function(){var r,o,n,i;return a(this,function(a){switch(a.label){case 0:return r=t,this.valueExpression&&(f.isNone(t)||f.isNone(t.arcade))?(o=[{},r],n={},[4,B.loadArcade()]):[3,2];case 1:r=s.apply(void 0,o.concat([(n.arcade=a.sent(),n)])),a.label=2;case 2:return i=this.getBreakIndex(e,r),[2,i>-1?this.classBreakInfos[i].symbol:this.defaultSymbol]}})})},t.prototype.getSymbols=function(){var e=[];return this.classBreakInfos.forEach(function(t){t.symbol&&e.push(t.symbol)}),this.defaultSymbol&&e.push(this.defaultSymbol),e},t.prototype.getAttributeHash=function(){return this.visualVariables&&this.visualVariables.reduce(function(e,t){return e+t.getAttributeHash()},\"\")},t.prototype.getMeshHash=function(){var e=JSON.stringify(this.backgroundFillSymbol),t=JSON.stringify(this.defaultSymbol),r=this.normalizationField+\".\"+this.normalizationType+\".\"+this.normalizationTotal;return e+\".\"+t+\".\"+this.classBreakInfos.reduce(function(e,t){return e+t.getMeshHash()},\"\")+\".\"+r+\".\"+this.field+\".\"+this.valueExpression},Object.defineProperty(t.prototype,\"arcadeRequired\",{get:function(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new n({field:this.field,backgroundFillSymbol:this.backgroundFillSymbol&&this.backgroundFillSymbol.clone(),defaultLabel:this.defaultLabel,defaultSymbol:this.defaultSymbol&&this.defaultSymbol.clone(),valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,classBreakInfos:c.clone(this.classBreakInfos),isMaxInclusive:this.isMaxInclusive,normalizationField:this.normalizationField,normalizationTotal:this.normalizationTotal,normalizationType:this.normalizationType,visualVariables:c.clone(this.visualVariables),legendOptions:c.clone(this.legendOptions),authoringInfo:this.authoringInfo&&this.authoringInfo.clone()})},t.prototype.collectRequiredFields=function(e,t){return i(this,void 0,void 0,function(){var r;return a(this,function(o){switch(o.label){case 0:return r=[this.collectVVRequiredFields(e,t),this.collectSymbolFields(e,t)],[4,y.all(r)];case 1:return o.sent(),[2]}})})},t.prototype.collectSymbolFields=function(e,t){return i(this,void 0,void 0,function(){var r;return a(this,function(o){switch(o.label){case 0:return r=this.getSymbols().map(function(r){return r.collectRequiredFields(e,t)}).concat([b.collectArcadeFieldNames(e,t,this.valueExpression)]),b.collectField(e,t,this.field),b.collectField(e,t,this.normalizationField),[4,y.all(r)];case 1:return o.sent(),[2]}})})},t.prototype._getBreakIndexForExpression=function(e,t){var r=f.unwrapOr(t,{}),o=r.viewingMode,n=r.scale,a=r.spatialReference,i=r.arcade,s=this._cache.compiledFunc,l=f.expect(i).arcadeUtils;if(!s){var u=l.createSyntaxTree(this.valueExpression);s=l.createFunction(u),this._cache.compiledFunc=s}var p=l.executeFunction(s,l.createExecContext(e,l.getViewInfo({viewingMode:o,scale:n,spatialReference:a})));return this._getBreakIndexfromInfos(p)},t.prototype._getBreakIndexForField=function(e){var t=this.field,r=e.attributes,o=this.normalizationType,n=parseFloat(r[t]);if(o){var a=this.normalizationTotal,i=parseFloat(r[this.normalizationField]);if(\"log\"===o)n=Math.log(n)*Math.LOG10E;else if(\"percent-of-total\"!==o||isNaN(a)){if(\"field\"===o&&!isNaN(i)){if(isNaN(n)||isNaN(i))return-1;n/=i}}else n=n/a*100}return this._getBreakIndexfromInfos(n)},t.prototype._getBreakIndexfromInfos=function(e){var t=this.isMaxInclusive;if(null!=e&&\"number\"==typeof e&&!isNaN(e))for(var r=0;r<this.classBreakInfos.length;r++){var o=[this.classBreakInfos[r].minValue,this.classBreakInfos[r].maxValue];if(o[0]<=e&&(t?e<=o[1]:e<o[1]))return r}return-1},t.prototype._areClassBreaksConsecutive=function(){for(var e=this.classBreakInfos,t=e.length,r=1;r<t;r++)if(e[r-1].maxValue!==e[r].minValue)return!1;return!0};var n;return o([m.property({readOnly:!0,dependsOn:[\"valueExpression\"]})],t.prototype,\"_cache\",null),o([m.property({types:{base:l.BaseSymbol,key:\"type\",typeMap:{\"simple-fill\":u.symbolTypesRenderer.typeMap[\"simple-fill\"],\"picture-fill\":u.symbolTypesRenderer.typeMap[\"picture-fill\"],\"polygon-3d\":u.symbolTypesRenderer.typeMap[\"polygon-3d\"]}},json:{origins:{\"web-scene\":{type:l.PolygonSymbol3D,read:S.read,write:S.writeTarget}},read:S.read,write:S.writeTarget}})],t.prototype,\"backgroundFillSymbol\",void 0),o([m.property({type:[k.ClassBreakInfo]})],t.prototype,\"classBreakInfos\",void 0),o([m.reader(\"classBreakInfos\")],t.prototype,\"readClassBreakInfos\",null),o([m.writer(\"classBreakInfos\")],t.prototype,\"writeClassBreakInfos\",null),o([m.property({type:String,json:{write:!0}})],t.prototype,\"defaultLabel\",void 0),o([m.property({types:u.symbolTypesRenderer})],t.prototype,\"defaultSymbol\",void 0),o([m.reader(\"defaultSymbol\")],t.prototype,\"readDefaultSymbol\",null),o([m.writer(\"web-scene\",\"defaultSymbol\",{defaultSymbol:{types:u.symbolTypesRenderer3D}})],t.prototype,\"writeDefaultSymbolWebScene\",null),o([m.writer(\"defaultSymbol\")],t.prototype,\"writeDefaultSymbol\",null),o([m.property({type:String,json:{write:!0}})],t.prototype,\"field\",void 0),o([m.cast(\"field\")],t.prototype,\"castField\",null),o([m.property({type:Boolean})],t.prototype,\"isMaxInclusive\",void 0),o([m.property({type:I.default,json:{write:!0}})],t.prototype,\"legendOptions\",void 0),o([m.property({type:Number,readOnly:!0,value:null,dependsOn:[\"classBreakInfos\"],json:{read:!1,write:{overridePolicy:function(){return 0!==this.classBreakInfos.length&&this._areClassBreaksConsecutive()?{enabled:!0}:{enabled:!1}}}}})],t.prototype,\"minValue\",null),o([m.property({type:String,json:{write:!0}})],t.prototype,\"normalizationField\",void 0),o([m.property({type:Number,cast:function(e){return h.ensureNumber(e)},json:{write:!0}})],t.prototype,\"normalizationTotal\",void 0),o([m.property({type:w.apiValues,value:null,dependsOn:[\"normalizationField\",\"normalizationTotal\"],json:{type:w.jsonValues,read:w.read,write:w.write}})],t.prototype,\"normalizationType\",null),o([m.enumeration.serializable()({classBreaks:\"class-breaks\"})],t.prototype,\"type\",void 0),o([m.property({type:String,json:{write:!0}})],t.prototype,\"valueExpression\",void 0),o([m.property({type:String,json:{write:!0}})],t.prototype,\"valueExpressionTitle\",void 0),t=n=o([m.subclass(\"esri.renderers.ClassBreaksRenderer\")],t)}(m.declared(g.VisualVariablesMixin(v)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../Color\",\"../request\",\"../core/Error\",\"../core/iteratorUtils\",\"../core/lang\",\"../core/Logger\",\"../core/LRUCache\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../layers/support/fieldUtils\",\"./Renderer\",\"./mixins/VisualVariablesMixin\",\"../support/arcadeOnDemand\",\"../symbols/CIMSymbol\"],function(e,t,r,i,o,s,n,a,l,u,c,p,h,f,y,d,m,b,g,v,S,_){var w=h.getLogger(\"esri.renderers.DictionaryRenderer\");return function(e){function t(t){var r=e.call(this,t)||this;return r._ongoingRequests=new Map,r._symbolCache=new f(100),r.config=null,r.description=null,r.fieldMap=null,r.label=null,r.scaleExpression=null,r.url=null,r.type=\"dictionary\",r}r(t,e),h=t,t.prototype.clone=function(){return new h({config:p.clone(this.config),scaleExpression:p.clone(this.scaleExpression),description:p.clone(this.description),fieldMap:p.clone(this.fieldMap),label:p.clone(this.label),url:p.clone(this.url),visualVariables:p.clone(this.visualVariables)})},t.prototype.collectRequiredFields=function(e,t){return n(this,void 0,void 0,function(){var r,i;return s(this,function(o){switch(o.label){case 0:return[4,this.collectVVRequiredFields(e,t)];case 1:return o.sent(),this.scaleExpression?[4,b.collectArcadeFieldNames(e,t,this.scaleExpression)]:[3,3];case 2:o.sent(),o.label=3;case 3:r=t.map(function(e){return e.name});for(i in this.fieldMap)r.indexOf(this.fieldMap[i])<0||e.add(this.fieldMap[i]);return[2]}})})},Object.defineProperty(t.prototype,\"arcadeRequired\",{get:function(){return!0},enumerable:!0,configurable:!0}),t.prototype.fetchResources=function(e){return n(this,void 0,void 0,function(){var t,r,i,n,a,p,h,f,m,b,f,g,v,_,R,M,f,x,j;return s(this,function(s){switch(s.label){case 0:return this.url?(t=y.isSome(e)?e.abortOptions:null,r=l(this.url+\"/resources/styles/dictionary-info.json\",o({responseType:\"json\",query:{f:\"json\"}},t)),[4,d.all([r,S.loadArcade()])]):(w.error(\"no valid URL!\"),[2,void 0]);case 1:if(!(i=s.sent()[0].data))throw new u(\"esri.renderers.DictionaryRenderer\",\"Bad dictionary data!\");if(n=i.expression,a=i.authoringInfo,this._refSymbolUrlTemplate=this.url+\"/\"+i.cimRefTemplateUrl,this._itemNames=c.createSetFromValues(i.itemsNames),this._symbolAttributes=a.symbol,p={},this.config){h=this.config;for(f in h)p[f]=h[f]}for(m=0,b=a.configuration;m<b.length;m++)f=b[m],p.hasOwnProperty(f.name)||(p[f.name]=f.value);if(g=[],y.isSome(e)&&e.fields)for(v=function(t){var r=_.fieldMap[t],i=e.fields.filter(function(e){return e.name===r});i.length>0&&g.push(o({},i[0],{name:t}))},_=this,R=0,M=this._symbolAttributes;R<M.length;R++)f=M[R],v(f);return[4,S.createDictionaryExpression(n,y.isSome(e)?e.spatialReference:null,g,p)];case 2:return x=s.sent(),j={scale:0},[2,function(e,t){var r=x.repurposeFeature({geometry:null,attributes:e});return j.scale=y.isSome(t)?t.scale:void 0,x.evaluate({$feature:r,$view:j})}]}})})},t.prototype.getSymbol=function(){return null},t.prototype.getSymbolAsync=function(e,t){return n(this,void 0,void 0,function(){var r,i,o,n,l,u,c,p,h,f,y,d,m,b,g,v,S,_,w,R,M,x,j,N,O;return s(this,function(s){switch(s.label){case 0:return this._dictionaryPromise||(this._dictionaryPromise=this.fetchResources(t)),[4,this._dictionaryPromise];case 1:for(r=s.sent(),i={},o=0,n=this._symbolAttributes;o<n.length;o++)l=n[o],u=this.fieldMap[l],u&&null!==e.attributes[u]&&void 0!==e.attributes[u]?(c=\"\"+e.attributes[u],i[l]=c):i[l]=\"\";if(!(p=r(i,t))||\"string\"!=typeof p)return[2,null];for(h=p.split(\";\"),f=[],y=[],d=0,m=h;d<m.length;d++)if((b=m[d])&&0!==b.length)if(-1===b.indexOf(\"po:\"))if(-1!==b.indexOf(\"|\"))for(R=0,M=b.split(\"|\");R<M.length;R++)x=M[R],this._itemNames.has(x)&&f.push(x);else this._itemNames.has(b)&&f.push(b);else g=b.substr(3).split(\"|\"),3===g.length&&(v=g[0],S=g[1],_=g[2],\"DashTemplate\"===S?_=_.split(\" \").map(function(e){return Number(e)}):\"Color\"===S?(w=new a(_).toRgba(),_=[w[0],w[1],w[2],255*w[3]]):_=Number(_),y.push({primitiveName:v,propertyName:S,value:_}));return j=f.join(\";\")+y.map(function(e){return e.primitiveName+\";\"+e.propertyName+\";\"+e.value}),(N=this._symbolCache.get(j))?[2,N]:(O=this._cimPartsToCIMSymbol(f,y,t),this._symbolCache.put(j,O,1),[2,O])}})})},t.prototype.getSymbols=function(){return[]},t.prototype.getAttributeHash=function(){return this.visualVariables&&this.visualVariables.reduce(function(e,t){return e+t.getAttributeHash()},\"\")},t.prototype.getMeshHash=function(){return this.url+\"-\"+JSON.stringify(this.fieldMap)},t.prototype._getSymbolPart=function(e,t){return n(this,void 0,void 0,function(){var r,i,n;return s(this,function(s){switch(s.label){case 0:return this._ongoingRequests.has(e)?[2,this._ongoingRequests.get(e).then(function(e){return e.data})]:(r=this._refSymbolUrlTemplate.replace(/\\{itemName\\}/gi,e),i=l(r,o({responseType:\"json\",query:{f:\"json\"}},t)),this._ongoingRequests.set(e,i),[4,i]);case 1:return n=s.sent(),[2,n.data]}})})},t.prototype._combineSymbolParts=function(e,t){var r;if(!e||0===e.length)return null;if(1===e.length)return{type:\"CIMSymbolReference\",symbol:e[0],primitiveOverrides:t};var i=o({},e[0]);i.symbolLayers=[];for(var s=0,n=e;s<n.length;s++){var a=n[s],l=a;(r=i.symbolLayers).unshift.apply(r,l.symbolLayers)}return{type:\"CIMSymbolReference\",symbol:i,primitiveOverrides:t}},t.prototype._cimPartsToCIMSymbol=function(e,t,r){return n(this,void 0,void 0,function(){var i,o,n;return s(this,function(s){switch(s.label){case 0:for(i=new Array(e.length),o=0;o<e.length;o++)i[o]=this._getSymbolPart(e[o],r);return[4,d.eachAlwaysValues(i)];case 1:return n=s.sent(),[2,new _({data:this._combineSymbolParts(n,t)})]}})})};var h;return i([m.property({type:Object,json:{write:!0}})],t.prototype,\"config\",void 0),i([m.property({type:String,json:{write:!0}})],t.prototype,\"description\",void 0),i([m.property({type:Object,json:{write:!0}})],t.prototype,\"fieldMap\",void 0),i([m.property({type:String,json:{write:!0}})],t.prototype,\"label\",void 0),i([m.property({type:String,json:{write:!0}})],t.prototype,\"scaleExpression\",void 0),i([m.property({type:String,json:{write:!0}})],t.prototype,\"url\",void 0),t=h=i([m.subclass(\"esri.renderers.DictionaryRenderer\")],t)}(m.declared(v.VisualVariablesMixin(g)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../Color\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"../layers/support/fieldUtils\",\"./Renderer\",\"./mixins/VisualVariablesMixin\",\"./support/AttributeColorInfo\",\"./support/DotDensityLegendOptions\",\"../symbols/SimpleFillSymbol\",\"../symbols/SimpleLineSymbol\"],function(e,t,o,r,n,i,l,s,p,u,a,d,c,y,h,b,f){return function(e){function t(t){var o=e.call(this,t)||this;return o.attributes=null,o.backgroundColor=new s([0,0,0,0]),o.blendDots=!0,o.dotBlendingEnabled=!0,o.dotShape=\"square\",o.dotSize=1,o.legendOptions=null,o.outline=new f,o.dotValue=null,o.referenceDotValue=null,o.referenceScale=null,o.seed=1,o.type=\"dot-density\",o}o(t,e),n=t,t.prototype.calculateDotValue=function(e){if(null==this.referenceScale)return this.dotValue;var t=e/this.referenceScale*this.dotValue;return t<1?1:t},t.prototype.getSymbol=function(){return new b({outline:this.outline})},t.prototype.getSymbolAsync=function(){return l(this,void 0,void 0,function(){return i(this,function(e){return[2,this.getSymbol()]})})},t.prototype.getSymbols=function(){return[this.getSymbol()]},t.prototype.getAttributeHash=function(){return this.attributes&&this.attributes.reduce(function(e,t){return e+t.getAttributeHash()},\"\")},t.prototype.getMeshHash=function(){return JSON.stringify(this.outline)},t.prototype.clone=function(){return new n({attributes:p.clone(this.attributes),backgroundColor:p.clone(this.backgroundColor),dotBlendingEnabled:p.clone(this.dotBlendingEnabled),dotShape:p.clone(this.dotShape),dotSize:p.clone(this.dotSize),dotValue:p.clone(this.dotValue),legendOptions:p.clone(this.legendOptions),outline:p.clone(this.outline),referenceScale:p.clone(this.referenceScale),visualVariables:p.clone(this.visualVariables),authoringInfo:this.authoringInfo&&this.authoringInfo.clone()})},t.prototype.getControllerHash=function(){return this.attributes.map(function(e){return e.field||e.valueExpression||\"\"})+\"-\"+(this.outline&&JSON.stringify(this.outline.toJSON())||\"\")},t.prototype.collectRequiredFields=function(e,t){return l(this,void 0,void 0,function(){var o,r,n;return i(this,function(i){switch(i.label){case 0:return[4,this.collectVVRequiredFields(e,t)];case 1:i.sent(),o=0,r=this.attributes,i.label=2;case 2:return o<r.length?(n=r[o],n.valueExpression?[4,a.collectArcadeFieldNames(e,t,n.valueExpression)]:[3,4]):[3,6];case 3:i.sent(),i.label=4;case 4:n.field&&e.add(n.field),i.label=5;case 5:return o++,[3,2];case 6:return[2]}})})};var n;return r([u.property({type:[y],json:{write:!0}})],t.prototype,\"attributes\",void 0),r([u.property({type:s,json:{write:!0}})],t.prototype,\"backgroundColor\",void 0),r([u.property({type:Boolean}),u.aliasOf(\"dotBlendingEnabled\")],t.prototype,\"blendDots\",void 0),r([u.property({type:Boolean,json:{write:!0}})],t.prototype,\"dotBlendingEnabled\",void 0),r([u.property({type:String,json:{write:!0}})],t.prototype,\"dotShape\",void 0),r([u.property({type:Number,json:{write:!0}})],t.prototype,\"dotSize\",void 0),r([u.property({type:h,json:{write:!0}})],t.prototype,\"legendOptions\",void 0),r([u.property({type:f,json:{default:null,write:!0}})],t.prototype,\"outline\",void 0),r([u.property({type:Number,json:{write:!0}})],t.prototype,\"dotValue\",void 0),r([u.property({type:Number}),u.aliasOf(\"dotValue\")],t.prototype,\"referenceDotValue\",void 0),r([u.property({type:Number,json:{write:!0}})],t.prototype,\"referenceScale\",void 0),r([u.property({type:Number,json:{write:!0}})],t.prototype,\"seed\",void 0),r([u.enumeration.serializable()({dotDensity:\"dot-density\"})],t.prototype,\"type\",void 0),t=n=r([u.subclass(\"esri.renderers.DotDensityRenderer\")],t)}(u.declared(c.VisualVariablesMixin(d)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../Color\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"../layers/support/fieldUtils\",\"./Renderer\",\"./support/HeatmapColorStop\"],function(e,t,r,o,i,n,p,l,s,a,u,c){return function(e){function t(t){var r=e.call(this,t)||this;return r.blurRadius=10,r.colorStops=[new c.HeatmapColorStop({ratio:0,color:new p(\"rgba(255, 140, 0, 0)\")}),new c.HeatmapColorStop({ratio:.75,color:new p(\"rgba(255, 140, 0, 1)\")}),new c.HeatmapColorStop({ratio:.9,color:new p(\"rgba(255, 0, 0, 1)\")})],r.field=null,r.fieldOffset=0,r.maxPixelIntensity=100,r.minPixelIntensity=0,r.type=\"heatmap\",r}r(t,e),u=t,t.prototype.collectRequiredFields=function(e,t){return n(this,void 0,void 0,function(){var r;return i(this,function(o){return r=this.field,r&&\"string\"==typeof r&&a.collectField(e,t,r),[2]})})},t.prototype.getAttributeHash=function(){return null},t.prototype.getMeshHash=function(){return JSON.stringify(this.colorStops)+\".\"+this.blurRadius},t.prototype.clone=function(){return new u({blurRadius:this.blurRadius,colorStops:l.clone(this.colorStops),field:this.field,maxPixelIntensity:this.maxPixelIntensity,minPixelIntensity:this.minPixelIntensity})};var u;return o([s.property({type:Number,json:{write:!0}})],t.prototype,\"blurRadius\",void 0),o([s.property({type:[c.HeatmapColorStop],json:{write:!0}})],t.prototype,\"colorStops\",void 0),o([s.property({type:String,json:{write:!0}})],t.prototype,\"field\",void 0),o([s.property({type:Number,json:{write:{overridePolicy:function(e,t,r){return{enabled:null==r}}}}})],t.prototype,\"fieldOffset\",void 0),o([s.property({type:Number,json:{write:!0}})],t.prototype,\"maxPixelIntensity\",void 0),o([s.property({type:Number,json:{write:!0}})],t.prototype,\"minPixelIntensity\",void 0),o([s.enumeration.serializable()({heatmap:\"heatmap\"})],t.prototype,\"type\",void 0),t=u=o([s.subclass(\"esri.renderers.HeatmapRenderer\")],t)}(s.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/iteratorUtils\",\"../core/jsonMap\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\",\"./support/AuthoringInfo\"],function(e,t,r,o,n,i,s,u,p,a,c){var l=new u.default({simple:\"simple\",uniqueValue:\"unique-value\",classBreaks:\"class-breaks\",heatmap:\"heatmap\",dotDensity:\"dot-density\",dictionary:\"dictionary\"},{ignoreUnknown:!0});return function(e){function t(t){var r=e.call(this,t)||this;return r.authoringInfo=null,r.type=null,r}return r(t,e),t.prototype.getRequiredFields=function(e){return i(this,void 0,void 0,function(){var t;return n(this,function(r){switch(r.label){case 0:return this.collectRequiredFields?(t=new Set,[4,this.collectRequiredFields(t,e)]):[2,[]];case 1:return r.sent(),[2,s.valuesOfSet(t).sort()]}})})},t.prototype.getSymbol=function(e,t){},t.prototype.getSymbolAsync=function(e,t){return i(this,void 0,void 0,function(){return n(this,function(e){return[2]})})},t.prototype.getSymbols=function(){return[]},t.prototype.getAttributeHash=function(){return JSON.stringify(this)},t.prototype.getMeshHash=function(){return JSON.stringify(this)},o([a.property({type:c,json:{write:!0}})],t.prototype,\"authoringInfo\",void 0),o([a.property({type:l.apiValues,readOnly:!0,json:{type:l.jsonValues,read:!1,write:{writer:l.write,ignoreOrigin:!0}}})],t.prototype,\"type\",void 0),t=o([a.subclass(\"esri.renderers.Renderer\")],t)}(a.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../symbols\",\"../core/lang\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"./Renderer\",\"./mixins/VisualVariablesMixin\",\"../symbols/support/jsonUtils\"],function(e,t,r,o,i,n,s,l,u,p,c,a,y){return function(e){function t(t){var r=e.call(this,t)||this;return r.description=null,r.label=null,r.symbol=null,r.type=\"simple\",r}r(t,e),c=t,t.prototype.writeSymbolWebScene=function(e,t,r,o){y.writeTarget(e,t,r,o)},t.prototype.writeSymbol=function(e,t,r,o){y.writeTarget(e,t,r,o)},t.prototype.readSymbol=function(e,t,r){return y.read(e,t,r)},t.prototype.collectRequiredFields=function(e,t){return n(this,void 0,void 0,function(){return i(this,function(r){switch(r.label){case 0:return[4,u.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])];case 1:return r.sent(),[2]}})})},t.prototype.collectSymbolFields=function(e,t){return n(this,void 0,void 0,function(){return i(this,function(r){switch(r.label){case 0:return[4,u.all(this.getSymbols().map(function(r){return r.collectRequiredFields(e,t)}))];case 1:return r.sent(),[2]}})})},t.prototype.getSymbol=function(e,t){return this.symbol},t.prototype.getSymbolAsync=function(e,t){return n(this,void 0,void 0,function(){return i(this,function(e){return[2,this.symbol]})})},t.prototype.getSymbols=function(){return this.symbol?[this.symbol]:[]},t.prototype.getAttributeHash=function(){return this.visualVariables&&this.visualVariables.reduce(function(e,t){return e+t.getAttributeHash()},\"\")},t.prototype.getMeshHash=function(){return this.getSymbols().reduce(function(e,t){return e+=JSON.stringify(t)},\"\")},Object.defineProperty(t.prototype,\"arcadeRequired\",{get:function(){return this.arcadeRequiredForVisualVariables},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new c({description:this.description,label:this.label,symbol:this.symbol&&this.symbol.clone(),visualVariables:l.clone(this.visualVariables),authoringInfo:this.authoringInfo&&this.authoringInfo.clone()})};var c;return o([p.property({type:String,json:{write:!0}})],t.prototype,\"description\",void 0),o([p.property({type:String,json:{write:!0}})],t.prototype,\"label\",void 0),o([p.property({types:s.symbolTypesRenderer})],t.prototype,\"symbol\",void 0),o([p.writer(\"web-scene\",\"symbol\",{symbol:{types:s.symbolTypesRenderer3D}})],t.prototype,\"writeSymbolWebScene\",null),o([p.writer(\"symbol\")],t.prototype,\"writeSymbol\",null),o([p.reader(\"symbol\")],t.prototype,\"readSymbol\",null),o([p.enumeration.serializable()({simple:\"simple\"})],t.prototype,\"type\",void 0),t=c=o([p.subclass(\"esri.renderers.SimpleRenderer\")],t)}(p.declared(a.VisualVariablesMixin(c)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/assignHelper\",\"../symbols\",\"../symbols\",\"../core/arrayUtils\",\"../core/Error\",\"../core/lang\",\"../core/Logger\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/diffUtils\",\"../core/accessorSupport/ensureType\",\"../layers/support/fieldUtils\",\"../portal/Portal\",\"./Renderer\",\"./mixins/VisualVariablesMixin\",\"./support/LegendOptions\",\"./support/UniqueValueInfo\",\"../support/arcadeOnDemand\",\"../symbols/support/jsonUtils\",\"../symbols/support/styleUtils\"],function(e,t,r,l,o,i,n,a,u,s,p,f,y,d,c,h,m,b,v,g,S,V,w,q,I,O,U,_,F){var D=d.getLogger(\"esri.renderers.UniqueValueRenderer\"),x=g.ensureType(O.default);return function(e){function t(t){var r=e.call(this,t)||this;return r._valueInfoMap={},r._isDefaultSymbolDerived=!1,r.type=\"unique-value\",r.backgroundFillSymbol=null,r.field=null,r.field2=null,r.field3=null,r.valueExpression=null,r.valueExpressionTitle=null,r.legendOptions=null,r.defaultLabel=null,r.fieldDelimiter=null,r.portal=null,r.styleOrigin=null,r.diff={uniqueValueInfos:function(e,t){if(e||t){if(!e||!t)return{type:\"complete\",oldValue:e,newValue:t};for(var r=!1,l={type:\"collection\",added:[],removed:[],changed:[],unchanged:[]},o=0;o<t.length;o++)!function(o){var i=p.find(e,function(e){return e.value===t[o].value});i?v.diff(i,t[o])?(l.changed.push({type:\"complete\",oldValue:i,newValue:t[o]}),r=!0):l.unchanged.push({oldValue:i,newValue:t[o]}):(l.added.push(t[o]),r=!0)}(o);for(var o=0;o<e.length;o++)!function(o){p.find(t,function(t){return t.value===e[o].value})||(l.removed.push(e[o]),r=!0)}(o);return r?l:void 0}}},r._set(\"uniqueValueInfos\",[]),r}r(t,e),o=t,Object.defineProperty(t.prototype,\"_cache\",{get:function(){return{compiledFunc:null}},enumerable:!0,configurable:!0}),t.prototype.writeBackgroundFillSymbolWebScene=function(e,t,r,l){_.writeTarget(e,t,r,l)},t.prototype.castField=function(e){return null==e?e:\"function\"==typeof e?e:g.ensureString(e)},t.prototype.writeField=function(e,t,r,l){\"string\"==typeof e?t[r]=e:l&&l.messages?l.messages.push(new f(\"property:unsupported\",\"UniqueValueRenderer.field set to a function cannot be written to JSON\")):D.error(\".field: cannot write field to JSON since it's not a string value\")},Object.defineProperty(t.prototype,\"defaultSymbol\",{set:function(e){this._isDefaultSymbolDerived=!1,this._set(\"defaultSymbol\",e)},enumerable:!0,configurable:!0}),t.prototype.readDefaultSymbol=function(e,t,r){return _.read(e,t,r)},t.prototype.writeDefaultSymbolWebScene=function(e,t,r,l){this._isDefaultSymbolDerived||_.writeTarget(e,t,r,l)},t.prototype.writeDefaultSymbol=function(e,t,r,l){this._isDefaultSymbolDerived||_.writeTarget(e,t,r,l)},t.prototype.readPortal=function(e,t,r){return r.portal||V.getDefault()},t.prototype.readStyleOrigin=function(e,t,r){if(t.styleName)return Object.freeze({styleName:t.styleName});if(t.styleUrl){var l=m.fromJSON(t.styleUrl,r);return Object.freeze({styleUrl:l})}},t.prototype.writeStyleOrigin=function(e,t,r,l){e.styleName?t.styleName=e.styleName:e.styleUrl&&(t.styleUrl=m.toJSON(e.styleUrl,l))},Object.defineProperty(t.prototype,\"uniqueValueInfos\",{set:function(e){if(this.styleOrigin)return void D.error(\"#uniqueValueInfos=\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\");this._set(\"uniqueValueInfos\",e),this._updateValueInfoMap()},enumerable:!0,configurable:!0}),t.prototype.addUniqueValueInfo=function(e,t){if(this.styleOrigin)return void D.error(\"#addUniqueValueInfo()\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\");var r;r=\"object\"==typeof e?x(e):new O.default({value:e,symbol:s.ensureType(t)}),this.uniqueValueInfos.push(r),this._valueInfoMap[r.value]=r},t.prototype.removeUniqueValueInfo=function(e){if(this.styleOrigin)return void D.error(\"#removeUniqueValueInfo()\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\");for(var t=0;t<this.uniqueValueInfos.length;t++){if(this.uniqueValueInfos[t].value===e+\"\"){delete this._valueInfoMap[e],this.uniqueValueInfos.splice(t,1);break}}},t.prototype.getUniqueValueInfo=function(e,t){return n(this,void 0,void 0,function(){var r,l,o;return i(this,function(i){switch(i.label){case 0:return r=t,this.valueExpression&&(c.isNone(t)||c.isNone(t.arcade))?(l=[{},r],o={},[4,U.loadArcade()]):[3,2];case 1:r=a.apply(void 0,l.concat([(o.arcade=i.sent(),o)])),i.label=2;case 2:return[2,this._getUniqueValueInfo(e,r)]}})})},t.prototype.getSymbol=function(e,t){if(this.valueExpression&&(c.isNone(t)||c.isNone(t.arcade)))return void D.error(\"#getSymbol()\",\"Please use getSymbolAsync if valueExpression is used\");var r=this._getUniqueValueInfo(e,t);return r&&r.symbol||this.defaultSymbol},t.prototype.getSymbolAsync=function(e,t){return n(this,void 0,void 0,function(){var r,l,o,n;return i(this,function(i){switch(i.label){case 0:return r=t,this.valueExpression&&(c.isNone(r)||c.isNone(r.arcade))?(l=[{},r],o={},[4,U.loadArcade()]):[3,2];case 1:r=a.apply(void 0,l.concat([(o.arcade=i.sent(),o)])),i.label=2;case 2:return n=this._getUniqueValueInfo(e,r),[2,n&&n.symbol||this.defaultSymbol]}})})},t.prototype.getSymbols=function(){for(var e=[],t=0,r=this.uniqueValueInfos;t<r.length;t++){var l=r[t];l.symbol&&e.push(l.symbol)}return this.defaultSymbol&&e.push(this.defaultSymbol),e},t.prototype.getAttributeHash=function(){return this.visualVariables&&this.visualVariables.reduce(function(e,t){return e+t.getAttributeHash()},\"\")},t.prototype.getMeshHash=function(){return JSON.stringify(this.backgroundFillSymbol)+\".\"+JSON.stringify(this.defaultSymbol)+\".\"+this.uniqueValueInfos.reduce(function(e,t){return e+t.getMeshHash()},\"\")+\".\"+this.field+\".\"+this.field2+\".\"+this.field3+\".\"+this.fieldDelimiter+\".\"+this.valueExpression},t.prototype.clone=function(){var e=new o({field:this.field,field2:this.field2,field3:this.field3,defaultLabel:this.defaultLabel,defaultSymbol:y.clone(this.defaultSymbol),valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,fieldDelimiter:this.fieldDelimiter,visualVariables:y.clone(this.visualVariables),legendOptions:y.clone(this.legendOptions),authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),backgroundFillSymbol:y.clone(this.backgroundFillSymbol)});this._isDefaultSymbolDerived&&(e._isDefaultSymbolDerived=!0),e._set(\"portal\",this.portal);var t=y.clone(this.uniqueValueInfos);return this.styleOrigin&&(e._set(\"styleOrigin\",Object.freeze(y.clone(this.styleOrigin))),Object.freeze(t)),e._set(\"uniqueValueInfos\",t),e._updateValueInfoMap(),e},Object.defineProperty(t.prototype,\"arcadeRequired\",{get:function(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression},enumerable:!0,configurable:!0}),t.prototype.collectRequiredFields=function(e,t){return n(this,void 0,void 0,function(){var r;return i(this,function(l){switch(l.label){case 0:return r=[this.collectVVRequiredFields(e,t),this.collectSymbolFields(e,t)],[4,h.all(r)];case 1:return l.sent(),[2]}})})},t.prototype.collectSymbolFields=function(e,t){return n(this,void 0,void 0,function(){var r;return i(this,function(l){switch(l.label){case 0:return r=this.getSymbols().map(function(r){return r.collectRequiredFields(e,t)}).concat([S.collectArcadeFieldNames(e,t,this.valueExpression)]),S.collectField(e,t,this.field),S.collectField(e,t,this.field2),S.collectField(e,t,this.field3),[4,h.all(r)];case 1:return l.sent(),[2]}})})},t.prototype.populateFromStyle=function(){var e=this;return F.fetchStyle(this.styleOrigin,{portal:this.portal}).then(function(t){var r=[];return e._valueInfoMap={},t&&t.data&&Array.isArray(t.data.items)&&t.data.items.forEach(function(l){var o=new u.WebStyleSymbol({styleUrl:t.styleUrl,styleName:t.styleName,portal:e.portal,name:l.name});e.defaultSymbol||l.name!==t.data.defaultItem||(e.defaultSymbol=o,e._isDefaultSymbolDerived=!0);var i=new O.default({value:l.name,symbol:o});r.push(i),e._valueInfoMap[l.name]=i}),e._set(\"uniqueValueInfos\",Object.freeze(r)),!e.defaultSymbol&&e.uniqueValueInfos.length&&(e.defaultSymbol=e.uniqueValueInfos[0].symbol,e._isDefaultSymbolDerived=!0),e})},t.prototype._updateValueInfoMap=function(){var e=this;this._valueInfoMap={},this.uniqueValueInfos.forEach(function(t){return e._valueInfoMap[t.value+\"\"]=t})},t.prototype._getUniqueValueInfo=function(e,t){return this.valueExpression?this._getUnqiueValueInfoForExpression(e,t):this._getUnqiueValueInfoForFields(e)},t.prototype._getUnqiueValueInfoForExpression=function(e,t){var r=c.unwrapOr(t,{}),l=r.viewingMode,o=r.scale,i=r.spatialReference,n=r.arcade,a=this._cache.compiledFunc,u=c.expect(n).arcadeUtils;if(!a){var s=u.createSyntaxTree(this.valueExpression);a=u.createFunction(s),this._cache.compiledFunc=a}var p=u.executeFunction(a,u.createExecContext(e,u.getViewInfo({viewingMode:l,scale:o,spatialReference:i})));return this._valueInfoMap[p+\"\"]},t.prototype._getUnqiueValueInfoForFields=function(e){var t,r=this.field,l=e.attributes;if(\"function\"!=typeof r&&this.field2){var o=this.field2,i=this.field3,n=[];r&&n.push(l[r]),o&&n.push(l[o]),i&&n.push(l[i]),t=n.join(this.fieldDelimiter||\"\")}else\"function\"==typeof r?t=r(e):r&&(t=l[r]);return this._valueInfoMap[t+\"\"]},t.fromPortalStyle=function(e,t){var r=new o(t&&t.properties);r._set(\"styleOrigin\",Object.freeze({styleName:e})),r._set(\"portal\",t&&t.portal||V.getDefault());var l=r.populateFromStyle();return l.catch(function(t){D.error(\"#fromPortalStyle('\"+e+\"'[, ...])\",\"Failed to create unique value renderer from style name\",t)}),l},t.fromStyleUrl=function(e,t){var r=new o(t&&t.properties);r._set(\"styleOrigin\",Object.freeze({styleUrl:e}));var l=r.populateFromStyle();return l.catch(function(t){D.error(\"#fromStyleUrl('\"+e+\"'[, ...])\",\"Failed to create unique value renderer from style URL\",t)}),l};var o;return l([b.property({readOnly:!0,dependsOn:[\"valueExpression\"]})],t.prototype,\"_cache\",null),l([b.enumeration.serializable()({uniqueValue:\"unique-value\"})],t.prototype,\"type\",void 0),l([b.property({types:{base:u.BaseSymbol,key:\"type\",typeMap:{\"simple-fill\":s.symbolTypesRenderer.typeMap[\"simple-fill\"],\"picture-fill\":s.symbolTypesRenderer.typeMap[\"picture-fill\"],\"polygon-3d\":s.symbolTypesRenderer.typeMap[\"polygon-3d\"]}},json:{read:_.read,write:_.writeTarget}})],t.prototype,\"backgroundFillSymbol\",void 0),l([b.writer(\"web-scene\",\"backgroundFillSymbol\",{backgroundFillSymbol:{type:u.PolygonSymbol3D}})],t.prototype,\"writeBackgroundFillSymbolWebScene\",null),l([b.property({json:{type:String,read:{source:\"field1\"},write:{target:\"field1\"}}})],t.prototype,\"field\",void 0),l([b.cast(\"field\")],t.prototype,\"castField\",null),l([b.writer(\"field\")],t.prototype,\"writeField\",null),l([b.property({type:String,json:{write:!0}})],t.prototype,\"field2\",void 0),l([b.property({type:String,json:{write:!0}})],t.prototype,\"field3\",void 0),l([b.property({type:String,json:{write:!0}})],t.prototype,\"valueExpression\",void 0),l([b.property({type:String,json:{write:!0}})],t.prototype,\"valueExpressionTitle\",void 0),l([b.property({type:I.default,json:{write:!0}})],t.prototype,\"legendOptions\",void 0),l([b.property({type:String,json:{write:!0}})],t.prototype,\"defaultLabel\",void 0),l([b.property({types:s.symbolTypesRenderer})],t.prototype,\"defaultSymbol\",null),l([b.reader(\"defaultSymbol\")],t.prototype,\"readDefaultSymbol\",null),l([b.writer(\"web-scene\",\"defaultSymbol\",{defaultSymbol:{types:s.symbolTypesRenderer3D}})],t.prototype,\"writeDefaultSymbolWebScene\",null),l([b.writer(\"defaultSymbol\")],t.prototype,\"writeDefaultSymbol\",null),l([b.property({type:String,json:{write:!0}})],t.prototype,\"fieldDelimiter\",void 0),l([b.property({type:V,readOnly:!0})],t.prototype,\"portal\",void 0),l([b.reader(\"portal\",[\"styleName\"])],t.prototype,\"readPortal\",null),l([b.property({readOnly:!0,json:{write:{enabled:!1,overridePolicy:function(){return{enabled:!0}}}}})],t.prototype,\"styleOrigin\",void 0),l([b.reader(\"styleOrigin\",[\"styleName\",\"styleUrl\"])],t.prototype,\"readStyleOrigin\",null),l([b.writer(\"styleOrigin\",{styleName:{type:String},styleUrl:{type:String}})],t.prototype,\"writeStyleOrigin\",null),l([b.property({type:[O.default],json:{write:{overridePolicy:function(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],t.prototype,\"uniqueValueInfos\",null),t=o=l([b.subclass(\"esri.renderers.UniqueValueRenderer\")],t)}(b.declared(q.VisualVariablesMixin(w)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/accessorSupport/decorators\",\"../../layers/support/fieldUtils\",\"../visualVariables/ColorVariable\",\"../visualVariables/OpacityVariable\",\"../visualVariables/RotationVariable\",\"../visualVariables/SizeVariable\",\"../visualVariables/VisualVariable\",\"../visualVariables/VisualVariableFactory\"],function(e,a,r,i,t,l,s,o,u,n,p,c,V,b){Object.defineProperty(a,\"__esModule\",{value:!0});var v={base:V,key:\"type\",typeMap:{opacity:n,color:u,rotation:p,size:c}};a.VisualVariablesMixin=function(e){return function(e){function a(){var a=null!==e&&e.apply(this,arguments)||this;return a._vvFactory=new b,a}return r(a,e),Object.defineProperty(a.prototype,\"visualVariables\",{set:function(e){this._vvFactory.visualVariables=e,this._set(\"visualVariables\",this._vvFactory.visualVariables)},enumerable:!0,configurable:!0}),a.prototype.readVisualVariables=function(e,a,r){return this._vvFactory.readVariables(e,a,r)},a.prototype.writeVisualVariables=function(e,a,r,i){a[r]=this._vvFactory.writeVariables(e,i)},Object.defineProperty(a.prototype,\"arcadeRequiredForVisualVariables\",{get:function(){if(!this.visualVariables)return!1;for(var e=0,a=this.visualVariables;e<a.length;e++){if(a[e].arcadeRequired)return!0}return!1},enumerable:!0,configurable:!0}),a.prototype.hasVisualVariables=function(e,a){return e?!!this.getVisualVariablesForType(e,a):!!(this.getVisualVariablesForType(\"size\",a)||this.getVisualVariablesForType(\"color\",a)||this.getVisualVariablesForType(\"opacity\",a)||this.getVisualVariablesForType(\"rotation\",a))},a.prototype.getVisualVariablesForType=function(e,a){var r=this.visualVariables;if(r){var i=r.filter(function(r){return r.type===e&&(\"string\"==typeof a?r.target===a:!1!==a||!r.target)});if(!i||0!==i.length)return i}},a.prototype.collectVVRequiredFields=function(e,a){return l(this,void 0,void 0,function(){var r,i,l,s;return t(this,function(t){switch(t.label){case 0:r=[],this.visualVariables&&(r=r.concat(this.visualVariables)),i=0,l=r,t.label=1;case 1:return i<l.length?(s=l[i])?(s.field&&o.collectField(e,a,s.field),s.normalizationField&&o.collectField(e,a,s.normalizationField),s.valueExpression?[4,o.collectArcadeFieldNames(e,a,s.valueExpression)]:[3,3]):[3,3]:[3,4];case 2:t.sent(),t.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},i([s.property({types:[v],value:null,json:{write:!0}})],a.prototype,\"visualVariables\",null),i([s.reader(\"visualVariables\",[\"visualVariables\",\"rotationType\",\"rotationExpression\"])],a.prototype,\"readVisualVariables\",null),i([s.writer(\"visualVariables\")],a.prototype,\"writeVisualVariables\",null),a=i([s.subclass(\"esri.renderers.mixins.VisualVariablesMixin\")],a)}(s.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/Logger\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\"],function(e,r,t,o,l,p,i,n,s){var u=i.getLogger(\"esri.renderers.support.AttributeColorInfo\");return function(e){function r(r){var t=e.call(this,r)||this;return t.color=null,t.field=null,t.label=null,t.valueExpression=null,t.valueExpressionTitle=null,t}t(r,e),p=r,r.prototype.castField=function(e){return null==e?e:\"function\"==typeof e?(u.error(\".field: field must be a string value\"),null):s.ensureString(e)},r.prototype.getAttributeHash=function(){return this.field+\"-\"+this.valueExpression},r.prototype.clone=function(){return new p({color:this.color&&this.color.clone(),field:this.field,label:this.label,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})};var p;return o([n.property({type:l,json:{type:[Number],write:!0}})],r.prototype,\"color\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"field\",void 0),o([n.cast(\"field\")],r.prototype,\"castField\",null),o([n.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"valueExpression\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"valueExpressionTitle\",void 0),r=p=o([n.subclass(\"esri.renderers.support.AttributeColorInfo\")],r)}(n.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"./AuthoringInfoFieldInfo\",\"./AuthoringInfoVisualVariable\",\"../../tasks/support/colorRamps\"],function(e,t,r,i,s,n,l,o,a,p,u,d){var c=new s.default({esriClassifyDefinedInterval:\"defined-interval\",esriClassifyEqualInterval:\"equal-interval\",esriClassifyManual:\"manual\",esriClassifyNaturalBreaks:\"natural-breaks\",esriClassifyQuantile:\"quantile\",esriClassifyStandardDeviation:\"standard-deviation\"}),y=new s.default({classedSize:\"class-breaks-size\",classedColor:\"class-breaks-color\",univariateColorSize:\"univariate-color-size\",relationship:\"relationship\",predominance:\"predominance\",dotDensity:\"dot-density\"}),f=[\"inches\",\"feet\",\"yards\",\"miles\",\"nautical-miles\",\"millimeters\",\"centimeters\",\"decimeters\",\"meters\",\"kilometers\",\"decimal-degrees\"];return function(e){function t(t){var r=e.call(this,t)||this;return r.colorRamp=null,r.lengthUnit=null,r.maxSliderValue=null,r.minSliderValue=null,r.visualVariables=null,r}r(t,e),s=t,Object.defineProperty(t.prototype,\"classificationMethod\",{get:function(){var e=this._get(\"classificationMethod\"),t=this.type;return t&&\"relationship\"!==t?\"class-breaks-size\"===t||\"class-breaks-color\"===t?e||\"manual\":null:e},set:function(e){this._set(\"classificationMethod\",e)},enumerable:!0,configurable:!0}),t.prototype.readColorRamp=function(e){if(e)return d.fromJSON(e)},Object.defineProperty(t.prototype,\"fields\",{get:function(){return this.type&&\"predominance\"!==this.type?null:this._get(\"fields\")},set:function(e){this._set(\"fields\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"field1\",{get:function(){return this.type&&\"relationship\"!==this.type?null:this._get(\"field1\")},set:function(e){this._set(\"field1\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"field2\",{get:function(){return this.type&&\"relationship\"!==this.type?null:this._get(\"field2\")},set:function(e){this._set(\"field2\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"focus\",{get:function(){return this.type&&\"relationship\"!==this.type?null:this._get(\"focus\")},set:function(e){this._set(\"focus\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"numClasses\",{get:function(){return this.type&&\"relationship\"!==this.type?null:this._get(\"numClasses\")},set:function(e){this._set(\"numClasses\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"standardDeviationInterval\",{get:function(){var e=this.type;return e&&\"relationship\"!==e&&\"class-breaks-size\"!==e&&\"class-breaks-color\"!==e?null:this.classificationMethod&&\"standard-deviation\"!==this.classificationMethod?null:this._get(\"standardDeviationInterval\")},set:function(e){this._set(\"standardDeviationInterval\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"type\",{get:function(){return this._get(\"type\")},set:function(e){var t=e;\"classed-size\"===e?t=\"class-breaks-size\":\"classed-color\"===e&&(t=\"class-breaks-color\"),this._set(\"type\",t)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new s({classificationMethod:this.classificationMethod,colorRamp:l.clone(this.colorRamp),fields:this.fields&&this.fields.slice(0),field1:l.clone(this.field1),field2:l.clone(this.field2),focus:this.focus,numClasses:this.numClasses,maxSliderValue:this.maxSliderValue,minSliderValue:this.minSliderValue,lengthUnit:this.lengthUnit,standardDeviationInterval:this.standardDeviationInterval,type:this.type,visualVariables:this.visualVariables&&this.visualVariables.map(function(e){return e.clone()})})};var s;return i([o.property({type:c.apiValues,value:null,dependsOn:[\"type\"],json:{type:c.jsonValues,read:c.read,write:c.write,origins:{\"web-document\":{default:\"manual\",type:c.jsonValues,read:c.read,write:c.write}}}})],t.prototype,\"classificationMethod\",null),i([o.property({types:d.types,json:{write:!0}})],t.prototype,\"colorRamp\",void 0),i([o.reader(\"colorRamp\")],t.prototype,\"readColorRamp\",null),i([o.property({type:[String],value:null,dependsOn:[\"type\"],json:{write:!0}})],t.prototype,\"fields\",null),i([o.property({type:p.default,value:null,dependsOn:[\"type\"],json:{write:!0}})],t.prototype,\"field1\",null),i([o.property({type:p.default,value:null,dependsOn:[\"type\"],json:{write:!0}})],t.prototype,\"field2\",null),i([o.property({type:[\"HH\",\"HL\",\"LH\",\"LL\"],value:null,dependsOn:[\"type\"],json:{write:!0}})],t.prototype,\"focus\",null),i([o.property({type:Number,value:null,dependsOn:[\"type\"],json:{type:a.Integer,write:!0}})],t.prototype,\"numClasses\",null),i([o.property({type:f,json:{type:f,read:!1,write:!1,origins:{\"web-scene\":{read:!0,write:!0}}}})],t.prototype,\"lengthUnit\",void 0),i([o.property({type:Number,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],t.prototype,\"maxSliderValue\",void 0),i([o.property({type:Number,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],t.prototype,\"minSliderValue\",void 0),i([o.property({type:[.25,.33,.5,1],value:null,dependsOn:[\"classificationMethod\",\"type\"],json:{type:[.25,.33,.5,1],write:!0}})],t.prototype,\"standardDeviationInterval\",null),i([o.property({type:String,value:null,json:{type:y.jsonValues,read:y.read,write:y.write,origins:{\"web-scene\":{type:y.jsonValues.filter(function(e){return\"dotDensity\"!==e}),read:y.read,write:y.write}}}})],t.prototype,\"type\",null),i([o.property({type:[u],json:{write:!0}})],t.prototype,\"visualVariables\",void 0),t=s=i([o.subclass(\"esri.renderers.support.AuthoringInfo\")],t)}(o.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,u,n){Object.defineProperty(r,\"__esModule\",{value:!0});var a=function(e){function r(r){var o=e.call(this,r)||this;return o.minValue=0,o.maxValue=0,o}o(r,e),u=r,r.prototype.clone=function(){return new u({minValue:this.minValue,maxValue:this.maxValue})};var u;return t([n.property({type:Number,json:{write:!0}})],r.prototype,\"minValue\",void 0),t([n.property({type:Number,json:{write:!0}})],r.prototype,\"maxValue\",void 0),r=u=t([n.subclass(\"esri.renderer.support.AuthoringInfoClassBreakInfo\")],r)}(n.declared(u.JSONSupport));r.AuthoringInfoClassBreakInfo=a,r.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./AuthoringInfoClassBreakInfo\"],function(e,r,o,t,n,i,s,l){Object.defineProperty(r,\"__esModule\",{value:!0});var p=function(e){function r(r){var o=e.call(this,r)||this;return o.field=\"\",o.normalizationField=\"\",o.classBreakInfos=[],o}o(r,e),n=r,r.prototype.clone=function(){return new n({field:this.field,normalizationField:this.normalizationField,classBreakInfos:i.clone(this.classBreakInfos)})};var n;return t([s.property({type:String,json:{write:!0}})],r.prototype,\"field\",void 0),t([s.property({type:String,json:{write:!0}})],r.prototype,\"normalizationField\",void 0),t([s.property({type:[l.default],json:{write:!0}})],r.prototype,\"classBreakInfos\",void 0),r=n=t([s.subclass(\"esri.renderers.support.AuthoringInfoFieldInfo\")],r)}(s.declared(n.JSONSupport));r.AuthoringInfoFieldInfo=p,r.default=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/decorators/cast\"],function(e,t,r,o,n,i,p,s){var l=new n.default({percentTotal:\"percent-of-total\",ratio:\"ratio\",percent:\"percent\"}),u=new n.default({sizeInfo:\"size\",colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\"}),a={key:function(e){return\"number\"==typeof e?\"number\":\"string\"},typeMap:{number:Number,string:String},base:null},y=[\"high-to-low\",\"above-and-below\",\"centered-on\",\"extremes\"],c=[\"seconds\",\"minutes\",\"hours\",\"days\",\"months\",\"years\"];return function(e){function t(t){var r=e.call(this,t)||this;return r.endTime=null,r.field=null,r.maxSliderValue=null,r.minSliderValue=null,r.startTime=null,r.type=null,r.units=null,r}r(t,e),n=t,t.prototype.castEndTime=function(e){return\"string\"==typeof e||\"number\"==typeof e?e:null},t.prototype.castStartTime=function(e){return\"string\"==typeof e||\"number\"==typeof e?e:null},Object.defineProperty(t.prototype,\"style\",{get:function(){return\"color\"===this.type?this._get(\"style\"):null},set:function(e){this._set(\"style\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"theme\",{get:function(){return\"color\"===this.type?this._get(\"theme\")||\"high-to-low\":null},set:function(e){this._set(\"theme\",e)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new n({endTime:this.endTime,field:this.field,maxSliderValue:this.maxSliderValue,minSliderValue:this.minSliderValue,startTime:this.startTime,style:this.style,theme:this.theme,type:this.type,units:this.units})};var n;return o([p.property({types:a,json:{write:!0}})],t.prototype,\"endTime\",void 0),o([s.cast(\"endTime\")],t.prototype,\"castEndTime\",null),o([p.property({type:String,json:{write:!0}})],t.prototype,\"field\",void 0),o([p.property({type:Number,json:{write:!0}})],t.prototype,\"maxSliderValue\",void 0),o([p.property({type:Number,json:{write:!0}})],t.prototype,\"minSliderValue\",void 0),o([p.property({types:a,json:{write:!0}})],t.prototype,\"startTime\",void 0),o([s.cast(\"startTime\")],t.prototype,\"castStartTime\",null),o([p.property({type:l.apiValues,value:null,dependsOn:[\"type\"],json:{type:l.jsonValues,read:l.read,write:l.write}})],t.prototype,\"style\",null),o([p.property({type:y,value:null,dependsOn:[\"type\"],json:{type:y,write:!0}})],t.prototype,\"theme\",null),o([p.property({type:u.apiValues,json:{type:u.jsonValues,read:u.read,write:u.write}})],t.prototype,\"type\",void 0),o([p.property({type:c,json:{type:c,write:!0}})],t.prototype,\"units\",void 0),t=n=o([p.subclass(\"esri.renderers.support.AuthoringInfoVisualVariable\")],t)}(p.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../symbols\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../symbols/support/jsonUtils\"],function(e,r,t,o,s,l,a,i){Object.defineProperty(r,\"__esModule\",{value:!0});var p=function(e){function r(r){var t=e.call(this,r)||this;return t.description=null,t.label=null,t.minValue=null,t.maxValue=0,t.symbol=null,t}t(r,e),l=r,r.prototype.clone=function(){return new l({description:this.description,label:this.label,minValue:this.minValue,maxValue:this.maxValue,symbol:this.symbol?this.symbol.clone():null})},r.prototype.getMeshHash=function(){var e=JSON.stringify(this.symbol);return this.minValue+\".\"+this.maxValue+\".\"+e};var l;return o([a.property({type:String,json:{write:!0}})],r.prototype,\"description\",void 0),o([a.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),o([a.property({type:Number,json:{read:{source:\"classMinValue\"},write:{target:\"classMinValue\"}}})],r.prototype,\"minValue\",void 0),o([a.property({type:Number,json:{read:{source:\"classMaxValue\"},write:{target:\"classMaxValue\"}}})],r.prototype,\"maxValue\",void 0),o([a.property({types:s.symbolTypesRenderer,json:{origins:{\"web-scene\":{types:s.symbolTypesRenderer3D,read:i.read,write:i.writeTarget}},read:i.read,write:i.writeTarget}})],r.prototype,\"symbol\",void 0),r=l=o([a.subclass(\"esri.renderers.support.ClassBreakInfo\")],r)}(a.declared(l.JSONSupport));r.ClassBreakInfo=p,r.default=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,e,t,o,n,p){return function(r){function e(){var e=null!==r&&r.apply(this,arguments)||this;return e.unit=null,e}o(e,r),n=e,e.prototype.clone=function(){return new n({unit:this.unit})};var n;return t([p.property({type:String,json:{write:!0}})],e.prototype,\"unit\",void 0),e=n=t([p.subclass(\"esri.renderers.support.DotDensityLegendOptions\")],e)}(p.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,o,e,t,p,c,l){Object.defineProperty(o,\"__esModule\",{value:!0});var n=function(r){function o(o){var e=r.call(this,o)||this;return e.color=null,e.ratio=null,e}e(o,r),c=o,o.prototype.clone=function(){return new c({color:this.color,ratio:this.ratio})};var c;return t([l.property({type:p,json:{write:!0}})],o.prototype,\"color\",void 0),t([l.property({type:Number,json:{write:!0}})],o.prototype,\"ratio\",void 0),o=c=t([l.subclass(\"esri.renderers.support.HeatmapColorStop\")],o)}(l.declared(c.JSONSupport));o.HeatmapColorStop=n,o.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,t,r,o,p,n){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.title=null,t}r(t,e),p=t,t.prototype.clone=function(){return new p({title:this.title})};var p;return o([n.property({type:String,json:{write:!0}})],t.prototype,\"title\",void 0),t=p=o([n.subclass(\"esri.renderers.support.LegendOptions\")],t)}(n.declared(p.JSONSupport));t.LegendOptions=i,t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../symbols\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../symbols/support/jsonUtils\"],function(e,r,t,o,s,l,p,i){Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(e){function r(r){var t=e.call(this,r)||this;return t.description=null,t.label=null,t.symbol=null,t.value=null,t}t(r,e),l=r,r.prototype.clone=function(){return new l({value:this.value,description:this.description,label:this.label,symbol:this.symbol?this.symbol.clone():null})},r.prototype.getMeshHash=function(){var e=JSON.stringify(this.symbol&&this.symbol.toJSON());return this.value+\".\"+e};var l;return o([p.property({type:String,json:{write:!0}})],r.prototype,\"description\",void 0),o([p.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),o([p.property({types:s.symbolTypesRenderer,json:{origins:{\"web-scene\":{types:s.symbolTypesRenderer3D,read:i.read,write:i.writeTarget}},read:i.read,write:i.writeTarget}})],r.prototype,\"symbol\",void 0),o([p.property({type:String,json:{write:!0}})],r.prototype,\"value\",void 0),r=l=o([p.subclass(\"esri.renderers.support.UniqueValueInfo\")],r)}(p.declared(l.JSONSupport));r.UniqueValueInfo=n,r.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"../../core/Error\",\"../../core/object\",\"../../core/Warning\",\"../ClassBreaksRenderer\",\"../DictionaryRenderer\",\"../DotDensityRenderer\",\"../HeatmapRenderer\",\"../SimpleRenderer\",\"../UniqueValueRenderer\"],function(e,r,n,t,s,u,a,i,o,l,d,c){function p(e){return e?g[e.type]||null:null}function f(e,r,n){if(!e)return null;if(e&&(e.styleName||e.styleUrl)&&\"uniqueValue\"!==e.type)return n&&n.messages&&n.messages.push(new u(\"renderer:unsupported\",\"Only UniqueValueRenderer can be referenced from a web style, but found '\"+e.type+\"'\",{definition:e,context:n})),null;var t=p(e);if(t){var s=new t;return s.read(e,n),s}return n&&n.messages&&e&&n.messages.push(new u(\"renderer:unsupported\",\"Renderers of type '\"+(e.type||\"unknown\")+\"' are not supported\",{definition:e,context:n})),null}function y(e,r,n,t){var u=w(e,{},t);u&&s.setDeepValue(n,u,r)}function m(e,r){if(!r||\"web-scene\"!==r.origin)return!0;switch(e.type){case\"simple\":case\"unique-value\":case\"class-breaks\":return!0;case\"heatmap\":case\"dictionary\":case\"dot-density\":return!1;default:return n.neverReached(e),!1}}function w(e,r,n){return e?m(e,n)?e.write(r,n):(n.messages&&n.messages.push(new t(\"renderer:unsupported\",\"Renderer of type '\"+e.declaredClass+\"' are not supported in scenes.\",{renderer:e,context:n})),null):null}function R(e,r){return f(e,null,r)}Object.defineProperty(r,\"__esModule\",{value:!0});var g={simple:d,uniqueValue:c,classBreaks:a,heatmap:l,dotDensity:o,dictionary:i};r.read=f,r.writeTarget=y,r.write=w,r.fromJSON=R});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../intl\"],function(r,n,t){function e(r,n){return r-n}function i(r,n){var t,e;return t=Number(r.toFixed(n)),t<r?e=t+1/Math.pow(10,n):(e=t,t-=1/Math.pow(10,n)),t=Number(t.toFixed(n)),e=Number(e.toFixed(n)),[t,e]}function a(r,n,t,e,i){var a=u(r,n,t,e),o=null==a.previous||a.previous<=i,l=null==a.next||a.next<=i;return o&&l||a.previous+a.next<=2*i}function o(r){var n=String(r),t=n.match(v);if(t&&t[1])return{integer:t[1].split(\"\").length,fractional:t[3]?t[3].split(\"\").length:0};if(n.toLowerCase().indexOf(\"e\")>-1){var e=n.split(\"e\"),i=e[0],a=e[1];if(i&&a){var u=Number(i),l=Number(a),f=l>0;f||(l=Math.abs(l));var c=o(u);return f?(c.integer+=l,l>c.fractional?c.fractional=0:c.fractional-=l):(c.fractional+=l,l>c.integer?c.integer=1:c.integer-=l),c}}return{integer:0,fractional:0}}function u(r,n,t,e){var i={previous:null,next:null};if(null!=t){var a=r-t,o=n-t,u=o-a;i.previous=Math.floor(Math.abs(100*u/a))}if(null!=e){var a=e-r,o=e-n,u=o-a;i.next=Math.floor(Math.abs(100*u/a))}return i}function l(r,n){void 0===n&&(n={});var t=r.slice(0),u=n.tolerance,l=void 0===u?2:u,f=n.strictBounds,v=void 0!==f&&f,c=n.indexes,s=void 0===c?t.map(function(r,n){return n}):c;s.sort(e);for(var d=0;d<s.length;d++){var g=s[d],m=t[g],p=0===g?null:t[g-1],h=g===t.length-1?null:t[g+1],x=o(m),b=x.fractional;if(b){for(var M=0,N=!1,F=void 0;M<=b&&!N;){var w=i(m,M);F=v&&0===d?w[1]:w[0],N=a(m,F,p,h,l),M++}N&&(t[g]=F)}}return t}function f(r){return t.formatNumber(r,c)}Object.defineProperty(n,\"__esModule\",{value:!0});var v=/^-?(\\d+)(\\.(\\d+))?$/i;n.numDigits=o,n.percentChange=u,n.round=l;var c={maximumFractionDigits:20};n.format=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/asyncUtils\",\"../../core/promiseUtils\",\"../../core/Warning\"],function(e,r,t,n,o,i,s){function a(e,r,a){return n(this,void 0,void 0,function(){var n,l,u;return t(this,function(t){switch(t.label){case 0:return n=e&&e.getAtOrigin&&e.getAtOrigin(\"renderer\",r.origin),n&&\"unique-value\"===n.type&&n.styleOrigin?[4,o.result(n.populateFromStyle())]:[3,2];case 1:l=t.sent(),i.throwIfAborted(a),!1===l.ok&&(u=l.error,r&&r.messages&&r.messages.push(new s(\"renderer:style-reference\",\"Failed to create unique value renderer from style reference: \"+u.message,{error:u,context:r})),e.clear(\"renderer\",r.origin)),t.label=2;case 2:return[2]}})})}Object.defineProperty(r,\"__esModule\",{value:!0}),r.loadStyleRenderer=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/Logger\",\"../../core/unitUtils\",\"../../intl/date\",\"./numberUtils\",\"../visualVariables/support/ColorStop\"],function(e,t,a,n,r,o,l,i){function s(e,t,a){var n=\"\";return 0===t?n=h.lt+\" \":t===a&&(n=h.gt+\" \"),n+e}function u(e){var t=e.values,a=e.colors,n=e.labelIndexes,r=e.isDate,u=e.dateFormatOptions;return t.map(function(e,m){var c=!n||n.indexOf(m)>-1,d=null;if(c){var f=void 0;f=r?o.formatDate(e,u):l.format(e),f&&(d=s(f,m,t.length-1))}return new i({value:e,color:a[m],label:d})})}function m(e){for(var t=e.stops,a=e.changes,n=e.isDate,r=e.dateFormatOptions,i=t.map(function(e){return e.value}),u=[],m=0,c=a;m<c.length;m++){var d=c[m];u.push(d.index),i[d.index]=d.value}var f=l.round(i,{indexes:u});t.forEach(function(e,a){if(e.value=i[a],null!=e.label){var u=void 0,m=null;u=n?o.formatDate(f[a],r):l.format(f[a]),u&&(m=s(u,a,t.length-1)),e.label=m}})}function c(e){var t=e.minValue,a=e.maxValue,n=e.isFirstBreak?\"\":h.gt+\" \",r=\"percent-of-total\"===e.normalizationType?h.pct:\"\";return t=null==t?\"\":l.format(t),a=null==a?\"\":l.format(a),n+t+r+\" \"+h.ld+\" \"+a+r}function d(e){var t=e.classBreakInfos,a=e.normalizationType,n=[];if(t&&t.length){if(\"standard-deviation\"===e.classificationMethod)return void p.warn(\"setLabelsForClassBreaks\",\"cannot set labels for class breaks generated using 'standard-deviation' method.\");if(e.round){n.push(t[0].minValue);for(var r=0,o=t;r<o.length;r++){var i=o[r];n.push(i.maxValue)}n=l.round(n),t.forEach(function(e,t){e.label=c({minValue:0===t?n[0]:n[t],maxValue:n[t+1],isFirstBreak:0===t,normalizationType:a})})}else t.forEach(function(e,t){e.label=c({minValue:e.minValue,maxValue:e.maxValue,isFirstBreak:0===t,normalizationType:a})})}}function f(e){if(\"standard-deviation\"===e.classificationMethod)return void p.warn(\"updateClassBreak\",\"cannot update labels for class breaks generated using 'standard-deviation' method.\");var t=e.classBreaks,a=e.change,n=a.index,r=a.value,o=t.length,l=-1,i=-1;0===n?l=n:n===o?i=n-1:(i=n-1,l=n);var s=e.normalizationType,u=null;l>-1&&l<o&&(u=t[l],u.minValue=r,u.label=c({minValue:u.minValue,maxValue:u.maxValue,isFirstBreak:0===l,normalizationType:s})),i>-1&&i<o&&(u=t[i],u.maxValue=r,u.label=c({minValue:u.minValue,maxValue:u.maxValue,isFirstBreak:0===i,normalizationType:s}))}function v(e){for(var t=e.map(function(e){return new Date(e)}),a=t.length,n=1/0,r=null,o=0;o<a-1;o++){for(var l=t[o],i=[],s=1/0,u=null,m=o+1;m<a;m++){var c=t[m],d=l.getFullYear()!==c.getFullYear()&&\"year\"||l.getMonth()!==c.getMonth()&&\"month\"||l.getDate()!==c.getDate()&&\"day\"||l.getHours()!==c.getHours()&&\"hour\"||l.getMinutes()!==c.getMinutes()&&\"minute\"||l.getSeconds()!==c.getSeconds()&&\"second\"||\"millisecond\",f=y[d];f<s&&(s=f,u=d),i.push(d)}s<n&&(n=s,r=u)}return r}function g(e){var t=e.value,a=e.domain,n=e.fieldInfo,r=e.dateFormatInterval,i=String(t),s=a&&\"codedValues\"in a&&a.codedValues?a.getName(t):null;return s?i=s:\"number\"==typeof t&&(i=n&&\"date\"===n.type?o.formatDate(t,r&&o.convertDateFormatToIntlOptions(V[r])):l.format(t)),i}Object.defineProperty(t,\"__esModule\",{value:!0});var p=n.getLogger(\"esri.renderers.support.utils\"),h={lte:\"<=\",gte:\">=\",lt:\"<\",gt:\">\",pct:\"%\",ld:\"–\"},y={millisecond:0,second:1,minute:2,hour:3,day:4,month:5,year:6},V={millisecond:\"long-month-day-year-long-time\",second:\"long-month-day-year-long-time\",minute:\"long-month-day-year-short-time\",hour:\"long-month-day-year-short-time\",day:\"long-month-day-year\",month:\"long-month-day-year\",year:\"year\"};t.meterIn={inches:r.convertUnit(1,\"meters\",\"inches\"),feet:r.convertUnit(1,\"meters\",\"feet\"),\"us-feet\":r.convertUnit(1,\"meters\",\"us-feet\"),yards:r.convertUnit(1,\"meters\",\"yards\"),miles:r.convertUnit(1,\"meters\",\"miles\"),\"nautical-miles\":r.convertUnit(1,\"meters\",\"nautical-miles\"),millimeters:r.convertUnit(1,\"meters\",\"millimeters\"),centimeters:r.convertUnit(1,\"meters\",\"centimeters\"),decimeters:r.convertUnit(1,\"meters\",\"decimeters\"),meters:r.convertUnit(1,\"meters\",\"meters\"),kilometers:r.convertUnit(1,\"meters\",\"kilometers\"),\"decimal-degrees\":1/r.lengthToDegrees(1,\"meters\")},t.timelineDateFormatOptions=o.convertDateFormatToIntlOptions(\"short-date\"),t.createColorStops=u,t.updateColorStops=m,t.createClassBreakLabel=c,t.setLabelsForClassBreaks=d,t.updateClassBreak=f,t.calculateDateFormatInterval=v,t.createUniqueValueLabel=g});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./VisualVariable\",\"./support/ColorStop\"],function(e,t,r,o,n,i,s){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"color\",r.normalizationField=null,r}r(t,e),i=t,Object.defineProperty(t.prototype,\"cache\",{get:function(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stops\",{set:function(e){e&&Array.isArray(e)&&(e=e.filter(function(e){return!!e}),e.sort(function(e,t){return e.value-t.value})),this._set(\"stops\",e)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new i({field:this.field,normalizationField:this.normalizationField,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,stops:this.stops&&this.stops.map(function(e){return e.clone()}),legendOptions:this.legendOptions&&this.legendOptions.clone()})},t.prototype.getAttributeHash=function(){return this.inherited(arguments)+\"-\"+this.normalizationField},t.prototype._interpolateData=function(){return this.stops&&this.stops.map(function(e){return e.value||0})};var i;return o([n.property({readOnly:!0,dependsOn:[\"valueExpression\",\"stops\"]})],t.prototype,\"cache\",null),o([n.property({type:[\"color\"],json:{type:[\"colorInfo\"]}})],t.prototype,\"type\",void 0),o([n.property({type:String,json:{write:!0}})],t.prototype,\"normalizationField\",void 0),o([n.property({type:[s],json:{write:!0}})],t.prototype,\"stops\",null),t=i=o([n.subclass(\"esri.renderers.visualVariables.ColorVariable\")],t)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./VisualVariable\",\"./support/OpacityStop\"],function(e,t,r,o,n,i,s){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"opacity\",r.normalizationField=null,r}r(t,e),i=t,Object.defineProperty(t.prototype,\"cache\",{get:function(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stops\",{set:function(e){e&&Array.isArray(e)&&(e=e.filter(function(e){return!!e}),e.sort(function(e,t){return e.value-t.value})),this._set(\"stops\",e)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new i({field:this.field,normalizationField:this.normalizationField,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,stops:this.stops&&this.stops.map(function(e){return e.clone()}),legendOptions:this.legendOptions&&this.legendOptions.clone()})},t.prototype.getAttributeHash=function(){return this.inherited(arguments)+\"-\"+this.normalizationField},t.prototype._interpolateData=function(){return this.stops&&this.stops.map(function(e){return e.value||0})};var i;return o([n.property({readOnly:!0,dependsOn:[\"valueExpression\",\"stops\"]})],t.prototype,\"cache\",null),o([n.property({type:[\"opacity\"],json:{type:[\"transparencyInfo\"]}})],t.prototype,\"type\",void 0),o([n.property({type:String,json:{write:!0}})],t.prototype,\"normalizationField\",void 0),o([n.property({type:[s],json:{write:!0}})],t.prototype,\"stops\",null),t=i=o([n.subclass(\"esri.renderers.visualVariables.OpacityVariable\")],t)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Error\",\"../../core/accessorSupport/decorators\",\"./VisualVariable\"],function(e,t,r,o,i,s,n){return function(e){function t(t){var r=e.call(this,t)||this;return r.axis=null,r.type=\"rotation\",r.rotationType=\"geographic\",r.valueExpressionTitle=null,r}r(t,e),n=t,Object.defineProperty(t.prototype,\"cache\",{get:function(){return{hasExpression:!!this.valueExpression,compiledFunc:null}},enumerable:!0,configurable:!0}),t.prototype.writeValueExpressionTitleWebScene=function(e,t,r,o){if(o&&o.messages){var s=\"visualVariables[\"+this.index+\"]\";o.messages.push(new i(\"property:unsupported\",this.type+\"VisualVariable.valueExpressionTitle is not supported in Web Scene. Please remove this property to save the Web Scene.\",{instance:this,propertyName:s+\".valueExpressionTitle\",context:o}))}},t.prototype.clone=function(){return new n({axis:this.axis,rotationType:this.rotationType,field:this.field,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,legendOptions:this.legendOptions&&this.legendOptions.clone()})};var n;return o([s.property({readOnly:!0,dependsOn:[\"valueExpression\"]})],t.prototype,\"cache\",null),o([s.property({type:[\"heading\",\"tilt\",\"roll\"],json:{origins:{\"web-scene\":{default:\"heading\",write:!0}}}})],t.prototype,\"axis\",void 0),o([s.property({type:[\"rotation\"],json:{type:[\"rotationInfo\"]}})],t.prototype,\"type\",void 0),o([s.property({type:[\"geographic\",\"arithmetic\"],json:{write:!0,origins:{\"web-document\":{write:!0,default:\"geographic\"}}}})],t.prototype,\"rotationType\",void 0),o([s.property({type:String,json:{write:!0}})],t.prototype,\"valueExpressionTitle\",void 0),o([s.writer(\"web-scene\",\"valueExpressionTitle\")],t.prototype,\"writeValueExpressionTitleWebScene\",null),t=n=o([s.subclass(\"esri.renderers.visualVariables.RotationVariable\")],t)}(s.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/assignHelper\",\"../../core/Error\",\"../../core/jsonMap\",\"../../core/Logger\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./VisualVariable\",\"./support/SizeStop\",\"./support/SizeVariableLegendOptions\",\"./support/sizeVariableUtils\"],function(e,t,i,r,n,o,a,s,p,l,u,y,c,d){function m(e){if(null!=e)return\"string\"==typeof e||\"number\"==typeof e?p.toPt(e):\"size\"===e.type?d.isSizeVariable(e)?e:(e=n({},e),delete e.type,new v(e)):void 0}function h(e,t,i){if(\"object\"!=typeof e)return e;var r=new v;return r.read(e,i),r}var f=/^\\s*(return\\s+)?\\$view\\.scale\\s*(;)?\\s*$/i,S=s.getLogger(\"esri.renderers.visualVariables.SizeVariable\"),x=new a.default({width:\"width\",depth:\"depth\",height:\"height\",widthAndDepth:\"width-and-depth\",all:\"all\"}),z=new a.default({unknown:\"unknown\",inch:\"inches\",foot:\"feet\",yard:\"yards\",mile:\"miles\",\"nautical-mile\":\"nautical-miles\",millimeter:\"millimeters\",centimeter:\"centimeters\",decimeter:\"decimeters\",meter:\"meters\",kilometer:\"kilometers\",\"decimal-degree\":\"decimal-degrees\"}),v=function(e){function t(t){var i=e.call(this,t)||this;return i.axis=null,i.legendOptions=null,i.normalizationField=null,i.scaleBy=null,i.target=null,i.type=\"size\",i.useSymbolValue=null,i.valueExpression=null,i.valueRepresentation=null,i.valueUnit=null,i}i(t,e),n=t,Object.defineProperty(t.prototype,\"cache\",{get:function(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null,isScaleDriven:f.test(this.valueExpression)}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"expression\",{set:function(e){S.warn(\"'expression' is deprecated since version 4.2. Use 'valueExpression' instead. The only supported expression is 'view.scale'.\"),\"view.scale\"===e?(this.valueExpression=\"$view.scale\",this._set(\"expression\",e)):this._set(\"expression\",null)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"index\",{set:function(e){d.isSizeVariable(this.maxSize)&&(this.maxSize.index=\"visualVariables[\"+e+\"].maxSize\"),d.isSizeVariable(this.minSize)&&(this.minSize.index=\"visualVariables[\"+e+\"].minSize\"),this._set(\"index\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"inputValueType\",{get:function(){return d.getInputValueType(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxDataValue\",{set:function(e){e&&this.stops&&(S.warn(\"cannot set maxDataValue when stops is not null.\"),e=null),this._set(\"maxDataValue\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxSize\",{set:function(e){e&&this.stops&&(S.warn(\"cannot set maxSize when stops is not null.\"),e=null),this._set(\"maxSize\",e)},enumerable:!0,configurable:!0}),t.prototype.castMaxSize=function(e){return m(e)},t.prototype.readMaxSize=function(e,t,i){return h(e,t,i)},Object.defineProperty(t.prototype,\"minDataValue\",{set:function(e){e&&this.stops&&(S.warn(\"cannot set minDataValue when stops is not null.\"),e=null),this._set(\"minDataValue\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"minSize\",{set:function(e){e&&this.stops&&(S.warn(\"cannot set minSize when stops is not null.\"),e=null),this._set(\"minSize\",e)},enumerable:!0,configurable:!0}),t.prototype.castMinSize=function(e){return m(e)},t.prototype.readMinSize=function(e,t,i){return h(e,t,i)},Object.defineProperty(t.prototype,\"arcadeRequired\",{get:function(){return!!this.valueExpression||(this.minSize&&\"object\"==typeof this.minSize&&this.minSize.arcadeRequired||this.maxSize&&\"object\"==typeof this.maxSize&&this.maxSize.arcadeRequired)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stops\",{set:function(e){null==this.minDataValue&&null==this.maxDataValue&&null==this.minSize&&null==this.maxSize?e&&Array.isArray(e)&&(e=e.filter(function(e){return!!e}),e.sort(function(e,t){return e.value-t.value})):e&&(S.warn(\"cannot set stops when one of minDataValue, maxDataValue, minSize or maxSize is not null.\"),e=null),this._set(\"stops\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"transformationType\",{get:function(){return d.getTransformationType(this,this.inputValueType)},enumerable:!0,configurable:!0}),t.prototype.readValueExpression=function(e,t){return e||t.expression&&\"$view.scale\"},t.prototype.writeValueExpressionWebScene=function(e,t,i,r){if(\"$view.scale\"===e){if(r&&r.messages){var n=this.index,a=\"string\"==typeof n?n:\"visualVariables[\"+n+\"]\";r.messages.push(new o(\"property:unsupported\",this.type+\"VisualVariable.valueExpression = '$view.scale' is not supported in Web Scene. Please remove this property to save the Web Scene.\",{instance:this,propertyName:a+\".valueExpression\",context:r}))}}else t[i]=e},t.prototype.readValueUnit=function(e){return e?z.read(e):null},t.prototype.clone=function(){return new n({axis:this.axis,field:this.field,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,maxDataValue:this.maxDataValue,maxSize:d.isSizeVariable(this.maxSize)?this.maxSize.clone():this.maxSize,minDataValue:this.minDataValue,minSize:d.isSizeVariable(this.minSize)?this.minSize.clone():this.minSize,normalizationField:this.normalizationField,stops:this.stops&&this.stops.map(function(e){return e.clone()}),target:this.target,useSymbolValue:this.useSymbolValue,valueRepresentation:this.valueRepresentation,valueUnit:this.valueUnit,legendOptions:this.legendOptions&&this.legendOptions.clone()})},t.prototype.flipSizes=function(){if(\"clamped-linear\"===this.transformationType){var e=this,t=e.minSize,i=e.maxSize;return this.minSize=i,this.maxSize=t,this}if(\"stops\"===this.transformationType){for(var r=this.stops,n=r.map(function(e){return e.size}).reverse(),o=r.length,a=0;a<o;a++)r[a].size=n[a];return this}return this},t.prototype.getAttributeHash=function(){return this.inherited(arguments)+\"-\"+this.target+\"-\"+this.normalizationField},t.prototype._interpolateData=function(){return this.stops&&this.stops.map(function(e){return e.value||0})};var n;return r([l.property({readOnly:!0,dependsOn:[\"valueExpression\",\"stops\"]})],t.prototype,\"cache\",null),r([l.property({type:x.apiValues,json:{type:x.jsonValues,origins:{\"web-map\":{read:!1}},read:x.read,write:x.write}})],t.prototype,\"axis\",void 0),r([l.property({type:String,value:null,json:{read:!1}})],t.prototype,\"expression\",null),r([l.property()],t.prototype,\"index\",null),r([l.property({type:String,readOnly:!0,dependsOn:[\"field\",\"valueExpression\"]})],t.prototype,\"inputValueType\",null),r([l.property({type:c,json:{write:!0}})],t.prototype,\"legendOptions\",void 0),r([l.property({type:Number,value:null,json:{write:!0}})],t.prototype,\"maxDataValue\",null),r([l.property({type:Number,value:null,json:{write:!0}})],t.prototype,\"maxSize\",null),r([l.cast(\"maxSize\")],t.prototype,\"castMaxSize\",null),r([l.reader(\"maxSize\")],t.prototype,\"readMaxSize\",null),r([l.property({type:Number,value:null,json:{write:!0}})],t.prototype,\"minDataValue\",null),r([l.property({type:Number,value:null,json:{write:!0}})],t.prototype,\"minSize\",null),r([l.cast(\"minSize\")],t.prototype,\"castMinSize\",null),r([l.reader(\"minSize\")],t.prototype,\"readMinSize\",null),r([l.property({type:String,json:{write:!0}})],t.prototype,\"normalizationField\",void 0),r([l.property({readOnly:!0,dependsOn:[\"valueExpression\",\"minSize.arcadeRequired\",\"maxSize.arcadeRequired\"]})],t.prototype,\"arcadeRequired\",null),r([l.property({type:String})],t.prototype,\"scaleBy\",void 0),r([l.property({type:[y],value:null,json:{write:!0}})],t.prototype,\"stops\",null),r([l.property({type:[\"outline\"],json:{write:!0}})],t.prototype,\"target\",void 0),r([l.property({type:String,readOnly:!0,dependsOn:[\"minDataValue\",\"maxDataValue\",\"minSize\",\"maxSize\",\"valueUnit\",\"inputValueType\",\"stops\"]})],t.prototype,\"transformationType\",null),r([l.property({type:[\"size\"],json:{type:[\"sizeInfo\"]}})],t.prototype,\"type\",void 0),r([l.property({type:Boolean,json:{write:!0,origins:{\"web-map\":{read:!1}}}})],t.prototype,\"useSymbolValue\",void 0),r([l.property({type:String,json:{write:!0}})],t.prototype,\"valueExpression\",void 0),r([l.reader(\"valueExpression\",[\"valueExpression\",\"expression\"])],t.prototype,\"readValueExpression\",null),r([l.writer(\"web-scene\",\"valueExpression\")],t.prototype,\"writeValueExpressionWebScene\",null),r([l.property({type:[\"radius\",\"diameter\",\"area\",\"width\",\"distance\"],json:{write:!0}})],t.prototype,\"valueRepresentation\",void 0),r([l.property({type:z.apiValues,json:{write:z.write,origins:{\"web-map\":{read:!1},\"web-scene\":{write:!0}}}})],t.prototype,\"valueUnit\",void 0),r([l.reader(\"valueUnit\")],t.prototype,\"readValueUnit\",null),t=n=r([l.subclass(\"esri.renderers.visualVariables.SizeVariable\")],t)}(l.declared(u));return v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/Logger\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"./support/VisualVariableLegendOptions\"],function(e,r,t,o,n,p,i,l,s,a){var u=i.getLogger(\"esri.renderers.visualVariables.VisualVariable\"),d=new n.default({colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\",sizeInfo:\"size\"});return function(e){function r(r){var t=e.call(this,r)||this;return t.index=null,t.type=null,t.field=null,t.valueExpression=null,t.valueExpressionTitle=null,t.legendOptions=null,t}return t(r,e),r.prototype.castField=function(e){return null==e?e:\"function\"==typeof e?(u.error(\".field: field must be a string value\"),null):s.ensureString(e)},Object.defineProperty(r.prototype,\"arcadeRequired\",{get:function(){return!!this.valueExpression},enumerable:!0,configurable:!0}),r.prototype.clone=function(){},r.prototype.getAttributeHash=function(){return this.type+\"-\"+this.field+\"-\"+this.valueExpression},o([l.property()],r.prototype,\"index\",void 0),o([l.property({type:d.apiValues,readOnly:!0,json:{read:d.read,write:d.write}})],r.prototype,\"type\",void 0),o([l.property({type:String,json:{write:!0}})],r.prototype,\"field\",void 0),o([l.cast(\"field\")],r.prototype,\"castField\",null),o([l.property({type:String,json:{write:!0}})],r.prototype,\"valueExpression\",void 0),o([l.property({type:String,json:{write:!0}})],r.prototype,\"valueExpressionTitle\",void 0),o([l.property({readOnly:!0,dependsOn:[\"valueExpression\"]})],r.prototype,\"arcadeRequired\",null),o([l.property({type:a,json:{write:!0}})],r.prototype,\"legendOptions\",void 0),r=o([l.subclass(\"esri.renderers.visualVariables.VisualVariable\")],r)}(l.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/jsonMap\",\"../../core/Logger\",\"../../core/Warning\",\"../../core/accessorSupport/decorators\",\"./ColorVariable\",\"./OpacityVariable\",\"./RotationVariable\",\"./SizeVariable\"],function(e,r,a,t,i,o,s,n,l,u,c,p,b){var V=s.getLogger(\"esri.renderers.visualVariables.VisualVariableFactory\"),f={color:u,size:b,opacity:c,rotation:p},h=new o.default({colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\",sizeInfo:\"size\"}),y=/^\\[([^\\]]+)\\]$/i;return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.colorVariables=null,r.opacityVariables=null,r.rotationVariables=null,r.sizeVariables=null,r}return a(r,e),Object.defineProperty(r.prototype,\"visualVariables\",{set:function(e){if(this._resetVariables(),!(e=e&&e.filter(function(e){return!!e}))||!e.length)return void this._set(\"visualVariables\",e);for(var r=0,a=e;r<a.length;r++){var t=a[r];switch(t.type){case\"color\":this.colorVariables.push(t);break;case\"opacity\":this.opacityVariables.push(t);break;case\"rotation\":this.rotationVariables.push(t);break;case\"size\":this.sizeVariables.push(t)}}if(this.sizeVariables.length){this.sizeVariables.some(function(e){return!!e.target})&&e.sort(function(e,r){return e.target===r.target?0:e.target?1:-1})}for(var i=0;i<e.length;i++){var t=e[i];t.index=i}this._set(\"visualVariables\",e)},enumerable:!0,configurable:!0}),r.prototype.readVariables=function(e,r,a){var t=r.rotationExpression,i=r.rotationType,o=t&&t.match(y),s=o&&o[1];if(s&&(e||(e=[]),e.push({type:\"rotationInfo\",rotationType:i,field:s})),e)return e.map(function(e){var r=h.read(e.type),t=f[r];t||(V.warn(\"Unknown variable type: \"+r),a&&a.messages&&a.messages.push(new n(\"visual-variable:unsupported\",\"visualVariable of type '\"+r+\"' is not supported\",{definition:e,context:a})));var i=new t;return i.read(e,a),i})},r.prototype.writeVariables=function(e,r){for(var a=[],t=0,i=e;t<i.length;t++){var o=i[t],s=o.toJSON(r);s&&a.push(s)}return a},r.prototype._resetVariables=function(){this.colorVariables=[],this.opacityVariables=[],this.rotationVariables=[],this.sizeVariables=[]},t([l.property()],r.prototype,\"visualVariables\",null),r=t([l.subclass(\"esri.renderers.visualVariables.VisualVariableFactory\")],r)}(l.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../Color\",\"../../../core/JSONSupport\",\"../../../core/accessorSupport/decorators\",\"../../../core/accessorSupport/ensureType\"],function(e,r,o,t,l,p,u,n){return function(e){function r(r){var o=e.call(this,r)||this;return o.color=null,o.label=null,o.value=null,o}o(r,e),p=r,r.prototype.writeValue=function(e,r,o){r[o]=null==e?0:e},r.prototype.clone=function(){return new p({color:this.color&&this.color.clone(),label:this.label,value:this.value})};var p;return t([u.property({type:l,json:{type:[n.Integer],write:!0}})],r.prototype,\"color\",void 0),t([u.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),t([u.property({type:Number,json:{write:{allowNull:!0}}})],r.prototype,\"value\",void 0),t([u.writer(\"value\")],r.prototype,\"writeValue\",null),r=p=t([u.subclass(\"esri.renderers.visualVariables.support.ColorStop\")],r)}(u.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/JSONSupport\",\"../../../core/accessorSupport/decorators\",\"../../../core/accessorSupport/ensureType\",\"../../../webdoc/support/opacityUtils\"],function(e,r,t,p,o,a,n,c){return function(e){function r(r){var t=e.call(this,r)||this;return t.label=null,t.opacity=null,t.value=null,t}t(r,e),o=r,r.prototype.readOpacity=function(e,r){return c.transparencyToOpacity(r.transparency)},r.prototype.writeOpacity=function(e,r,t){r[t]=c.opacityToTransparency(e)},r.prototype.clone=function(){return new o({label:this.label,opacity:this.opacity,value:this.value})};var o;return p([a.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),p([a.property({type:Number,json:{type:n.Integer,write:{target:\"transparency\"}}})],r.prototype,\"opacity\",void 0),p([a.reader(\"opacity\",[\"transparency\"])],r.prototype,\"readOpacity\",null),p([a.writer(\"opacity\")],r.prototype,\"writeOpacity\",null),p([a.property({type:Number,json:{write:!0}})],r.prototype,\"value\",void 0),r=o=p([a.subclass(\"esri.renderers.visualVariables.support.OpacityStop\")],r)}(a.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/JSONSupport\",\"../../../core/screenUtils\",\"../../../core/accessorSupport/decorators\"],function(e,r,t,o,p,s,l){return function(e){function r(r){var t=e.call(this,r)||this;return t.label=null,t.size=null,t.value=null,t}t(r,e),p=r,r.prototype.clone=function(){return new p({label:this.label,size:this.size,value:this.value})};var p;return o([l.property({type:String,json:{write:!0}})],r.prototype,\"label\",void 0),o([l.property({type:Number,cast:s.toPt,json:{write:!0}})],r.prototype,\"size\",void 0),o([l.property({type:Number,json:{write:!0}})],r.prototype,\"value\",void 0),r=p=o([l.subclass(\"esri.renderers.visualVariables.support.SizeStop\")],r)}(l.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/accessorSupport/decorators\",\"./VisualVariableLegendOptions\"],function(e,t,r,s,o,u){return function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.customValues=null,t}r(t,e),u=t,t.prototype.clone=function(){return new u({title:this.title,showLegend:this.showLegend,customValues:this.customValues&&this.customValues.slice(0)})};var u;return s([o.property({type:[Number],json:{write:!0}})],t.prototype,\"customValues\",void 0),t=u=s([o.subclass(\"esri.renderers.visualVariables.support.SizeVariableLegendOptions\")],t)}(o.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/accessorSupport/decorators\",\"../../support/LegendOptions\"],function(e,r,t,o,n,s){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.showLegend=null,r}t(r,e),s=r,r.prototype.clone=function(){return new s({title:this.title,showLegend:this.showLegend})};var s;return o([n.property({type:Boolean,json:{write:!0}})],r.prototype,\"showLegend\",void 0),r=s=o([n.subclass(\"esri.renderers.visualVariables.support.VisualVariableLegendOptions\")],r)}(n.declared(s.default))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function i(e){return e&&\"esri.renderers.visualVariables.SizeVariable\"===e.declaredClass}function a(e){return null!=e&&!isNaN(e)&&isFinite(e)}function l(e){return e.valueExpression?\"expression\":e.field&&\"string\"==typeof e.field?\"field\":\"unknown\"}function r(e,n){var i=n||l(e),a=e.valueUnit||\"unknown\";return\"unknown\"===i?\"constant\":e.stops?\"stops\":null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?\"clamped-linear\":\"unknown\"===a?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?\"proportional\":\"additive\":\"identity\":\"real-world-size\"}Object.defineProperty(n,\"__esModule\",{value:!0}),n.isSizeVariable=i,n.isValidNumber=a,n.getInputValueType=l,n.getTransformationType=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../Color\",\"../../../Graphic\",\"../../../core/Logger\",\"../../../core/maybe\",\"../../support/utils\",\"./sizeVariableUtils\"],function(e,a,r,i,n,t,s,l){function o(e,a,i){var n=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.filter(function(e){return\"color\"===e.type})[0]:e;if(n){if(\"esri.renderers.visualVariables.ColorVariable\"!==n.declaredClass)return void M.warn(\"The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable\");var s=\"number\"==typeof a,l=s?null:a,o=l&&l.attributes,u=s?a:null,c=n.field,v=n.cache,f=v.ipData,d=v.hasExpression,p=n.cache.compiledFunc;if(!c&&!d){var b=n.stops;return b&&b[0]&&b[0].color}if(\"number\"!=typeof u)if(d){if(!t.isSome(i)||!t.isSome(i.arcade))return void M.error(\"Use of arcade expressions requires an arcade context\");var m={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},h=i.arcade.arcadeUtils,V=h.getViewInfo(m),x=h.createExecContext(l,V);if(!p){var g=h.createSyntaxTree(n.valueExpression);p=h.createFunction(g),n.cache.compiledFunc=p}u=h.executeFunction(p,x)}else o&&(u=o[c]);var y=n.normalizationField,S=o?parseFloat(o[y]):void 0;if(null!=u&&(!y||s||!isNaN(S)&&0!==S)){isNaN(S)||s||(u/=S);var z=N(u,f);if(z){var w=z[0],F=z[1],E=w===F?n.stops[w].color:r.blendColors(n.stops[w].color,n.stops[F].color,z[2],t.isSome(i)?i.color:void 0);return new r(E)}}}}function u(e,a,r){var i=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.filter(function(e){return\"opacity\"===e.type})[0]:e;if(i){if(\"esri.renderers.visualVariables.OpacityVariable\"!==i.declaredClass)return void M.warn(\"The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable\");var n=\"number\"==typeof a,s=n?null:a,l=s&&s.attributes,o=n?a:null,u=i.field,c=i.cache,v=c.ipData,f=c.hasExpression,d=i.cache.compiledFunc;if(!u&&!f){var p=i.stops;return p&&p[0]&&p[0].opacity}if(\"number\"!=typeof o)if(f){if(t.isNone(r)||t.isNone(r.arcade))return void M.error(\"Use of arcade expressions requires an arcade context\");var b={viewingMode:r.viewingMode,scale:r.scale,spatialReference:r.spatialReference},m=r.arcade.arcadeUtils,h=m.getViewInfo(b),V=m.createExecContext(s,h);if(!d){var x=m.createSyntaxTree(i.valueExpression);d=m.createFunction(x),i.cache.compiledFunc=d}o=m.executeFunction(d,V)}else l&&(o=l[u]);var g=i.normalizationField,y=l?parseFloat(l[g]):void 0;if(null!=o&&(!g||n||!isNaN(y)&&0!==y)){isNaN(y)||n||(o/=y);var S=N(o,v);if(S){var z=S[0],w=S[1];if(z===w)return i.stops[z].opacity;var F=i.stops[z].opacity;return F+(i.stops[w].opacity-F)*S[2]}}}}function c(e,a,r){var i=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.filter(function(e){return\"rotation\"===e.type})[0]:e;if(i){if(\"esri.renderers.visualVariables.RotationVariable\"!==i.declaredClass)return void M.warn(\"The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable\");var n=i.axis||\"heading\",s=\"heading\"===n&&\"arithmetic\"===i.rotationType?90:0,l=\"heading\"===n&&\"arithmetic\"===i.rotationType?-1:1,o=\"number\"==typeof a?null:a,u=o&&o.attributes,c=i.field,v=i.cache.hasExpression,f=i.cache.compiledFunc,d=0;if(!c&&!v)return d;if(v){if(t.isNone(r)||t.isNone(r.arcade))return void M.error(\"Use of arcade expressions requires an arcade context\");var p={viewingMode:r.viewingMode,scale:r.scale,spatialReference:r.spatialReference},b=r.arcade.arcadeUtils,m=b.getViewInfo(p),h=b.createExecContext(o,m);if(!f){var V=b.createSyntaxTree(i.valueExpression);f=b.createFunction(V),i.cache.compiledFunc=f}d=b.executeFunction(f,h)}else u&&(d=u[c]||0);return d=\"number\"!=typeof d||isNaN(d)?null:s+l*d}}function v(e,a,r){var i=\"number\"==typeof a,n=i?null:a,s=n&&n.attributes,o=i?a:null,u=e.cache.isScaleDriven,c=e.cache.compiledFunc;if(u){var v=t.isSome(r)?r.scale:void 0,d=t.isSome(r)?r.view:void 0;o=null==v||d&&\"3d\"===d.type?f(e):v}else if(!i)switch(e.inputValueType){case\"expression\":if(t.isNone(r)||t.isNone(r.arcade))return void M.error(\"Use of arcade expressions requires an arcade context\");var p={viewingMode:r.viewingMode,scale:r.scale,spatialReference:r.spatialReference},b=r.arcade.arcadeUtils,m=b.getViewInfo(p),h=b.createExecContext(n,m);if(!c){var V=b.createSyntaxTree(e.valueExpression);c=b.createFunction(V),e.cache.compiledFunc=c}o=b.executeFunction(c,h);break;case\"field\":s&&(o=s[e.field]);break;case\"unknown\":o=null}if(!l.isValidNumber(o))return null;if(i||!e.normalizationField)return o;var x=s?parseFloat(s[e.normalizationField]):null;return l.isValidNumber(x)&&0!==x?o/x:null}function f(e){var a=null,r=null,i=e.stops;return i?(a=i[0].value,r=i[i.length-1].value):(a=e.minDataValue||0,r=e.maxDataValue||0),(a+r)/2}function d(e,a,r){var i=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.filter(function(e){return\"size\"===e.type})[0]:e;if(i){if(\"esri.renderers.visualVariables.SizeVariable\"!==i.declaredClass)return void M.warn(\"The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable\");var n=v(i,a,r),t=z(n,i,a,r,i.cache.ipData);return null===t||void 0===t||isNaN(t)?0:t}}function p(e,a,r){return null==e?null:l.isSizeVariable(e)?d(e,a,r):l.isValidNumber(e)?e:null}function b(e,a,r){return l.isValidNumber(r)&&e>r?r:l.isValidNumber(a)&&e<a?a:e}function m(e,a,r,i){return e+(p(a.minSize,r,i)||a.minDataValue)}function h(e,a,r){var i=e.stops,n=i&&i.length&&i[0].size;return null==n&&(n=e.minSize),p(n,a,r)}function V(e,a,r,i){var n=(e-a.minDataValue)/(a.maxDataValue-a.minDataValue),s=p(a.minSize,r,i),l=p(a.maxSize,r,i),o=t.isSome(i)?i.shape:void 0;if(e<=a.minDataValue)return s;if(e>=a.maxDataValue)return l;if(\"area\"===a.scaleBy&&o){var u=\"circle\"===o,c=u?D*Math.pow(s/2,2):s*s,v=u?D*Math.pow(l/2,2):l*l,f=c+n*(v-c);return u?2*Math.sqrt(f/D):Math.sqrt(f)}return s+n*(l-s)}function x(e,a,r,i){var n=t.isSome(i)?i.shape:void 0,s=e/a.minDataValue,l=p(a.minSize,r,i),o=p(a.maxSize,r,i),u=null;return u=\"circle\"===n?2*Math.sqrt(s*Math.pow(l/2,2)):\"square\"===n||\"diamond\"===n||\"image\"===n?Math.sqrt(s*Math.pow(l,2)):s*l,b(u,l,o)}function g(e,a,r,i,n){var t=N(e,n),s=t[0],l=t[1],o=t[2];if(s===l)return p(a.stops[s].size,r,i);var u=p(a.stops[s].size,r,i);return u+(p(a.stops[l].size,r,i)-u)*o}function y(e,a,r,i){var n=t.isSome(i)&&i.resolution?i.resolution:1,l=n*s.meterIn[a.valueUnit],o=p(a.minSize,r,i),u=p(a.maxSize,r,i),c=a.valueRepresentation,v=null;return v=\"area\"===c?2*Math.sqrt(e/D)/l:\"radius\"===c||\"distance\"===c?2*e/l:e/l,b(v,o,u)}function S(e){return e}function z(e,a,r,i,n){switch(a.transformationType){case\"additive\":return m(e,a,r,i);case\"constant\":return h(a,r,i);case\"clamped-linear\":return V(e,a,r,i);case\"proportional\":return x(e,a,r,i);case\"stops\":return g(e,a,r,i,n);case\"real-world-size\":return y(e,a,r,i);case\"identity\":return S(e);case\"unknown\":return null}}function w(e,a,r){var i=e.cache.isScaleDriven,n=r&&\"3d\"===r.type;if(!(i&&n||a))return null;var t={scale:a,view:r},s=p(e.minSize,E,t),l=p(e.maxSize,E,t);if(null!=s||null!=l){if(s>l){var o=l;l=s,s=o}return{minSize:s,maxSize:l}}}function F(e,a,r){if(e.visualVariables){for(var i=[],n=[],t=[],s=[],l=[],v=0,f=e.visualVariables;v<f.length;v++){var p=f[v];switch(p.type){case\"color\":n.push(p);break;case\"opacity\":t.push(p);break;case\"rotation\":l.push(p);break;case\"size\":s.push(p)}}return n.forEach(function(e){var n=o(e,a,r);i.push({variable:e,value:n})}),t.forEach(function(e){var n=u(e,a,r);i.push({variable:e,value:n})}),l.forEach(function(e){var n=c(e,a,r);i.push({variable:e,value:n})}),s.forEach(function(e){var n=d(e,a,r);i.push({variable:e,value:n})}),i.filter(function(e){return null!=e.value})}}function N(e,a){if(a){var r=0,i=a.length-1;return a.some(function(a,n){return e<a?(i=n,!0):(r=n,!1)}),[r,i,(e-a[r])/(a[i]-a[r])]}}Object.defineProperty(a,\"__esModule\",{value:!0});var M=n.getLogger(\"esri.renderers.visualVariables.support.visualVariableUtils\"),E=new i,D=Math.PI;a.getColor=o,a.getOpacity=u,a.getRotationAngle=c,a.getSize=d,a.getSizeFromNumberOrVariable=p,a.getSizeForValue=z,a.getSizeRangeAtScale=w,a.getVisualVariableValues=F});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/tsSupport/assignHelper\",\"./core/tsSupport/awaiterHelper\",\"./core/tsSupport/generatorHelper\",\"./config\",\"./kernel\",\"./core/Error\",\"./core/global\",\"./core/has\",\"./core/lang\",\"./core/promiseUtils\",\"./core/string\",\"./core/urlUtils\",\"@dojo/framework/shim/Promise\"],function(e,r,t,n,s,o,a,i,u,c,l,d,h,p){function f(e,r){var t=d.createAbortController();return d.create(function(n,s){m(t.signal,e,r).then(n).catch(s)},function(){t.abort()})}function m(e,r,a){return n(this,void 0,void 0,function(){var n,i,u,l,h,f,m,b;return s(this,function(s){switch(s.label){case 0:return n=p.isDataProtocol(r),i=p.isBlobProtocol(r),i||n||(r=p.normalize(r)),u={url:r,requestOptions:t({},a)},l=p.getInterceptor(r),l?[4,k(l,u)]:[3,2];case 1:if(null!=(h=s.sent()))return[2,{data:h,getHeader:F,requestOptions:u.requestOptions,url:u.url}];l.after||l.error||(l=null),s.label=2;case 2:if(r=u.url,a=u.requestOptions,\"image\"===a.responseType){if(c(\"host-webworker\")||c(\"host-node\"))throw w(\"request:invalid-parameters\",new Error(\"responseType 'image' is not supported in Web Workers or Node environment\"),u)}else if(n)throw w(\"request:invalid-parameters\",new Error(\"Data URLs are not supported for responseType = \"+a.responseType),u);if(\"head\"===a.method){if(a.body)throw w(\"request:invalid-parameters\",new Error(\"body parameter cannot be set when method is 'head'\"),u);if(n||i)throw w(\"request:invalid-parameters\",new Error(\"data and blob URLs are not supported for method 'head'\"),u)}return[4,y()];case 3:return s.sent(),U?[2,U.execute(r,a)]:(f=d.createAbortController(),d.onAbort(e,function(){return f.abort()}),d.onAbort(a,function(){return f.abort()}),m={controller:f,credential:null,credentialToken:null,fetchOptions:null,hasToken:!1,interceptor:l,params:u,redoRequest:!1,useIdentity:o.request.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},[4,L(m)]);case 4:return b=s.sent(),l&&l.after&&l.after(b),[2,b]}})})}function b(e){if(!p.isBlobProtocol(e)&&!p.isDataProtocol(e)){var r=p.getOrigin(e);r&&-1===f._corsServers.indexOf(r)&&f._corsServers.push(r)}}function g(e){var r=p.getOrigin(e);return!r||h.endsWith(r,\".arcgis.com\")||-1!==f._corsServers.indexOf(r)||p.isTrustedServer(r)}function v(){var e;try{e=new DOMException(\"Aborted\",\"AbortError\")}catch(r){e=new Error(\"Aborted\"),e.name=\"AbortError\"}return e}function w(e,r,t,n){var s=\"Error\",o={url:t.url,requestOptions:t.requestOptions,getHeader:F,ssl:!1};if(r instanceof i)return r.details?(r.details=l.clone(r.details),r.details.url=t.url,r.details.requestOptions=t.requestOptions):r.details=o,r;if(r){var a=n&&function(e){return n.headers.get(e)},u=n&&n.status,c=r.message;c&&(s=c),a&&(o.getHeader=a),o.httpStatus=(null!=r.httpCode?r.httpCode:r.code)||u||0,o.subCode=r.subcode,o.messageCode=r.messageCode,\"string\"==typeof r.details?o.messages=[r.details]:o.messages=r.details}var d=new i(e,s,o);return r&&\"cancel\"===r.dojoType&&(d.dojoType=\"cancel\"),d}function y(){return n(this,void 0,void 0,function(){var r;return s(this,function(t){switch(t.label){case 0:return c(\"host-webworker\")?U?[3,2]:[4,new Promise(function(r,t){e([\"./core/workers/request\"],r,t)})]:[3,3];case 1:U=t.sent(),t.label=2;case 2:return[3,6];case 3:return f._abortableFetch?[3,6]:!c(\"esri-abortable-fetch\")||!c(\"esri-native-promise\")&&(c(\"safari\")<13||c(\"ios\")<13)?[3,4]:(f._abortableFetch=u.fetch.bind(u),[3,6]);case 4:return r=f,[4,new Promise(function(r,t){e([\"whatwg-fetch\"],r,t)})];case 5:r._abortableFetch=t.sent().fetch,t.label=6;case 6:return[2]}})})}function q(){return n(this,void 0,void 0,function(){return s(this,function(r){switch(r.label){case 0:return a.id?[3,2]:[4,new Promise(function(r,t){e([\"./identity/IdentityManager\"],r,t)})];case 1:r.sent(),r.label=2;case 2:return[2]}})})}function O(e){return n(this,void 0,void 0,function(){var r,t,n,o,i,c,l,h,p;return s(this,function(s){switch(s.label){case 0:return r=e.params.url,(t=e.params.requestOptions,n=e.controller.signal,o=t.body,i=null,c=null,l=null,A&&\"HTMLFormElement\"in u&&(o instanceof FormData?i=o:o instanceof HTMLFormElement&&(c=o,i=new FormData(c))),\"string\"==typeof o&&(l=o),e.fetchOptions={cache:t.cacheBust&&!f._abortableFetch.polyfill?\"no-cache\":\"default\",credentials:\"same-origin\",headers:t.headers||{},method:\"head\"===t.method?\"HEAD\":\"GET\",mode:\"cors\",redirect:\"follow\",signal:n},(i||l)&&(e.fetchOptions.body=i||l),\"anonymous\"===t.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(r)||t.query&&t.query.token||i&&i.get&&i.get(\"token\")||c&&c.elements.token),!e.useIdentity||e.hasToken||e.credentialToken||T(r)||d.isAborted(n))?[3,11]:(h=void 0,\"immediate\"!==t.authMode?[3,3]:[4,q()]);case 1:return s.sent(),[4,a.id.getCredential(r,{signal:n})];case 2:return h=s.sent(),e.credential=h,[3,10];case 3:return\"no-prompt\"!==t.authMode?[3,9]:[4,q()];case 4:s.sent(),s.label=5;case 5:return s.trys.push([5,7,,8]),[4,a.id.getCredential(r,{prompt:!1,signal:n})];case 6:return h=s.sent(),e.credential=h,[3,8];case 7:return p=s.sent(),[3,8];case 8:return[3,10];case 9:a.id&&(h=a.id.findCredential(r)),s.label=10;case 10:h&&(e.credentialToken=h.token,e.useSSL=!!h.ssl),s.label=11;case 11:return[2]}})})}function T(e){return j.some(function(r){return r.test(e)})}function S(e){return n(this,void 0,void 0,function(){var r,n,i,u,l,h,m,v,y,q,O,T,S,k,L,P,U,D,R,j,F,_,H,I;return s(this,function(s){switch(s.label){case 0:if(r=e.params.url,n=e.params.requestOptions,i=e.fetchOptions,u=p.isBlobProtocol(r)||p.isDataProtocol(r),l=n.responseType||\"json\",h=u?0:null!=n.timeout?n.timeout:o.request.timeout,m=!1,!u){if(e.useSSL&&(r=p.toHTTPS(r)),n.cacheBust&&\"default\"===i.cache&&(r=p.addQueryParameter(r,\"request.preventCache\",Date.now())),v=t({},n.query),e.credentialToken&&(v.token=e.credentialToken),y=p.objectToQuery(v),c(\"esri-url-encodes-apostrophe\")&&(y=y.replace(/'/g,\"%27\")),q=r.length+1+y.length,O=void 0,m=\"post\"===n.method||!!n.body||q>o.request.maxUrlLength,T=n.useProxy||!!p.getProxyRule(r),T&&(S=p.getProxyUrl(r),O=S.path,!m&&O.length+1+q>o.request.maxUrlLength&&(m=!0),S.query&&(v=t({},S.query,v))),\"HEAD\"===i.method&&(m||T)){if(m){if(q>o.request.maxUrlLength)throw w(\"request:invalid-parameters\",new Error(\"URL exceeds maximum length\"),e.params);throw w(\"request:invalid-parameters\",new Error(\"cannot use POST request when method is 'head'\"),e.params)}if(T)throw w(\"request:invalid-parameters\",new Error(\"cannot use proxy when method is 'head'\"),e.params)}m?(i.method=\"POST\",n.body?r=p.addQueryParameters(r,v):(i.body=p.objectToQuery(v),i.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\")):r=p.addQueryParameters(r,v),T&&(e.useProxy=!0,r=O+\"?\"+r),v.token&&A&&i.body instanceof FormData&&(k=i.body,k.set?k.set(\"token\",v.token):k.append(\"token\",v.token)),n.hasOwnProperty(\"withCredentials\")?e.withCredentials=n.withCredentials:p.isTrustedServer(r)?e.withCredentials=!0:a.id&&(L=a.id.findServerInfo(r))&&L.webTierAuth&&(e.withCredentials=!0),e.withCredentials&&(i.credentials=\"include\")}P=0,U=!1,h>0&&(P=setTimeout(function(){U=!0,e.controller.abort()},h)),s.label=1;case 1:return s.trys.push([1,18,19,20]),\"image\"!==n.responseType||\"default\"!==i.cache||\"GET\"!==i.method||m||x(n.headers)||!u&&!e.useProxy&&o.request.proxyUrl&&!g(r)?[3,3]:[4,C(r,e)];case 2:return R=s.sent(),[3,17];case 3:return[4,f._abortableFetch(r,i)];case 4:if(D=s.sent(),e.useProxy||b(r),!D.ok||\"HEAD\"===i.method)return[3,17];switch(j=l){case\"array-buffer\":return[3,5];case\"blob\":case\"image\":return[3,7]}return[3,9];case 5:return[4,D.arrayBuffer()];case 6:return R=s.sent(),[3,11];case 7:return[4,D.blob()];case 8:return R=s.sent(),[3,11];case 9:return[4,D.text()];case 10:return R=s.sent(),[3,11];case 11:if(P&&(clearTimeout(P),P=0),\"json\"===l||\"xml\"===l||\"document\"===l)if(R)switch(l){case\"json\":R=JSON.parse(R);break;case\"xml\":R=E(R,\"application/xml\");break;case\"document\":R=E(R,\"text/html\")}else R=null;if(F=D.headers.get(\"Content-Type\"),!/application\\/json|text\\/plain/i.test(F)||!(R instanceof ArrayBuffer&&R.byteLength<=750||R instanceof Blob&&R.size<=750))return[3,15];s.label=12;case 12:return s.trys.push([12,14,,15]),[4,new Response(R).json()];case 13:return _=s.sent(),_.error&&(R=_),[3,15];case 14:return H=s.sent(),[3,15];case 15:return\"image\"===l&&R instanceof Blob?[4,C(URL.createObjectURL(R),e,!0)]:[3,17];case 16:R=s.sent(),s.label=17;case 17:return[3,20];case 18:if(I=s.sent(),\"AbortError\"===I.name){if(U)throw new Error(\"Timeout exceeded\");throw d.createAbortError(\"Request canceled\")}if(!(!D&&I instanceof TypeError&&o.request.proxyUrl)||n.body||\"post\"===n.method||\"head\"===n.method||e.useProxy)throw I;return e.redoRequest=!0,p.addProxyRule({proxyUrl:o.request.proxyUrl,urlPrefix:p.removeFile(p.urlToObject(r).path)}),[3,20];case 19:return P&&clearTimeout(P),[7];case 20:return[2,[D,R]]}})})}function k(e,r){return n(this,void 0,void 0,function(){var n,o,a;return s(this,function(s){switch(s.label){case 0:if(null!=e.responseData)return[2,e.responseData];if(e.headers&&(r.requestOptions.headers=t({},r.requestOptions.headers,e.headers)),e.query&&(r.requestOptions.query=t({},r.requestOptions.query,e.query)),!e.before)return[3,5];n=void 0,o=void 0,s.label=1;case 1:return s.trys.push([1,3,,4]),[4,e.before(r)];case 2:return o=s.sent(),[3,4];case 3:return a=s.sent(),n=w(\"request:interceptor\",a,r),[3,4];case 4:if((o instanceof Error||o instanceof i)&&(n=w(\"request:interceptor\",o,r)),n)throw e.error&&e.error(n),n;return[2,o];case 5:return[2]}})})}function x(e){if(e)for(var r=0,t=Object.getOwnPropertyNames(e);r<t.length;r++){var n=t[r];if(e[n])return!0}return!1}function E(e,r){var t;try{t=(new DOMParser).parseFromString(e,r)}catch(e){}if(!t||t.getElementsByTagName(\"parsererror\").length)throw new SyntaxError(\"XML Parse error\");return t}function L(e){return n(this,void 0,void 0,function(){var r,t,n,i,u,c,l,d,h,f,m;return s(this,function(s){switch(s.label){case 0:return[4,O(e)];case 1:s.sent(),s.label=2;case 2:s.trys.push([2,8,,9]),s.label=3;case 3:return[4,S(e)];case 4:r=s.sent(),t=r[0],n=r[1],s.label=5;case 5:return[4,P(e,t,n)];case 6:if(!s.sent())return[3,3];s.label=7;case 7:return[3,9];case 8:throw i=s.sent(),u=w(\"request:server\",i,e.params,t),u.details.ssl=e.useSSL,e.interceptor&&e.interceptor.error&&e.interceptor.error(u),u;case 9:return c=e.params.url,/\\/sharing\\/rest\\/(accounts|portals)\\/self/i.test(c)&&!e.hasToken&&!e.credentialToken&&n&&n.user&&n.user.username&&!p.isTrustedServer(c)&&(l=p.getOrigin(c,!0))&&o.request.trustedServers.push(l),d=e.credential,d&&a.id&&(h=a.id.findServerInfo(d.server),(f=h&&h.owningSystemUrl)&&(f=f.replace(/\\/?$/,\"/sharing\"),(m=a.id.findCredential(f,d.userId))&&-1===a.id._getIdenticalSvcIdx(f,m)&&m.resources.unshift(f))),[2,{data:n,getHeader:t?function(e){return t.headers.get(e)}:F,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}]}})})}function P(e,r,t){return n(this,void 0,void 0,function(){var n,o,i,u,c,d,h;return s(this,function(s){switch(s.label){case 0:if(e.redoRequest)return e.redoRequest=!1,[2,!1];if(!r)return[2,!0];if(!r.ok)throw new Error(\"Unable to load \"+r.url+\" status: \"+r.status);return t&&t.error&&(n=l.mixin(new Error,t.error)),n&&(o=Number(n.code),i=n.hasOwnProperty(\"subcode\")?Number(n.subcode):null,u=n.messageCode,u=u&&u.toUpperCase()),c=e.params.requestOptions.authMode,403===o&&(4===i||n.message&&n.message.toLowerCase().indexOf(\"ssl\")>-1&&-1===n.message.toLowerCase().indexOf(\"permission\"))?e.useSSL?[3,6]:(e.useSSL=!0,[2,!1]):[3,1];case 1:return!e.useIdentity||\"no-prompt\"===c&&498!==o||-1===D.indexOf(o)||T(e.params.url)||!(403!==o||-1===R.indexOf(u)&&(null==i||2===i&&e.credentialToken))?[3,6]:[4,q()];case 2:s.sent(),s.label=3;case 3:return s.trys.push([3,5,,6]),[4,a.id.getCredential(e.params.url,{error:w(\"request:server\",n,e.params),prompt:\"no-prompt\"!==c,signal:e.controller.signal,token:e.credentialToken})];case 4:return d=s.sent(),e.credential=d,e.credentialToken=d.token,e.useSSL=e.useSSL||d.ssl,[2,!1];case 5:return h=s.sent(),\"no-prompt\"===c?(e.credential=null,e.credentialToken=null,[2,!1]):(n=h,[3,6]);case 6:if(n)throw n;return[2,!0]}})})}function C(e,r,t){return void 0===t&&(t=!1),d.create(function(n,s){var o=r.controller.signal;if(d.isAborted(o))throw v();var a=new Image;r.withCredentials?a.crossOrigin=\"use-credentials\":a.crossOrigin=\"anonymous\";var i=function(){h(),s(new Error(\"Unable to load \"+e))},u=function(){var e=a;h(),n(e)},l=function(){if(a){var e=a;h(),e.src=\"\",s(v())}},h=function(){c(\"esri-image-decode\")||(a.removeEventListener(\"error\",i),a.removeEventListener(\"load\",u)),i=null,u=null,a=null,o.removeEventListener(\"abort\",l),l=null,t&&URL.revokeObjectURL(e)};a.alt=\"\",a.src=e,o.addEventListener(\"abort\",l),c(\"esri-image-decode\")?a.decode().then(u,i):(a.addEventListener(\"error\",i),a.addEventListener(\"load\",u))})}var U,A=\"FormData\"in u,D=[499,498,403,401],R=[\"COM_0056\",\"COM_0057\",\"SB_0008\"],j=[/\\/arcgis\\/tokens/i,/\\/sharing(\\/rest)?\\/generatetoken/i,/\\/rest\\/info/i],F=function(){return null};return f._abortableFetch=null,f._corsServers=[\"https://server.arcgisonline.com\",\"https://services.arcgisonline.com\"],f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../Graphic\",\"../core/Collection\",\"../core/collectionUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\"],function(e,t,r,o,n,i,c,s,l){function u(e){var t=l.default(a,e);return t&&(t.owner=this),t}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(e){function t(t){var r=e.call(this,t)||this;return r.on(\"before-add\",function(e){e.item||e.preventDefault()}),r.on(\"after-add\",function(e){return r._own(e.item)}),r.on(\"after-remove\",function(e){e.item.layer=null}),r}o(t,e),n=t,t.prototype.destroy=function(){this._unownAll()},Object.defineProperty(t.prototype,\"owner\",{get:function(){return this._get(\"owner\")},set:function(e){e!==this._get(\"owner\")&&(this._unownAll(),this._set(\"owner\",e),this._ownAll())},enumerable:!0,configurable:!0}),t.prototype._createNewInstance=function(e){return new n(e)},t.prototype._ownAll=function(){var e=this;this.items.forEach(function(t){return e._own(t)})},t.prototype._own=function(e){e.layer&&\"group\"!==e.layer.type&&\"remove\"in e.layer&&e.layer!==this.owner&&e.layer.remove(e),e.layer=this.owner},t.prototype._unownAll=function(){var e=this;this.items.forEach(function(t){return e._unown(t)})},t.prototype._unown=function(e){e.layer===this.owner&&(e.layer=null)};var n;return r([s.property()],t.prototype,\"owner\",null),t=n=r([s.subclass(\"esri.support.GraphicsCollection\")],t)}(s.declared(i.ofType(n)));t.GraphicsCollection=a,t.castGraphicsCollection=u,t.graphicsCollectionProperty={type:a,cast:c.castForReferenceSetter,set:function(e){var t=c.referenceSetter(e,this._get(\"graphics\"),a);t.owner=this,this._set(\"graphics\",t)}},t.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/collectionUtils\",\"../core/Logger\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../layers/Layer\"],function(e,r,t,o,n,i,a,s,p,y){function d(e){return e&&\"group\"===e.type}function l(e,r,t){var o,n;if(e)for(var i=0,a=e.length;i<a;i++){if(o=e.getItemAt(i),o[r]===t)return o;if(d(o)&&(n=l(o.layers,r,t)))return n}}Object.defineProperty(r,\"__esModule\",{value:!0});var u=a.getLogger(\"esri.support.LayersMixin\");r.LayersMixin=function(e){return function(e){function r(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];var o=e.call(this,r)||this;o.layers=new n;var i=function(e){e.parent&&e.parent!==o&&\"remove\"in e.parent&&e.parent.remove(e),e.parent=o,o.layerAdded(e),\"elevation\"===e.type&&u.error(\"Layer '\"+e.title+\", id:\"+e.id+\"' of type '\"+e.type+\"' is not supported as an operational layer and will therefore be ignored.\")},a=function(e){e.parent=null,o.layerRemoved(e)};return o.layers.on(\"after-add\",function(e){return i(e.item)}),o.layers.on(\"after-remove\",function(e){return a(e.item)}),o}return t(r,e),r.prototype.destroy=function(){this.layers.drain(this.layerRemoved,this)},Object.defineProperty(r.prototype,\"layers\",{set:function(e){this._set(\"layers\",i.referenceSetter(e,this._get(\"layers\")))},enumerable:!0,configurable:!0}),r.prototype.add=function(e,r){var t=this,o=this.layers;r=o.getNextIndex(r),e instanceof y?(e.parent===this&&this.reorder(e,r),o.add(e,r)):s.isPromiseLike(e)?e.then(function(e){t.destroyed||t.add(e,r)}):u.error(\"#add()\",\"The item being added is not a Layer or a Promise that resolves to a Layer.\")},r.prototype.addMany=function(e,r){var t=this,o=this.layers;r=o.getNextIndex(r),e.slice().forEach(function(e){if(e.parent===t)return void t.reorder(e,r);o.add(e,r),r+=1})},r.prototype.findLayerById=function(e){return l(this.layers,\"id\",e)},r.prototype.findLayerByUid=function(e){return l(this.layers,\"uid\",e)},r.prototype.remove=function(e){return this.layers.remove(e)},r.prototype.removeMany=function(e){return this.layers.removeMany(e)},r.prototype.removeAll=function(){return this.layers.removeAll()},r.prototype.reorder=function(e,r){return this.layers.reorder(e,r)},r.prototype.layerAdded=function(e){},r.prototype.layerRemoved=function(e){},o([p.property()],r.prototype,\"layers\",null),r=o([p.subclass(\"esri.support.LayersMixin\")],r)}(p.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Identifiable\",\"../../core/accessorSupport/decorators\"],function(e,t,i,r,o,p,s){return function(e){function t(t){var i=e.call(this,t)||this;return i.active=!1,i.className=null,i.disabled=!1,i.id=null,i.indicator=!1,i.title=null,i.type=null,i.visible=!0,i}i(t,e),o=t,t.prototype.clone=function(){return new o({active:this.active,className:this.className,disabled:this.disabled,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible})};var o;return r([s.property()],t.prototype,\"active\",void 0),r([s.property()],t.prototype,\"className\",void 0),r([s.property()],t.prototype,\"disabled\",void 0),r([s.property()],t.prototype,\"id\",void 0),r([s.property()],t.prototype,\"indicator\",void 0),r([s.property()],t.prototype,\"title\",void 0),r([s.property()],t.prototype,\"type\",void 0),r([s.property()],t.prototype,\"visible\",void 0),t=o=r([s.subclass(\"esri.support.actions.ActionBase\")],t)}(s.declared(p.IdentifiableMixin(o)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./ActionBase\"],function(t,e,i,r,s,o){return function(t){function e(e){var i=t.call(this,e)||this;return i.image=null,i.type=\"button\",i}i(e,t),o=e,e.prototype.clone=function(){return new o({active:this.active,className:this.className,disabled:this.disabled,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,image:this.image})};var o;return r([s.property()],e.prototype,\"image\",void 0),e=o=r([s.subclass(\"esri.support.Action.ActionButton\")],e)}(s.declared(o))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./ActionBase\"],function(e,t,i,r,o,s){return function(e){function t(t){var i=e.call(this,t)||this;return i.displayValueEnabled=!1,i.max=1,i.min=0,i.step=.1,i.type=\"slider\",i.value=null,i}i(t,e),s=t,t.prototype.clone=function(){return new s({active:this.active,className:this.className,disabled:this.disabled,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,displayValueEnabled:this.displayValueEnabled,max:this.max,min:this.min,step:this.step,value:this.value})};var s;return r([o.property()],t.prototype,\"displayValueEnabled\",void 0),r([o.property()],t.prototype,\"max\",void 0),r([o.property()],t.prototype,\"min\",void 0),r([o.property()],t.prototype,\"step\",void 0),r([o.property()],t.prototype,\"value\",void 0),t=s=r([o.subclass(\"esri.support.Action.ActionSlider\")],t)}(o.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./ActionBase\"],function(e,t,i,r,o,s){return function(e){function t(t){var i=e.call(this,t)||this;return i.image=null,i.type=\"toggle\",i.value=!1,i}i(t,e),s=t,t.prototype.clone=function(){return new s({active:this.active,className:this.className,disabled:this.disabled,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,image:this.image,value:this.value})};var s;return r([o.property()],t.prototype,\"image\",void 0),r([o.property()],t.prototype,\"value\",void 0),t=s=r([o.subclass(\"esri.support.Action.ActionToggle\")],t)}(o.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/assignHelper\",\"../geometry\",\"../core/maybe\",\"../core/promiseUtils\",\"@dojo/framework/shim/Promise\"],function(e,r,t,n,i,a,c,s){function o(){return n(this,void 0,void 0,function(){var r=this;return t(this,function(i){return u||(u=function(){return n(r,void 0,void 0,function(){var r;return t(this,function(t){switch(t.label){case 0:return[4,new Promise(function(r,t){e([\"./arcadeUtils\"],r,t)})];case 1:return r=t.sent(),[4,r.arcade.load()];case 2:return t.sent(),[2,{arcade:r.arcade,arcadeUtils:r,Dictionary:r.Dictionary,Feature:r.arcadeFeature}]}})})}()),[2,u]})})}Object.defineProperty(r,\"__esModule\",{value:!0});var u;r.loadArcade=o,r.createLabelExpression=function(e,r,t){return l.create(e,r,t,null,[\"$feature\"])},r.createVVExpression=function(e,r,t){return l.create(e,r,t,null,[\"$feature\",\"$view\"])},r.createRendererExpression=function(e,r,t){return l.create(e,r,t,null,[\"$feature\",\"$view\"])},r.createDictionaryExpression=function(e,r,t,n){return l.create(e,r,t,n,[\"$feature\",\"$view\"])};var l=function(){function e(e,r,t,n,i,a,c){this.evaluate=n,this._syntaxTree=t,this._arcade=e,this._arcadeDictionary=r,this._arcadeFeature=i,this._fields=a,this._spatialReference=c,this._referencesGeometry=e.scriptTouchesGeometry(this._syntaxTree),this._referencesScale=this._arcade.referencesMember(this._syntaxTree,\"$view.scale\")}return e.create=function(r,u,l,f,p,d){return n(this,void 0,void 0,function(){var n,h,y,m,_,v,w,F,S,b,$,x,g,R,D;return t(this,function(t){switch(t.label){case 0:return[4,o()];case 1:return n=t.sent(),h=n.arcade,y=n.Feature,m=n.Dictionary,_=a.SpatialReference.fromJSON(u),v=h.parseScript(r,d),w=p.reduce(function(e,r){var t;return i({},e,(t={},t[r]=null,t))},{}),F=null,c.isSome(f)&&(F=new m(f),F.immutable=!0,w.$config=null),S=h.scriptUsesGeometryEngine(v)&&h.enableGeometrySupport(),b=h.scriptUsesFeatureSet(v)&&h.enableFeatureSetSupport(),$=h.scriptIsAsync(v)&&h.enableAsyncSupport(),x={vars:w,spatialReference:_,useAsync:!!$},g=new m,g.immutable=!1,g.setField(\"scale\",0),R=h.compileScript(v,x),D=function(e){return\"$view\"in e&&e.$view&&(g.setField(\"scale\",e.$view.scale),e.$view=g),F&&(e.$config=F),R({vars:e,spatialReference:_})},[4,s.all([S,b,$])];case 2:return t.sent(),[2,new e(h,m,v,D,new y,l,_)]}})})},e.prototype.repurposeFeature=function(e){return e.geometry&&!e.geometry.spatialReference&&(e.geometry.spatialReference=this._spatialReference),this._arcadeFeature.repurposeFromGraphicLikeObject(e.geometry,e.attributes,{fields:this._fields}),this._arcadeFeature},e.prototype.createDictionary=function(){return new this._arcadeDictionary},e.prototype.referencesMember=function(e){return this._arcade.referencesMember(this._syntaxTree,e)},e.prototype.referencesFunction=function(e){return this._arcade.referencesFunction(this._syntaxTree,e)},e.prototype.referencesGeometry=function(){return this._referencesGeometry},e.prototype.referencesScale=function(){return this._referencesScale},e.prototype.extractFieldLiterals=function(e){return this._arcade.extractFieldLiterals(this._syntaxTree,e)},e}();r.default=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/i18n!../nls/basemaps\"],function(e,r,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.esriBasemapDefinitions={streets:{id:\"streets\",title:a.streets,thumbnailUrl:e.toUrl(\"../images/basemap/streets.jpg\"),baseMapLayers:[{id:\"streets-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Street Map\",showLegend:!1,visibility:!0,opacity:1}]},satellite:{id:\"satellite\",title:a.satellite,thumbnailUrl:e.toUrl(\"../images/basemap/satellite.jpg\"),baseMapLayers:[{id:\"satellite-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Imagery\",showLegend:!1,visibility:!0,opacity:1}]},hybrid:{id:\"hybrid\",title:a.hybrid,thumbnailUrl:e.toUrl(\"../images/basemap/hybrid.jpg\"),baseMapLayers:[{id:\"hybrid-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Imagery\",showLegend:!1,visibility:!0,opacity:1},{id:\"hybrid-reference-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Boundaries and Places\",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},terrain:{id:\"terrain\",title:a.terrain,thumbnailUrl:e.toUrl(\"../images/basemap/terrain.jpg\"),baseMapLayers:[{id:\"terrain-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Terrain Base\",showLegend:!1,visibility:!0,opacity:1},{id:\"terrain-reference-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Reference Overlay\",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},topo:{id:\"topo\",title:a.topo,thumbnailUrl:e.toUrl(\"../images/basemap/topo.jpg\"),baseMapLayers:[{id:\"topo-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Topo Map\",showLegend:!1,visibility:!0,opacity:1}]},gray:{id:\"gray\",title:a.gray,thumbnailUrl:e.toUrl(\"../images/basemap/gray.jpg\"),baseMapLayers:[{id:\"gray-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Light Gray Base\",showLegend:!1,visibility:!0,opacity:1},{id:\"gray-reference-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Light Gray Reference\",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},\"dark-gray\":{id:\"dark-gray\",title:a[\"dark-gray\"],thumbnailUrl:e.toUrl(\"../images/basemap/dark-gray.jpg\"),baseMapLayers:[{id:\"dark-gray-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Dark Gray Base\",showLegend:!1,visibility:!0,opacity:1},{id:\"dark-gray-reference-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Dark Gray Reference\",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},oceans:{id:\"oceans\",title:a.oceans,thumbnailUrl:e.toUrl(\"../images/basemap/oceans.jpg\"),baseMapLayers:[{id:\"oceans-base-layer\",url:\"//services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Ocean Base\",showLegend:!1,visibility:!0,opacity:1},{id:\"oceans-reference-layer\",url:\"//services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Reference/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Ocean Reference\",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},\"national-geographic\":{id:\"national-geographic\",title:a[\"national-geographic\"],thumbnailUrl:e.toUrl(\"../images/basemap/national-geographic.jpg\"),baseMapLayers:[{id:\"national-geographic-base-layer\",url:\"//services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer\",title:\"NatGeo World Map\",showLegend:!1,layerType:\"ArcGISTiledMapServiceLayer\",visibility:!0,opacity:1}]},osm:{id:\"osm\",title:a.osm,thumbnailUrl:e.toUrl(\"../images/basemap/osm.jpg\"),baseMapLayers:[{id:\"osm-base-layer\",layerType:\"OpenStreetMap\",title:\"Open Street Map\",showLegend:!1,visibility:!0,opacity:1}]},\"dark-gray-vector\":{id:\"dark-gray-vector\",title:a[\"dark-gray\"],thumbnailUrl:e.toUrl(\"../images/basemap/dark-gray-vector.jpg\"),baseMapLayers:[{id:\"dark-gray-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/c11ce4f7801740b2905eb03ddc963ac8/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Dark Gray\",visibility:!0,opacity:1}]},\"gray-vector\":{id:\"gray-vector\",title:a.gray,thumbnailUrl:e.toUrl(\"../images/basemap/gray-vector.jpg\"),baseMapLayers:[{id:\"gray-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Light Gray\",visibility:!0,opacity:1}]},\"streets-vector\":{id:\"streets-vector\",title:a.streets,thumbnailUrl:e.toUrl(\"../images/basemap/streets-vector.jpg\"),baseMapLayers:[{id:\"streets-vector-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/de26a3cf4cc9451298ea173c4b324736/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Streets\",visibility:!0,opacity:1}]},\"topo-vector\":{id:\"topo-vector\",title:a.topo,thumbnailUrl:e.toUrl(\"../images/basemap/topo-vector.jpg\"),baseMapLayers:[{id:\"world-hillshade-layer\",url:\"//services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Hillshade\",showLegend:!1,visibility:!0,opacity:1},{id:\"topo-vector-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/7dc6cea0b1764a1f9af2e679f642f0f5/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Topo\",visibility:!0,opacity:1}]},\"streets-night-vector\":{id:\"streets-night-vector\",title:a[\"streets-night-vector\"],thumbnailUrl:e.toUrl(\"../images/basemap/streets-night.jpg\"),baseMapLayers:[{id:\"streets-night-vector-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Streets Night\",visibility:!0,opacity:1}]},\"streets-relief-vector\":{id:\"streets-relief-vector\",title:a[\"streets-relief-vector\"],thumbnailUrl:e.toUrl(\"../images/basemap/streets-relief.jpg\"),baseMapLayers:[{id:\"world-hillshade-layer\",url:\"//services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer\",layerType:\"ArcGISTiledMapServiceLayer\",title:\"World Hillshade\",showLegend:!1,visibility:!0,opacity:1},{id:\"streets-relief-vector-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/b266e6d17fc345b498345613930fbd76/resources/styles/root.json\",title:\"World Streets Relief\",layerType:\"VectorTileLayer\",showLegend:!1,visibility:!0,opacity:1}]},\"streets-navigation-vector\":{id:\"streets-navigation-vector\",title:a[\"streets-navigation-vector\"],thumbnailUrl:e.toUrl(\"../images/basemap/streets-navigation.jpg\"),baseMapLayers:[{id:\"streets-navigation-vector-base-layer\",styleUrl:\"//www.arcgis.com/sharing/rest/content/items/63c47b7177f946b49902c24129b87252/resources/styles/root.json\",layerType:\"VectorTileLayer\",title:\"World Streets Navigation\",visibility:!0,opacity:1}]}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Basemap\",\"../core/Collection\",\"../core/Logger\",\"../core/urlUtils\",\"../core/accessorSupport/ensureType\",\"./basemapDefinitions\"],function(e,r,n,a,t,i,l,s){function u(){return{}}function c(e,r){var a;if(\"string\"==typeof e){if(!(e in s.esriBasemapDefinitions)){var t=Object.keys(s.esriBasemapDefinitions).map(function(e){return'\"'+e+'\"'}).join(\", \");return T.warn(\"Unable to find basemap definition for: \"+e+\". Try one of these: \"+t),null}r&&(a=r[e]),a||(a=n.fromId(e),r&&(r[e]=a))}else a=l.default(n,e);return a}function o(e,r){void 0===r&&(r=null);var a=c(e);if(!a)return null;var t=new n({id:a.id,title:a.title,baseLayers:a.baseLayers.slice(),referenceLayers:a.referenceLayers.slice()});return r&&(t.baseLayers=p(t.baseLayers,r.baseLayers),t.referenceLayers=p(t.referenceLayers,r.referenceLayers)),t.load(),t.portalItem=a.portalItem,t}function f(e){var r=null,n=m(e);for(var a in s.esriBasemapDefinitions){var t=s.esriBasemapDefinitions[a],i=v(t),l=h(n,i,{mustMatchReferences:!1});if(\"equal\"===l){r=a;break}\"base-layers-equal\"===l&&(r=a)}return r}function y(e,r){return e===r||\"equal\"===h(m(e),m(r),{mustMatchReferences:!0})}function p(e,r){var n=new a;return e.forEach(function(e){var a=r.find(function(r){return q(L(e),L(r))}),t=a||e;n.some(function(e){return e===t})?n.push(e):n.push(t)}),n}function m(e){return e?!e.loaded&&e.resourceInfo?v(e.resourceInfo.data):{baseLayers:b(e.baseLayers),referenceLayers:b(e.referenceLayers)}:null}function b(e){return(a.isCollection(e)?e.toArray():e).map(L)}function L(e){return{type:e.type,url:x(\"urlTemplate\"in e&&e.urlTemplate||e.url||\"styleUrl\"in e&&e.styleUrl),minScale:\"minScale\"in e&&null!=e.minScale?e.minScale:0,maxScale:\"maxScale\"in e&&null!=e.maxScale?e.maxScale:0,opacity:null!=e.opacity?e.opacity:1,visible:null==e.visible||!!e.visible}}function v(e){return e?{baseLayers:S(e.baseMapLayers.filter(function(e){return!e.isReference})),referenceLayers:S(e.baseMapLayers.filter(function(e){return e.isReference}))}:null}function S(e){return e.map(function(e){return d(e)})}function d(e){var r;switch(e.layerType){case\"VectorTileLayer\":r=\"vector-tile\";break;case\"ArcGISTiledMapServiceLayer\":r=\"tile\";break;default:r=\"unknown\"}return{type:r,url:x(e.templateUrl||e.urlTemplate||e.styleUrl||e.url),minScale:null!=e.minScale?e.minScale:0,maxScale:null!=e.maxScale?e.maxScale:0,opacity:null!=e.opacity?e.opacity:1,visible:null==e.visibility||!!e.visibility}}function h(e,r,n){return null!=e!=(null!=r)?\"not-equal\":e?g(e.baseLayers,r.baseLayers)?g(e.referenceLayers,r.referenceLayers)?\"equal\":n.mustMatchReferences?\"not-equal\":\"base-layers-equal\":\"not-equal\":\"equal\"}function g(e,r){if(e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!q(e[n],r[n]))return!1;return!0}function q(e,r){return e.type===r.type&&e.url===r.url&&e.minScale===r.minScale&&e.maxScale===r.maxScale&&e.visible===r.visible&&e.opacity===r.opacity}function x(e){return e?i.normalize(e).replace(/^\\s*https?:/i,\"\").toLowerCase():\"\"}Object.defineProperty(r,\"__esModule\",{value:!0});var T=t.getLogger(\"esri.support.basemapUtils\");r.createCache=u,r.ensureType=c,r.clonePreservingTiledLayers=o,r.getWellKnownBasemapId=f,r.contentEquals=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/has\"],function(e,n,r){function t(e,n){return!!r(\"enable-feature:\"+e+\"/\"+n)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.hasEnableFeature=t,n.enableWebStyleForceWOSR=function(){return t(\"jschmid\",\"force-wosr\")},n.enableEditing3D=function(){return t(\"editing\",\"3d\")}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Ground\",\"../core/Logger\",\"../core/accessorSupport/ensureType\"],function(e,r,o,a,i){function n(e){var a;if(\"string\"==typeof e)if(e in r.groundElevationLayers){var n=r.groundElevationLayers[e];a=new o({resourceInfo:{data:{layers:[n]}}})}else t.warn(\"Unable to find ground definition for: \"+e+'. Try \"world-elevation\"');else a=i.default(o,e);return a}Object.defineProperty(r,\"__esModule\",{value:!0});var t=a.getLogger(\"esri.support.groundUtils\");r.groundElevationLayers={\"world-elevation\":{id:\"worldElevation\",url:\"//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer\",layerType:\"ArcGISTiledElevationServiceLayer\"},\"world-topobathymetry\":{id:\"worldTopoBathymetry\",url:\"//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/TopoBathy3D/ImageServer\",layerType:\"ArcGISTiledElevationServiceLayer\"}},r.ensureType=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"dojo/i18n!../widgets/Popup/nls/Popup\",\"../PopupTemplate\",\"../popup/content\",\"../popup/FieldInfo\",\"../popup/support/FieldInfoFormat\"],function(e,t,i,n,r,a,l,o){function s(e,t){var n=e.displayField,a=e.fields,l=e.title,o=e.visibleFieldNames,s=e.editFieldsInfo;if(!a)return null;var u=i({},b,t),f=d(a,u);if(!f)return null;var m=y({titleBase:l,fields:f.fields,displayField:n}),c=F(f.limitExceeded),v=p({fields:f.fields,visibleFieldNames:o,editFieldsInfo:s});return new r({title:m,content:c,fieldInfos:v})}function d(e,t){var i=e;if(t.ignoreFieldTypes&&(e=e.filter(function(e){return-1===t.ignoreFieldTypes.indexOf(e.type)})),0===e.length)return null;var n=t.maximumFields&&e.length>t.maximumFields;return n&&(e=e.slice(0,t.maximumFields)),e===i&&(e=e.slice()),e.sort(u),{fields:e,limitExceeded:n}}function u(e,t){return\"oid\"===e.type?-1:\"oid\"===t.type?1:x(e)?-1:x(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function f(e,t){if(!e||!t)return!1;var i=t.creationDateField,n=t.creatorField,r=t.editDateField,a=t.editorField;return-1!==[i&&i.toLowerCase(),n&&n.toLowerCase(),r&&r.toLowerCase(),a&&a.toLowerCase()].indexOf(e.toLowerCase())}function m(e,t){return e.editable&&-1===C.indexOf(e.type)&&!f(e.name,t)}function p(e){var t=e.fields,i=e.visibleFieldNames,n=e.editFieldsInfo;return t.map(function(e){return new l({fieldName:e.name,isEditable:m(e,n),label:e.alias,format:c(e),visible:!i||i.has(e.name)})})}function c(e){switch(e.type){case\"small-integer\":case\"integer\":case\"single\":return new o({digitSeparator:!0,places:0});case\"double\":return new o({digitSeparator:!0,places:2});case\"date\":return new o({dateFormat:\"long-month-day-year\"});default:return null}}function F(e){var t=[new a.FieldsContent,new a.AttachmentsContent];return e&&t.push(new a.TextContent({text:\"<small>\"+n.tooManyFields+\"</small>\"})),t}function v(e,t){for(var i=0,n=e;i<n.length;i++){var r=n[i];if(r&&r.valueType&&r.valueType===t)return r.name}return null}function g(e){for(var t=0,i=e;t<i.length;t++){var n=i[t];if(n&&n.name){var r=n.name.toLowerCase();if(r.indexOf(\"name\")>-1||r.indexOf(\"title\")>-1)return n.name}}return null}function w(e){return e&&e.length?v(e,\"name-or-title\")||v(e,\"unique-identifier\")||v(e,\"type-or-category\")||g(e):null}function y(e){var t=e.titleBase,i=e.fields,n=e.displayField,r=n||w(i);return r?t+\": {\"+r.trim()+\"}\":t}function x(e){return\"name\"===(e.name&&e.name.toLowerCase())||(\"name\"===(e.alias&&e.alias.toLowerCase())||void 0)}Object.defineProperty(t,\"__esModule\",{value:!0});var C=[\"oid\",\"global-id\",\"guid\"];t.createPopupTemplate=s;var b={ignoreFieldTypes:[\"geometry\",\"blob\",\"raster\",\"guid\",\"xml\"],maximumFields:75}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,a){Object.defineProperty(a,\"__esModule\",{value:!0}),a.buildDate=\"20191220\",a.commitHash=\"2e21d5ca73053a5f34cf5503960a84aed8b3aa46\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./core/accessorSupport/ensureType\",\"./symbols/CIMSymbol\",\"./symbols/ExtrudeSymbol3DLayer\",\"./symbols/FillSymbol\",\"./symbols/FillSymbol3DLayer\",\"./symbols/Font\",\"./symbols/IconSymbol3DLayer\",\"./symbols/LabelSymbol3D\",\"./symbols/LineSymbol3D\",\"./symbols/LineSymbol3DLayer\",\"./symbols/MarkerSymbol\",\"./symbols/MeshSymbol3D\",\"./symbols/ObjectSymbol3DLayer\",\"./symbols/PathSymbol3DLayer\",\"./symbols/PictureFillSymbol\",\"./symbols/PictureMarkerSymbol\",\"./symbols/PointSymbol3D\",\"./symbols/PolygonSymbol3D\",\"./symbols/SimpleFillSymbol\",\"./symbols/SimpleLineSymbol\",\"./symbols/SimpleMarkerSymbol\",\"./symbols/Symbol\",\"./symbols/Symbol3D\",\"./symbols/Symbol3DLayer\",\"./symbols/TextSymbol\",\"./symbols/TextSymbol3DLayer\",\"./symbols/WaterSymbol3DLayer\",\"./symbols/WebStyleSymbol\",\"./symbols/callouts/LineCallout3D\",\"./symbols/callouts/LineCallout3DBorder\",\"./symbols/support/Symbol3DVerticalOffset\",\"./symbols/support/jsonUtils\"],function(l,e,y,o,m,b,s,S,i,t,r,a,n,p,D,c,u,L,d,M,f,P,k,T,h,x,B,F,g,O,C,W,w,I){function j(l){return l instanceof e.BaseSymbol}function V(l){if(!l)return!1;switch(l.type){case\"picture-fill\":case\"picture-marker\":case\"simple-fill\":case\"simple-line\":case\"simple-marker\":case\"text\":case\"cim\":return!0;default:return!1}}function E(l){if(!l)return!1;switch(l.type){case\"label-3d\":case\"line-3d\":case\"mesh-3d\":case\"point-3d\":case\"polygon-3d\":return!0;default:return!1}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.CIMSymbol=o,e.ExtrudeSymbol3DLayer=m,e.BaseFillSymbol=b,e.FillSymbol3DLayer=s,e.Font=S,e.IconSymbol3DLayer=i,e.LabelSymbol3D=t,e.LineSymbol3D=r,e.LineSymbol3DLayer=a,e.BaseMarkerSymbol=n,e.MeshSymbol3D=p,e.ObjectSymbol3DLayer=D,e.PathSymbol3DLayer=c,e.PictureFillSymbol=u,e.PictureMarkerSymbol=L,e.PointSymbol3D=d,e.PolygonSymbol3D=M,e.SimpleFillSymbol=f,e.SimpleLineSymbol=P,e.SimpleMarkerSymbol=k,e.BaseSymbol=T,e.BaseSymbol3D=h,e.BaseSymbol3DLayer=x,e.TextSymbol=B,e.TextSymbol3DLayer=F,e.WaterSymbol3DLayer=g,e.WebStyleSymbol=O,e.LineCallout3D=C,e.LineCallout3DBorder=W,e.Symbol3DVerticalOffset=w.Symbol3DVerticalOffset,e.fromJSON=I.fromJSON,e.isSymbol=j,e.isSymbol2D=V,e.isSymbol3D=E,e.symbolTypes={base:e.BaseSymbol,key:\"type\",typeMap:{\"simple-fill\":e.SimpleFillSymbol,\"picture-fill\":e.PictureFillSymbol,\"picture-marker\":e.PictureMarkerSymbol,\"simple-line\":e.SimpleLineSymbol,\"simple-marker\":e.SimpleMarkerSymbol,text:e.TextSymbol,\"label-3d\":e.LabelSymbol3D,\"line-3d\":e.LineSymbol3D,\"mesh-3d\":e.MeshSymbol3D,\"point-3d\":e.PointSymbol3D,\"polygon-3d\":e.PolygonSymbol3D,\"web-style\":e.WebStyleSymbol,cim:e.CIMSymbol}},e.symbolTypesRenderer={base:e.BaseSymbol,key:\"type\",typeMap:{\"simple-fill\":e.SimpleFillSymbol,\"picture-fill\":e.PictureFillSymbol,\"picture-marker\":e.PictureMarkerSymbol,\"simple-line\":e.SimpleLineSymbol,\"simple-marker\":e.SimpleMarkerSymbol,text:e.TextSymbol,\"line-3d\":e.LineSymbol3D,\"mesh-3d\":e.MeshSymbol3D,\"point-3d\":e.PointSymbol3D,\"polygon-3d\":e.PolygonSymbol3D,\"web-style\":e.WebStyleSymbol,cim:e.CIMSymbol}},e.symbolTypesLabel={base:e.BaseSymbol,key:\"type\",typeMap:{text:e.TextSymbol,\"label-3d\":e.LabelSymbol3D}},e.symbolTypes3D={base:e.BaseSymbol,key:\"type\",typeMap:{\"label-3d\":e.LabelSymbol3D,\"line-3d\":e.LineSymbol3D,\"mesh-3d\":e.MeshSymbol3D,\"point-3d\":e.PointSymbol3D,\"polygon-3d\":e.PolygonSymbol3D,\"web-style\":e.WebStyleSymbol}},e.symbolTypesRenderer3D={base:e.BaseSymbol,key:\"type\",typeMap:{\"line-3d\":e.LineSymbol3D,\"mesh-3d\":e.MeshSymbol3D,\"point-3d\":e.PointSymbol3D,\"polygon-3d\":e.PolygonSymbol3D,\"web-style\":e.WebStyleSymbol}},e.symbolTypesLabel3D={base:e.BaseSymbol,key:\"type\",typeMap:{\"label-3d\":e.LabelSymbol3D}},e.ensureType=y.ensureOneOfType(e.symbolTypes)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/lang\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../layers/support/fieldUtils\",\"../portal/Portal\",\"./Symbol\",\"./support/cimSymbolUtils\"],function(t,e,r,o,l,a,p,s,i,n,y,c,u){return function(t){function e(e){var r=t.call(this,e)||this;return r.data=null,r.portal=null,r.styleUrl=\"\",r.type=\"cim\",r}r(e,t),c=e,e.prototype.readData=function(t,e){return e.symbol},e.prototype.writeData=function(t,e){t&&(e.symbol=t)},e.prototype.readStyleUrl=function(t,e){return e.symbolUrl?e.symbolUrl:t},e.prototype.writeStyleUrl=function(t,e){t&&(e.symbolUrl=t)},e.prototype.collectRequiredFields=function(t,e){return a(this,void 0,void 0,function(){var r,o,a,p,i,y,c;return l(this,function(l){switch(l.label){case 0:return[4,u.expandSymbol(this)];case 1:l.sent(),r=\"object\"==typeof this.data&&this.data.length,o=r?this.data:[this.data],a=0,p=o,l.label=2;case 2:return a<p.length?(i=p[a],(y=i.primitiveOverrides)?(c=y.map(function(r){var o=r.valueExpressionInfo;return n.collectArcadeFieldNames(t,e,o.expression)}),[4,s.all(c)]):[3,4]):[3,5];case 3:l.sent(),l.label=4;case 4:return a++,[3,2];case 5:return[2]}})})},e.prototype.clone=function(){return new c({color:this.color.clone(),data:p.clone(this.data),portal:this.portal,styleName:this.styleName,styleUrl:this.styleUrl})};var c;return o([i.property({json:{write:!1}})],e.prototype,\"color\",void 0),o([i.property({json:{write:!0}})],e.prototype,\"data\",void 0),o([i.reader(\"data\",[\"data\",\"symbol\"])],e.prototype,\"readData\",null),o([i.writer(\"data\")],e.prototype,\"writeData\",null),o([i.property({type:y,json:{write:!1}})],e.prototype,\"portal\",void 0),o([i.property({json:{write:!0}})],e.prototype,\"styleName\",void 0),o([i.property({type:String,json:{write:!0}})],e.prototype,\"styleUrl\",void 0),o([i.reader(\"styleUrl\",[\"styleUrl\",\"symbolUrl\"])],e.prototype,\"readStyleUrl\",null),o([i.writer(\"styleUrl\")],e.prototype,\"writeStyleUrl\",null),o([i.enumeration.serializable()({CIMSymbolReference:\"cim\"})],e.prototype,\"type\",void 0),e=c=o([i.subclass(\"esri.symbols.CIMSymbol\")],e)}(i.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./edges/utils\",\"./support/Symbol3DMaterial\"],function(e,t,r,o,s,a,i,l,p){return function(e){function t(t){var r=e.call(this,t)||this;return r.type=\"extrude\",r.size=void 0,r.material=null,r.castShadows=!0,r.edges=null,r}r(t,e),i=t,t.prototype.clone=function(){return new i({edges:this.edges&&this.edges.clone(),enabled:this.enabled,material:s.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size})};var i;return o([a.enumeration.serializable()({Extrude:\"extrude\"})],t.prototype,\"type\",void 0),o([a.property({type:Number,json:{write:!0}})],t.prototype,\"size\",void 0),o([a.property({type:p.default,json:{write:!0}})],t.prototype,\"material\",void 0),o([a.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],t.prototype,\"castShadows\",void 0),o([a.property(l.symbol3dEdgesProperty)],t.prototype,\"edges\",void 0),t=i=o([a.subclass(\"esri.symbols.ExtrudeSymbol3DLayer\")],t)}(a.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/jsonMap\",\"../core/accessorSupport/decorators\",\"./SimpleLineSymbol\",\"./Symbol\"],function(e,r,t,o,l,p,s,i){var n=new l.default({esriSFS:\"simple-fill\",esriPFS:\"picture-fill\"});return function(e){function r(r){var t=e.call(this,r)||this;return t.outline=null,t.type=null,t}return t(r,e),o([p.property({type:s,json:{default:null,write:!0}})],r.prototype,\"outline\",void 0),o([p.property({type:n.apiValues,readOnly:!0,json:{type:n.jsonValues}})],r.prototype,\"type\",void 0),r=o([p.subclass(\"esri.symbols.FillSymbol\")],r)}(p.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./edges/utils\",\"./support/colors\",\"./support/Symbol3DFillMaterial\",\"./support/Symbol3DOutline\"],function(e,o,t,l,r,i,n,s,a,p,u){return function(e){function o(o){var t=e.call(this,o)||this;return t.type=\"fill\",t.material=null,t.castShadows=!0,t.outline=null,t.edges=null,t}t(o,e),n=o,o.prototype.clone=function(){return new n({edges:r.isSome(this.edges)?this.edges.clone():null,enabled:this.enabled,material:r.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,outline:r.isSome(this.outline)?this.outline.clone():null})},o.fromSimpleFillSymbol=function(e){return new n({material:{color:(e.color||a.transparentWhite).clone()},outline:e.outline?new u.default({size:e.outline.width||0,color:(e.outline.color||a.white).clone()}):null})};var n;return l([i.enumeration.serializable()({Fill:\"fill\"})],o.prototype,\"type\",void 0),l([i.property({type:p.default,json:{write:!0}})],o.prototype,\"material\",void 0),l([i.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],o.prototype,\"castShadows\",void 0),l([i.property({type:u.default,json:{write:!0}})],o.prototype,\"outline\",void 0),l([i.property(s.symbol3dEdgesProperty)],o.prototype,\"edges\",void 0),o=n=l([i.subclass(\"esri.symbols.FillSymbol3DLayer\")],o)}(i.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/JSONSupport\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\"],function(e,t,o,r,i,n,p){return function(e){function t(t){var o=e.call(this,t)||this;return o.decoration=\"none\",o.family=\"sans-serif\",o.size=9,o.style=\"normal\",o.weight=\"normal\",o}o(t,e),i=t,t.prototype.castSize=function(e){return n.toPt(e)},t.prototype.clone=function(){return new i({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})};var i;return r([p.property({type:[\"underline\",\"line-through\",\"none\"],json:{default:\"none\",write:!0}})],t.prototype,\"decoration\",void 0),r([p.property({type:String,json:{write:!0}})],t.prototype,\"family\",void 0),r([p.property({type:Number,json:{write:{overridePolicy:function(e,t,o){return{enabled:!o||!o.textSymbol3D}}}}})],t.prototype,\"size\",void 0),r([p.cast(\"size\")],t.prototype,\"castSize\",null),r([p.property({type:[\"normal\",\"italic\",\"oblique\"],json:{default:\"normal\",write:!0}})],t.prototype,\"style\",void 0),r([p.property({type:[\"normal\",\"bold\",\"bolder\",\"lighter\"],json:{default:\"normal\",write:!0}})],t.prototype,\"weight\",void 0),t=i=r([p.subclass(\"esri.symbols.Font\")],t)}(p.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Logger\",\"../core/maybe\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./support/colors\",\"./support/IconSymbol3DLayerResource\",\"./support/materialUtils\",\"./support/Symbol3DAnchorPosition2D\",\"./support/Symbol3DMaterial\",\"./support/Symbol3DOutline\"],function(e,o,t,r,i,n,l,c,a,s,u,p,h,y,m){function d(e){var o=\"width\"in e?e.width:e.size,t=\"height\"in e?e.height:e.size,r=f(e.xoffset),i=f(e.yoffset);return(r||i)&&o&&t?{x:-r/o,y:i/t}:null}function f(e){return isFinite(e)?e:0}function b(e){var o=w[e];return o||(v.warn(e+' cannot be mapped to Icon symbol. Fallback to \"circle\"'),\"circle\")}var v=i.getLogger(\"esri.symbols.IconSymbol3DLayer\"),w={circle:\"circle\",cross:\"cross\",diamond:\"kite\",square:\"square\",x:\"x\",triangle:\"triangle\",path:null};return function(e){function o(o){var t=e.call(this,o)||this;return t.material=null,t.resource=null,t.type=\"icon\",t.size=12,t.anchor=\"center\",t.anchorPosition=void 0,t.outline=void 0,t}t(o,e),i=o,o.prototype.clone=function(){return new i({anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),enabled:this.enabled,material:n.isSome(this.material)?this.material.clone():null,outline:n.isSome(this.outline)?this.outline.clone():null,resource:this.resource&&this.resource.clone(),size:this.size})},o.fromSimpleMarkerSymbol=function(e){var o=e.color||s.white,t=d(e),r=e.outline&&e.outline.width>0?{size:e.outline.width,color:(e.outline.color||s.white).clone()}:null;return new i({size:e.size,resource:{primitive:b(e.style)},material:{color:o},outline:r,anchor:t?\"relative\":void 0,anchorPosition:t})},o.fromPictureMarkerSymbol=function(e){var o=!e.color||s.isBlack(e.color)?s.white:e.color,t=d(e);return new i({size:e.width<=e.height?e.height:e.width,resource:{href:e.url},material:{color:o.clone()},anchor:t?\"relative\":void 0,anchorPosition:t})},o.fromCIMSymbol=function(e){return new i({resource:{href:l.makeData({mediaType:\"application/json\",data:JSON.stringify(e.data)})}})};var i;return r([c.property({type:y.default,json:{write:!0}})],o.prototype,\"material\",void 0),r([c.property({type:u.default,json:{write:!0}})],o.prototype,\"resource\",void 0),r([c.enumeration.serializable()({Icon:\"icon\"})],o.prototype,\"type\",void 0),r([c.property(p.screenSizeProperty)],o.prototype,\"size\",void 0),r([c.enumeration.serializable()({center:\"center\",left:\"left\",right:\"right\",top:\"top\",bottom:\"bottom\",topLeft:\"top-left\",topRight:\"top-right\",bottomLeft:\"bottom-left\",bottomRight:\"bottom-right\",relative:\"relative\"}),c.property({json:{default:\"center\"}})],o.prototype,\"anchor\",void 0),r([c.property({type:h.Symbol3DAnchorPosition2D,json:{type:[Number],read:{reader:function(e){return new h.Symbol3DAnchorPosition2D({x:e[0],y:e[1]})}},write:{writer:function(e,o){o.anchorPosition=[e.x,e.y]},overridePolicy:function(){return{enabled:\"relative\"===this.anchor}}}}})],o.prototype,\"anchorPosition\",void 0),r([c.property({type:m.default,json:{write:!0}})],o.prototype,\"outline\",void 0),o=i=r([c.subclass(\"esri.symbols.IconSymbol3DLayer\")],o)}(c.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./Symbol3D\",\"./TextSymbol3DLayer\",\"./callouts/calloutUtils\",\"./support/Symbol3DVerticalOffset\"],function(e,t,o,l,r,s,i,a,n,p,y){var c=r.ofType({base:null,key:\"type\",typeMap:{text:n}});return function(e){function t(t){var o=e.call(this,t)||this;return o.verticalOffset=null,o.callout=null,o.styleOrigin=null,o.symbolLayers=new c,o.type=\"label-3d\",o}o(t,e),r=t,t.prototype.supportsCallout=function(){return!0},t.prototype.hasVisibleCallout=function(){return p.hasVisibleCallout(this)},t.prototype.hasVisibleVerticalOffset=function(){return p.hasVisibleVerticalOffset(this)},t.prototype.clone=function(){return new r({styleOrigin:s.clone(this.styleOrigin),symbolLayers:s.clone(this.symbolLayers),thumbnail:s.clone(this.thumbnail),callout:s.clone(this.callout),verticalOffset:s.clone(this.verticalOffset)})},t.fromTextSymbol=function(e){return new r({symbolLayers:[n.fromTextSymbol(e)]})};var r;return l([i.property({type:y.default,json:{write:!0}})],t.prototype,\"verticalOffset\",void 0),l([i.property(p.calloutProperty)],t.prototype,\"callout\",void 0),l([i.property({json:{read:!1,write:!1}})],t.prototype,\"styleOrigin\",void 0),l([i.property({type:c})],t.prototype,\"symbolLayers\",void 0),l([i.enumeration.serializable()({LabelSymbol3D:\"label-3d\"})],t.prototype,\"type\",void 0),t=r=l([i.subclass(\"esri.symbols.LabelSymbol3D\")],t)}(i.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./Symbol\"],function(e,r,t,o,i,s,p){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=\"simple-line\",t.width=.75,t}return t(r,e),o([s.enumeration.serializable()({esriSLS:\"simple-line\"})],r.prototype,\"type\",void 0),o([s.property({type:Number,cast:i.toPt,json:{write:!0}})],r.prototype,\"width\",void 0),r=o([s.subclass(\"esri.symbols.LineSymbol\")],r)}(s.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./LineSymbol3DLayer\",\"./PathSymbol3DLayer\",\"./Symbol3D\"],function(e,o,r,t,n,l,y,i,s,p){var a=n.ofType({base:null,key:\"type\",typeMap:{line:i,path:s}}),c=n.ofType({base:null,key:\"type\",typeMap:{line:i,path:s}});return function(e){function o(o){var r=e.call(this,o)||this;return r.symbolLayers=new a,r.type=\"line-3d\",r}r(o,e),n=o,o.prototype.clone=function(){return new n({styleOrigin:l.clone(this.styleOrigin),symbolLayers:l.clone(this.symbolLayers),thumbnail:l.clone(this.thumbnail)})},o.fromSimpleLineSymbol=function(e){return new n({symbolLayers:[i.fromSimpleLineSymbol(e)]})};var n;return t([y.property({type:a,json:{type:c}})],o.prototype,\"symbolLayers\",void 0),t([y.enumeration.serializable()({LineSymbol3D:\"line-3d\"})],o.prototype,\"type\",void 0),o=n=t([y.subclass(\"esri.symbols.LineSymbol3D\")],o)}(y.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../Color\",\"../core/maybe\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./support/colors\",\"./support/materialUtils\",\"./support/Symbol3DMaterial\"],function(e,t,r,o,p,i,l,n,s,a,u,c){return function(e){function t(t){var r=e.call(this,t)||this;return r.material=null,r.type=\"line\",r.join=\"miter\",r.cap=\"butt\",r.size=l.px2pt(1),r.stipplePattern=null,r.stippleOffColor=null,r}r(t,e),s=t,t.prototype.clone=function(){return new s({enabled:this.enabled,material:i.isSome(this.material)?this.material.clone():null,size:this.size,join:this.join,cap:this.cap,stipplePattern:this.stipplePattern?this.stipplePattern.slice():null,stippleOffColor:this.stippleOffColor?this.stippleOffColor.clone():null})},t.fromSimpleLineSymbol=function(e){return new s({size:e.width||1,cap:e.cap||\"butt\",join:e.join||\"miter\",material:{color:(e.color||a.white).clone()}})};var s;return o([n.property({type:c.default,json:{write:!0}})],t.prototype,\"material\",void 0),o([n.enumeration.serializable()({Line:\"line\"})],t.prototype,\"type\",void 0),o([n.property({type:[\"miter\",\"bevel\",\"round\"],json:{write:!0,default:\"miter\"}})],t.prototype,\"join\",void 0),o([n.property({type:[\"butt\",\"square\",\"round\"],json:{write:!0,default:\"butt\"}})],t.prototype,\"cap\",void 0),o([n.property(u.screenSizeProperty)],t.prototype,\"size\",void 0),o([n.property(u.stipplePatternProperty)],t.prototype,\"stipplePattern\",void 0),o([n.property({type:p})],t.prototype,\"stippleOffColor\",void 0),t=s=o([n.subclass(\"esri.symbols.LineSymbol3DLayer\")],t)}(n.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/jsonMap\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./Symbol\"],function(e,r,t,o,p,s,n,i){var u=new p.default({esriSMS:\"simple-marker\",esriPMS:\"picture-marker\"});return function(e){function r(r){var t=e.call(this,r)||this;return t.angle=0,t.type=null,t.xoffset=0,t.yoffset=0,t.size=9,t}return t(r,e),o([n.property({type:Number,json:{read:function(e){return e&&-1*e},write:function(e,r){return r.angle=e&&-1*e}}})],r.prototype,\"angle\",void 0),o([n.property({type:u.apiValues,readOnly:!0,json:{type:u.jsonValues}})],r.prototype,\"type\",void 0),o([n.property({type:Number,cast:s.toPt,json:{write:!0}})],r.prototype,\"xoffset\",void 0),o([n.property({type:Number,cast:s.toPt,json:{write:!0}})],r.prototype,\"yoffset\",void 0),o([n.property({type:Number,cast:function(e){return\"auto\"===e?e:s.toPt(e)},json:{write:!0}})],r.prototype,\"size\",void 0),r=o([n.subclass(\"esri.symbols.MarkerSymbol\")],r)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./FillSymbol3DLayer\",\"./Symbol3D\"],function(e,r,o,t,l,s,n,y,i){var p=l.ofType({base:null,key:\"type\",typeMap:{fill:y}});return function(e){function r(r){var o=e.call(this,r)||this;return o.symbolLayers=new p,o.type=\"mesh-3d\",o}o(r,e),l=r,r.prototype.clone=function(){return new l({styleOrigin:s.clone(this.styleOrigin),symbolLayers:s.clone(this.symbolLayers),thumbnail:s.clone(this.thumbnail)})};var l;return t([n.property({type:p})],r.prototype,\"symbolLayers\",void 0),t([n.enumeration.serializable()({MeshSymbol3D:\"mesh-3d\"})],r.prototype,\"type\",void 0),r=l=t([n.subclass(\"esri.symbols.MeshSymbol3D\")],r)}(n.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./support/ObjectSymbol3DLayerResource\",\"./support/Symbol3DAnchorPosition3D\",\"./support/Symbol3DMaterial\"],function(e,t,o,r,i,n,p,s,a,l){return function(e){function t(t){var o=e.call(this,t)||this;return o.material=null,o.castShadows=!0,o.resource=null,o.type=\"object\",o.width=void 0,o.height=void 0,o.depth=void 0,o.anchor=void 0,o.anchorPosition=void 0,o.heading=void 0,o.tilt=void 0,o.roll=void 0,o}o(t,e),p=t,t.prototype.clone=function(){return new p({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:i.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,resource:this.resource&&this.resource.clone(),width:this.width})},Object.defineProperty(t.prototype,\"isPrimitive\",{get:function(){return!this.resource||\"string\"!=typeof this.resource.href},enumerable:!0,configurable:!0});var p;return r([n.property({type:l.default,json:{write:!0}})],t.prototype,\"material\",void 0),r([n.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],t.prototype,\"castShadows\",void 0),r([n.property({type:s.default,json:{write:!0}})],t.prototype,\"resource\",void 0),r([n.enumeration.serializable()({Object:\"object\"})],t.prototype,\"type\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"width\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"height\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"depth\",void 0),r([n.enumeration.serializable()({center:\"center\",top:\"top\",bottom:\"bottom\",origin:\"origin\",relative:\"relative\"}),n.property({json:{default:\"origin\"}})],t.prototype,\"anchor\",void 0),r([n.property({type:a.Symbol3DAnchorPosition3D,json:{type:[Number],read:{reader:function(e){return new a.Symbol3DAnchorPosition3D({x:e[0],y:e[1],z:e[2]})}},write:{writer:function(e,t){t.anchorPosition=[e.x,e.y,e.z]},overridePolicy:function(){return{enabled:\"relative\"===this.anchor}}}}})],t.prototype,\"anchorPosition\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"heading\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"tilt\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"roll\",void 0),r([n.property({readOnly:!0,dependsOn:[\"resource\",\"resource.href\"]})],t.prototype,\"isPrimitive\",null),t=p=r([n.subclass(\"esri.symbols.ObjectSymbol3DLayer\")],t)}(n.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./Symbol3DLayer\",\"./support/Symbol3DMaterial\"],function(t,e,o,r,i,p,a,h){return function(t){function e(e){var o=t.call(this,e)||this;return o.material=null,o.castShadows=!0,o.type=\"path\",o.profile=\"circle\",o.join=\"miter\",o.cap=\"butt\",o.width=void 0,o.height=void 0,o.anchor=\"center\",o.profileRotation=\"all\",o}o(e,t),a=e,Object.defineProperty(e.prototype,\"size\",{get:function(){return this.width&&this.height?this.width===this.height?this.width:void 0:this.width?this.width:this.height?this.height:void 0},set:function(t){this.width=t,this.height=t},enumerable:!0,configurable:!0}),e.prototype.readSize=function(t,e){return e.height||e.width?t:e.size},e.prototype.clone=function(){return new a({enabled:this.enabled,material:i.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size,profile:this.profile,join:this.join,cap:this.cap,width:this.width,height:this.height,profileRotation:this.profileRotation,anchor:this.anchor})};var a;return r([p.property({type:h.default,json:{write:!0}})],e.prototype,\"material\",void 0),r([p.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],e.prototype,\"castShadows\",void 0),r([p.enumeration.serializable()({Path:\"path\"})],e.prototype,\"type\",void 0),r([p.property({type:Number})],e.prototype,\"size\",null),r([p.reader(\"size\")],e.prototype,\"readSize\",null),r([p.property({type:[\"circle\",\"quad\"],json:{write:!0,default:\"circle\"}})],e.prototype,\"profile\",void 0),r([p.property({type:[\"miter\",\"bevel\",\"round\"],json:{write:!0,default:\"miter\"}})],e.prototype,\"join\",void 0),r([p.property({type:[\"none\",\"butt\",\"square\",\"round\"],json:{write:!0,default:\"butt\"}})],e.prototype,\"cap\",void 0),r([p.property({type:Number,json:{write:{enabled:!0,target:{width:{type:Number},size:{type:Number}}}}})],e.prototype,\"width\",void 0),r([p.property({type:Number,json:{write:!0}})],e.prototype,\"height\",void 0),r([p.property({type:[\"center\",\"bottom\",\"top\"],json:{write:!0,default:\"center\"}})],e.prototype,\"anchor\",void 0),r([p.property({type:[\"heading\",\"all\"],json:{write:!0,default:\"all\"}})],e.prototype,\"profileRotation\",void 0),e=a=r([p.subclass(\"esri.symbols.PathSymbol3DLayer\")],e)}(p.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/lang\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./FillSymbol\",\"./support/urlUtils\"],function(t,e,o,r,i,s,p,l,n,u){return function(t){function e(e,o,r,i){var s=t.call(this,e)||this;return s.type=\"picture-fill\",s.url=null,s.xscale=1,s.yscale=1,s.width=12,s.height=12,s.xoffset=0,s.yoffset=0,s.source=null,s}o(e,t),i=e,e.prototype.normalizeCtorArgs=function(t,e,o,r){if(t&&\"string\"!=typeof t&&null==t.imageData)return t;var i={};return t&&(i.url=t),e&&(i.outline=e),null!=o&&(i.width=p.toPt(o)),null!=r&&(i.height=p.toPt(r)),i},e.prototype.clone=function(){var t=new i({color:s.clone(this.color),height:this.height,outline:this.outline&&this.outline.clone(),url:this.url,width:this.width,xoffset:this.xoffset,xscale:this.xscale,yoffset:this.yoffset,yscale:this.yscale});return t._set(\"source\",s.clone(this.source)),t};var i;return r([l.enumeration.serializable()({esriPFS:\"picture-fill\"})],e.prototype,\"type\",void 0),r([l.property(u.urlPropertyDefinition)],e.prototype,\"url\",void 0),r([l.property({type:Number,json:{write:!0}})],e.prototype,\"xscale\",void 0),r([l.property({type:Number,json:{write:!0}})],e.prototype,\"yscale\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"width\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"height\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"xoffset\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"yoffset\",void 0),r([l.property(u.sourcePropertyDefinition)],e.prototype,\"source\",void 0),e=i=r([l.subclass(\"esri.symbols.PictureFillSymbol\")],e)}(l.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/lang\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./MarkerSymbol\",\"./support/urlUtils\"],function(t,e,r,o,i,p,n,s,u){return function(t){function e(e,r,o){var i=t.call(this,e)||this;return i.color=null,i.type=\"picture-marker\",i.url=null,i.source=null,i.height=12,i.width=12,i.size=null,i}r(e,t),s=e,e.prototype.normalizeCtorArgs=function(t,e,r){if(t&&\"string\"!=typeof t&&null==t.imageData)return t;var o={};return t&&(o.url=t),null!=e&&(o.width=p.toPt(e)),null!=r&&(o.height=p.toPt(r)),o},e.prototype.readHeight=function(t,e){return e.size||t},e.prototype.readWidth=function(t,e){return e.size||t},e.prototype.clone=function(){var t=new s({angle:this.angle,height:this.height,url:this.url,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset});return t._set(\"source\",i.clone(this.source)),t};var s;return o([n.property({json:{write:!1}})],e.prototype,\"color\",void 0),o([n.enumeration.serializable()({esriPMS:\"picture-marker\"})],e.prototype,\"type\",void 0),o([n.property(u.urlPropertyDefinition)],e.prototype,\"url\",void 0),o([n.property(u.sourcePropertyDefinition)],e.prototype,\"source\",void 0),o([n.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"height\",void 0),o([n.reader(\"height\",[\"height\",\"size\"])],e.prototype,\"readHeight\",null),o([n.property({type:Number,cast:p.toPt,json:{write:!0}})],e.prototype,\"width\",void 0),o([n.property({json:{write:!1}})],e.prototype,\"size\",void 0),e=s=o([n.subclass(\"esri.symbols.PictureMarkerSymbol\")],e)}(n.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/Error\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./IconSymbol3DLayer\",\"./ObjectSymbol3DLayer\",\"./Symbol3D\",\"./TextSymbol3DLayer\",\"./callouts/calloutUtils\",\"./support/Symbol3DVerticalOffset\"],function(e,t,o,r,l,n,s,i,y,a,c,p,u,b){var m=l.ofType({base:null,key:\"type\",typeMap:{icon:y,object:a,text:p}}),f=l.ofType({base:null,key:\"type\",typeMap:{icon:y,object:a}});return function(e){function t(t){var o=e.call(this,t)||this;return o.verticalOffset=null,o.callout=null,o.symbolLayers=new m,o.type=\"point-3d\",o}o(t,e),l=t,t.prototype.writeSymbolLayers=function(e,t,o,r){var l=e.filter(function(e){return\"text\"!==e.type});if(r&&r.messages&&l.length<e.length){var s=e.find(function(e){return\"text\"===e.type});r.messages.push(new n(\"symbol-layer:unsupported\",\"Symbol layers of type 'text' cannot be persisted in PointSymbol3D\",{symbolLayer:s}))}t[o]=l.map(function(e){return e.write({},r)}).toArray()},t.prototype.supportsCallout=function(){if((this.symbolLayers?this.symbolLayers.length:0)<1)return!1;for(var e=0,t=this.symbolLayers.items;e<t.length;e++){switch(t[e].type){case\"icon\":case\"text\":case\"object\":continue;default:return!1}}return!0},t.prototype.hasVisibleCallout=function(){return u.hasVisibleCallout(this)},t.prototype.hasVisibleVerticalOffset=function(){return u.hasVisibleVerticalOffset(this)},t.prototype.clone=function(){return new l({verticalOffset:s.clone(this.verticalOffset),callout:s.clone(this.callout),styleOrigin:s.clone(this.styleOrigin),symbolLayers:s.clone(this.symbolLayers),thumbnail:s.clone(this.thumbnail)})},t.fromSimpleMarkerSymbol=function(e){return new l({symbolLayers:[y.fromSimpleMarkerSymbol(e)]})},t.fromPictureMarkerSymbol=function(e){return new l({symbolLayers:[y.fromPictureMarkerSymbol(e)]})},t.fromCIMSymbol=function(e){return new l({symbolLayers:[y.fromCIMSymbol(e)],callout:{type:\"line\",size:.5,color:[0,0,0]},verticalOffset:{screenLength:40}})},t.fromTextSymbol=function(e){return new l({symbolLayers:[p.fromTextSymbol(e)]})};var l;return r([i.property({type:b.default,json:{write:!0}})],t.prototype,\"verticalOffset\",void 0),r([i.property(u.calloutProperty)],t.prototype,\"callout\",void 0),r([i.property({type:m,json:{type:f,origins:{\"web-scene\":{type:f}}}})],t.prototype,\"symbolLayers\",void 0),r([i.writer(\"web-scene\",\"symbolLayers\")],t.prototype,\"writeSymbolLayers\",null),r([i.enumeration.serializable()({PointSymbol3D:\"point-3d\"})],t.prototype,\"type\",void 0),t=l=r([i.subclass(\"esri.symbols.PointSymbol3D\")],t)}(i.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/Error\",\"../core/lang\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./ExtrudeSymbol3DLayer\",\"./FillSymbol3DLayer\",\"./IconSymbol3DLayer\",\"./LineSymbol3DLayer\",\"./ObjectSymbol3DLayer\",\"./Symbol3D\",\"./TextSymbol3DLayer\",\"./WaterSymbol3DLayer\"],function(e,r,o,t,l,y,n,s,a,i,m,b,p,c,u,L,f){var S=l.ofType({base:null,key:\"type\",typeMap:{extrude:i,fill:m,icon:b,line:p,object:c,text:L,water:f}}),d=l.ofType({base:null,key:\"type\",typeMap:{extrude:i,fill:m,icon:b,line:p,object:c,water:f}});return function(e){function r(r){var o=e.call(this,r)||this;return o.type=\"polygon-3d\",o}o(r,e),l=r,r.prototype.writeSymbolLayers=function(e,r,o,t){var l=e.filter(function(e){return\"text\"!==e.type});if(t&&t.messages&&l.length<e.length){var n=e.find(function(e){return\"text\"===e.type});t.messages.push(new y(\"symbol-layer:unsupported\",\"Symbol layers of type 'text' cannot be persisted in PolygonSymbol3D\",{symbolLayer:n}))}r[o]=l.map(function(e){return e.write({},t)}).toArray()},r.prototype.clone=function(){return new l({styleOrigin:n.clone(this.styleOrigin),symbolLayers:n.clone(this.symbolLayers),thumbnail:n.clone(this.thumbnail)})},r.fromJSON=function(e){var r=new l;if(r.read(e),2===r.symbolLayers.length&&\"fill\"===r.symbolLayers.getItemAt(0).type&&\"line\"===r.symbolLayers.getItemAt(1).type){var o=r.symbolLayers.getItemAt(0),t=r.symbolLayers.getItemAt(1);!t.enabled||e.symbolLayers&&e.symbolLayers[1]&&!1===e.symbolLayers[1].enable||(o.outline={size:t.size,color:s.isSome(t.material)?t.material.color:null}),r.symbolLayers.removeAt(1)}return r},r.fromSimpleFillSymbol=function(e){return new l({symbolLayers:[m.fromSimpleFillSymbol(e)]})};var l;return t([a.property({type:S,json:{type:d}})],r.prototype,\"symbolLayers\",void 0),t([a.writer(\"web-scene\",\"symbolLayers\")],r.prototype,\"writeSymbolLayers\",null),t([a.enumeration.serializable()({PolygonSymbol3D:\"polygon-3d\"})],r.prototype,\"type\",void 0),r=l=t([a.subclass(\"esri.symbols.PolygonSymbol3D\")],r)}(a.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../Color\",\"../core/jsonMap\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"./FillSymbol\",\"./SimpleLineSymbol\"],function(e,o,r,t,i,l,s,n,a,p,c){var S=new s.default({esriSFSSolid:\"solid\",esriSFSNull:\"none\",esriSFSHorizontal:\"horizontal\",esriSFSVertical:\"vertical\",esriSFSForwardDiagonal:\"forward-diagonal\",esriSFSBackwardDiagonal:\"backward-diagonal\",esriSFSCross:\"cross\",esriSFSDiagonalCross:\"diagonal-cross\"});return function(e){function o(o,r,t){var i=e.call(this,o)||this;return i.color=new l([0,0,0,.25]),i.outline=new c,i.type=\"simple-fill\",i.style=\"solid\",i}r(o,e),i=o,o.prototype.normalizeCtorArgs=function(e,o,r){if(e&&\"string\"!=typeof e)return e;var t={};return e&&(t.style=e),o&&(t.outline=o),r&&(t.color=r),t},o.prototype.clone=function(){return new i({color:n.clone(this.color),outline:this.outline&&this.outline.clone(),style:this.style})};var i;return t([a.property()],o.prototype,\"color\",void 0),t([a.property()],o.prototype,\"outline\",void 0),t([a.enumeration.serializable()({esriSFS:\"simple-fill\"})],o.prototype,\"type\",void 0),t([a.property({type:S.apiValues,json:{read:S.read,write:S.write}})],o.prototype,\"style\",void 0),o=i=t([a.subclass(\"esri.symbols.SimpleFillSymbol\")],o)}(a.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/jsonMap\",\"../core/lang\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./LineSymbol\"],function(e,o,r,t,i,s,n,l,d){var a=new i.default({esriSLSSolid:\"solid\",esriSLSDash:\"dash\",esriSLSDot:\"dot\",esriSLSDashDot:\"dash-dot\",esriSLSDashDotDot:\"long-dash-dot-dot\",esriSLSNull:\"none\",esriSLSInsideFrame:\"inside-frame\",esriSLSShortDash:\"short-dash\",esriSLSShortDot:\"short-dot\",esriSLSShortDashDot:\"short-dash-dot\",esriSLSShortDashDotDot:\"short-dash-dot-dot\",esriSLSLongDash:\"long-dash\",esriSLSLongDashDot:\"long-dash-dot\"});return function(e){function o(o,r,t,i,s,n){var l=e.call(this,o)||this;return l.type=\"simple-line\",l.style=\"solid\",l.cap=\"round\",l.join=\"round\",l.miterLimit=2,l}r(o,e),i=o,o.prototype.normalizeCtorArgs=function(e,o,r,t,i,s){if(e&&\"string\"!=typeof e)return e;var l={};return null!=e&&(l.style=e),null!=o&&(l.color=o),null!=r&&(l.width=n.toPt(r)),null!=t&&(l.cap=t),null!=i&&(l.join=i),null!=s&&(l.miterLimit=n.toPt(s)),l},o.prototype.clone=function(){return new i({color:s.clone(this.color),style:this.style,width:this.width,cap:this.cap,join:this.join,miterLimit:this.miterLimit})};var i;return t([l.enumeration.serializable()({esriSLS:\"simple-line\"})],o.prototype,\"type\",void 0),t([l.property({type:a.apiValues,json:{read:a.read,write:a.write}})],o.prototype,\"style\",void 0),t([l.property({type:[\"butt\",\"round\",\"square\"],json:{write:{overridePolicy:function(e,o,r){return{enabled:\"round\"!==e&&(null==r||null==r.origin)}}}}})],o.prototype,\"cap\",void 0),t([l.property({type:[\"miter\",\"round\",\"bevel\"],json:{write:{overridePolicy:function(e,o,r){return{enabled:\"round\"!==e&&(null==r||null==r.origin)}}}}})],o.prototype,\"join\",void 0),t([l.property({type:Number,json:{read:!1,write:!1}})],o.prototype,\"miterLimit\",void 0),o=i=t([l.subclass(\"esri.symbols.SimpleLineSymbol\")],o)}(l.declared(d))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../Color\",\"../core/jsonMap\",\"../core/lang\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./MarkerSymbol\",\"./SimpleLineSymbol\"],function(e,t,r,o,i,s,l,n,p,a,c){var u=new s.default({esriSMSCircle:\"circle\",esriSMSSquare:\"square\",esriSMSCross:\"cross\",esriSMSX:\"x\",esriSMSDiamond:\"diamond\",esriSMSTriangle:\"triangle\",esriSMSPath:\"path\"});return function(e){function t(t,r,o,s){var l=e.call(this,t)||this;return l.color=new i([255,255,255,.25]),l.type=\"simple-marker\",l.size=12,l.style=\"circle\",l.outline=new c,l}r(t,e),s=t,t.prototype.normalizeCtorArgs=function(e,t,r,o){if(e&&\"string\"!=typeof e)return e;var i={};return e&&(i.style=e),null!=t&&(i.size=n.toPt(t)),r&&(i.outline=r),o&&(i.color=o),i},t.prototype.writeColor=function(e,t){e&&\"x\"!==this.style&&\"cross\"!==this.style&&(t.color=e.toJSON()),null===e&&(t.color=null)},Object.defineProperty(t.prototype,\"path\",{set:function(e){this.style=\"path\",this._set(\"path\",e)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new s({angle:this.angle,color:l.clone(this.color),outline:this.outline&&this.outline.clone(),path:this.path,size:this.size,style:this.style,xoffset:this.xoffset,yoffset:this.yoffset})};var s;return o([p.property()],t.prototype,\"color\",void 0),o([p.writer(\"color\")],t.prototype,\"writeColor\",null),o([p.enumeration.serializable()({esriSMS:\"simple-marker\"})],t.prototype,\"type\",void 0),o([p.property()],t.prototype,\"size\",void 0),o([p.property({type:u.apiValues,json:{read:u.read,write:u.write}})],t.prototype,\"style\",void 0),o([p.property({type:String,json:{write:!0}})],t.prototype,\"path\",null),o([p.property({type:c,json:{default:null,write:!0}})],t.prototype,\"outline\",void 0),t=s=o([p.subclass(\"esri.symbols.SimpleMarkerSymbol\")],t)}(p.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../Color\",\"../core/jsonMap\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(e,r,o,t,l,i,n,p,s,u){var c=new p.default({esriSMS:\"simple-marker\",esriPMS:\"picture-marker\",esriSLS:\"simple-line\",esriSFS:\"simple-fill\",esriPFS:\"picture-fill\",esriTS:\"text\",esriSHD:\"shield-label-symbol\",PointSymbol3D:\"point-3d\",LineSymbol3D:\"line-3d\",PolygonSymbol3D:\"polygon-3d\",WebStyleSymbol:\"web-style\",MeshSymbol3D:\"mesh-3d\",LabelSymbol3D:\"label-3d\",CIMSymbolReference:\"cim\"}),a=0;return function(e){function r(r){var o=e.call(this,r)||this;return o.id=\"sym\"+a++,o.type=null,o}return o(r,e),Object.defineProperty(r.prototype,\"color\",{set:function(e){this._set(\"color\",e)},enumerable:!0,configurable:!0}),r.prototype.readColor=function(e){return e&&null!=e[0]?[e[0],e[1],e[2],e[3]/255]:e},r.prototype.collectRequiredFields=function(e,r){return i(this,void 0,void 0,function(){return l(this,function(e){return[2]})})},r.prototype.clone=function(){},t([u.property({type:c.apiValues,json:{read:c.read,write:{ignoreOrigin:!0,writer:c.write}}})],r.prototype,\"type\",void 0),t([u.property({type:n,value:new n([0,0,0,1]),json:{write:{allowNull:!0}}})],r.prototype,\"color\",null),t([u.reader(\"color\")],r.prototype,\"readColor\",null),r=t([u.subclass(\"esri.symbols.Symbol\")],r)}(u.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/collectionUtils\",\"../core/jsonMap\",\"../core/Logger\",\"../core/urlUtils\",\"../core/Warning\",\"../core/accessorSupport/decorators\",\"../portal/Portal\",\"./ExtrudeSymbol3DLayer\",\"./FillSymbol3DLayer\",\"./IconSymbol3DLayer\",\"./LineSymbol3DLayer\",\"./ObjectSymbol3DLayer\",\"./PathSymbol3DLayer\",\"./Symbol\",\"./Symbol3DLayer\",\"./TextSymbol3DLayer\",\"./WaterSymbol3DLayer\",\"./support/StyleOrigin\",\"./support/Thumbnail\"],function(e,r,t,o,l,s,n,a,y,i,p,m,u,b,c,d,g,S,f,L,h,O,D,w){var v={icon:c,object:g,line:d,path:S,fill:b,extrude:u,text:h,water:O},_=l.ofType({base:L,key:\"type\",typeMap:v}),U=n.strict()({PointSymbol3D:\"point-3d\",PolygonSymbol3D:\"polygon-3d\",LineSymbol3D:\"line-3d\",MeshSymbol3D:\"mesh-3d\",LabelSymbol3D:\"label-3d\"}),N=a.getLogger(\"esri.symbols.Symbol3D\");return function(e){function r(r){var t=e.call(this,r)||this;t.styleOrigin=null,t.thumbnail=null,t.type=null;var o=t.__accessor__&&t.__accessor__.metadatas&&t.__accessor__.metadatas.symbolLayers,s=o&&o.type,n=s||l;return t._set(\"symbolLayers\",new n),t}return t(r,e),Object.defineProperty(r.prototype,\"color\",{get:function(){return null},set:function(e){N.error(\"Symbol3D does not support colors on the symbol level. Colors may be set on individual symbol layer materials instead.\")},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"symbolLayers\",{set:function(e){s.referenceSetter(e,this._get(\"symbolLayers\"))},enumerable:!0,configurable:!0}),r.prototype.readSymbolLayers=function(e,r,t){for(var o=[],l=0;l<e.length;l++){var s=e[l],n=L.typeJSONDictionary.read(s.type),a=n&&v[n];if(a){var y=new a;y.read(e[l],t),o.push(y)}else N.warn(\"Unknown symbol layer type: \"+n),t&&t.messages&&t.messages.push(new i(\"symbol-layer:unsupported\",\"Symbol layers of type '\"+(n||s.type||\"unknown\")+\"' are not supported\",{definition:s,context:t}))}return o},r.prototype.readStyleOrigin=function(e,r,t){if(e.styleUrl&&e.name){var o=y.fromJSON(e.styleUrl,t);return new D({styleUrl:o,name:e.name})}if(e.styleName&&e.name)return new D({portal:t&&t.portal||m.getDefault(),styleName:e.styleName,name:e.name});t&&t.messages&&t.messages.push(new i(\"symbol3d:incomplete-style-origin\",\"Style origin requires either a 'styleUrl' or 'styleName' and a 'name' property\",{context:t,definition:e}))},r.prototype.writeStyleOrigin=function(e,r,t,o){if(e.styleUrl&&e.name){var l=y.toJSON(e.styleUrl,o);y.isAbsolute(l)&&(l=y.normalize(l)),r.styleOrigin={styleUrl:l,name:e.name}}else e.styleName&&e.name&&(e.portal&&o&&o.portal&&!y.hasSamePortal(e.portal.restUrl,o.portal.restUrl)?o&&o.messages&&o.messages.push(new i(\"symbol:cross-portal\",\"The symbol style origin cannot be persisted because it refers to an item on a different portal than the one being saved to.\",{symbol:this})):r.styleOrigin={styleName:e.styleName,name:e.name})},r.prototype.normalizeCtorArgs=function(e){return e instanceof L||e&&v[e.type]?{symbolLayers:[e]}:Array.isArray(e)?{symbolLayers:e}:e},o([p.property({json:{read:!1,write:!1}})],r.prototype,\"color\",null),o([p.property({type:_,nonNullable:!0,json:{write:!0}}),p.cast(s.castForReferenceSetter)],r.prototype,\"symbolLayers\",null),o([p.reader(\"symbolLayers\")],r.prototype,\"readSymbolLayers\",null),o([p.property({type:D})],r.prototype,\"styleOrigin\",void 0),o([p.reader(\"styleOrigin\")],r.prototype,\"readStyleOrigin\",null),o([p.writer(\"styleOrigin\",{\"styleOrigin.styleUrl\":{type:String},\"styleOrigin.styleName\":{type:String},\"styleOrigin.name\":{type:String}})],r.prototype,\"writeStyleOrigin\",null),o([p.property({type:w.default,json:{read:!1}})],r.prototype,\"thumbnail\",void 0),o([p.property({type:U.apiValues,readOnly:!0,json:{type:U.jsonValues,read:!1}})],r.prototype,\"type\",void 0),r=o([p.subclass(\"esri.symbols.Symbol3D\")],r)}(p.declared(f))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/jsonMap\",\"../core/JSONSupport\",\"../core/accessorSupport/decorators\"],function(e,r,t,o,n,p,i){var a=n.strict()({Icon:\"icon\",Object:\"object\",Line:\"line\",Path:\"path\",Fill:\"fill\",Extrude:\"extrude\",Text:\"text\",Water:\"water\"}),l=function(e){function r(r){var t=e.call(this,r)||this;return t.enabled=!0,t.type=null,t}return t(r,e),r.prototype.writeEnabled=function(e,r,t){e||(r[t]=e)},o([i.property({type:Boolean,json:{read:{source:\"enable\"},write:{target:\"enable\"}}})],r.prototype,\"enabled\",void 0),o([i.writer(\"enabled\")],r.prototype,\"writeEnabled\",null),o([i.property({type:a.apiValues,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:a.write}}})],r.prototype,\"type\",void 0),r=o([i.subclass(\"esri.symbols.Symbol3DLayer\")],r)}(i.declared(p.JSONSupport));return function(e){e.typeJSONDictionary=a}(l||(l={})),l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../Color\",\"../core/lang\",\"../core/screenUtils\",\"../core/accessorSupport/decorators\",\"./Font\",\"./Symbol\"],function(t,o,e,r,n,i,p,l,s,y){return function(t){function o(o,e,r){var n=t.call(this,o)||this;return n.backgroundColor=null,n.borderLineColor=null,n.borderLineSize=null,n.font=new s,n.horizontalAlignment=\"center\",n.kerning=!0,n.haloColor=null,n.haloSize=null,n.rightToLeft=null,n.rotated=!1,n.text=\"\",n.type=\"text\",n.verticalAlignment=null,n.xoffset=0,n.yoffset=0,n.angle=0,n.width=null,n}e(o,t),y=o,o.prototype.normalizeCtorArgs=function(t,o,e){if(t&&\"string\"!=typeof t)return t;var r={};return t&&(r.text=t),o&&(r.font=o),e&&(r.color=e),r},o.prototype.clone=function(){return new y({angle:this.angle,backgroundColor:i.clone(this.backgroundColor),borderLineColor:i.clone(this.borderLineColor),borderLineSize:this.borderLineSize,color:i.clone(this.color),font:this.font&&this.font.clone(),haloColor:i.clone(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})};var y;return r([l.property({type:n,json:{write:!0}})],o.prototype,\"backgroundColor\",void 0),r([l.property({type:n,json:{write:!0}})],o.prototype,\"borderLineColor\",void 0),r([l.property({type:Number,json:{write:!0}})],o.prototype,\"borderLineSize\",void 0),r([l.property({type:s,json:{write:!0}})],o.prototype,\"font\",void 0),r([l.property({type:[\"left\",\"right\",\"center\",\"justify\"],json:{write:!0}})],o.prototype,\"horizontalAlignment\",void 0),r([l.property({type:Boolean,json:{write:!0}})],o.prototype,\"kerning\",void 0),r([l.property({type:n,json:{write:!0}})],o.prototype,\"haloColor\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],o.prototype,\"haloSize\",void 0),r([l.property({type:Boolean,json:{write:!0}})],o.prototype,\"rightToLeft\",void 0),r([l.property({type:Boolean,json:{write:!0}})],o.prototype,\"rotated\",void 0),r([l.property({type:String,json:{write:!0}})],o.prototype,\"text\",void 0),r([l.property({type:String,readOnly:!0})],o.prototype,\"type\",void 0),r([l.property({type:[\"baseline\",\"top\",\"middle\",\"bottom\"],json:{write:!0}})],o.prototype,\"verticalAlignment\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],o.prototype,\"xoffset\",void 0),r([l.property({type:Number,cast:p.toPt,json:{write:!0}})],o.prototype,\"yoffset\",void 0),r([l.property({type:Number,json:{read:function(t){return t&&-1*t},write:function(t,o){return o.angle=t&&-1*t}}})],o.prototype,\"angle\",void 0),r([l.property({type:Number,json:{write:!0}})],o.prototype,\"width\",void 0),o=y=r([l.subclass(\"esri.symbols.TextSymbol\")],o)}(l.declared(y))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/lang\",\"../core/maybe\",\"../core/accessorSupport/decorators\",\"./Font\",\"./Symbol3DLayer\",\"./support/materialUtils\",\"./support/Symbol3DHalo\",\"./support/Symbol3DMaterial\"],function(e,t,o,r,n,i,l,s,p,a,u,c,f){function y(e,t){return e&&t>0?{color:i.clone(e),size:t}:null}return function(e){function t(t){var o=e.call(this,t)||this;return o._userSize=void 0,o.halo=null,o.material=null,o.text=void 0,o.type=\"text\",o}o(t,e),a=t,Object.defineProperty(t.prototype,\"font\",{get:function(){return this._get(\"font\")||null},set:function(e){e&&this._userSize&&(e.size=this._userSize),this._set(\"font\",e)},enumerable:!0,configurable:!0}),t.prototype.writeFont=function(e,t,o,r){var i=n({},r,{textSymbol3D:!0});t.font=e.write({},i),delete t.font.size},Object.defineProperty(t.prototype,\"size\",{get:function(){return null!=this._userSize?this._userSize:this.font&&null!=this.font.size?this.font.size:9},set:function(e){this._userSize=e,this.font&&(this.font.size=this._userSize),this.notifyChange(\"size\")},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new a({enabled:this.enabled,font:this.font&&i.clone(this.font),halo:this.halo&&i.clone(this.halo),material:l.isSome(this.material)?this.material.clone():null,size:this.size,text:this.text})},t.fromTextSymbol=function(e){var t=y(e.haloColor,e.haloSize),o=e.font?e.font.clone():new p;return new a({size:o.size,font:o,halo:t,material:e.color?{color:e.color.clone()}:null,text:e.text})};var a;return r([s.property({type:p,json:{write:!0}})],t.prototype,\"font\",null),r([s.writer(\"font\")],t.prototype,\"writeFont\",null),r([s.property({type:c.default,json:{write:!0}})],t.prototype,\"halo\",void 0),r([s.property({type:f.default,json:{write:!0}})],t.prototype,\"material\",void 0),r([s.property(u.screenSizeProperty),s.property({dependsOn:[\"font.size\"]})],t.prototype,\"size\",null),r([s.property({type:String,json:{write:!0}})],t.prototype,\"text\",void 0),r([s.enumeration.serializable()({Text:\"text\"})],t.prototype,\"type\",void 0),t=a=r([s.subclass(\"esri.symbols.TextSymbol3DLayer\")],t)}(s.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../Color\",\"../core/lang\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/ensureType\",\"./Symbol3DLayer\"],function(e,r,t,o,a,i,p,n,l){return function(e){function r(r){var t=e.call(this,r)||this;return t.color=new a(\"#0077BE\"),t.type=\"water\",t.waterbodySize=\"medium\",t.waveDirection=null,t.waveStrength=\"moderate\",t}t(r,e),l=r,r.prototype.clone=function(){return new l({color:i.clone(this.color),waterbodySize:this.waterbodySize,waveDirection:this.waveDirection,waveStrength:this.waveStrength})};var l;return o([p.property({type:a,json:{type:[n.Integer],write:!0,default:null}})],r.prototype,\"color\",void 0),o([p.enumeration.serializable()({Water:\"water\"})],r.prototype,\"type\",void 0),o([p.property({type:[\"small\",\"medium\",\"large\"],json:{write:!0,default:\"medium\"}})],r.prototype,\"waterbodySize\",void 0),o([p.property({type:Number,json:{write:!0,default:null}})],r.prototype,\"waveDirection\",void 0),o([p.property({type:[\"calm\",\"rippled\",\"slight\",\"moderate\"],json:{write:!0,default:\"moderate\"}})],r.prototype,\"waveStrength\",void 0),r=l=o([p.subclass(\"esri.symbols.WaterSymbol3DLayer\")],r)}(p.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/jsonMap\",\"../core/Logger\",\"../core/promiseUtils\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"../portal/Portal\",\"./Symbol\",\"./support/Thumbnail\"],function(t,e,r,o,l,p,n,i,s,y,a,c,u,d){function h(){return p(this,void 0,void 0,function(){return l(this,function(e){return[2,s.create(function(e){return t([\"./support/styleUtils\"],e)})]})})}var f=i.getLogger(\"esri.symbols.WebStyleSymbol\"),m=n.strict()({styleSymbolReference:\"web-style\"});return function(t){function e(e){var r=t.call(this,e)||this;return r.styleName=null,r.portal=null,r.styleUrl=null,r.thumbnail=null,r.name=null,r.type=\"web-style\",r}r(e,t),n=e,e.prototype.read=function(t,e){this.portal=e?e.portal:void 0,this.inherited(arguments,[t,e])},e.prototype.clone=function(){return new n({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})},e.prototype.fetchSymbol=function(t){return this._fetchSymbol(\"webRef\",t)},e.prototype.fetchCIMSymbol=function(t){return this._fetchSymbol(\"cimRef\",t)},e.prototype._fetchSymbol=function(t,e){return p(this,void 0,void 0,function(){var r,o;return l(this,function(l){switch(l.label){case 0:return[4,h()];case 1:return r=l.sent(),s.throwIfAborted(e),o=r.resolveWebStyleSymbol(this,{portal:this.portal},t,e),o.catch(function(t){f.error(\"#fetchSymbol()\",\"Failed to create symbol from style\",t)}),[2,o]}})})};var n;return o([a.property({json:{write:!1}})],e.prototype,\"color\",void 0),o([a.property({type:String,json:{write:!0}})],e.prototype,\"styleName\",void 0),o([a.property({type:c,json:{write:!1}})],e.prototype,\"portal\",void 0),o([a.property({type:String,json:{read:y.read,write:y.write}})],e.prototype,\"styleUrl\",void 0),o([a.property({type:d.default,json:{read:!1}})],e.prototype,\"thumbnail\",void 0),o([a.property({type:String,json:{write:!0}})],e.prototype,\"name\",void 0),o([a.property({type:m.apiValues,readOnly:!0,json:{type:m.jsonValues,read:!1,write:m.write}})],e.prototype,\"type\",void 0),e=n=o([a.subclass(\"esri.symbols.WebStyleSymbol\")],e)}(a.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,p,n,i){return function(e){function r(r){var t=e.call(this,r)||this;return t.visible=!0,t}return o(r,e),r.prototype.normalizeCtorArgs=function(e){if(e&&e.type){var r=t({},e);return delete r.type,r}return e},r.prototype.clone=function(){},p([i.property({type:[\"line\"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],r.prototype,\"type\",void 0),p([i.property({readOnly:!0})],r.prototype,\"visible\",void 0),r=p([i.subclass(\"esri.symbols.callouts.Callout3D\")],r)}(i.declared(n.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/lang\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./Callout3D\",\"./LineCallout3DBorder\",\"../support/materialUtils\"],function(e,r,o,t,p,l,i,n,s,c,u,a){return function(e){function r(r){var o=e.call(this,r)||this;return o.type=\"line\",o.color=new p([0,0,0,1]),o.size=n.px2pt(1),o.border=null,o}o(r,e),c=r,Object.defineProperty(r.prototype,\"visible\",{get:function(){return this.size>0&&i.isSome(this.color)&&this.color.a>0},enumerable:!0,configurable:!0}),r.prototype.clone=function(){return new c({color:l.clone(this.color),size:this.size,border:l.clone(this.border)})};var c;return t([s.property({type:[\"line\"]})],r.prototype,\"type\",void 0),t([s.property(a.colorAndTransparencyProperty)],r.prototype,\"color\",void 0),t([s.property(a.screenSizeProperty)],r.prototype,\"size\",void 0),t([s.property({type:u.default,json:{write:!0}})],r.prototype,\"border\",void 0),t([s.property({dependsOn:[\"size\",\"color\"],readOnly:!0})],r.prototype,\"visible\",null),r=c=t([s.subclass(\"esri.symbols.callouts.LineCallout3D\")],r)}(s.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../support/materialUtils\"],function(r,e,o,t,l,c,p,n,u){Object.defineProperty(e,\"__esModule\",{value:!0});var s=function(r){function e(){var e=null!==r&&r.apply(this,arguments)||this;return e.color=new l(\"white\"),e}o(e,r),c=e,e.prototype.clone=function(){return new c({color:p.clone(this.color)})};var c;return t([n.property(u.colorAndTransparencyProperty)],e.prototype,\"color\",void 0),e=c=t([n.subclass(\"esri.symbols.callouts.LineCallout3DBorder\")],e)}(n.declared(c.JSONSupport));e.LineCallout3DBorder=s,e.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Callout3D\",\"./LineCallout3D\"],function(e,t,r,n){function l(e){if(!e)return!1;var t=e.verticalOffset;return!!t&&!(t.screenLength<=0||t.maxWorldLength<=0)}function i(e){if(!e)return!1;if(!e.supportsCallout||!e.supportsCallout())return!1;var t=e.callout;return!!t&&(!!t.visible&&!!l(e))}function u(e){return\"point-3d\"===e.type||\"label-3d\"===e.type}function a(e,t,r){if(!e)return e;switch(e.type){case\"line\":var l=new n;return l.read(e,r),l}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasVisibleVerticalOffset=l,t.hasVisibleCallout=i,t.isCalloutSupport=u,t.read=a,t.calloutProperty={types:{key:\"type\",base:r,typeMap:{line:n}},json:{read:a,write:!0}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../geometry/support/jsonUtils\",\"./CIMPlacements\"],function(t,i,n,e){function h(t){if(t)for(var i=t.length,n=i-1;n>0;--n)t[n][0]-=t[n-1][0],t[n][1]-=t[n-1][1]}function s(t){if(t)for(var i=0,n=t;i<n.length;i++){var e=n[i];h(e)}}function o(t){if(t)for(var i=t.length,n=1;n<i;++n)t[n][0]+=t[n-1][0],t[n][1]+=t[n-1][1]}function a(t){if(t)for(var i=0,n=t;i<n.length;i++){var e=n[i];o(e)}}function r(t){return n.isPolygon(t)?a(t.rings):n.isPolyline(t)?a(t.paths):n.isMultipoint(t)&&o(t.points),t}function l(t){return n.isPolygon(t)?s(t.rings):n.isPolyline(t)?s(t.paths):n.isMultipoint(t)&&h(t.points),t}function u(t){if(t)for(var i=0,n=t;i<n.length;i++){var e=n[i];P(e)}}function P(t){t&&t.reverse()}function p(t,i,n){return[t[0]+(i[0]-t[0])*n,t[1]+(i[1]-t[1])*n]}function c(t){return!(!t||0===t.length)&&(t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1])}function f(t){return t[4]}function m(t,i){t[4]=i}function d(t){return{rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}}Object.defineProperty(i,\"__esModule\",{value:!0}),i.deltaEncodePath=h,i.deltaEncodeMultipath=s,i.deltaDecodeGeometry=r,i.deltaEncodeGeometry=l,i.reverseMultipath=u,i.reversePath=P,i.getCoord2D=p,i.isClosedPath=c,i.getId=f,i.setId=m;var g=function(){function t(t,i,h,s){this.acceptPolygon=i,this.acceptPolyline=h,this.geomUnitsPerPoint=s,this.pathCount=-1,this.pathIndex=-1,this.iteratePath=!1,t&&(n.isPolygon(t)?i&&(this.multiPath=t.rings,this.isClosed=!0):n.isPolyline(t)?h&&(this.multiPath=t.paths,this.isClosed=!1):n.isExtent(t)&&i&&(this.multiPath=d(t).rings,this.isClosed=!0),this.multiPath&&(this.pathCount=this.multiPath.length)),this.internalPlacement=new e.Placement}return t.prototype.next=function(){if(!this.multiPath)return null;for(;this.iteratePath||this.pathIndex<this.pathCount-1;){this.iteratePath||this.pathIndex++;var t=this.processPath(this.multiPath[this.pathIndex]);if(t)return t}return this.pathCount=-1,this.pathIndex=-1,this.multiPath=null,null},t}();i.PathTransformationCursor=g;var x=function(){function t(t,i,n,e){this.inputGeometries=t,this.acceptPolygon=i,this.acceptPolyline=n,this.geomUnitsPerPoint=e,this.pathCount=-1,this.pathIndex=-1,this.iteratePath=!1}return t.prototype.next=function(){for(;;){if(!this.multiPath){for(var t=this.inputGeometries.next();t;){n.isPolygon(t)?this.acceptPolygon&&(this.multiPath=t.rings,this.isClosed=!0):n.isPolyline(t)?this.acceptPolyline&&(this.multiPath=t.paths,this.isClosed=!1):n.isExtent(t)&&this.acceptPolygon&&(this.multiPath=d(t).rings,this.isClosed=!0);{if(this.multiPath){this.pathCount=this.multiPath.length,this.pathIndex=-1;break}t=this.inputGeometries.next()}}if(!this.multiPath)return null}for(;this.iteratePath||this.pathIndex<this.pathCount-1;){this.iteratePath||this.pathIndex++;var i=this.processPath(this.multiPath[this.pathIndex]);if(i)return i}this.pathCount=-1,this.pathIndex=-1,this.multiPath=null}},t}();i.PathGeometryCursor=x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/lang\"],function(e,r,t){function n(e){return t.clone(e)}Object.defineProperty(r,\"__esModule\",{value:!0});var o=function(){function e(e){this._geometry=e}return e.prototype.next=function(){var e=this._geometry;return this._geometry=null,e},e}();r.SimpleGeometryCursor=o,r.clone=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){function n(e){return null}function r(e){return null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getEffectOperator=n,t.getPlacementOperator=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function t(){this.setIdentity()}return t.prototype.setIdentity=function(){this.tx=0,this.ty=0,this.tz=0,this.s=1,this.rx=0,this.ry=0,this.rz=0,this.rz_c=1,this.rz_s=0},t.prototype.setTranslate=function(t,e){this.tx=t,this.ty=e},t.prototype.setTranslateZ=function(t){this.tz=t},t.prototype.setRotateCS=function(t,e){this.rz=void 0,this.rz_c=t,this.rz_s=e},t.prototype.setRotate=function(t){this.rz=t,this.rz_c=void 0,this.rz_s=void 0},t.prototype.setRotateY=function(t){this.ry=t},t.prototype.setScale=function(t){this.s=t},t.prototype.setMeasure=function(t){this.m=t},t}();e.Placement=i;var o=function(){function t(){}return t.prototype.next=function(){return null},t}();e.EmptyPlacementCursor=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/extendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Logger\",\"../../geometry/support/jsonUtils\",\"../cim/CIMEffects\",\"../cim/CIMOperators\",\"../cim/CIMPlacements\",\"./Rect\"],function(t,r,e,o,i,a,n,s,f,h){Object.defineProperty(r,\"__esModule\",{value:!0}),r.C_DEG_TO_RAD=Math.PI/180;var c=i.getLogger(\"esri.symbols.cim.CIMSymbolDrawHelper\"),l=function(){function t(t){this._t=t}return t.createIdentity=function(){return new t([1,0,0,0,1,0])},t.prototype.clone=function(){return new t(this._t.slice())},t.prototype.transform=function(t){var r=this._t;return[r[0]*t[0]+r[1]*t[1]+r[2],r[3]*t[0]+r[4]*t[1]+r[5]]},t.createScale=function(r,e){return new t([r,0,0,0,e,0])},t.prototype.scale=function(t,r){var e=this._t;return e[0]*=t,e[1]*=t,e[2]*=t,e[3]*=r,e[4]*=r,e[5]*=r,this},t.prototype.scaleRatio=function(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])},t.createTranslate=function(r,e){return new t([0,0,r,0,0,e])},t.prototype.translate=function(t,r){var e=this._t;return e[2]+=t,e[5]+=r,this},t.createRotate=function(r){var e=Math.cos(r),o=Math.sin(r);return new t([e,-o,0,o,e,0])},t.prototype.rotate=function(r){return this.multiply(t.createRotate(r))},t.prototype.multiply=function(t){var r=this._t,e=t._t,o=r[0]*e[0]+r[3]*e[1],i=r[1]*e[0]+r[4]*e[1],a=r[2]*e[0]+r[5]*e[1]+e[2],n=r[0]*e[3]+r[3]*e[4],s=r[1]*e[3]+r[4]*e[4],f=r[2]*e[3]+r[5]*e[4]+e[5];return r[0]=o,r[1]=i,r[2]=a,r[3]=n,r[4]=s,r[5]=f,this},t}();r.Transformation=l;var p=function(){function t(t){this._transfos=[],this._sizeTransfos=[],this._transfos.push(t||l.createIdentity()),this._sizeTransfos.push(t?t.scaleRatio():1)}return t.prototype.transformPt=function(t){return this._transfos[this._transfos.length-1].transform(t)},t.prototype.transformSize=function(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]},t.prototype.back=function(){return this._transfos[this._transfos.length-1]},t.prototype.push=function(t){var r=t.scaleRatio();t.multiply(this.back()),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*r)},t.prototype.pop=function(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1)},t.prototype.drawSymbol=function(t,r){if(t)switch(t.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":this.drawMultiLayerSymbol(t,r)}},t.prototype.drawMultiLayerSymbol=function(t,r){if(t){var e=t.symbolLayers;if(e){var o=t.effects;if(o){var i=this.executeEffects(o,r);if(i)for(var a=i.next();a;)this.drawSymbolLayers(e,a),a=i.next()}else this.drawSymbolLayers(e,r)}}},t.prototype.executeEffects=function(t,r){for(var e=new n.SimpleGeometryCursor(r),o=t?t.length:0,i=0;i<o;++i){var a=t[i];if(a){var f=s.getEffectOperator(a);f&&(e=f.execute(e,a,96/72))}}return e},t.prototype.drawSymbolLayers=function(t,r){for(var e=t.length;e--;){var o=t[e];if(o&&!1!==o.enable){var i=o.effects;if(i){var a=this.executeEffects(i,r);if(a)for(var n=a.next();n;)this.drawSymbolLayer(o,n),n=a.next()}else this.drawSymbolLayer(o,r)}}},t.prototype.drawSymbolLayer=function(t,r){switch(t.type){case\"CIMSolidFill\":this.drawSolidFill(r,t.color);break;case\"CIMSolidStroke\":this.drawSolidStroke(r,t.color,t.width);break;case\"CIMCharacterMarker\":case\"CIMPictureMarker\":case\"CIMVectorMarker\":this.drawMarkerLayer(t,r)}},t.prototype.drawMarkerLayer=function(t,r){var e=t.markerPlacement;if(e){var o=s.getPlacementOperator(e);if(o){var i=o.execute(r,e,96/72);if(i)for(var a=i.next();a;)this.drawMarker(t,a),a=i.next()}}else{var n=new f.Placement;n.tx=r.x,n.ty=r.y,this.drawMarker(t,n)}},t.prototype.drawMarker=function(t,r){switch(t.type){case\"CIMCharacterMarker\":case\"CIMPictureMarker\":this.drawPictureMarker(t,r);break;case\"CIMVectorMarker\":this.drawVectorMarker(t,r)}},t.prototype.drawPictureMarker=function(t,r){},t.prototype.drawVectorMarker=function(t,e){if(t){var o=t.markerGraphics;if(o){var i=t.size,a=t.frame,n=a?a.ymax-a.ymin:0,s=i&&n?i/n:1,f=l.createIdentity();a&&f.translate(.5*-(a.xmax+a.xmin),.5*-(a.ymax+a.ymin));var h=t.anchorPoint;if(h){var p=h.x,u=h.y;\"Absolute\"!==t.anchorPointUnits&&a&&(p*=a.xmax-a.xmin,u*=a.ymax-a.ymin),f.translate(-p,-u)}1!==s&&f.scale(s,s),t.rotation&&f.rotate(t.rotation*r.C_DEG_TO_RAD),f.translate(t.offsetX||0,t.offsetY||0),f.translate(e.tx,e.ty),this.push(f);for(var y=0,m=o;y<m.length;y++){var v=m[y];v&&v.symbol&&v.geometry||c.error(\"Invalid marker graphic\",v),this.drawSymbol(v.symbol,v.geometry)}this.pop()}}},t}();r.CIMSymbolDrawHelper=p;var u=function(t){function r(){var r=t.call(this)||this;return r.reset(),r}return e(r,t),r.prototype.reset=function(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0},r.prototype.envelope=function(){return new h.default(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)},r.prototype._merge=function(t,r){t[0]-r<this._xmin&&(this._xmin=t[0]-r),t[0]+r>this._xmax&&(this._xmax=t[0]+r),t[1]-r<this._ymin&&(this._ymin=t[1]-r),t[1]+r>this._ymax&&(this._ymax=t[1]+r)},r.prototype.drawSolidFill=function(t){if(t&&t.rings)for(var r=0,e=t.rings;r<e.length;r++){var o=e[r],i=o?o.length:0;if(i>2){this._merge(this.transformPt(o[0]),0);for(var a=1;a<i;++a)this._merge(this.transformPt(o[a]),0)}}},r.prototype.drawSolidStroke=function(t,r,e){var o,i=.5*this.transformSize(e);if(o=a.isPolygon(t)?t.rings:t.paths)for(var n=0,s=o;n<s.length;n++){var f=s[n],h=f?f.length:0;if(h>1){this._merge(this.transformPt(f[0]),i);for(var c=1;c<h;++c)this._merge(this.transformPt(f[c]),i)}}},r}(p);r.EnvDrawHelper=u;var y=function(t){function r(r,e){var o=t.call(this,e)||this;return o._ctx=r,o}return e(r,t),r.prototype.drawSolidFill=function(t,r){if(t&&t.rings){var e=this._ctx;e.fillStyle=\"string\"==typeof r?r:\"rgba(\"+Math.round(r[0])+\",\"+Math.round(r[1])+\",\"+Math.round(r[2])+\",\"+r[3]/255+\")\",e.beginPath();for(var o=0,i=t.rings;o<i.length;o++){var a=i[o],n=a?a.length:0;if(n>2){var s=this.transformPt(a[0]);e.moveTo(s[0],s[1]);for(var f=1;f<n;++f)s=this.transformPt(a[f]),e.lineTo(s[0],s[1]);e.closePath()}}e.fill(\"evenodd\")}},r.prototype.drawSolidStroke=function(t,r,e){var o=this._ctx;o.strokeStyle=\"string\"==typeof r?r:\"rgba(\"+Math.round(r[0])+\",\"+Math.round(r[1])+\",\"+Math.round(r[2])+\",\"+r[3]/255+\")\",o.lineWidth=this.transformSize(e)+.5,o.beginPath();var i,n=!1;a.isPolygon(t)?(i=t.rings,n=!0):i=t.paths;for(var s=0,f=i;s<f.length;s++){var h=f[s],c=h?h.length:0;if(c>1){var l=this.transformPt(h[0]);o.moveTo(l[0],l[1]);for(var p=1;p<c;++p)l=this.transformPt(h[p]),o.lineTo(l[0],l[1]);n&&o.closePath()}}o.stroke()},r}(p);r.CanvasDrawHelper=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\",\"../../core/Logger\",\"../../geometry/support/jsonUtils\",\"../cim/CIMCursor\",\"../cim/CIMEffects\",\"../cim/CIMOperators\",\"../cim/CIMPlacements\",\"./CIMSymbolDrawHelper\",\"./packingUtils\"],function(e,r,a,t,i,o,s,n,l,c,f){function m(e,r){switch(r.type){case\"CIMSymbolReference\":var a={type:\"point\",x:0,y:0};e.drawSymbol(r.symbol,a);break;case\"CIMPointSymbol\":var a={type:\"point\",x:0,y:0};e.drawSymbol(r,a);break;case\"CIMTextSymbol\":break;case\"CIMVectorMarker\":var t=new l.Placement;e.drawMarker(r,t)}return e.envelope()}Object.defineProperty(r,\"__esModule\",{value:!0});var y=Math.PI,h=y/2,v=t.getLogger(\"esri.symbols.cim.CIMSymbolHelper\"),S=function(){function e(){}return e.getEnvelope=function(e){var r=new c.EnvDrawHelper;if(Array.isArray(e)){for(var a=void 0,t=0,i=e;t<i.length;t++){var o=i[t];a?a.union(m(r,o)):a=m(r,o)}return a}return m(r,e)},e.getTextureAnchor=function(e){var r=this.getEnvelope(e);if(!r||r.width<=0||r.height<=0)return[0,0];var a=(r.x+.5*r.width)*(96/72),t=-(r.y+.5*r.height)*(96/72);return[a/(r.width*(96/72)+2),t/(r.height*(96/72)+2)]},e.rasterize=function(e,r,a){void 0===a&&(a=!0);var t=this.getEnvelope(r);if(!t||t.width<=0||t.height<=0)return[null,0,0,0,0];var i=(t.x+.5*t.width)*(96/72),o=(t.y+.5*t.height)*(96/72);e.width=t.width*(96/72)+2,e.height=t.height*(96/72)+2;var s=e.getContext(\"2d\"),n=c.Transformation.createScale(96/72,-96/72);n.translate(.5*e.width-i,.5*e.height+o);var f=new c.CanvasDrawHelper(s,n);switch(r.type){case\"CIMPointSymbol\":var m={type:\"point\",x:0,y:0};f.drawSymbol(r,m);break;case\"CIMVectorMarker\":var y=new l.Placement;f.drawMarker(r,y)}var h=s.getImageData(0,0,e.width,e.height),v=new Uint8Array(h.data);if(a)for(var S=void 0,p=0;p<v.length;p+=4)S=v[p+3]/255,v[p]=v[p]*S,v[p+1]=v[p+1]*S,v[p+2]=v[p+2]*S;return[v,e.width,e.height,-i/e.width,-o/e.height]},e.fromSimpleMarker=function(e){var r,a,t=e.style;if(\"circle\"===t||\"esriSMSCircle\"===t){var i=Math.acos(.995),o=Math.ceil(y/i/4);0===o&&(o=1),i=h/o,o*=4;var s=[];s.push([50,0]);for(var n=1;n<o;n++)s.push([50*Math.cos(n*i),-50*Math.sin(n*i)]);s.push([50,0]),r={rings:[s]},a={xmin:-50,ymin:-50,xmax:50,ymax:50}}else if(\"cross\"===t||\"esriSMSCross\"===t){var l=0;r={rings:[[[l,50],[l,l],[50,l],[50,-l],[l,-l],[l,-50],[-l,-50],[-l,-l],[-50,-l],[-50,l],[-l,l],[-l,50],[l,50]]]},a={xmin:-50,ymin:-50,xmax:50,ymax:50}}else if(\"diamond\"===t||\"esriSMSDiamond\"===t)r={rings:[[[-50,0],[0,50],[50,0],[0,-50],[-50,0]]]},a={xmin:-50,ymin:-50,xmax:50,ymax:50};else if(\"square\"===t||\"esriSMSSquare\"===t)r={rings:[[[-50,-50],[-50,50],[50,50],[50,-50],[-50,-50]]]},a={xmin:-50,ymin:-50,xmax:50,ymax:50};else if(\"x\"===t||\"esriSMSX\"===t){var l=0;r={rings:[[[0,l],[50-l,50],[50,50-l],[l,0],[50,l-50],[50-l,-50],[0,-l],[l-50,-50],[-50,l-50],[-l,0],[-50,50-l],[l-50,50],[0,l]]]},a={xmin:-50,ymin:-50,xmax:50,ymax:50}}else if(\"triangle\"===t||\"esriSMSTriangle\"===t){var c=57.735026918962575,f=-c,m=2/3*100-100;r={rings:[[[f,m],[0,2/3*100],[c,m],[f,m]]]},a={xmin:f,ymin:m,xmax:c,ymax:2/3*100}}var v;if(r&&a){var S=[{type:\"CIMSolidFill\",enable:!0,color:e.color}];e.outline&&S.push({type:\"CIMSolidStroke\",enable:!0,width:e.outline.width,color:e.outline.color});var p={type:\"CIMPolygonSymbol\",symbolLayers:S};v={type:\"CIMPointSymbol\",symbolLayers:[{type:\"CIMVectorMarker\",enable:!0,rotation:e.angle,size:e.size,offsetX:e.xoffset,offsetY:e.yoffset,frame:a,markerGraphics:[{type:\"CIMMarkerGraphic\",geometry:r,symbol:p}]}]}}return v},e.getFillColor=function(r){if(!r)return null;switch(r.type){case\"CIMPolygonSymbol\":if(r.symbolLayers)for(var a=0,t=r.symbolLayers;a<t.length;a++){var i=t[a],o=e.getFillColor(i);if(null!=o)return o}break;case\"CIMTextSymbol\":return e.getFillColor(r.symbol);case\"CIMSolidFill\":return r.color}},e.getStrokeColor=function(r){if(r)switch(r.type){case\"CIMPolygonSymbol\":case\"CIMLineSymbol\":if(r.symbolLayers)for(var a=0,t=r.symbolLayers;a<t.length;a++){var i=t[a],o=e.getStrokeColor(i);if(void 0!==o)return o}break;case\"CIMTextSymbol\":return e.getStrokeColor(r.symbol);case\"CIMSolidStroke\":return r.color}},e.getStrokeWidth=function(r){if(r)switch(r.type){case\"CIMPolygonSymbol\":case\"CIMLineSymbol\":if(r.symbolLayers)for(var a=0,t=r.symbolLayers;a<t.length;a++){var i=t[a],o=e.getStrokeWidth(i);if(void 0!==o)return o}break;case\"CIMTextSymbol\":return e.getStrokeWidth(r.symbol);case\"CIMSolidStroke\":case\"CIMGradientStroke\":case\"CIMPictureStroke\":return r.width}},e.getSize=function(r){if(r)switch(r.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":var a=0;if(r.symbolLayers)for(var t=0,i=r.symbolLayers;t<i.length;t++){var o=i[t],s=e.getSize(o);s>a&&(a=s)}return a;case\"CIMSolidStroke\":case\"CIMPictureStroke\":case\"CIMGradientStroke\":return r.width;case\"CIMCharacterMarker\":case\"CIMPictureMarker\":case\"CIMVectorMarker\":return r.size}},e.getMarkerScaleRatio=function(e){if(e)switch(e.type){case\"CIMVectorMarker\":if(!1!==e.scaleSymbolsProportionally&&e.frame){var r=e.frame.ymax-e.frame.ymin;return e.size/r}}return 1},e.executeEffects=function(e,r,a){void 0===a&&(a=!1);var t=e?e.length:0;t&&a&&--t;for(var i=0;i<t;++i){var o=e[i];if(o){var s=n.getEffectOperator(o);s&&(r=s.execute(r,o,96/72))}}return r},e.processEffects=function(r,a,t){var n;if(r.effects&&r.effects.length>0){var l=o.deltaEncodeGeometry(t);n=new s.SimpleGeometryCursor(l),n=e.executeEffects(r.effects,n)}var c=r.symbolLayers[a];if(c.effects&&c.effects.length>0){var f=!1;if(\"CIMGeometricEffectDashes\"===c.effects[c.effects.length-1].type&&(f=!0),!n){var l=o.deltaEncodeGeometry(t);n=new s.SimpleGeometryCursor(l)}n=e.executeEffects(c.effects,n,f)}if(!n)return t;for(var m=[],y=n.next();y;)m.push(y),y=n.next();var h=m.length;switch(h){case 0:return null;case 1:return o.deltaEncodeGeometry(m[0]);default:for(var v=m[0],S=1;S<h;++S){var p=m[S];i.isPolygon(v)&&i.isPolygon(p)&&Array.prototype.push.apply(v.rings,p.rings),i.isPolyline(v)&&i.isPolyline(p)&&Array.prototype.push.apply(v.paths,p.paths)}return o.deltaEncodeGeometry(v)}},e}();r.CIMSymbolHelper=S;var p=function(){function e(){}return e.rasterizeSimpleFill=function(e,r){\"solid\"!==r&&\"none\"!==r&&\"esriSFSSolid\"!==r&&\"esriSFSNull\"!==r||console.error(\"Unexpected: style does not require rasterization\");e.width=8,e.height=8;var a=e.getContext(\"2d\");a.strokeStyle=\"#FFFFFF\",a.lineWidth=1,a.beginPath(),\"vertical\"!==r&&\"cross\"!==r&&\"esriSFSCross\"!==r&&\"esriSFSVertical\"!==r||(a.moveTo(0,0),a.lineTo(0,8)),\"horizontal\"!==r&&\"cross\"!==r&&\"esriSFSCross\"!==r&&\"esriSFSHorizontal\"!==r||(a.moveTo(0,0),a.lineTo(8,0)),\"forward-diagonal\"!==r&&\"diagonal-cross\"!==r&&\"esriSFSDiagonalCross\"!==r&&\"esriSFSForwardDiagonal\"!==r||(a.moveTo(0,0),a.lineTo(8,8)),\"backward-diagonal\"!==r&&\"diagonal-cross\"!==r&&\"esriSFSBackwardDiagonal\"!==r&&\"esriSFSDiagonalCross\"!==r||(a.moveTo(8,0),a.lineTo(0,8)),a.stroke();for(var t,i=a.getImageData(0,0,e.width,e.height),o=new Uint8Array(i.data),s=0;s<o.length;s+=4)t=o[s+3]/255,o[s]=o[s]*t,o[s+1]=o[s+1]*t,o[s+2]=o[s+2]*t;return[o,e.width,e.height]},e.rasterizeSimpleLine=function(e,r){var a;switch(r){case\"butt\":a=\"Butt\";break;case\"square\":a=\"Square\";break;default:a=\"Round\"}var t,i=\"Butt\"===a;switch(e){case\"dash\":case\"esriSLSDash\":t=i?[4,3]:[3,4];break;case\"dash-dot\":case\"esriSLSDashDot\":t=i?[4,3,1,3]:[3,4,0,4];break;case\"dot\":case\"esriSLSDot\":t=i?[1,3]:[0,4];break;case\"long-dash\":case\"esriSLSLongDash\":t=i?[8,3]:[7,4];break;case\"long-dash-dot\":case\"esriSLSLongDashDot\":t=i?[8,3,1,3]:[7,4,0,4];break;case\"long-dash-dot-dot\":case\"esriSLSDashDotDot\":t=i?[8,3,1,3,1,3]:[7,4,0,4,0,4];break;case\"short-dash\":case\"esriSLSShortDash\":t=i?[4,1]:[3,2];break;case\"short-dash-dot\":case\"esriSLSShortDashDot\":t=i?[4,1,1,1]:[3,2,0,2];break;case\"short-dash-dot-dot\":case\"esriSLSShortDashDotDot\":t=i?[4,1,1,1,1,1]:[3,2,0,2,0,2];break;case\"short-dot\":case\"esriSLSShortDot\":t=i?[1,1]:[0,2];break;case\"solid\":case\"esriSLSSolid\":case\"none\":v.error(\"Unexpected: style does not require rasterization\"),t=[0,0];break;default:v.error(\"Tried to rasterize SLS, but found an unexpected style: \"+e+\"!\"),t=[0,0]}return this.rasterizeDash(t,a)},e.rasterizeDash=function(e,r){for(var a=\"Butt\"===r,t=\"Square\"===r,i=!a&&!t,o=0,s=0,n=e;s<n.length;s++){var l=n[s];o+=l}for(var c=15*o,m=31*c,y=new Float32Array(m),h=i?225:15,v=0;v<m;++v)y[v]=h;for(var S=0,p=0,u=!0,d=0,M=e;d<M.length;d++){var l=M[d];S=p,p+=15*l;for(var g=S;g<p;){for(var b=0;b<31;){var v=b*c+g,C=i?(b-15)*(b-15):Math.abs(b-15);y[v]=u?a?Math.max(Math.max(S+7.5-g,C),Math.max(g-p+7.5,C)):C:i?Math.min((g-S)*(g-S)+C,(g-p)*(g-p)+C):t?Math.min(Math.max(g-S,C),Math.max(p-g,C)):Math.min(Math.max(g-S+7.5,C),Math.max(p+7.5-g,C)),b++}g++}u=!u}for(var k=y.length,I=new Uint8Array(4*k),v=0;v<k;++v){var x=(i?Math.sqrt(y[v]):y[v])/15;f.packFloatRGBA(x,I,4*v)}return[I,c,31]},e}();r.SymbolHelper=p;var u=function(){function e(){}return e.findApplicableOverrides=function(r,a,t){if(a){if(r.primitiveName){for(var i=!1,o=0,s=t;o<s.length;o++){var n=s[o];if(n.primitiveName===r.primitiveName){i=!0;break}}if(!i)for(var l=0,c=a;l<c.length;l++){var n=c[l];n.primitiveName===r.primitiveName&&t.push(n)}}switch(r.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":if(r.effects)for(var f=0,m=r.effects;f<m.length;f++){var y=m[f];e.findApplicableOverrides(y,a,t)}if(r.symbolLayers)for(var h=0,v=r.symbolLayers;h<v.length;h++){var S=v[h];e.findApplicableOverrides(S,a,t)}break;case\"CIMTextSymbol\":break;case\"CIMSolidStroke\":case\"CIMPictureStroke\":case\"CIMGradientStroke\":case\"CIMSolidFill\":case\"CIMPictureFill\":case\"CIMHatchFill\":case\"CIMGradientFill\":case\"CIMVectorMarker\":case\"CIMCharacterMarker\":case\"CIMPictureMarker\":if(r.effects)for(var p=0,u=r.effects;p<u.length;p++){var y=u[p];e.findApplicableOverrides(y,a,t)}if(r.markerPlacement&&e.findApplicableOverrides(r.markerPlacement,a,t),\"CIMVectorMarker\"===r.type){if(r.markerGraphics)for(var d=0,M=r.markerGraphics;d<M.length;d++){var g=M[d];e.findApplicableOverrides(g,a,t),e.findApplicableOverrides(g.symbol,a,t)}}else\"CIMCharacterMarker\"===r.type?e.findApplicableOverrides(r.symbol,a,t):\"CIMHatchFill\"===r.type&&e.findApplicableOverrides(r.lineSymbol,a,t)}}},e.applyOverrides=function(r,a,t,i){if(a){if(r.primitiveName)for(var o=0,s=a;o<s.length;o++){var n=s[o];if(n.primitiveName===r.primitiveName){var l=function(e){return e?e.charAt(0).toLowerCase()+e.substr(1):e}(n.propertyName);if(i&&i.push({cim:r,nocapPropertyName:l,value:r[l]}),n.expression&&(n.value=e.toValue(n.propertyName,n.expression)),t){for(var c=!1,f=0,m=t;f<m.length;f++){var y=m[f];y.primitiveName===r.primitiveName&&(c=!0)}c||t.push(n)}r[l]=n.value}}switch(r.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":if(r.effects)for(var h=0,v=r.effects;h<v.length;h++){var S=v[h];e.applyOverrides(S,a,t,i)}if(r.symbolLayers)for(var p=0,u=r.symbolLayers;p<u.length;p++){var d=u[p];e.applyOverrides(d,a,t,i)}break;case\"CIMTextSymbol\":break;case\"CIMSolidStroke\":case\"CIMSolidFill\":case\"CIMVectorMarker\":if(r.effects)for(var M=0,g=r.effects;M<g.length;M++){var S=g[M];e.applyOverrides(S,a,t,i)}if(\"CIMVectorMarker\"===r.type&&r.markerGraphics)for(var b=0,C=r.markerGraphics;b<C.length;b++){var k=C[b];e.applyOverrides(k,a,t,i),e.applyOverrides(k.symbol,a,t,i)}}}},e.restoreOverrides=function(e){for(var r=0,a=e;r<a.length;r++){var t=a[r];t.cim[t.nocapPropertyName]=t.value}},e.buildOverrideKey=function(e){for(var r=\"\",a=0,t=e;a<t.length;a++){var i=t[a];void 0!==i.value&&(r+=\"\"+i.primitiveName+i.propertyName+JSON.stringify(i.value))}return r},e.toValue=function(e,r){if(\"DashTemplate\"===e)return r.split(\" \").map(function(e){return Number(e)});if(\"Color\"===e){var t=new a(r).toRgba();return t[3]*=255,t}return r},e}();r.OverrideHelper=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../request\",\"../../core/promiseUtils\",\"../../core/screenUtils\",\"../../geometry/support/jsonUtils\",\"./cimAnalyzer\",\"./Rasterizer\",\"./TextRasterizer\",\"./utils\",\"../support/cimSymbolUtils\",\"../support/Symbol3DAnchorPosition2D\"],function(e,t,a,r,i,n,o,s,l,c,u,h,p,m){function g(e,t,a){return{geometryType:t,spatialReference:a,fields:(e?Object.keys(e):[]).map(function(t){return{name:t,alias:t,type:\"string\"==typeof e[t]?\"esriFieldTypeString\":\"esriFieldTypeDouble\"}})}}return function(){function e(e,t){this._spatialReference=e,this._avoidSDF=t,this._resourceCache=new Map,this._rasterizer=new c.default,this._textRasterizer=new u.default,this._pictureMarkerCache=new Map}return e.prototype.rasterizeCIMSymbolAsync=function(e,t,i,o,c,u){return r(this,void 0,void 0,function(){var r,h,m,f,v,d,y,z,b,_;return a(this,function(a){switch(a.label){case 0:return[4,p.expandSymbol(e)];case 1:return r=a.sent(),h=[],t?(f=null!==t.centroid?\"esriGeometryPolygon\":s.getJsonType(t.geometry),m=g(t.attributes,f,this._spatialReference)):(r=r.clone(),r.data.primitiveOverrides=[],m=null),v=[],v.push(l.analyzeCIMSymbol(r.data,i,m,h,this._avoidSDF)),[4,n.all(v)];case 2:a.sent(),d=[],y=0,z=h,a.label=3;case 3:return y<z.length?(b=z[y],\"CIMPictureMarker\"!==b.cim.type?[3,5]:[4,this.fetchPictureMarkerResource(b)]):[3,7];case 4:a.sent(),a.label=5;case 5:_=this._getRasterizedResource(b,t,o,c,u),null!=_&&d.push({cimLayer:b,rasterizedResource:_}),a.label=6;case 6:return y++,[3,3];case 7:return[2,this.getSymbolImage(d,t,o,c,u)]}})})},e.prototype.analyzeCIMSymbol=function(e,t,i,o,s){return r(this,void 0,void 0,function(){var r,c,u,h,m,f;return a(this,function(a){switch(a.label){case 0:return[4,p.expandSymbol(e,s)];case 1:return r=a.sent(),c=[],t?u=g(t,o,this._spatialReference):(r=r.clone(),r.data.primitiveOverrides=[],u=null),h=[],h.push(l.analyzeCIMSymbol(r.data,i,u,c,this._avoidSDF)),[4,n.all(h)];case 2:a.sent(),n.throwIfAborted(s),m=0,a.label=3;case 3:return m<c.length?(f=c[m],\"CIMPictureMarker\"!==f.cim.type?[3,5]:[4,this.fetchPictureMarkerResource(f,s)]):[3,6];case 4:a.sent(),a.label=5;case 5:return m++,[3,3];case 6:return[2,c]}})})},e.prototype.fetchPictureMarkerResource=function(e,t){return r(this,void 0,void 0,function(){var r,n,o;return a(this,function(a){switch(a.label){case 0:return r=e.materialHash,this._pictureMarkerCache.get(r)?[3,2]:[4,i(e.cim.url,{responseType:\"image\",signal:t.signal})];case 1:n=a.sent(),o=n.data,this._pictureMarkerCache.set(r,o),a.label=2;case 2:return[2]}})})},e.prototype.rasterizeCIMSymbol=function(e,t,a,r,i){for(var n=[],o=0,s=e;o<s.length;o++){var l=s[o];!a||\"function\"!=typeof a.scaleFactor||\"marker\"!==l.type&&\"text\"!==l.type||(a.scaleFactor=a.scaleFactor(t,r,i));var c=this._getRasterizedResource(l,t,a,r,i);null!=c&&n.push({cimLayer:l,rasterizedResource:c})}return this.getSymbolImage(n,t,a,r,i)},e.prototype.getSymbolImage=function(e,t,a,r,i){for(var n=document.createElement(\"canvas\"),s=n.getContext(\"2d\"),l=0,c=0,u=0,p=0,g=[],f=0;f<e.length;f++){var v=e[f],d=v.rasterizedResource;if(d){var y=v.cimLayer;if(\"line\"!==y.type&&\"fill\"!==y.type){var z=a.targetSize?a.targetSize/y.referenceSize:a.scaleFactor?a.scaleFactor:1,b=d.size,_=h.evaluateValueOrFunction(y.offsetX,t,r,i)*z,C=h.evaluateValueOrFunction(y.offsetY,t,r,i)*z;_=_||0,C=C||0;var F=v.rasterizedResource.anchorX,S=v.rasterizedResource.anchorY,x=!1,w=y.type,M=void 0;if(\"marker\"===y.type&&(M=h.evaluateValueOrFunction(y.rotation,t,r,i),x=!!y.rotateClockwise&&y.rotateClockwise),\"text\"===y.type){if(M=h.evaluateValueOrFunction(y.angle,t,r,i),void 0!==y.horizontalAlignment)switch(y.horizontalAlignment){case\"left\":F=-.5;break;case\"right\":F=.5;break;default:F=0}if(void 0!==y.verticalAlignment)switch(y.verticalAlignment){case\"top\":S=.5;break;case\"bottom\":S=-.5;break;case\"baseline\":S=-.25;break;default:S=0}}var I=o.pt2px(_)-b[0]*(.5+F),R=o.pt2px(C)-b[1]*(.5+S),O=I+b[0],k=R+b[1];if(M){x&&(M=-M);var D=Math.sin(M*Math.PI/180),A=Math.cos(M*Math.PI/180),P=I*A-R*D,V=I*D+R*A,T=I*A-k*D,X=I*D+k*A,Y=O*A-k*D,H=O*D+k*A,U=O*A-R*D,E=O*D+R*A;I=Math.min(P,T,Y,U),R=Math.min(V,X,H,E),O=Math.max(P,T,Y,U),k=Math.max(V,X,H,E)}l=I<l?I:l,c=R<c?R:c,u=O>u?O:u,p=k>p?k:p;var J=s.createImageData(d.size[0],d.size[1]);J.data.set(new Uint8ClampedArray(d.image.buffer));var L=J,N={offsetX:_,offsetY:C,rotateClockwise:x,type:w,angle:M,rasterizedImage:L,anchorX:F,anchorY:S};g.push(N)}}}n.width=u-l,n.height=p-c;for(var j=-l,q=p,f=0;f<g.length;f++){var N=g[f],G=this._imageDataToCanvas(N.rasterizedImage),B=N.rasterizedImage.width,K=N.rasterizedImage.height,Q=j-B*(.5+N.anchorX),W=q-K*(.5-N.anchorY);if(N.angle){var Z=(360-N.angle)*Math.PI/180;s.save(),s.translate(o.pt2px(N.offsetX),-o.pt2px(N.offsetY)),s.translate(j,q),s.rotate(Z),s.translate(-j,-q),s.drawImage(G,Q,W),s.restore()}else s.drawImage(G,Q+o.pt2px(N.offsetX),W-o.pt2px(N.offsetY))}var $=new m.default({x:j/n.width-.5,y:q/n.height-.5});return{imageData:s.getImageData(0,0,n.width,n.height),anchorPosition:$}},e.prototype._imageDataToCanvas=function(e){this._imageDataCanvas||(this._imageDataCanvas=document.createElement(\"canvas\"));var t=this._imageDataCanvas,a=t.getContext(\"2d\");return t.width=e.width,t.height=e.height,a.putImageData(e,0,0),t},e.prototype._imageTo32Array=function(e,t,a){this._imageDataCanvas||(this._imageDataCanvas=document.createElement(\"canvas\"));var r=this._imageDataCanvas,i=r.getContext(\"2d\");return r.width=t,r.height=a,i.drawImage(e,0,0,t,a),new Uint32Array(i.getImageData(0,0,t,a).data.buffer)},e.prototype._getRasterizedResource=function(e,t,a,r,i){var n,s;if(\"text\"===e.type)n=e.cim,s=this._rasterizeTextResource(e,t,a,r,i);else{var c=this._resourceCache,u=void 0;if(\"function\"==typeof e.materialHash){u=(0,e.materialHash)(t,r,i),n=l.analyzeCIMResource(e.cim,e.materialOverrides)}else u=e.materialHash,a&&(u+=JSON.stringify(a)),n=e.cim;if(c.has(u))return c.get(u);var p=a.targetSize?a.targetSize/e.referenceSize:a.scaleFactor?a.scaleFactor:1;if(n.size*=p,\"CIMPictureMarker\"===e.cim.type){var m=h.evaluateValueOrFunction(e.cim.size,t,r,i)*p,g=this._pictureMarkerCache.get(e.materialHash);if(!g)return null;var f=g.height/g.width,v=f>1?o.pt2px(m):o.pt2px(m)/f,d=f>1?o.pt2px(m)*f:o.pt2px(m);s={image:this._imageTo32Array(g,v,d),size:[v,d],sdf:!1,simplePattern:!1,anchorX:e.anchorPoint?e.anchorPoint.x:0,anchorY:e.anchorPoint?e.anchorPoint.y:0}}else s=this._rasterizer.rasterizeJSONResource(n,this._avoidSDF);c.set(u,s)}return s},e.prototype._rasterizeTextResource=function(e,t,a,r,i){var n=a.targetSize?a.targetSize/e.referenceSize:a.scaleFactor?a.scaleFactor:1,o=h.evaluateValueOrFunction(e.text,t,r,i);if(!o||0===o.length)return null;var s=h.evaluateValueOrFunction(e.fontName,t,r,i),l=h.evaluateValueOrFunction(e.style,t,r,i),c=h.evaluateValueOrFunction(e.weight,t,r,i),u=h.evaluateValueOrFunction(e.decoration,t,r,i),p=h.evaluateValueOrFunction(e.size,t,r,i)*n,m=h.evaluateValueOrFunction(e.horizontalAlignment,t,r,i),g=h.evaluateValueOrFunction(e.verticalAlignment,t,r,i),f=h.colorToArray(h.evaluateValueOrFunction(e.color,t,r,i)),v=h.colorToArray(h.evaluateValueOrFunction(e.outlineColor,t,r,i)),d=h.evaluateValueOrFunction(e.outlineSize,t,r,i),y={color:f,size:p,horizontalAlignment:m,verticalAlignment:g,font:{family:s,style:l,weight:c,decoration:u},halo:{size:d||0,color:v,style:l},pixelRatio:1,premultiplyColors:!this._avoidSDF};return this._textRasterizer.rasterizeText(o,y)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./CIMSymbolHelper\",\"./SDFHelper\",\"./utils\"],function(e,r,t,a,i){Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(){function e(){}return e.prototype.dispose=function(){this._rasterizationCanvas=null},e.prototype.rasterizeJSONResource=function(e,r){if(this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement(\"canvas\")),\"simple-fill\"===e.type||\"esriSFS\"===e.type){var i=t.SymbolHelper.rasterizeSimpleFill(this._rasterizationCanvas,e.style),n=i[0];return{size:[i[1],i[2]],image:new Uint32Array(n.buffer),sdf:!1,simplePattern:!0,anchorX:0,anchorY:0}}if(\"simple-line\"===e.type||\"esriSLS\"===e.type){var o=t.SymbolHelper.rasterizeSimpleLine(e.style,e.cap),s=o[0];return{size:[o[1],o[2]],image:new Uint32Array(s.buffer),sdf:!0,simplePattern:!0,anchorX:0,anchorY:0}}var l,h;if(\"simple-marker\"===e.type||\"esriSMS\"===e.type?(l=t.CIMSymbolHelper.fromSimpleMarker(e),h=a.getSDFInfo(l)):(l=e,h=a.getSDFInfo(l)),h&&!r){var f=a.buildSDF(h),p=f[0],u=f[1],m=f[2];return p?{size:[u,m],image:new Uint32Array(p.buffer),sdf:!0,simplePattern:!0,anchorX:0,anchorY:0}:null}var d=t.CIMSymbolHelper.rasterize(this._rasterizationCanvas,l,!r),v=d[0],c=d[1],y=d[2],g=d[3],C=d[4];return v?{size:[c,y],image:new Uint32Array(v.buffer),sdf:!1,simplePattern:!1,anchorX:g,anchorY:C}:null},e.prototype.rasterizeImageResource=function(e,r){this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement(\"canvas\"));var t=e;this._rasterizationCanvas.width=t.width,this._rasterizationCanvas.height=t.height;var a=this._rasterizationCanvas.getContext(\"2d\");a.drawImage(t,0,0,t.width,t.height);var n=a.getImageData(0,0,t.width,t.height),o=new Uint8Array(n.data);if(r)for(var s=0,l=r;s<l.length;s++){var h=l[s];if(h&&h.oldColor&&4===h.oldColor.length&&h.newColor&&4===h.newColor.length){var f=h.oldColor,p=f[0],u=f[1],m=f[2],d=f[3],v=h.newColor,c=v[0],y=v[1],g=v[2],C=v[3];if(p===c&&u===y&&m===g&&d===C)continue;for(var z=0;z<o.length;z+=4)p===o[z]&&u===o[z+1]&&m===o[z+2]&&d===o[z+3]&&(o[z]=c,o[z+1]=y,o[z+2]=g,o[z+3]=C)}}for(var w,z=0;z<o.length;z+=4)w=o[z+3]/255,o[z]=o[z]*w,o[z+1]=o[z+1]*w,o[z+2]=o[z+2]*w;var S=t.width,b=t.height,_=o;if(S>=512||b>=512){var A=t.width/t.height;A>1?(S=512,b=Math.round(512/A)):(b=512,S=Math.round(512*A)),_=new Uint8Array(4*S*b),i.resampleHermite(o,t.width,t.height,new Uint8ClampedArray(_.buffer),S,b,!1)}return{size:[S,b],image:new Uint32Array(_.buffer),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0}},e}();r.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,i){Object.defineProperty(i,\"__esModule\",{value:!0});var h=function(){function t(t,i,h,e){void 0===t&&(t=0),void 0===i&&(i=0),void 0===h&&(h=0),void 0===e&&(e=0),this.x=t,this.y=i,this.width=h,this.height=e}return Object.defineProperty(t.prototype,\"isEmpty\",{get:function(){return this.width<=0||this.height<=0},enumerable:!0,configurable:!0}),t.prototype.union=function(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.width=Math.max(this.width,t.width),this.height=Math.max(this.height,t.height)},t}();i.default=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../geometry/support/jsonUtils\",\"./packingUtils\",\"./Rect\"],function(r,n,a,t,o){function e(r){if(!r)return null;switch(r.type){case\"CIMPointSymbol\":var n=r.symbolLayers;return n&&1===n.length?e(n[0]):null;case\"CIMVectorMarker\":var a=r.markerGraphics;if(!a||1!==a.length)return null;var t=a[0];if(!t)return null;var o=t.geometry;if(!o)return null;var i=t.symbol;return!i||\"CIMPolygonSymbol\"!==i.type&&\"CIMLineSymbol\"!==i.type?null:{geom:o,asFill:\"CIMPolygonSymbol\"===i.type};case\"sdf\":return{geom:r.geom,asFill:r.asFill}}return null}function i(r){var n=r.markerGraphics;if(!n||1!==n.length)return null;var a=n[0];if(!a)return null;var t=a.symbol;return!t||\"CIMPolygonSymbol\"!==t.type&&\"CIMLineSymbol\"!==t.type?null:t}function l(r){return r?r.rings?r.rings:r.paths?r.paths:void 0!==r.xmin&&void 0!==r.ymin&&void 0!==r.xmax&&void 0!==r.ymax?[[[r.xmin,r.ymin],[r.xmin,r.ymax],[r.xmax,r.ymax],[r.xmax,r.ymin],[r.xmin,r.ymin]]]:null:null}function v(r){for(var n=1/0,a=-1/0,t=1/0,e=-1/0,i=0,l=r;i<l.length;i++)for(var v=l[i],f=0,u=v;f<u.length;f++){var m=u[f];m[0]<n&&(n=m[0]),m[0]>a&&(a=m[0]),m[1]<t&&(t=m[1]),m[1]>e&&(e=m[1])}return new o.default(n,t,a-n,e-t)}function f(r){for(var n=1/0,a=-1/0,t=1/0,o=-1/0,e=0,i=r;e<i.length;e++)for(var l=i[e],v=0,f=l;v<f.length;v++){var u=f[v];u[0]<n&&(n=u[0]),u[0]>a&&(a=u[0]),u[1]<t&&(t=u[1]),u[1]>o&&(o=u[1])}return[n,t,a,o]}function u(r){return r?r.rings?f(r.rings):r.paths?f(r.paths):a.isExtent(r)?[r.xmin,r.ymin,r.xmax,r.ymax]:null:null}function m(r,n,a,t,o){var e=r[0],i=r[1],l=r[2],v=r[3];if(l<e||v<i)return[0,0,0];var f=l-e,u=v-i,m=Math.floor(31.5),h=128-2*(m+1),y=Math.max(f,u),x=h/y,s=Math.round(f*x),g=Math.round(u*x),M=s+2*m,d=g+2*m,c=1;if(n){c=d/x/(n.ymax-n.ymin)}var p=0,b=0;if(t)if(o){if(n&&a&&n.ymax-n.ymin>0){var S=(n.xmax-n.xmin)/(n.ymax-n.ymin);p=t.x/(a*S),b=t.y/a}}else p=t.x,b=t.y;return p=.5*(n.xmax+n.xmin)+p*(n.xmax-n.xmin),b=.5*(n.ymax+n.ymin)+b*(n.ymax-n.ymin),p-=e,b-=i,p*=x,b*=x,p+=m,b+=m,[c,p/M-.5,-(b/d-.5)]}function h(r){for(var n=l(r.geom),a=v(n),t=Math.floor(31.5),o=128-2*(t+1),e=Math.max(a.width,a.height),i=o/e,f=Math.round(a.width*i),u=Math.round(a.height*i),m=f+2*t,h=u+2*t,g=[],M=0,d=n;M<d.length;M++){var c=d[M];if(c&&c.length>1){for(var p=[],b=0,S=c;b<S.length;b++){var F=S[b],I=F[0],C=F[1];I-=a.x,C-=a.y,I*=i,C*=i,I+=t-.5,C+=t-.5,p.push([I,C])}if(r.asFill){var w=p.length-1;p[0][0]===p[w][0]&&p[0][1]===p[w][1]||p.push(p[0])}g.push(p)}}var k=y(g,m,h,t);return r.asFill&&x(g,m,h,t,k),[s(k,t),m,h]}function y(r,n,a,t){for(var o=n*a,e=new Array(o),i=t*t+1,l=0;l<o;++l)e[l]=i;for(var v=0,f=r;v<f.length;v++)for(var u=f[v],m=u.length,l=1;l<m;++l){var h=u[l-1],y=u[l],x=void 0,s=void 0;h[0]<y[0]?(x=h[0],s=y[0]):(x=y[0],s=h[0]);var g=void 0,M=void 0;h[1]<y[1]?(g=h[1],M=y[1]):(g=y[1],M=h[1]);var d=Math.floor(x)-t,c=Math.floor(s)+t,p=Math.floor(g)-t,b=Math.floor(M)+t;d<0&&(d=0),c>n&&(c=n),p<0&&(p=0),b>a&&(b=a);for(var S=y[0]-h[0],F=y[1]-h[1],I=S*S+F*F,C=d;C<c;C++)for(var w=p;w<b;w++){var k=(C-h[0])*S+(w-h[1])*F,P=void 0,D=void 0;k<0?(P=h[0],D=h[1]):k>I?(P=y[0],D=y[1]):(k/=I,P=h[0]+k*S,D=h[1]+k*F);var A=(C-P)*(C-P)+(w-D)*(w-D),G=(a-w-1)*n+C;A<e[G]&&(e[G]=A)}}for(var l=0;l<o;++l)e[l]=Math.sqrt(e[l]);return e}function x(r,n,a,t,o){for(var e=0,i=r;e<i.length;e++)for(var l=i[e],v=l.length,f=1;f<v;++f){var u=l[f-1],m=l[f],h=void 0,y=void 0;u[0]<m[0]?(h=u[0],y=m[0]):(h=m[0],y=u[0]);var x=void 0,s=void 0;u[1]<m[1]?(x=u[1],s=m[1]):(x=m[1],s=u[1]);var g=Math.floor(h),M=Math.floor(y)+1,d=Math.floor(x),c=Math.floor(s)+1;g<t&&(g=t),M>n-t&&(M=n-t),d<t&&(d=t),c>a-t&&(c=a-t);for(var p=d;p<c;++p)if(u[1]>p!=m[1]>p){for(var b=(a-p-1)*n,S=g;S<M;++S)S<(m[0]-u[0])*(p-u[1])/(m[1]-u[1])+u[0]&&(o[b+S]=-o[b+S]);for(var S=t;S<g;++S)o[b+S]=-o[b+S]}}}function s(r,n){for(var a=2*n,o=r.length,e=new Uint8Array(4*o),i=0;i<o;++i){var l=.5-r[i]/a;t.packFloatRGBA(l,e,4*i)}return e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getSDFInfo=e,n.getSDFSymbol=i,n.getExtent=u,n.getSDFMetrics=m,n.buildSDF=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/screenUtils\"],function(e,t,i){function r(e){return\"rgb(\"+e.slice(0,3).toString()+\")\"}function a(e){return\"rgba(\"+e.slice(0,3).toString()+\",\"+e[3]+\")\"}function n(e,t){return\"center\"===e?.5*t:\"right\"===e?t:0}Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(){function e(){}return e.prototype.rasterizeText=function(e,t){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement(\"canvas\"));var i=this._textRasterizationCanvas,o=i.getContext(\"2d\");this.setFontProperties(o,t),this.parameters=t,this.textLines=e.split(/\\r?\\n/),this.lineHeight=this.computeLineHeight();var s=this.computeTextWidth(o,t),h=this.lineHeight*this.textLines.length;i.width=s,i.height=h,this.renderedLineHeight=Math.round(this.lineHeight*t.pixelRatio),this.renderedHaloSize=t.halo.size*t.pixelRatio,this.renderedWidth=s*t.pixelRatio,this.renderedHeight=h*t.pixelRatio,this.fillStyle=a(t.color),this.haloStyle=r(t.halo.color);var l=this.renderedLineHeight,d=this.renderedHaloSize;this.setFontProperties(o,t);var p=n(o.textAlign,this.renderedWidth)+d,g=d,u=d>0,f=0,c=0;u&&this.renderHalo(o,p,g,f,c,t),c+=g,f+=p;for(var v=0,x=this.textLines;v<x.length;v++){var m=x[v];o.globalCompositeOperation=\"destination-out\",o.fillStyle=\"rgb(0, 0, 0)\",o.fillText(m,f,c),o.globalCompositeOperation=\"source-over\",o.fillStyle=this.fillStyle,o.fillText(m,f,c),c+=l}var y=o.getImageData(0,0,this.renderedWidth,this.renderedHeight),H=new Uint8Array(y.data);if(t.premultiplyColors)for(var z=void 0,S=0;S<H.length;S+=4)z=H[S+3]/255,H[S]=H[S]*z,H[S+1]=H[S+1]*z,H[S+2]=H[S+2]*z;return{size:[this.renderedWidth,this.renderedHeight],image:new Uint32Array(H.buffer),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0}},e.prototype.renderHalo=function(e,t,i,r,a,n){var o=this.renderedWidth,s=this.renderedHeight;this._haloRasterizationCanvas||(this._haloRasterizationCanvas=document.createElement(\"canvas\")),this._haloRasterizationCanvas.width=o,this._haloRasterizationCanvas.height=s;var h=this._haloRasterizationCanvas,l=h.getContext(\"2d\");l.clearRect(0,0,o,s),this.setFontProperties(l,n),l.fillStyle=this.haloStyle,l.strokeStyle=this.haloStyle;var d=this.renderedHaloSize<3;l.lineJoin=d?\"miter\":\"round\",d?this.renderHaloEmulated(l,t,i):this.renderHaloNative(l,t,i),e.globalAlpha=this.parameters.halo.color[3],e.drawImage(h,0,0,o,s,r,a,o,s),e.globalAlpha=1},e.prototype.renderHaloEmulated=function(e,t,i){for(var r=this.renderedLineHeight,a=this.renderedHaloSize,n=0,o=this.textLines;n<o.length;n++){for(var h=o[n],l=0,d=s;l<d.length;l++){var p=d[l],g=p[0],u=p[1];e.fillText(h,t+a*g,i+a*u)}i+=r}},e.prototype.renderHaloNative=function(e,t,i){for(var r=this.renderedLineHeight,a=this.renderedHaloSize,n=0,o=this.textLines;n<o.length;n++){for(var s=o[n],h=2*a,l=0;l<5;l++){var d=.6+.1*l;e.lineWidth=d*h,e.strokeText(s,t,i)}i+=r}},e.prototype.setFontProperties=function(e,t){var r=t.font,a=r.style+\" \"+r.weight+\" \"+i.pt2px(t.size*t.pixelRatio)+\"px \"+r.family+\", sans-serif\";e.font=a,e.textAlign=\"left\",e.textBaseline=\"top\"},e.prototype.computeTextWidth=function(e,t){for(var i=0,r=0,a=this.textLines;r<a.length;r++){var n=a[r];i=Math.max(i,e.measureText(n).width)}var o=t.font;return(\"italic\"===o.style||\"oblique\"===o.style||\"string\"==typeof o.weight&&(\"bold\"===o.weight||\"bolder\"===o.weight)||\"number\"==typeof o.weight&&o.weight>600)&&(i+=.3*e.measureText(\"A\").width),i+=2*this.parameters.halo.size,Math.round(i)},e.prototype.computeLineHeight=function(){var e=1.275*this.parameters.size;return Math.round(e+2*this.parameters.halo.size)},e}();t.TextRasterizer=o;for(var s=[],h=0;h<360;h+=22.5)s.push([Math.cos(Math.PI*h/180),Math.sin(Math.PI*h/180)]);t.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/assignHelper\",\"../../Color\",\"../../core/Logger\",\"../../core/promiseUtils\",\"../../core/string\",\"../../support/arcadeOnDemand\",\"./CIMSymbolHelper\",\"./enums\",\"./SDFHelper\",\"../../views/2d/arcade/utils\"],function(e,t,r,n,i,o,a,s,l,c,u,f,m,h){function p(e){return e?{r:e[0],g:e[1],b:e[2],a:e[3]/255}:{r:0,g:0,b:0,a:0}}function y(e){switch(e){case\"Butt\":return f.CapType.BUTT;case\"Square\":return f.CapType.SQUARE;case\"Round\":default:return f.CapType.ROUND}}function d(e){switch(e){case\"Bevel\":return f.JoinType.BEVEL;case\"Miter\":return f.JoinType.MITER;case\"Round\":default:return f.JoinType.ROUND}}function v(e){switch(e){case\"Left\":default:return\"left\";case\"Right\":return\"right\";case\"Center\":return\"center\";case\"Justify\":return\"justify\"}}function g(e){switch(e){case\"Top\":default:return\"top\";case\"Center\":return\"middle\";case\"Baseline\":return\"baseline\";case\"Bottom\":return\"bottom\"}}function S(e){var t=\"normal\",r=\"normal\";if(e){var n=e.toLowerCase();-1!==n.indexOf(\"italic\")?t=\"italic\":-1!==n.indexOf(\"oblique\")&&(t=\"oblique\"),-1!==n.indexOf(\"bold\")?r=\"bold\":-1!==n.indexOf(\"light\")&&(r=\"lighter\")}return{style:t,weight:r}}function b(e){return e.underline?\"underline\":e.strikethrough?\"line-through\":\"none\"}function C(e,t,i,o,a){return n(this,void 0,void 0,function(){var n,s,l,c;return r(this,function(r){switch(r.label){case 0:if(n=o||[],!e)return[2,n];switch(\"CIMSymbolReference\"===e.type?(s=e.symbol,l=e.primitiveOverrides):(s=e,l=null),c=s.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":return[3,1];case\"CIMTextSymbol\":return[3,3]}return[3,4];case 1:return[4,O(s,l,t,i,n,a)];case 2:return r.sent(),[3,4];case 3:return[3,4];case 4:return[2,n]}})})}function O(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,l,c,m,h,p,y;return r(this,function(r){switch(r.label){case 0:if(!e)return[2];if(!(n=e.symbolLayers))return[2];c=u.CIMSymbolHelper.getSize(e),\"CIMPointSymbol\"===e.type&&\"Map\"===e.angleAlignment&&(l=f.Alignment.MAP),m=n.length,r.label=1;case 1:if(!m--)return[3,23];if(!(h=n[m])||!1===h.enable)return[3,1];switch(p=[],u.OverrideHelper.findApplicableOverrides(h,t,p),y=h.type){case\"CIMSolidFill\":return[3,2];case\"CIMPictureFill\":return[3,4];case\"CIMHatchFill\":return[3,6];case\"CIMGradientFill\":return[3,8];case\"CIMSolidStroke\":return[3,10];case\"CIMPictureStroke\":return[3,12];case\"CIMGradientStroke\":return[3,14];case\"CIMCharacterMarker\":return[3,16];case\"CIMPictureMarker\":return[3,17];case\"CIMVectorMarker\":return[3,19]}return[3,21];case 2:return[4,H(h,p,o,a)];case 3:return r.sent(),[3,22];case 4:return[4,N(h,p,o,a)];case 5:return r.sent(),[3,22];case 6:return[4,w(h,p,o,a)];case 7:return r.sent(),[3,22];case 8:return[4,M(h,p,o,a)];case 9:return r.sent(),[3,22];case 10:return[4,k(h,p,o,a,\"CIMPolygonSymbol\"===e.type,c)];case 11:return r.sent(),[3,22];case 12:return[4,I(h,p,o,a,\"CIMPolygonSymbol\"===e.type,c)];case 13:return r.sent(),[3,22];case 14:return[4,L(h,p,o,a,\"CIMPolygonSymbol\"===e.type,c)];case 15:return r.sent(),[3,22];case 16:return[3,22];case 17:return[4,P(h,p,o,a,l,c)];case 18:return r.sent(),[3,22];case 19:return[4,x(h,p,i,o,a,l,c,s)];case 20:return r.sent(),[3,22];case 21:U.error(\"Cannot analyze CIM layer\",h.type),r.label=22;case 22:return[3,1];case 23:return[2]}})})}function H(e,t,i,o){return n(this,void 0,void 0,function(){var n,a,s,c,u,f;return r(this,function(r){switch(r.label){case 0:return n=e.primitiveName,a=p(e.color),s=l.numericHash(JSON.stringify(e)).toString(),u=(c=o).push,f={type:\"fill\",templateHash:s,materialHash:0===t.length?s:function(){return s},cim:e,materialOverrides:null,colorLocked:e.colorLocked},[4,T(n,\"Color\",t,i,a,A)];case 1:return u.apply(c,[(f.color=r.sent(),f.height=0,f.angle=0,f.offsetX=0,f.offsetY=0,f.scaleX=1,f)]),[2]}})})}function N(e,t,i,o){return n(this,void 0,void 0,function(){var n,a,s,c,u,f,m;return r(this,function(r){switch(r.label){case 0:return n=e.primitiveName,a=p(e.tintColor),s=l.numericHash(JSON.stringify(e)).toString(),c=l.numericHash(\"\"+e.url+JSON.stringify(e.colorSubstitutions)).toString(),f=(u=o).push,m={type:\"fill\",templateHash:s,materialHash:0===t.length?c:function(){return c},cim:e,materialOverrides:null,colorLocked:e.colorLocked},[4,T(n,\"TintColor\",t,i,a,A)];case 1:return m.color=r.sent(),[4,T(n,\"Height\",t,i,e.height)];case 2:return m.height=r.sent(),[4,T(n,\"ScaleX\",t,i,e.scaleX)];case 3:return m.scaleX=r.sent(),[4,T(n,\"Rotation\",t,i,e.rotation)];case 4:return m.angle=r.sent(),[4,T(n,\"OffsetX\",t,i,e.offsetX)];case 5:return m.offsetX=r.sent(),[4,T(n,\"OffsetY\",t,i,e.offsetY)];case 6:return f.apply(u,[(m.offsetY=r.sent(),m)]),[2]}})})}function w(e,t,i,o){return n(this,void 0,void 0,function(){var n,a,s,c,u,f,m,h;return r(this,function(r){switch(r.label){case 0:return n=[\"Rotation\",\"OffsetX\",\"OffsetY\"],(a=t.filter(function(t){return t.primitiveName!==e.primitiveName&&-1===n.indexOf(t.propertyName)}),s=e.primitiveName,c=l.numericHash(JSON.stringify(e)).toString(),f=(u=o).push,m={type:\"fill\",templateHash:c},0!==t.length)?[3,1]:(h=c,[3,3]);case 1:return[4,D(c,a,i)];case 2:h=r.sent(),r.label=3;case 3:return m.materialHash=h,m.cim=e,m.materialOverrides=a,m.colorLocked=e.colorLocked,m.color={r:128,g:128,b:128,a:1},m.height=0,m.scaleX=1,[4,T(s,\"Rotation\",t,i,e.rotation)];case 4:return m.angle=r.sent(),[4,T(s,\"OffsetX\",t,i,e.offsetX)];case 5:return m.offsetX=r.sent(),[4,T(s,\"OffsetY\",t,i,e.offsetY)];case 6:return f.apply(u,[(m.offsetY=r.sent(),m)]),[2]}})})}function M(e,t,i,o){return n(this,void 0,void 0,function(){var n,a,s,c,u;return r(this,function(r){switch(r.label){case 0:return n=l.numericHash(JSON.stringify(e)).toString(),(s=(a=o).push,c={type:\"fill\",templateHash:n},0!==t.length)?[3,1]:(u=n,[3,3]);case 1:return[4,D(n,t,i)];case 2:u=r.sent(),r.label=3;case 3:return s.apply(a,[(c.materialHash=u,c.cim=e,c.materialOverrides=null,c.colorLocked=e.colorLocked,c.color={r:128,g:128,b:128,a:1},c.height=0,c.angle=0,c.offsetX=0,c.offsetY=0,c.scaleX=1,c)]),[2]}})})}function k(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,c,u,f,m,h,v,g,S,b;return r(this,function(r){switch(r.label){case 0:return n=l.numericHash(JSON.stringify(e)).toString(),c=e.primitiveName,u=p(e.color),f=void 0!==e.width?e.width:4,m=y(e.capStyle),h=d(e.joinStyle),v=e.miterLimit,S=(g=o).push,b={type:\"line\",templateHash:n,materialHash:0===t.length?n:function(){return n},cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked},[4,T(c,\"Color\",t,i,u,A)];case 1:return b.color=r.sent(),[4,T(c,\"Width\",t,i,f)];case 2:return b.width=r.sent(),[4,T(c,\"CapStyle\",t,i,m)];case 3:return b.cap=r.sent(),[4,T(c,\"JoinStyle\",t,i,h)];case 4:return b.join=r.sent(),[4,T(c,\"MiterLimit\",t,i,v)];case 5:return S.apply(g,[(b.miterLimit=r.sent(),b.referenceWidth=s,b.zOrder=Y(e.name),b.isDashed=!1,b)]),[2]}})})}function I(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,c,u,f,m,h,v,g,S,b,C;return r(this,function(r){switch(r.label){case 0:return n=l.numericHash(\"\"+e.url+JSON.stringify(e.colorSubstitutions)).toString(),c=e.primitiveName,u=p(e.tintColor),f=void 0!==e.width?e.width:4,m=y(e.capStyle),h=d(e.joinStyle),v=e.miterLimit,g=l.numericHash(JSON.stringify(e)).toString(),b=(S=o).push,C={type:\"line\",templateHash:g,materialHash:0===t.length?n:function(){return n},cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked},[4,T(c,\"TintColor\",t,i,u,A)];case 1:return C.color=r.sent(),[4,T(c,\"Width\",t,i,f)];case 2:return C.width=r.sent(),[4,T(c,\"CapStyle\",t,i,m)];case 3:return C.cap=r.sent(),[4,T(c,\"JoinStyle\",t,i,h)];case 4:return C.join=r.sent(),[4,T(c,\"MiterLimit\",t,i,v)];case 5:return b.apply(S,[(C.miterLimit=r.sent(),C.referenceWidth=s,C.zOrder=Y(e.name),C.isDashed=!1,C)]),[2]}})})}function L(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,c,u,f,m,h,p,v,g,S;return r(this,function(r){switch(r.label){case 0:return n=e.primitiveName,(c=void 0!==e.width?e.width:4,u=y(e.capStyle),f=d(e.joinStyle),m=e.miterLimit,h=l.numericHash(JSON.stringify(e)).toString(),v=(p=o).push,g={type:\"line\",templateHash:h},0!==t.length)?[3,1]:(S=h,[3,3]);case 1:return[4,D(h,t,i)];case 2:S=r.sent(),r.label=3;case 3:return g.materialHash=S,g.cim=e,g.materialOverrides=null,g.isOutline=a,g.colorLocked=e.colorLocked,g.color={r:128,g:128,b:128,a:1},[4,T(n,\"Width\",t,i,c)];case 4:return g.width=r.sent(),[4,T(n,\"CapStyle\",t,i,u)];case 5:return g.cap=r.sent(),[4,T(n,\"JoinStyle\",t,i,f)];case 6:return g.join=r.sent(),[4,T(n,\"MiterLimit\",t,i,m)];case 7:return v.apply(p,[(g.miterLimit=r.sent(),g.referenceWidth=s,g.zOrder=Y(e.name),g.isDashed=!1,g)]),[2]}})})}function P(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,c,u,f,m,h,y,d,v,g,S,b,C,O,H,N;return r(this,function(r){switch(r.label){case 0:for(n=e.primitiveName,c=e.size,u=e.scaleX,f=e.rotation,m=e.offsetX,h=e.offsetY,y=p(e.tintColor),d=l.numericHash(\"\"+e.url+JSON.stringify(e.colorSubstitutions)).toString(),v=!1,g=\"\",S=0,b=t;S<b.length;S++)C=b[S],C.primitiveName===n&&(void 0!==C.value?g+=\"|\"+C.primitiveName+\"|\"+C.propertyName+\"|\"+JSON.stringify(C.value):C.valueExpressionInfo&&(v=!0));return H=(O=o).push,N={type:\"marker\",templateHash:l.numericHash(JSON.stringify(e)+g).toString(),materialHash:v?function(){return d}:d,cim:e,materialOverrides:null,colorLocked:e.colorLocked,scaleSymbolsProportionally:!1,alignment:a,anchorPoint:e.anchorPoint,isAbsoluteAnchorPoint:\"Relative\"!==e.anchorPointUnits},[4,T(n,\"Size\",t,i,c)];case 1:return N.size=r.sent(),[4,T(n,\"ScaleX\",t,i,u)];case 2:return N.scaleX=r.sent(),[4,T(n,\"Rotation\",t,i,f)];case 3:return N.rotation=r.sent(),[4,T(n,\"OffsetX\",t,i,m)];case 4:return N.offsetX=r.sent(),[4,T(n,\"OffsetY\",t,i,h)];case 5:return N.offsetY=r.sent(),[4,T(n,\"TintColor\",t,i,y,A)];case 6:return H.apply(O,[(N.color=r.sent(),N.outlineColor={r:0,g:0,b:0,a:0},N.outlineWidth=0,N.frameHeight=0,N.rotateClockwise=e.rotateClockwise,N.referenceSize=s,N.sizeRatio=1,N)]),[2]}})})}function x(e,t,i,o,a,l,c,u){return n(this,void 0,void 0,function(){var n,f,m,h,p,y,d,v;return r(this,function(r){switch(r.label){case 0:if(!(n=e.markerGraphics))return[2];for(f=0,e.scaleSymbolsProportionally&&(m=e.frame)&&(f=m.ymax-m.ymin),h=[],p=0,y=n;p<y.length;p++)if(d=y[p]){if(!(v=d.symbol))continue;switch(v.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":h.push(z(e,d,t,o,a,l,c,f,u));break;case\"CIMTextSymbol\":h.push(X(e,d,t,i,o,a,l,c,f))}}return[4,s.all(h)];case 1:return r.sent(),[2]}})})}function X(e,t,o,a,s,c,f,m,h){return n(this,void 0,void 0,function(){var n,y,d,C,O,H,N,w,M,k,I,L,P,x,X,z,J,R,Y,A,F,D,E,U;return r(this,function(r){switch(r.label){case 0:if(n=[],u.OverrideHelper.findApplicableOverrides(t,o,n),!(\"x\"in(y=t.geometry)&&\"y\"in y))return[2];for(d=t.symbol,C=b(d),O=S(d.fontStyleName),d.font=i({family:d.fontFamilyName,decoration:C},O),H=e.frame,N=y.x-.5*(H.xmin+H.xmax),w=y.y-.5*(H.ymin+H.ymax),M=e.size/h,k=e.primitiveName,I=(d.height||0)*M,L=d.angle||0,P=((d.offsetX||0)+N)*M,x=((d.offsetY||0)+w)*M,X=p(u.CIMSymbolHelper.getFillColor(d)),z=p(u.CIMSymbolHelper.getStrokeColor(d)),J=u.CIMSymbolHelper.getStrokeWidth(d),J||(z=p(u.CIMSymbolHelper.getFillColor(d.haloSymbol)),J=d.haloSize*M),R=\"\",Y=0,A=o;Y<A.length;Y++)F=A[Y],F.primitiveName===k&&void 0!==F.value&&(R+=\"|\"+F.primitiveName+\"|\"+F.propertyName+\"|\"+JSON.stringify(F.value));return E=(D=c).push,U={type:\"text\",templateHash:l.numericHash(JSON.stringify(t)+R).toString(),materialHash:function(){return l.numericHash(JSON.stringify(d.font)).toString()},cim:d,materialOverrides:null,colorLocked:e.colorLocked,alignment:f,anchorPoint:{x:e.anchorPoint?e.anchorPoint.x:0,y:e.anchorPoint?e.anchorPoint.y:0},isAbsoluteAnchorPoint:\"Relative\"!==e.anchorPointUnits,fontName:d.fontFamilyName,decoration:\"none\",weight:\"normal\",style:\"normal\"},[4,T(k,\"Height\",o,s,I)];case 1:return U.size=r.sent(),[4,T(k,\"Rotation\",o,s,L)];case 2:return U.angle=r.sent(),[4,T(k,\"OffsetX\",o,s,P)];case 3:return U.offsetX=r.sent(),[4,T(k,\"OffsetY\",o,s,x)];case 4:return E.apply(D,[(U.offsetY=r.sent(),U.horizontalAlignment=v(d.horizontalAlignment),U.verticalAlignment=g(d.verticalAlignment),U.text=W(a,t.textString,d.textCase),U.color=X,U.outlineColor=z,U.outlineSize=J,U.referenceSize=m,U.sizeRatio=1,U)]),[2]}})})}function z(e,t,i,o,a,s,c,f,h){return n(this,void 0,void 0,function(){var n,y,d,v,g,S;return r(this,function(b){switch(b.label){case 0:if(n=t.symbol,!(y=t.geometry))return[2];if(d=m.getExtent(y),\"CIMTextSymbol\"===n.type)return[2];if(!(v=n.symbolLayers))return[2];g=v.length,S=function(){var n,S,b,C,O,H,N,w,M,k,I,L,P,x,X,z,R,Y,F,W,D,E,U,j,B,q,G,_,V;return r(this,function(r){switch(r.label){case 0:return n=v[g],n&&!1!==n.enable?h?[4,J(e,t,i,o,a,s,c,f)]:[3,2]:[2,\"continue\"];case 1:return r.sent(),[2,\"continue\"];case 2:switch(S=n.type){case\"CIMSolidFill\":case\"CIMSolidStroke\":return[3,3]}return[3,15];case 3:if(b=m.getSDFMetrics(d,e.frame,e.size,e.anchorPoint,\"Relative\"!==e.anchorPointUnits),C=b[0],O=b[1],H=b[2],N=\"CIMSolidFill\"===n.type,w={type:\"sdf\",geom:y,asFill:N},M=e.primitiveName,k=e.size,I=e.rotation,L=e.offsetX,P=e.offsetY,x=n.primitiveName,X=p(N?u.CIMSymbolHelper.getFillColor(n):u.CIMSymbolHelper.getStrokeColor(n)),z=N?{r:0,g:0,b:0,a:0}:p(u.CIMSymbolHelper.getStrokeColor(n)),R=u.CIMSymbolHelper.getStrokeWidth(n),!N&&!R)return[3,16];for(Y=!1,F=\"\",W=0,D=i;W<D.length;W++)E=D[W],E.primitiveName!==x&&E.primitiveName!==M||(void 0!==E.value?F+=\"|\"+E.primitiveName+\"|\"+E.propertyName+\"|\"+JSON.stringify(E.value):E.valueExpressionInfo&&(Y=!0));return U=l.numericHash(JSON.stringify(w)).toString(),j=l.numericHash(JSON.stringify(n)+JSON.stringify(t)+F).toString(),q=(B=a).push,G={type:\"marker\",templateHash:j,materialHash:Y?function(){return U}:U,cim:w,materialOverrides:null,colorLocked:e.colorLocked,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:s,anchorPoint:{x:O,y:H},isAbsoluteAnchorPoint:!1},[4,T(M,\"Size\",i,o,k)];case 4:return G.size=r.sent(),G.scaleX=1,[4,T(M,\"Rotation\",i,o,I)];case 5:return G.rotation=r.sent(),[4,T(M,\"OffsetX\",i,o,L)];case 6:return G.offsetX=r.sent(),[4,T(M,\"OffsetY\",i,o,P)];case 7:return G.offsetY=r.sent(),[4,T(x,\"Color\",i,o,X,A)];case 8:return G.color=r.sent(),N?(_={r:0,g:0,b:0,a:0},[3,11]):[3,9];case 9:return[4,T(x,\"Color\",i,o,z,A)];case 10:_=r.sent(),r.label=11;case 11:return G.outlineColor=_,N?(V=0,[3,14]):[3,12];case 12:return[4,T(x,\"Width\",i,o,R)];case 13:V=r.sent(),r.label=14;case 14:return q.apply(B,[(G.outlineWidth=V,G.frameHeight=f,G.rotateClockwise=e.rotateClockwise,G.referenceSize=c,G.sizeRatio=C,G)]),[3,16];case 15:return J(e,t,i,o,a,s,c,f),[3,16];case 16:return[2]}})},b.label=1;case 1:return g--?[5,S()]:[3,3];case 2:return b.sent(),[3,1];case 3:return[2]}})})}function J(e,t,i,o,a,s,c,f){return n(this,void 0,void 0,function(){var n,m,h,p,y,d,v,g,S,b,C,O,H,N,w,M;return r(this,function(r){switch(r.label){case 0:return n=R(e,t),(m=[],h=[\"Rotation\",\"OffsetX\",\"OffsetY\"],m=i.filter(function(t){return t.primitiveName!==e.primitiveName||-1===h.indexOf(t.propertyName)}),p=u.CIMSymbolHelper.getTextureAnchor(n),y=p[0],d=p[1],v=JSON.stringify(n),g=e.primitiveName,S=e.rotation,b=e.offsetX,C=e.offsetY,O=l.numericHash(JSON.stringify(n)).toString(),N=(H=a).push,w={type:\"marker\",templateHash:O},0!==m.length)?[3,1]:(M=O,[3,3]);case 1:return[4,D(v,m,o)];case 2:M=r.sent(),r.label=3;case 3:return w.materialHash=M,w.cim=n,w.materialOverrides=m,w.colorLocked=e.colorLocked,w.scaleSymbolsProportionally=e.scaleSymbolsProportionally,w.alignment=s,w.anchorPoint={x:y,y:d},w.isAbsoluteAnchorPoint=!1,w.size=e.size,w.scaleX=1,[4,T(g,\"Rotation\",i,o,S)];case 4:return w.rotation=r.sent(),[4,T(g,\"OffsetX\",i,o,b)];case 5:return w.offsetX=r.sent(),[4,T(g,\"OffsetY\",i,o,C)];case 6:return N.apply(H,[(w.offsetY=r.sent(),w.color={r:0,g:0,b:0,a:0},w.outlineColor={r:0,g:0,b:0,a:0},w.outlineWidth=0,w.frameHeight=f,w.rotateClockwise=e.rotateClockwise,w.referenceSize=c,w.sizeRatio=1,w)]),[2]}})})}function R(e,t){return{type:e.type,enable:!0,name:e.name,colorLocked:e.colorLocked,primitiveName:e.primitiveName,anchorPoint:e.anchorPoint,anchorPointUnits:e.anchorPointUnits,offsetX:0,offsetY:0,rotateClockwise:e.rotateClockwise,rotation:0,size:e.size,billboardMode3D:e.billboardMode3D,depth3D:e.depth3D,frame:e.frame,markerGraphics:[t],scaleSymbolsProportionally:e.scaleSymbolsProportionally,respectFrame:e.respectFrame,clippingPath:e.clippingPath}}function Y(e){if(e&&0===e.indexOf(\"Level_\")){var t=parseInt(e.substr(6),10);if(NaN!==t)return t}return 0}function A(e){if(!e||0===e.length)return null;var t=new o(e).toRgba();return{r:t[0],g:t[1],b:t[2],a:t[3]}}function T(e,t,i,o,a,s){return n(this,void 0,void 0,function(){var n,l,u,f,m;return r(this,function(p){switch(p.label){case 0:if(!e)return[3,4];n=function(n){var i,l,u;return r(this,function(r){switch(r.label){case 0:return n.primitiveName!==e||n.propertyName!==t?[3,2]:void 0!==n.value?[2,{value:s?s(n.value):n.value}]:(i=n.valueExpressionInfo)?(l=i.expression,[4,c.createRendererExpression(l,o.spatialReference,o.fields)]):[3,2];case 1:return u=r.sent(),[2,{value:function(e,t,r){var n=h.callWithFeature(u,e,{$view:r},o.geometryType,t);return null!==n&&s&&(n=s(n)),null!==n?n:a}}];case 2:return[2]}})},l=0,u=i,p.label=1;case 1:return l<u.length?(f=u[l],[5,n(f)]):[3,4];case 2:if(\"object\"==typeof(m=p.sent()))return[2,m.value];p.label=3;case 3:return l++,[3,1];case 4:return[2,a]}})})}function F(e,t){switch(t){case\"LowerCase\":return e.toLowerCase();case\"Allcaps\":return e.toUpperCase();default:return e}}function W(e,t,r){if(!e||-1===t.indexOf(\"[\"))return F(t,r);var n=\" /-,\\n\",i=function(e){for(var t=e.length;t--;)if(-1===n.indexOf(e.charAt(t)))return!1;return!0},o=[],a=0,s=-1;do{if((s=t.indexOf(\"[\",a))>=a){if(s>a){var l=t.substr(a,s-a);o.push([l,null,i(l)])}if(a=s+1,(s=t.indexOf(\"]\",a))>=a){if(s>a){var c=t.substr(a,s-a),u=e[c];u&&o.push([null,u,!1])}a=s+1}}}while(-1!==s);if(a<t.length-1){var l=t.substr(a);o.push([l,null,i(l)])}return function(e){for(var t=\"\",n=null,i=0,a=o;i<a.length;i++){var s=a[i],l=s[0],c=s[1],u=s[2];if(l)u?n=l:(n&&(t+=n,n=null),t+=l);else{var f=e.attributes[c];f&&(n&&(t+=n,n=null),t+=f)}}return F(t,r)}}function D(e,t,i){return n(this,void 0,void 0,function(){var n,o,a,s;return r(this,function(f){switch(f.label){case 0:n=function(e){var t,n,o;return r(this,function(r){switch(r.label){case 0:return(t=e.valueExpressionInfo)?(n=t.expression,[4,c.createRendererExpression(n,i.spatialReference,i.fields)]):[3,2];case 1:o=r.sent(),e.fn=function(e,t,r){return h.callWithFeature(o,e,{$view:r},i.geometryType,t)},r.label=2;case 2:return[2]}})},o=0,a=t,f.label=1;case 1:return o<a.length?(s=a[o],[5,n(s)]):[3,4];case 2:f.sent(),f.label=3;case 3:return o++,[3,1];case 4:return[2,function(r,n,i){for(var o=0,a=t;o<a.length;o++){var s=a[o];s.fn&&(s.value=s.fn(r,n,i))}return l.numericHash(e+u.OverrideHelper.buildOverrideKey(t)).toString()}]}})})}function E(e,t){if(!t||0===t.length)return e;var r=JSON.parse(JSON.stringify(e));return u.OverrideHelper.applyOverrides(r,t),r}Object.defineProperty(t,\"__esModule\",{value:!0});var U=a.getLogger(\"esri.symbols.cim.cimAnalyzer\");t.analyzeCIMSymbol=C,t.analyzeCIMResource=E});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,N){Object.defineProperty(N,\"__esModule\",{value:!0});!function(e){e[e.BUTT=0]=\"BUTT\",e[e.ROUND=1]=\"ROUND\",e[e.SQUARE=2]=\"SQUARE\",e[e.UNKNOWN=4]=\"UNKNOWN\"}(N.CapType||(N.CapType={}));!function(e){e[e.BEVEL=0]=\"BEVEL\",e[e.ROUND=1]=\"ROUND\",e[e.MITER=2]=\"MITER\",e[e.UNKNOWN=4]=\"UNKNOWN\"}(N.JoinType||(N.JoinType={}));!function(e){e[e.SCREEN=0]=\"SCREEN\",e[e.MAP=1]=\"MAP\"}(N.Alignment||(N.Alignment={}))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(r,e){function n(r,e,n){void 0===n&&(n=0);for(var i=o(r,0,u),a=0;a<4;a++)e[n+a]=Math.floor(256*t(i*f[a]))}function o(r,e,n){return r<e?e:r>n?n:r}function t(r){return r-Math.floor(r)}Object.defineProperty(e,\"__esModule\",{value:!0});var f=[1,256,65536,16777216],i=[1/256,1/65536,1/16777216,1/4294967296],u=function(r,e){void 0===e&&(e=0);for(var n=0,o=0;o<4;o++)n+=r[e+o]*i[o];return n}(new Uint8ClampedArray([255,255,255,255]));e.packFloatRGBA=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(r,e){function t(r){return\"function\"==typeof r}function o(r,e,o,a){return t(r)?r(e,o,a):r}function a(r){return[r.r,r.g,r.b,r.a]}function n(r,e,t,o,a,n,f){void 0===f&&(f=!0);for(var u=e/a,i=t/n,c=Math.ceil(u/2),l=Math.ceil(i/2),v=0;v<n;v++)for(var M=0;M<a;M++){for(var h=4*(M+(f?n-v-1:v)*a),s=0,b=0,d=0,p=0,y=0,m=0,q=0,O=(v+.5)*i,_=Math.floor(v*i);_<(v+1)*i;_++)for(var g=Math.abs(O-(_+.5))/l,j=(M+.5)*u,x=g*g,A=Math.floor(M*u);A<(M+1)*u;A++){var F=Math.abs(j-(A+.5))/c,H=Math.sqrt(x+F*F);H>=-1&&H<=1&&(s=2*H*H*H-3*H*H+1)>0&&(F=4*(A+_*e),q+=s*r[F+3],d+=s,r[F+3]<255&&(s=s*r[F+3]/250),p+=s*r[F],y+=s*r[F+1],m+=s*r[F+2],b+=s)}o[h]=p/b,o[h+1]=y/b,o[h+2]=m/b,o[h+3]=q/d}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.evaluateValueOrFunction=o,e.colorToArray=a,e.resampleHermite=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/assignHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"../support/materialUtils\"],function(e,r,o,t,n,p,i,s,c,l,u){return function(e){function r(r){var o=e.call(this,r)||this;return o.color=new p([0,0,0,1]),o.extensionLength=0,o.size=c.px2pt(1),o}return o(r,e),r.prototype.normalizeCtorArgs=function(e){if(e&&e.type){var r=n({},e);return delete r.type,r}return e},r.prototype.clone=function(){},r.prototype.cloneProperties=function(){return{color:s.clone(this.color),size:this.size,extensionLength:this.extensionLength}},t([l.property({type:[\"solid\",\"sketch\"],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0}}})],r.prototype,\"type\",void 0),t([l.property(u.colorAndTransparencyProperty)],r.prototype,\"color\",void 0),t([l.property(n({},u.screenSizeProperty,{json:{write:{overridePolicy:function(e){return{enabled:!!e}}}}}))],r.prototype,\"extensionLength\",void 0),t([l.property(u.screenSizeProperty)],r.prototype,\"size\",void 0),r=t([l.subclass(\"esri.symbols.edges.Edges3D\")],r)}(l.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./Edges3D\"],function(e,r,t,o,s,c){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=\"sketch\",t}t(r,e),c=r,r.prototype.clone=function(){return new c(this.cloneProperties())};var c;return o([s.property({type:[\"sketch\"]})],r.prototype,\"type\",void 0),r=c=o([s.subclass(\"esri.symbols.edges.SketchEdges3D\")],r)}(s.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"./Edges3D\"],function(e,r,t,o,s,p){return function(e){function r(r){var t=e.call(this,r)||this;return t.type=\"solid\",t}t(r,e),p=r,r.prototype.clone=function(){return new p(this.cloneProperties())};var p;return o([s.property({type:[\"solid\"]})],r.prototype,\"type\",void 0),r=p=o([s.subclass(\"esri.symbols.support.SolidEdges3D\")],r)}(s.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Edges3D\",\"./SketchEdges3D\",\"./SolidEdges3D\"],function(e,r,t,s,d){function n(e,r,t){if(!e)return e;switch(e.type){case\"solid\":var n=new d;return n.read(e,t),n;case\"sketch\":var n=new s;return n.read(e,t),n}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.read=n,r.symbol3dEdgesProperty={types:{key:\"type\",base:t,typeMap:{solid:d,sketch:s}},json:{read:n,write:!0}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"./FeatureExpressionInfo\",\"./unitConversionUtils\"],function(e,t,r,o,n,s,i,p,u,a,f){var l=i.strict()({onTheGround:\"on-the-ground\",relativeToGround:\"relative-to-ground\",relativeToScene:\"relative-to-scene\",absoluteHeight:\"absolute-height\"}),d=new i.JSONMap({foot:\"feet\",kilometer:\"kilometers\",meter:\"meters\",mile:\"miles\",\"us-foot\":\"us-feet\",yard:\"yards\"});return function(e){function t(){return null!==e&&e.apply(this,arguments)||this}r(t,e),n=t,t.prototype.readFeatureExpressionInfo=function(e,t){return null!=e?e:t.featureExpression&&0===t.featureExpression.value?{expression:\"0\"}:void 0},t.prototype.writeFeatureExpressionInfo=function(e,t,r,o){t[r]=e.write(null,o),\"0\"===e.expression&&(t.featureExpression={value:0})},Object.defineProperty(t.prototype,\"mode\",{get:function(){return this._isOverridden(\"mode\")?this._get(\"mode\"):null!=this.offset||this.featureExpressionInfo?\"relative-to-ground\":\"on-the-ground\"},set:function(e){this._override(\"mode\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"unit\",{set:function(e){this._set(\"unit\",e)},enumerable:!0,configurable:!0}),t.prototype.write=function(){return this.offset||this.mode||this.featureExpressionInfo||this.unit?this.inherited(arguments):null},t.prototype.clone=function(){return new n({mode:this.mode,offset:this.offset,featureExpressionInfo:this.featureExpressionInfo?this.featureExpressionInfo.clone():void 0,unit:this.unit})};var n;return o([u.property({type:a,json:{write:!0}})],t.prototype,\"featureExpressionInfo\",void 0),o([u.reader(\"featureExpressionInfo\",[\"featureExpressionInfo\",\"featureExpression\"])],t.prototype,\"readFeatureExpressionInfo\",null),o([u.writer(\"featureExpressionInfo\",{featureExpressionInfo:{type:a},\"featureExpression.value\":{type:[0]}})],t.prototype,\"writeFeatureExpressionInfo\",null),o([u.property({type:l.apiValues,dependsOn:[\"offset\",\"featureExpressionInfo\"],nonNullable:!0,json:{type:l.jsonValues,read:l.read,write:{writer:l.write,isRequired:!0}}})],t.prototype,\"mode\",null),o([u.property({type:Number,json:{write:!0}})],t.prototype,\"offset\",void 0),o([u.property({type:f.supportedUnits,json:{type:String,read:d.read,write:d.write}})],t.prototype,\"unit\",null),t=n=o([u.subclass(\"esri.layers.support.ElevationInfo\")],t)}(u.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../layers/support/fieldUtils\"],function(e,r,t,o,p,i,s,n,u){return function(e){function r(){return null!==e&&e.apply(this,arguments)||this}t(r,e),s=r,r.prototype.collectRequiredFields=function(e,r){return i(this,void 0,void 0,function(){return p(this,function(t){return[2,u.collectArcadeFieldNames(e,r,this.expression)]})})},r.prototype.clone=function(){return new s({expression:this.expression,title:this.title})};var s;return o([n.property({type:String,json:{write:!0}})],r.prototype,\"expression\",void 0),o([n.property({type:String,json:{write:!0}})],r.prototype,\"title\",void 0),r=s=o([n.subclass(\"esri.layers.support.FeatureExpressionInfo\")],r)}(n.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/urlUtils\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,i,p,a,c){Object.defineProperty(r,\"__esModule\",{value:!0});var s=i.strict()({circle:\"circle\",square:\"square\",cross:\"cross\",x:\"x\",kite:\"kite\",triangle:\"triangle\"}),n=function(e){function r(r){return e.call(this,r)||this}t(r,e),i=r,r.prototype.readHref=function(e,r,t){return e?a.fromJSON(e,t):r.dataURI},r.prototype.writeHref=function(e,r,t,o){e&&(a.isDataProtocol(e)?r.dataURI=e:(r.href=a.toJSON(e,o),a.isAbsolute(r.href)&&(r.href=a.normalize(r.href))))},r.prototype.clone=function(){return new i({href:this.href,primitive:this.primitive})};var i;return o([c.property({type:String,json:{write:!0,read:{source:[\"href\",\"dataURI\"]}}})],r.prototype,\"href\",void 0),o([c.reader(\"href\")],r.prototype,\"readHref\",null),o([c.writer(\"href\",{href:{type:String},dataURI:{type:String}})],r.prototype,\"writeHref\",null),o([c.enumeration.serializable()(s)],r.prototype,\"primitive\",void 0),r=i=o([c.subclass(\"esri.symbols.support.IconSymbol3DLayerResource\")],r)}(c.declared(p.JSONSupport));r.IconSymbol3DLayerResource=n,r.defaultPrimitive=\"circle\",r.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/urlUtils\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,i,n,p,c){Object.defineProperty(r,\"__esModule\",{value:!0});var s=i.strict()({sphere:\"sphere\",cylinder:\"cylinder\",cube:\"cube\",cone:\"cone\",diamond:\"diamond\",tetrahedron:\"tetrahedron\",invertedCone:\"inverted-cone\"}),u=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}t(r,e),i=r,r.prototype.clone=function(){return new i({href:this.href,primitive:this.primitive})};var i;return o([c.property({type:String,json:{read:p.read,write:p.write}})],r.prototype,\"href\",void 0),o([c.enumeration.serializable()(s)],r.prototype,\"primitive\",void 0),r=i=o([c.subclass(\"esri.symbols.support.ObjectSymbol3DLayerResource\")],r)}(c.declared(n.JSONSupport));r.ObjectSymbol3DLayerResource=u,r.defaultPrimitive=\"sphere\",r.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"../../portal/Portal\"],function(t,r,e,o,p,l,s){return function(t){function r(){var r=null!==t&&t.apply(this,arguments)||this;return r.portal=null,r}e(r,t),p=r,r.prototype.clone=function(){return new p({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})};var p;return o([l.property({type:String})],r.prototype,\"name\",void 0),o([l.property({type:String})],r.prototype,\"styleUrl\",void 0),o([l.property({type:String})],r.prototype,\"styleName\",void 0),o([l.property({type:s})],r.prototype,\"portal\",void 0),r=p=o([l.subclass(\"esri.symbols.support.StyleOrigin\")],r)}(l.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,p,s){Object.defineProperty(r,\"__esModule\",{value:!0});var c=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.x=0,r.y=0,r}o(r,e),p=r,r.prototype.clone=function(){return new p({x:this.x,y:this.y})};var p;return t([s.property({type:Number})],r.prototype,\"x\",void 0),t([s.property({type:Number})],r.prototype,\"y\",void 0),r=p=t([s.subclass(\"esri.symbols.support.Symbol3DAnchorPosition2D\")],r)}(s.declared(p));r.Symbol3DAnchorPosition2D=c,r.default=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,p,s){Object.defineProperty(r,\"__esModule\",{value:!0});var c=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.x=0,r.y=0,r.z=0,r}o(r,e),p=r,r.prototype.clone=function(){return new p({x:this.x,y:this.y,z:this.z})};var p;return t([s.property({type:Number})],r.prototype,\"x\",void 0),t([s.property({type:Number})],r.prototype,\"y\",void 0),t([s.property({type:Number})],r.prototype,\"z\",void 0),r=p=t([s.subclass(\"esri.symbols.support.Symbol3DAnchorPosition3D\")],r)}(s.declared(p));r.Symbol3DAnchorPosition3D=c,r.default=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/maybe\",\"../../core/accessorSupport/decorators\",\"./Symbol3DMaterial\"],function(e,o,r,l,t,i,c){Object.defineProperty(o,\"__esModule\",{value:!0});var a=function(e){function o(){return null!==e&&e.apply(this,arguments)||this}r(o,e),c=o,o.prototype.clone=function(){return new c({color:t.isSome(this.color)?this.color.clone():null,colorMixMode:this.colorMixMode})};var c;return l([i.enumeration.serializable()({multiply:\"multiply\",replace:\"replace\",tint:\"tint\"})],o.prototype,\"colorMixMode\",void 0),o=c=l([i.subclass(\"esri.symbols.support.Symbol3DFillMaterial\")],o)}(i.declared(c.default));o.Symbol3DFillMaterial=a,o.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./materialUtils\"],function(e,r,o,t,p,l,c,s,n){Object.defineProperty(r,\"__esModule\",{value:!0});var i=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.color=new p([0,0,0,1]),r.size=0,r}o(r,e),l=r,r.prototype.clone=function(){return new l({color:c.clone(this.color),size:this.size})};var l;return t([s.property(n.colorAndTransparencyProperty)],r.prototype,\"color\",void 0),t([s.property(n.screenSizeProperty)],r.prototype,\"size\",void 0),r=l=t([s.subclass(\"esri.symbols.support.Symbol3DHalo\")],r)}(s.declared(l.JSONSupport));r.Symbol3DHalo=i,r.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/maybe\",\"../../core/accessorSupport/decorators\",\"./materialUtils\"],function(r,e,o,t,l,c,p,n){Object.defineProperty(e,\"__esModule\",{value:!0});var s=function(r){function e(){var e=null!==r&&r.apply(this,arguments)||this;return e.color=null,e}o(e,r),l=e,e.prototype.clone=function(){return new l({color:c.isSome(this.color)?this.color.clone():null})};var l;return t([p.property(n.colorAndTransparencyProperty)],e.prototype,\"color\",void 0),e=l=t([p.subclass(\"esri.symbols.support.Symbol3DMaterial\")],e)}(p.declared(l.JSONSupport));e.Symbol3DMaterial=s,e.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../Color\",\"../../core/JSONSupport\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./materialUtils\"],function(e,t,r,o,p,l,s,i,n,c){Object.defineProperty(t,\"__esModule\",{value:!0});var u=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=new p([0,0,0,1]),t.size=i.px2pt(1),t.stipplePattern=null,t.stippleOffColor=null,t}r(t,e),l=t,t.prototype.clone=function(){return new l({color:s.isSome(this.color)?this.color.clone():null,size:this.size,stipplePattern:this.stipplePattern?this.stipplePattern.slice():null,stippleOffColor:this.stippleOffColor?this.stippleOffColor.clone():null})};var l;return o([n.property(c.colorAndTransparencyProperty)],t.prototype,\"color\",void 0),o([n.property(c.screenSizeProperty)],t.prototype,\"size\",void 0),o([n.property(c.stipplePatternProperty)],t.prototype,\"stipplePattern\",void 0),o([n.property({type:p})],t.prototype,\"stippleOffColor\",void 0),t=l=o([n.subclass(\"esri.symbols.support.Symbol3DOutline\")],t)}(n.declared(l.JSONSupport));t.Symbol3DOutline=u,t.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"./materialUtils\"],function(e,r,t,o,n,p,s){Object.defineProperty(r,\"__esModule\",{value:!0});var i=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.screenLength=0,r.minWorldLength=0,r}t(r,e),n=r,r.prototype.clone=function(){return new n({screenLength:this.screenLength,minWorldLength:this.minWorldLength,maxWorldLength:this.maxWorldLength})};var n;return o([p.property(s.screenSizeProperty)],r.prototype,\"screenLength\",void 0),o([p.property({type:Number,json:{write:!0,default:0}})],r.prototype,\"minWorldLength\",void 0),o([p.property({type:Number,json:{write:!0}})],r.prototype,\"maxWorldLength\",void 0),r=n=o([p.subclass(\"esri.symbols.support.Symbol3DVerticalOffset\")],r)}(p.declared(n.JSONSupport));r.Symbol3DVerticalOffset=i,r.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,u,p){Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}t(r,e),u=r,r.prototype.clone=function(){return new u({url:this.url})};var u;return o([p.property({type:String})],r.prototype,\"url\",void 0),r=u=o([p.subclass(\"esri.symbols.support.Thumbnail\")],r)}(p.declared(u));r.Thumbnail=n,r.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/assignHelper\",\"../../request\",\"../../core/Logger\",\"../../core/promiseUtils\"],function(e,r,t,n,o,i,u,s){function l(e,r){return t(this,void 0,void 0,function(){var t,o;return n(this,function(n){switch(n.label){case 0:return!e.data&&e.styleUrl&&e.styleName?(t=e.styleName,o=e,[4,a(t,e.styleUrl,r)]):[2,e];case 1:return o.data=n.sent(),[2,e]}})})}function a(e,u,s){return t(this,void 0,void 0,function(){var t,l;return n(this,function(n){if(p.has(e))return[2,p.get(e).then(function(e){return r.makeSymbolRef(e.data)})];try{return t=u+\"/resources/styles/cim/\"+e+\".json\",l=i(t,o({responseType:\"json\",query:{f:\"json\"}},s)),p.set(e,l),[2,l.then(function(e){return r.makeSymbolRef(e.data)})]}catch(r){return f.error(\"error requesting \"+e+\", reason is \"+r.message),p.has(e)&&p.delete(e),[2,null]}return[2]})})}var c=this;Object.defineProperty(r,\"__esModule\",{value:!0});var f=u.getLogger(\"esri/symbols/support/cimSymbolUtils\");r.expandSymbols=function(e,o){return t(c,void 0,void 0,function(){return n(this,function(t){return[2,s.all(e.map(function(e){return r.expandSymbol(e,o)}))]})})},r.expandSymbol=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){return e?\"cim\"===e.type?[2,l(e,r)]:\"web-style\"===e.type?[2,e.fetchCIMSymbol(r)]:[2,e]:[2,null]})})},r.makeSymbolRef=function(e,r){return null===e?null:\"CIMSymbolReference\"===e.type?e:{type:\"CIMSymbolReference\",symbol:e,primitiveOverrides:r}};var p=new Map});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\"],function(e,n,r){function t(e){return 0===e.r&&0===e.g&&0===e.b}Object.defineProperty(n,\"__esModule\",{value:!0}),n.white=new r(\"white\"),n.black=new r(\"black\"),n.transparentWhite=new r([255,255,255,0]),n.isBlack=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/compilerUtils\",\"../../core/maybe\",\"../SimpleFillSymbol\",\"../SimpleLineSymbol\",\"../SimpleMarkerSymbol\",\"../TextSymbol\",\"./defaultsJSON\"],function(e,l,o,r,t,S,n,y,m){function i(e){if(r.isNone(e))return null;switch(e.type){case\"mesh\":return null;case\"point\":case\"multipoint\":return l.defaultPointSymbol2D;case\"polyline\":return l.defaultPolylineSymbol2D;case\"polygon\":case\"extent\":return l.defaultPolygonSymbol2D;default:o.neverReached(e)}return null}Object.defineProperty(l,\"__esModule\",{value:!0}),l.defaultPointSymbol2D=n.fromJSON(m.defaultPointSymbolJSON),l.defaultPolylineSymbol2D=S.fromJSON(m.defaultPolylineSymbolJSON),l.defaultPolygonSymbol2D=t.fromJSON(m.defaultPolygonSymbolJSON),l.defaultTextSymbol2D=y.fromJSON(m.defaultTextSymbolJSON),l.getDefaultSymbol2D=i,l.errorPointSymbol2D=n.fromJSON(m.errorPointSymbolJSON),l.errorPolylineSymbol2D=S.fromJSON(m.errorPolylineSymbolJSON),l.errorPolygonSymbol2D=t.fromJSON(m.errorPolygonSymbolJSON)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.defaultColor=[252,146,31,255],o.defaultOutlineColor=[153,153,153,255],o.defaultPointSymbolJSON={type:\"esriSMS\",style:\"esriSMSCircle\",size:6,color:o.defaultColor,outline:{width:.75,color:[153,153,153,255]}},o.defaultPolylineSymbolJSON={type:\"esriSLS\",style:\"esriSLSSolid\",width:.75,color:o.defaultColor},o.defaultPolygonSymbolJSON={type:\"esriSFS\",style:\"esriSFSSolid\",color:[252,146,31,196],outline:{width:.75,color:[255,255,255,191]}},o.defaultTextSymbolJSON={type:\"esriTS\",color:[255,255,255,255],font:{family:\"arial-unicode-ms\",size:10,weight:\"bold\"},horizontalAlignment:\"center\",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:\"\",xoffset:0,yoffset:0,angle:0},o.errorPointSymbolJSON={type:\"esriSMS\",style:\"esriSMSCircle\",color:[0,0,0,255],outline:null,size:10.5},o.errorPolylineSymbolJSON={type:\"esriSLS\",style:\"esriSLSSolid\",color:[0,0,0,255],width:1.5},o.errorPolygonSymbolJSON={type:\"esriSFS\",style:\"esriSFSSolid\",color:[0,0,0,255],outline:null}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../Color\",\"../../request\",\"../../core/ItemCache\",\"../../core/promiseUtils\",\"../../core/screenUtils\"],function(e,t,r,n,i,a,l,o){function s(e){var t=e.horizontalAlignment;return t=t&&b[t.toLowerCase()]||\"middle\"}function c(e){var t=e.verticalAlignment;return t&&w[t.toLowerCase()]||\"alphabetic\"}function p(e){return\"bottom\"===e.verticalAlignment?\"super\":null}function u(e){var t=e.style,r=null;if(e)switch(e.type){case v:\"cross\"!==t&&\"x\"!==t&&(r=e.color);break;case h:\"solid\"===t?r=e.color:\"none\"!==t&&(r={type:\"pattern\",x:0,y:0,src:x+t+\".png\",width:8,height:8});break;case g:r={type:\"pattern\",src:e.url,width:o.pt2px(e.width)*e.xscale,height:o.pt2px(e.height)*e.yscale,x:o.pt2px(e.xoffset),y:o.pt2px(e.yoffset)};break;case y:r=e.color}return r}function f(e,t){var r=e+\"-\"+t;return void 0!==C.get(r)?l.resolve(C.get(r)):i(e,{responseType:\"image\"}).then(function(e){var n=e.data,i=n.naturalWidth,a=n.naturalHeight,l=document.createElement(\"canvas\");l.width=i,l.height=a;var o=l.getContext(\"2d\");o.fillStyle=t,o.fillRect(0,0,i,a),o.globalCompositeOperation=\"destination-in\",o.drawImage(n,0,0);var s=l.toDataURL();return C.put(r,s),s})}function d(e){if(!e)return null;var t;switch(e.type){case h:case g:case v:t=d(e.outline);break;case m:var r=o.pt2px(e.width);\"none\"!==e.style&&0!==r&&(t={color:e.color,style:k(e.style),width:r,cap:e.cap,join:\"miter\"===e.join?o.pt2px(e.miterLimit):e.join});break;default:t=null}return t}Object.defineProperty(t,\"__esModule\",{value:!0});var g=\"picture-fill\",h=\"simple-fill\",m=\"simple-line\",v=\"simple-marker\",y=\"text\",x=e.toUrl(\"../../symbols/patterns/\"),b={left:\"start\",center:\"middle\",right:\"end\",justify:\"start\"},w={top:\"text-before-edge\",middle:\"central\",baseline:\"alphabetic\",bottom:\"text-after-edge\"},C=new a(1e3);t.getSVGAlign=s,t.getSVGBaseline=c,t.getSVGBaselineShift=p,t.getFill=u,t.getPatternUrlWithColor=f,t.getStroke=d;var k=function(){var e={};return function(t){if(e[t])return e[t];var r=t.replace(/-/g,\"\");return e[t]=r,r}}();t.defaultThematicColor=new n([128,128,128])});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/Warning\",\"../CIMSymbol\",\"../LabelSymbol3D\",\"../LineSymbol3D\",\"../MeshSymbol3D\",\"../PictureFillSymbol\",\"../PictureMarkerSymbol\",\"../PointSymbol3D\",\"../PolygonSymbol3D\",\"../SimpleFillSymbol\",\"../SimpleLineSymbol\",\"../SimpleMarkerSymbol\",\"../Symbol3D\",\"../TextSymbol\",\"../WebStyleSymbol\",\"../callouts/LineCallout3D\",\"./symbolConversion\"],function(e,n,o,r,l,s,t,i,y,u,m,b,S,a,c,p,f,d,w,D){function g(e){return e?L[e.type]||null:null}function M(e,n,o){var l=g(e);if(l){var s=new l;return s.read(e,o),s}return o&&o.messages&&e&&o.messages.push(new r(\"symbol:unsupported\",\"Symbols of type '\"+(e.type||\"unknown\")+\"' are not supported\",{definition:e,context:o})),null}function v(e,n,o,r){var l=P(e,{},r);l&&(n[o]=l)}function P(e,n,r){if(!e)return null;if(r&&\"web-scene\"===r.origin&&!(e instanceof p)&&!(e instanceof d)){var l=\"cim\"!==e.type?D.to3D(e):{symbol:null,error:new o(\"symbol-conversion:unsupported-cim-symbol\",\"CIM symbol is unsupported in web scenes\",{symbol:e})};return l.symbol?l.symbol.write(n,r):(r.messages&&r.messages.push(new o(\"symbol:unsupported\",\"Symbols of type '\"+e.declaredClass+\"' are not supported in scenes. Use 3D symbology instead when working with WebScene and SceneView\",{symbol:e,context:r,error:l.error})),null)}return e.write(n,r)}function h(e,n){return M(e,null,n)}function C(e,n){if(!e||!e.type)return null;var o=null;switch(e.type){case\"line\":o=new w}return o&&o.read(e,n),o}Object.defineProperty(n,\"__esModule\",{value:!0});var L={esriSMS:c,esriPMS:u,esriTS:f,esriSLS:a,esriSFS:S,esriPFS:y,PointSymbol3D:m,LineSymbol3D:t,PolygonSymbol3D:b,MeshSymbol3D:i,LabelSymbol3D:s,styleSymbolReference:d,CIMSymbolReference:l};n.read=M,n.writeTarget=v,n.write=P,n.fromJSON=h,n.readCallout3D=C});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\",\"../../core/screenUtils\",\"../../core/accessorSupport/ensureType\",\"../../webdoc/support/opacityUtils\"],function(r,e,t,n,o,a){function c(r,e){var n=null!=e.transparency?a.transparencyToOpacity(e.transparency):1,o=e.color;return o&&Array.isArray(o)?new t([o[0]||0,o[1]||0,o[2]||0,n]):null}function p(r,e){e.color=r.toJSON().slice(0,3);var t=a.opacityToTransparency(r.a);0!==t&&(e.transparency=t)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.colorAndTransparencyProperty={type:t,json:{type:[o.Integer],default:null,read:{source:[\"color\",\"transparency\"],reader:c},write:{target:{color:{type:[o.Integer]},transparency:{type:o.Integer}},writer:p}}},e.screenSizeProperty={type:Number,cast:n.toPt,json:{write:!0}},e.stipplePatternProperty={type:[Number],cast:function(r){return null!=r?r:Array.isArray(r)?r.map(n.toPt):null},json:{read:!1,write:!1}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../cim/CIMSymbolRasterizer\"],function(e,t,a,i,r){function n(e,t){return i(this,void 0,void 0,function(){var i,r,n,s,c,m,h,g;return a(this,function(a){switch(a.label){case 0:return i=t&&t.size?t.size:null,r=t&&t.maxSize?t.maxSize:null,n=Math.min(i||o,r||u),s=3,[4,l.rasterizeCIMSymbolAsync(e,null,null,{targetSize:n*s})];case 1:return c=a.sent(),m=document.createElement(\"canvas\"),m.width=c.imageData.width,m.height=c.imageData.height,h=m.getContext(\"2d\"),h.putImageData(c.imageData,0,0),g=new Image(m.width/s,m.height/s),g.src=m.toDataURL(),[2,g]}})})}Object.defineProperty(t,\"__esModule\",{value:!0});var l=new r(null,!0),o=22,u=120;t.previewCIMSymbol=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/promiseUtils\",\"../../core/screenUtils\",\"./gfxUtils\",\"./previewUtils\",\"./renderUtils\"],function(e,a,t,r,n,s,i,l){function c(e,a){var t=k.getContext(\"2d\"),r=[];return a&&(a.weight&&r.push(a.weight),a.size&&r.push(a.size+\"px\"),a.family&&r.push(a.family)),t.font=r.join(\" \"),t.measureText(e).width}function o(e){if(0===e.length)return 0;if(e.length>2){var a=n.px2pt(1),t=parseFloat(e);switch(e.slice(-2)){case\"px\":return t;case\"pt\":return t*a;case\"in\":return 72*t*a;case\"pc\":return 12*t*a;case\"mm\":return t*b*a;case\"cm\":return t*L*a}}return parseFloat(e)}function m(e,a){var m=a&&a.size?n.pt2px(a.size):null,k=a&&a.maxSize?n.pt2px(a.maxSize):null,b=a&&null!=a.opacity?a.opacity:null,L=a&&null!=a.rotation?a.rotation:null,z=s.getStroke(e),S={shape:null,fill:null,stroke:z};z&&z.width&&(z.width=Math.min(z.width,w));var U=0,F=0;switch(e.type){case v:var E=e.style,P=n.pt2px(e.size);switch(U=Math.min(m||P||x,k||M),F=Math.min(m||P||x,k||M),E){case\"circle\":S.shape={type:\"circle\",cx:.5*P,cy:.5*P,r:.5*P};break;case\"cross\":S.shape={type:\"path\",path:[{command:\"M\",values:[0,.5*F]},{command:\"L\",values:[U,.5*F]},{command:\"M\",values:[.5*U,0]},{command:\"L\",values:[.5*U,F]}]};break;case\"diamond\":S.shape={type:\"path\",path:[{command:\"M\",values:[0,.5*F]},{command:\"L\",values:[.5*U,0]},{command:\"L\",values:[U,.5*F]},{command:\"L\",values:[.5*U,F]},{command:\"Z\",values:[]}]};break;case\"square\":S.shape={type:\"path\",path:[{command:\"M\",values:[0,0]},{command:\"L\",values:[U,0]},{command:\"L\",values:[U,F]},{command:\"L\",values:[0,F]},{command:\"Z\",values:[]}]};break;case\"triangle\":S.shape={type:\"path\",path:[{command:\"M\",values:[.5*U,0]},{command:\"L\",values:[U,F]},{command:\"L\",values:[0,F]},{command:\"Z\",values:[]}]};break;case\"x\":S.shape={type:\"path\",path:[{command:\"M\",values:[0,0]},{command:\"L\",values:[U,F]},{command:\"M\",values:[U,0]},{command:\"L\",values:[0,F]}]};break;case\"path\":S.shape={type:\"path\",path:e.path||\"\"}}break;case d:var j=Math.min(m||z&&z.width||x,k||w),C=j>x?2*j:g;z.width=j,U=C,F=j,S.shape={type:\"path\",path:[{command:\"M\",values:[0,F]},{command:\"L\",values:[U,F]}]};break;case p:case u:U=Math.min(m||x,k||M),F=Math.min(m||x,k||M),S.shape=i.shapes.fill[0];break;case h:var Z=n.pt2px(e.width),q=n.pt2px(e.height),D=Math.max(Z,q),T=Z/q;Z=T<=1?Math.ceil(D*T):D,q=T<=1?D:Math.ceil(D/T),U=Math.min(m||Z||x,k||M),F=Math.min(m||q||x,k||M),S.shape={type:\"image\",x:-Math.round(U/2),y:-Math.round(F/2),width:U,height:F,src:e.url||\"\"};break;case y:var _=e,A=_.text||f,H=_.font,O=Math.min(m||n.pt2px(H.size),k||M),W=c(A,{weight:H.weight,size:O,family:H.family}),B=/[\\uE600-\\uE6FF]/.test(A);U=B?O:W,F=O;var G=.25*o((H?O:0).toString());B&&(G+=5),S.shape={type:\"text\",text:A,x:0,y:G,align:\"middle\",decoration:H&&H.decoration,rotated:_.rotated,kerning:_.kerning},S.font=H&&{size:O,style:H.style,decoration:H.decoration,weight:H.weight,family:H.family}}if(!S.shape)return r.reject(new t(\"symbolPreview: renderPreviewHTML2D\",\"symbol not supported.\"));var I=s.getFill(e),J=I,K=e.color,N=null;return J&&\"pattern\"===J.type&&K&&e.type!==p?N=s.getPatternUrlWithColor(J.src,K.toCss(!0)).then(function(e){return J.src=e,S.fill=J,S}):(S.fill=I,N=r.resolve(S)),N.then(function(e){return l.renderSymbol([[e]],[U,F],{node:a&&a.node,scale:!0,opacity:b,rotation:L})})}Object.defineProperty(a,\"__esModule\",{value:!0});var p=\"picture-fill\",h=\"picture-marker\",u=\"simple-fill\",d=\"simple-line\",v=\"simple-marker\",y=\"text\",f=\"Aa\",x=22,M=120,w=80,g=40,k=document.createElement(\"canvas\"),b=7.2/2.54,L=72/2.54;a.previewSymbol2D=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/colorUtils\",\"../../core/compilerUtils\",\"../../core/Error\",\"../../core/Logger\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../../core/screenUtils\",\"./gfxUtils\",\"./IconSymbol3DLayerResource\",\"./ObjectSymbol3DLayerResource\",\"./previewUtils\",\"./renderUtils\",\"./styleUtils\",\"./utils\"],function(e,a,r,t,s,l,i,o,n,h,p,u,c,m,f,v,y){function d(e){var a=e.outline,r=o.isSome(e.material)?e.material.color:null,t=o.isSome(r)?r.toRgba().toString():null;if(o.isNone(a))return\"fill\"===e.type&&\"255,255,255,1\"===t?{color:\"#bdc3c7\",width:.75}:null;var s=h.pt2px(a.size)||0;return{color:\"rgba(\"+(o.isSome(a.color)?a.color.toRgba():\"255,255,255,1\")+\")\",width:Math.min(s,H)}}function b(e,a){var r=a&&a.resource,t=r&&r.href;return e.thumbnail&&e.thumbnail.url?n.resolve(e.thumbnail.url):t&&\"object\"!==a.type?n.resolve(y.getIconHref(e,a)):e.styleOrigin&&(e.styleOrigin.styleName||e.styleOrigin.styleUrl)?v.resolveWebStyleSymbol(e.styleOrigin,{portal:e.styleOrigin.portal},\"webRef\").catch(function(e){return e}).then(function(e){return e&&e.thumbnail&&e.thumbnail.url||P}):n.resolve(P)}function g(e,a){void 0===a&&(a=1);var r=e.a,s=t.toHSV(e),l=s.h,i=s.s/a,o=100-(100-s.v)/a,n=t.toRGB({h:l,s:i,v:o});return[n.r,n.g,n.b,r]}function x(e,a){return Math.round(Math.min(Math.max(e+255*a*.75,0),255))}function k(e){return\"water\"===e.type?o.isNone(e.color)?null:e.color:o.isNone(e.material)||o.isNone(e.material.color)?null:e.material.color}function M(e,a){void 0===a&&(a=0);var r=k(e);if(!r){var t=p.defaultThematicColor.r,s=x(t,a);return[s,s,s,100]}for(var l=r.toRgba(),i=0;i<3;i++)l[i]=x(l[i],a);return l}function S(e){return e.outline?d(e):{color:\"rgba(0, 0, 0, 1)\",width:1.5}}function w(e,a){var r=k(e);if(!r)return null;var t=\"rgba(\";return t+=x(r.r,a)+\",\",t+=x(r.g,a)+\",\",(t+=x(r.b,a)+\",\")+r.a+\");\"}function L(e,a){var r=w(e,a);return r?{color:r,width:Math.min(e.size?h.pt2px(e.size):.75,H)}:{}}function z(e,a,r){var t=.75*r;return{type:\"linear\",x1:t?.25*t:0,y1:t?.5*t:0,x2:t||4,y2:t?.5*t:4,colors:[{color:e,offset:0},{color:a,offset:1}]}}function U(e){var a=e.depth,r=e.height,t=e.width;return t&&a&&r&&t===a&&t<r}function j(e,a,r){var t=[];if(!e)return t;switch(e.type){case\"icon\":var l=a,i=a,o=e.resource&&e.resource.primitive||u.defaultPrimitive;switch(o){case\"circle\":t.push({shape:{type:\"circle\",cx:0,cy:0,r:.5*a},fill:M(e,0),stroke:d(e)});break;case\"square\":t.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,i]},{command:\"L\",values:[0,0]},{command:\"L\",values:[l,0]},{command:\"L\",values:[l,i]},{command:\"Z\",values:[]}]},fill:M(e,0),stroke:d(e)});break;case\"triangle\":t.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,i]},{command:\"L\",values:[.5*l,0]},{command:\"L\",values:[l,i]},{command:\"Z\",values:[]}]},fill:M(e,0),stroke:d(e)});break;case\"cross\":t.push({shape:{type:\"path\",path:[{command:\"M\",values:[.5*l,0]},{command:\"L\",values:[.5*l,i]},{command:\"M\",values:[0,.5*i]},{command:\"L\",values:[l,.5*i]}]},stroke:S(e)});break;case\"x\":t.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,0]},{command:\"L\",values:[l,i]},{command:\"M\",values:[l,0]},{command:\"L\",values:[0,i]}]},stroke:S(e)});break;case\"kite\":t.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,.5*i]},{command:\"L\",values:[.5*l,0]},{command:\"L\",values:[l,.5*i]},{command:\"L\",values:[.5*l,i]},{command:\"Z\",values:[]}]},fill:M(e,0),stroke:d(e)});break;default:s.neverReached(o)}break;case\"object\":var o=e.resource&&e.resource.primitive||c.defaultPrimitive;switch(o){case\"cone\":var n=M(e,0),h=M(e,-.6),p=r?A:a,f=z(n,h,p),v=m.getConeShapes(a,r);t.push({shape:v[0],fill:f}),t.push({shape:v[1],fill:f});break;case\"inverted-cone\":var y=M(e,0),b=M(e,-.6),g=z(y,b,a),x=m.getInvertedConeShapes(a);t.push({shape:x[0],fill:g}),t.push({shape:x[1],fill:y});break;case\"cube\":var k=m.getCubeShapes(a,r);t.push({shape:k[0],fill:M(e,0)}),t.push({shape:k[1],fill:M(e,-.3)}),t.push({shape:k[2],fill:M(e,-.5)});break;case\"cylinder\":var w=M(e,0),L=M(e,-.6),U=r?A:a,j=z(w,L,U),D=m.getCylinderShapes(a,r);t.push({shape:D[0],fill:j}),t.push({shape:D[1],fill:j}),t.push({shape:D[2],fill:M(e,0)});break;case\"diamond\":var R=m.getDiamondShapes(a);t.push({shape:R[0],fill:M(e,-.3)}),t.push({shape:R[1],fill:M(e,0)}),t.push({shape:R[2],fill:M(e,-.3)}),t.push({shape:R[3],fill:M(e,-.7)});break;case\"sphere\":var I=M(e,0),C=M(e,-.6),O=z(I,C);O.x1=0,O.y1=0,O.x2=.25*a,O.y2=.25*a,t.push({shape:{type:\"circle\",cx:0,cy:0,r:.5*a},fill:O});break;case\"tetrahedron\":var P=m.getTetrahedronShapes(a);t.push({shape:P[0],fill:M(e,-.3)}),t.push({shape:P[1],fill:M(e,0)}),t.push({shape:P[2],fill:M(e,-.6)});break;default:s.neverReached(o)}}return t}function D(e){return\"icon\"===e.type?\"multiply\":\"tint\"}function R(e,a){var r,t=a&&a.size?h.pt2px(a.size):null,s=a&&a.maxSize?h.pt2px(a.maxSize):null,l=a&&a.disableUpsampling,i=e.symbolLayers,o=[],p=0,u=0,c=i.getItemAt(i.length-1);return c&&\"icon\"===c.type&&(r=c.size&&h.pt2px(c.size)),i.forEach(function(i){if(\"icon\"===i.type||\"object\"===i.type){var c=\"icon\"===i.type?i.size&&h.pt2px(i.size):0,m=t||c?Math.ceil(Math.min(t||c,s||E)):N;if(i&&i.resource&&i.resource.href){var v=b(e,i).then(function(e){var a=i.get(\"material.color\"),r=D(i);return f.tintImageWithColor(e,m,a,r,l)}).then(function(e){var a=e.width,r=e.height;return p=Math.max(p,a),u=Math.max(u,r),[{shape:{type:\"image\",x:0,y:0,width:a,height:r,src:e.url},fill:null,stroke:null}]});o.unshift(v)}else{var y=m;\"icon\"===i.type&&r&&t&&(y=m*(c/r));var d=a&&\"tall\"===a.symbolConfig||\"object\"===i.type&&U(i);p=Math.max(p,d?A:y),u=Math.max(u,y),o.unshift(n.resolve(j(i,y,d)))}}}),n.eachAlways(o).then(function(e){var r=[];return e.forEach(function(e){e.value?r.push(e.value):e.error&&T.warn(\"error while building swatchInfo!\",e.error)}),f.renderSymbol(r,[p,u],{node:a&&a.node,scale:!1,opacity:a&&a.opacity})})}function I(e,a){var t,s=e.symbolLayers,l=[],i=y.isVolumetricSymbol(e),o=a&&a.size?h.pt2px(a.size):null,p=a&&a.maxSize?h.pt2px(a.maxSize):null,u=p||H,c=0,v=0;return s.forEach(function(e,a){if(e&&(\"line\"===e.type||\"path\"===e.type)){var s=[];switch(e.type){case\"line\":var i=L(e,0),n=i&&i.width||0;0===a&&(t=n);var h=Math.min(o||n,u),p=0===a?h:o?h*(n/t):h,f=p>q/2?2*p:q;v=Math.max(v,p),c=Math.max(c,f),i.width=p,s.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,.5*v]},{command:\"L\",values:[c,.5*v]}]},stroke:i});break;case\"path\":var y=Math.min(o||N,u),d=M(e,0),b=M(e,-.2),g=w(e,-.4),i=g?{color:g,width:1}:{};if(\"quad\"===e.profile){var x=e.width||e.size,k=e.height||e.size,S=x&&k?x/k:1,z=m.getPathSymbolShapes(S),U=r({},i,{join:\"bevel\"});s.push({shape:z[0],fill:b,stroke:U}),s.push({shape:z[1],fill:b,stroke:U}),s.push({shape:z[2],fill:d,stroke:U})}else s.push({shape:m.shapes.pathSymbol3DLayer[0],fill:b,stroke:i}),s.push({shape:m.shapes.pathSymbol3DLayer[1],fill:d,stroke:i});v=Math.max(v,y),c=v}l.push(s)}}),n.resolve(f.renderSymbol(l,[c,v],{node:a&&a.node,scale:i,opacity:a&&a.opacity}))}function C(e,a){for(var t=e.type,s=\"mesh-3d\"===t,l=e.symbolLayers,i=a&&a.size?h.pt2px(a.size):null,o=a&&a.maxSize?h.pt2px(a.maxSize):null,p=i||N,u=[],c=0,v=0,y=!1,b=0;b<l.length;b++){var x=l.getItemAt(b),S=[];if(!s||\"fill\"===x.type){var w=m.shapes.fill[0];switch(x.type){case\"fill\":var z=d(x),U=Math.min(p,o||E);c=Math.max(c,U),v=Math.max(v,U),y=!0,S.push({shape:w,fill:M(x,0),stroke:z});break;case\"line\":var j=L(x,0),D={stroke:j,shape:w};c=Math.max(c,N),v=Math.max(v,N),S.push(D);break;case\"extrude\":var R=r({join:\"round\"},L(x,-.4)),I=M(x,0),C=M(x,-.2),O=Math.min(p,o||E),P=m.getExtrudeSymbolShapes(O);R.width=1,S.push({shape:P[0],fill:C,stroke:R}),S.push({shape:P[1],fill:C,stroke:R}),S.push({shape:P[2],fill:I,stroke:R});var H=N,q=.7*N+.5*O;c=Math.max(c,H),v=Math.max(v,q);break;case\"water\":var A=k(x),I=g(A),T=g(A,2),W=g(A,3),Z=m.getWaterSymbolShapes();y=!0,S.push({shape:Z[0],fill:I}),S.push({shape:Z[1],fill:T}),S.push({shape:Z[2],fill:W});var U=Math.min(p,o||E);c=Math.max(c,U),v=Math.max(v,U)}u.push(S)}}return n.resolve(f.renderSymbol(u,[c,v],{node:a&&a.node,scale:y,opacity:a&&a.opacity}))}function O(e,a){if(0===e.symbolLayers.length)return n.reject(new l(\"symbolPreview: renderPreviewHTML3D\",\"No symbolLayers in the symbol.\"));var r=null;switch(e.type){case\"point-3d\":r=R(e,a);break;case\"line-3d\":r=I(e,a);break;case\"polygon-3d\":case\"mesh-3d\":r=C(e,a)}return r||n.reject(new l(\"symbolPreview: swatchInfo3D\",\"symbol not supported.\"))}Object.defineProperty(a,\"__esModule\",{value:!0});var P=e.toUrl(\"../../images/Legend/legend3dsymboldefault.png\"),N=22,E=120,H=80,q=40,A=20,T=i.getLogger(\"esri.symbols.support.previewSymbol3D\");a.getSymbolLayerFill=M,a.previewSymbol3D=O});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(a,e){function t(a){var e=22,t=22;a<1?e*=.75:a>1&&(t*=1.25);return[{type:\"path\",path:[{command:\"M\",values:[22,0]},{command:\"L\",values:[19.25,0]},{command:\"L\",values:[0,t-11]},{command:\"L\",values:[e-11,t-11]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[22,0]},{command:\"L\",values:[22,2.75]},{command:\"L\",values:[e-11,22]},{command:\"L\",values:[e-11,t-11]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[e-11,t-11]},{command:\"L\",values:[0,t-11]},{command:\"L\",values:[0,22]},{command:\"L\",values:[e-11,22]},{command:\"Z\",values:[]}]}]}function m(a){var e=.5*a;return[{type:\"path\",path:[{command:\"M\",values:[0,22*.7*.5]},{command:\"L\",values:[6.6,22*.7]},{command:\"L\",values:[6.6,22*.7+e]},{command:\"L\",values:[0,22*.7+e-22*.7*.5]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[6.6,22*.7]},{command:\"L\",values:[6.6,22*.7+e]},{command:\"L\",values:[22,e]},{command:\"L\",values:[22,0]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[6.6,0]},{command:\"L\",values:[22,0]},{command:\"L\",values:[6.6,22*.7]},{command:\"L\",values:[0,22*.7*.5]},{command:\"Z\",values:[]}]}]}function p(){return[{type:\"path\",path:\"M80,80.2v-27c-1.5,0.7-2.8,1.6-3.9,2.8c-1.8,2.1-4.4,3.3-7.1,3.5c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.4,3.6c-1.8,2.1-4.4,3.3-7.2,3.4C8.3,59.3,5.7,58,3.9,56c-1.1-1.2-2.4-2.1-3.9-2.8v27\"},{type:\"path\",path:\"M11,59.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.4-3.6s5.1,1.3,7.4,3.6c1.8,2,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.3-3.6s5.1,1.3,7.4,3.6c1.8,2.1,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c1.1-1.2,2.4-2.1,3.9-2.8v-24c-1.5,0.7-2.8,1.6-3.9,2.8c-1.8,2.1-4.4,3.3-7.1,3.5c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.4,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-1.1-1.2-2.4-2.1-3.9-2.8v24c1.5,0.7,2.8,1.6,3.9,2.8C5.7,58,8.3,59.3,11,59.4z\"},{type:\"path\",path:\"M11,35.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.4-3.6s5.1,1.3,7.4,3.6c1.8,2,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.3-3.6s5.1,1.3,7.4,3.6c1.8,2.1,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c1.1-1.2,2.4-2.1,3.9-2.8V3.6c-1.5,0.7-2.8,1.6-3.9,2.8c-2.2,2.1-4.6,3.4-7.1,3.4s-5-1.3-7.1-3.4s-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6S42.5,9.9,40,9.9s-5-1.3-7.1-3.4s-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.5,0-5-1.3-7.1-3.4C2.8,5.3,1.4,4.3,0,3.6v25.6c1.5,0.7,2.8,1.6,3.9,2.8C5.7,34.1,8.3,35.3,11,35.4z\"}]}function c(a,e){var t=e?20:a,m=a,p=e?4:6;t-=t<=22?.5*p:p;var c=t,L=e?.35*t:.5*t;return[{type:\"path\",path:[{command:\"M\",values:[.5*c,0]},{command:\"L\",values:[c,.5*L]},{command:\"L\",values:[.5*c,L]},{command:\"L\",values:[0,.5*L]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[0,.5*L]},{command:\"L\",values:[.5*c,L]},{command:\"L\",values:[.5*c,m]},{command:\"L\",values:[0,m-.5*L]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.5*c,L]},{command:\"L\",values:[.5*c,m]},{command:\"L\",values:[c,m-.5*L]},{command:\"L\",values:[c,.5*L]},{command:\"Z\",values:[]}]}]}function L(a,e){var t=e?20:a,m=a,p=e?4:6;t-=t<=22?.5*p:p;var c=.5*t,L=.15*t,n=L,s=t,l=m-L;return[{type:\"ellipse\",cx:.5*s,cy:l,rx:c,ry:L},{type:\"path\",path:[{command:\"M\",values:[0,n]},{command:\"L\",values:[0,l]},{command:\"L\",values:[s,l]},{command:\"L\",values:[s,n]},{command:\"Z\",values:[]}]},{type:\"ellipse\",cx:.5*s,cy:n,rx:c,ry:L}]}function n(a,e){var t=e?20:a,m=a,p=e?4:6;t-=t<=22?.5*p:p;var c=.5*t,L=.15*t,n=t,s=m-L;return[{type:\"ellipse\",cx:.5*t,cy:s,rx:c,ry:L},{type:\"path\",path:[{command:\"M\",values:[.5*n,0]},{command:\"L\",values:[n,s]},{command:\"L\",values:[0,s]},{command:\"Z\",values:[]}]}]}function s(a){var e=a,t=a;e-=e<22?3:6;var m=.5*e,p=.15*e,c=e;return[{type:\"path\",path:[{command:\"M\",values:[0,0]},{command:\"L\",values:[c,0]},{command:\"L\",values:[.5*c,t-p]},{command:\"Z\",values:[]}]},{type:\"ellipse\",cx:.5*e,cy:0,rx:m,ry:p}]}function l(a){var e=a,t=a;e-=e<22?2:4;var m=e,p=t,c=Math.floor(a/10)-1||1;return[{type:\"path\",path:[{command:\"M\",values:[.45*m,0]},{command:\"L\",values:[m,.5*p-c]},{command:\"L\",values:[.45*m-c,.5*p+c]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.45*m,0]},{command:\"L\",values:[.45*m-c,.5*p+c]},{command:\"L\",values:[0,.5*p-c]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[0,.5*p-c]},{command:\"L\",values:[.45*m-c,.5*p+c]},{command:\"L\",values:[.45*m,t]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.45*m,t]},{command:\"L\",values:[m,.5*p-c]},{command:\"L\",values:[.45*m-c,.5*p+c]},{command:\"Z\",values:[]}]}]}function o(a){var e=a,t=a;t-=t<22?1:2;var m=e,p=t;return[{type:\"path\",path:[{command:\"M\",values:[.45*m,0]},{command:\"L\",values:[m,p]},{command:\"L\",values:[.45*m,.6*p]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.45*m,0]},{command:\"L\",values:[.45*m,.6*p]},{command:\"L\",values:[0,p]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[0,p]},{command:\"L\",values:[.45*m,.6*p]},{command:\"L\",values:[m,p]},{command:\"Z\",values:[]}]}]}Object.defineProperty(e,\"__esModule\",{value:!0}),e.shapes={fill:[{type:\"path\",path:\"M -10,-10 L 10,0 L 10,10 L -10,10 L -10,-10 Z\"}],pathSymbol3DLayer:[{type:\"path\",path:\"M 3,12 L 12,0 L 11,-2 L -4,5 L -1,5 L 1,7 L 3,10 L 3,12 Z\"},{type:\"circle\",cx:-2,cy:10,r:5}],extrudeSymbol3DLayer:[{type:\"path\",path:\"M -7,-5 L -2,0 L -2,7 L -7,3 L -7,-5 Z\"},{type:\"path\",path:\"M -2,0 L -2,7 L 10,-3 L 10,-10 L -2,0 Z\"},{type:\"path\",path:\"M -7,-5 L -2,0 L 10,-10 L -2,-10 L -7,-5 Z\"}],cone:[{type:\"path\",path:\"M 0,-10 L -8,5 L -4,6.5 L 0,7 L 4,6.5 L 8,5 Z\"}],tallCone:[{type:\"path\",path:\"M 0,-9 L -3.5,7 L -1.5,7.8 L 0,8 L 1.5,7.8 L 3.5,7 L 0,-9 Z\"}],invertedCone:[{type:\"path\",path:\"M 0,7 L -8,-8 L 8,-8 Z\"},{type:\"path\",path:\"M -8,-8 L -4,-9.5 L 0,-10 L 4,-9.5 L 8,-8 L 4,-6.5 L 0,-6 L -4,-6.5 Z\"}],cube:[{type:\"path\",path:\"M -10,-7 L 0,-12 L 10,-7 L 0,-2 L -10,-7 Z\"},{type:\"path\",path:\"M -10,-7 L 0,-2 L 0,12 L -10,7 L -10,-7 Z\"},{type:\"path\",path:\"M 0,-2 L 10,-7 L 10,7 L 0,12 L 0,-2 Z\"}],tallCube:[{type:\"path\",path:\"M -3.5,-8.5 L 0,-9.5 L 3.5,-8.5 L 0,-7.5 L -3.5,-8.5 Z\"},{type:\"path\",path:\"M -3.5,-8.5 L 0,-7.5 L 0,9 L -3.5,8 L -3.5,-8.5 Z\"},{type:\"path\",path:\"M 0,-7.5 L 3.5,-8.5 L 3.5,8 L 0,9 L 0,-7.5 Z\"}],cylinder:[{type:\"path\",path:\"M -8,-9 L -8,7 L -4,8.5 L 0,9 L 4,8.5 L 8,7 L 8,-9 Z\"},{type:\"ellipse\",cx:0,cy:-9,rx:8,ry:2}],tallCylinder:[{type:\"path\",path:\"M -3.5,-9 L -3.5,7 L -1.5,7.8 L 0,8 L 1.5,7.8 L 3.5,7 L 3.5,-9 Z\"},{type:\"ellipse\",cx:0,cy:-9,rx:3.5,ry:1}],diamond:[{type:\"path\",path:\"M 0,-10 L 10,-1 L -1,1 L 0,-10 Z\"},{type:\"path\",path:\"M 0,-10 L -1,1 L -8,-1 L 0,-10 Z\"},{type:\"path\",path:\"M -1,1 L 0,10 L -8,-1 L -1,1 Z\"},{type:\"path\",path:\"M -1,0 L 0,10 L 10,-1 L -1,1 Z\"}],tetrahedron:[{type:\"path\",path:\"M 0,-10 L 10,7 L 0,0 L 0,-10 Z\"},{type:\"path\",path:\"M 0,-10 L 0,0 L -8,7 L 0,-10 Z\"},{type:\"path\",path:\"M 10,7 L 0,0 L -8,7 L 10,7 Z\"}]},e.getPathSymbolShapes=t,e.getExtrudeSymbolShapes=m,e.getWaterSymbolShapes=p,e.getCubeShapes=c,e.getCylinderShapes=L,e.getConeShapes=n,e.getInvertedConeShapes=s,e.getDiamondShapes=l,e.getTetrahedronShapes=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../request\",\"../../core/screenUtils\"],function(e,t,i,n){function r(e,t,n){var r=e.thumbnail&&e.thumbnail.url;return r?i(r,{responseType:\"image\"}).then(function(e){var t=h(e.data,n);return n&&n.node?(n.node.appendChild(t),n.node):t}):e.fetchSymbol().then(function(e){return t(e,n)})}function h(e,t){var i=/\\\\.svg$/i.test(e.src),r=!i&&t&&t.disableUpsampling,h=Math.max(e.width,e.height),a=t&&null!=t.maxSize?n.pt2px(t.maxSize):120;r&&(a=Math.min(h,a));var u=Math.min(a,t&&null!=t.size?n.pt2px(t.size):h);if(u!==h){var l=0!==e.width&&0!==e.height?e.width/e.height:1;l>=1?(e.width=u,e.height=u/l):(e.width=u*l,e.height=u)}return e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.previewWebStyleSymbol=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../kernel\",\"../../request\",\"../../core/colorUtils\",\"../../core/Error\",\"../../core/has\",\"../../core/promiseUtils\",\"../../libs/maquette/index\",\"./svgUtils\"],function(e,t,r,i,a,n,o,h,c,l){function u(e,t,r){var i=Math.ceil(t[0]),a=Math.ceil(t[1]);if(!e.some(function(e){return!!e.length}))return null;var n=r&&r.node||document.createElement(\"div\");return null!=r.opacity&&(n.style.opacity=r.opacity.toString()),f.append(n,l.renderSVG.bind(null,e,i,a,r)),n}function d(e,t){e=Math.ceil(e),t=Math.ceil(t);var r=document.createElement(\"canvas\");r.width=e,r.height=t,r.style.width=e+\"px\",r.style.height=t+\"px\";var i=r.getContext(\"2d\");return i.clearRect(0,0,e,t),i}function g(e,t,r){return e?i(e,{responseType:\"image\"}).then(function(e){var i=e.data,a=i.width,n=i.height,o=a/n,h=t;if(r){var c=Math.max(a,n);h=Math.min(h,c)}return{image:i,width:o<=1?Math.ceil(h*o):h,height:o<=1?h:Math.ceil(h/o)}}):h.reject(new n(\"renderUtils: imageDataSize\",\"href not provided.\"))}function s(e,t){return!(!e||\"ignore\"===t)&&(\"multiply\"!==t||255!==e.r||255!==e.g||255!==e.b||1!==e.a)}function v(e,t,r,i,n){switch(n){case\"multiply\":e[t+0]*=r[0],e[t+1]*=r[1],e[t+2]*=r[2],e[t+3]*=r[3];break;default:var o=a.toHSV({r:e[t+0],g:e[t+1],b:e[t+2]});o.h=i.h,o.s=i.s,o.v=o.v/100*i.v;var h=a.toRGB(o);e[t+0]=h.r,e[t+1]=h.g,e[t+2]=h.b,e[t+3]*=r[3]}}function m(e,t,i,n,h){return g(e,t,h).then(function(h){var c=h.width?h.width:t,l=h.height?h.height:t;if(h.image&&s(i,n)){var u=h.image.width,g=h.image.height;(o(\"edge\")||o(\"ie\"))&&/\\.svg$/i.test(e)&&(u-=1,g-=1);var m=d(c,l);m.drawImage(h.image,0,0,u,g,0,0,c,l);for(var f=m.getImageData(0,0,c,l),p=[i.r/255,i.g/255,i.b/255,i.a],w=a.toHSV(i),y=0;y<f.data.length;y+=4)v(f.data,y,p,w,n);m.putImageData(f,0,0),e=m.canvas.toDataURL(\"image/png\")}else{var b=r.id&&r.id.findCredential(e);if(b&&b.token){var M=-1===e.indexOf(\"?\")?\"?\":\"&\";e=\"\"+e+M+\"token=\"+b.token}}return{url:e,width:c,height:l}}).catch(function(){return{url:e,width:t,height:t}})}Object.defineProperty(t,\"__esModule\",{value:!0});var f=c.createProjector();t.renderSymbol=u,t.tintImageWithColor=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../request\",\"../../symbols\",\"../../core/devEnvironmentUtils\",\"../../core/Error\",\"../../core/promiseUtils\",\"../../core/urlUtils\",\"../../portal/Portal\",\"../../portal/PortalQueryParams\",\"../../support/featureFlags\",\"./jsonUtils\",\"./StyleOrigin\",\"./Thumbnail\"],function(e,t,r,n,l,o,a,s,i,u,m,y,f,c,b){function p(e,t){return O(e,t).then(function(t){return{data:t.data,baseUrl:i.removeFile(e),styleUrl:e}})}function d(e,t,r){var n,l=t.portal||u.getDefault(),o=l.url+\" - \"+(l.user&&l.user.username)+\" - \"+e;return D[o]||(D[o]=v(e,l,r).then(function(e){return n=e,e.fetchData()}).then(function(t){return{data:t,baseUrl:n.itemUrl,styleName:e}})),D[o]}function v(e,t,r){return t.load(r).then(function(){var n=new m({disableExtraQuery:!0,query:\"owner:\"+E+\" AND type:\"+F+' AND typekeywords:\"'+e+'\"'});return t.queryItems(n,r)}).then(function(t){var n=t.results,l=null,o=e.toLowerCase();if(n&&Array.isArray(n))for(var s=0,i=n;s<i.length;s++){var u=i[s],m=u.typeKeywords.some(function(e){return e.toLowerCase()===o});if(m&&u.type===F&&u.owner===E){l=u;break}}if(!l)throw new a(\"symbolstyleutils:style-not-found\",\"The style '\"+e+\"' could not be found\",{styleName:e});return l.load(r)})}function h(e,t,r){return e.styleUrl?p(e.styleUrl,r):e.styleName?d(e.styleName,t,r):s.reject(new a(\"symbolstyleutils:style-url-and-name-missing\",\"Either styleUrl or styleName is required to resolve a style\"))}function S(e,t,r,n){return e.name?e.styleName&&\"Esri2DPointSymbolsStyle\"===e.styleName?j(e,t,n):h(e,t,n).then(function(l){return g(l,e.name,t,r,n)}):s.reject(new a(\"symbolstyleutils:style-symbol-reference-name-missing\",\"Missing name in style symbol reference\"))}function g(e,t,r,n,u){for(var m=e.data,y={portal:r.portal,url:i.urlToObject(e.baseUrl),origin:\"portal-item\"},p=0,d=m.items;p<d.length;p++){var v=d[p],h=function(a){if(a.name!==t)return\"continue\";var s=i.fromJSON(w(a,n),y),m=a.thumbnail&&a.thumbnail.href,p=a.thumbnail&&a.thumbnail.imageData;o.isDevEnvironment()&&(s=o.adjustStaticAGOUrl(s),m=o.adjustStaticAGOUrl(m));var d={portal:r.portal,url:i.urlToObject(i.removeFile(s)),origin:\"portal-item\"};return{value:O(s,u).then(function(o){var a=\"cimRef\"===n?N(o.data):o.data,s=f.fromJSON(a,d);if(s&&l.isSymbol3D(s)){if(m){var u=i.fromJSON(m,y);s.thumbnail=new b.default({url:u})}else p&&(s.thumbnail=new b.default({url:\"data:image/png;base64,\"+p}));e.styleUrl?s.styleOrigin=new c({portal:r.portal,styleUrl:e.styleUrl,name:t}):e.styleName&&(s.styleOrigin=new c({portal:r.portal,styleName:e.styleName,name:t}))}return s})}}(v);if(\"object\"==typeof h)return h.value}return s.reject(new a(\"symbolstyleutils:symbol-name-not-found\",\"The symbol name '\"+t+\"' could not be found\",{symbolName:t}))}function N(e){return null===e||\"CIMSymbolReference\"===e.type?e:{type:\"CIMSymbolReference\",symbol:e}}function w(e,t){if(\"cimRef\"===t)return e.cimRef;if(e.formatInfos&&!y.enableWebStyleForceWOSR())for(var r=0,n=e.formatInfos;r<n.length;r++){var l=n[r];if(\"gltf\"===l.type)return l.href}return e.webRef}function U(e){for(var t=0,r=e.typeKeywords;t<r.length;t++){var n=r[t];if(/^Esri.*Style$/.test(n)&&\"Esri Style\"!==n)return n}}function j(e,t,r){var n=R.replace(/\\{SymbolName\\}/gi,e.name);return O(n,r).then(function(e){var r=N(e.data);return f.fromJSON(r,{portal:t.portal,url:i.urlToObject(i.removeFile(n)),origin:\"portal-item\"})})}function O(e,t){var l=r({responseType:\"json\",query:{f:\"json\"}},t);return n(i.normalize(e),l)}Object.defineProperty(t,\"__esModule\",{value:!0});var D={};t.fetchStyle=h,t.resolveWebStyleSymbol=S,t.fetchSymbolFromStyle=g,t.styleNameFromItem=U;var E=\"esri_en\",F=\"Style\",R=\"https://cdn.arcgis.com/sharing/rest/content/items/220936cc6ed342c9937abd8f180e7d1e/resources/styles/cim/{SymbolName}.json?f=json\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\",\"../../core/has\",\"../../core/libs/gl-matrix-2/mat2df32\",\"../../core/libs/gl-matrix-2/math/mat2d\",\"../../widgets/support/widget\"],function(t,e,r,i,n,a,o){function l(t){return t.map(function(t){return t.command+\" \"+t.values.join(\" \")}).join(\" \").trim()}function h(t,e,r,i){if(t){if(\"circle\"===t.type)return o.tsx(\"circle\",{fill:e,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-width\":r.width,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-dasharray\":r.dashArray,\"stroke-miterlimit\":\"4\",cx:t.cx,cy:t.cy,r:t.r});if(\"ellipse\"===t.type)return o.tsx(\"ellipse\",{fill:e,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-width\":r.width,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-dasharray\":r.dashArray,\"stroke-miterlimit\":\"4\",cx:t.cx,cy:t.cy,rx:t.rx,ry:t.ry});if(\"rect\"===t.type)return o.tsx(\"rect\",{fill:e,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-width\":r.width,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-dasharray\":r.dashArray,\"stroke-miterlimit\":\"4\",x:t.x,y:t.y,width:t.width,height:t.height});if(\"image\"===t.type)return o.tsx(\"image\",{href:t.src,x:t.x,y:t.y,width:t.width,height:t.height,preserveAspectRatio:\"none\"});if(\"path\"===t.type){var n=\"string\"!=typeof t.path?l(t.path):t.path;return o.tsx(\"path\",{fill:e,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-width\":r.width,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-dasharray\":r.dashArray,\"stroke-miterlimit\":\"4\",d:n})}if(\"text\"===t.type)return o.tsx(\"text\",{fill:e,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-width\":r.width,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-dasharray\":r.dashArray,\"stroke-miterlimit\":\"4\",\"text-anchor\":i.align,\"text-decoration\":i.decoration,kerning:i.kerning,rotate:i.rotate,\"text-rendering\":M,\"font-style\":i.font.style,\"font-variant\":i.font.variant,\"font-weight\":i.font.weight,\"font-size\":i.font.size,\"font-family\":i.font.family,x:t.x,y:t.y},t.text)}return null}function s(t){var e={fill:\"none\",pattern:null,linearGradient:null};if(t)if(\"type\"in t&&\"pattern\"===t.type){var i=\"patternId-\"+ ++N;e.fill=\"url(#\"+i+\")\",e.pattern={id:i,x:t.x,y:t.y,width:t.width,height:t.height,image:{x:0,y:0,width:t.width,height:t.height,href:t.src}}}else if(\"type\"in t&&\"linear\"===t.type){var i=\"linearGradientId-\"+ ++I;e.fill=\"url(#\"+i+\")\",e.linearGradient={id:i,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stops:t.colors.map(function(t){return{offset:t.offset,color:t.color&&new r(t.color).toString()}})}}else if(t){var n=new r(t);e.fill=n.toString()}return e}function f(t){var e={color:\"none\",width:1,cap:\"butt\",join:\"4\",dashArray:\"none\"};if(t&&(null!=t.width&&(e.width=t.width),t.cap&&(e.cap=t.cap),t.join&&(e.join=t.join.toString()),t.color&&(e.color=new r(t.color).toString()),t.style)){var i=null;if(t.style in F&&(i=F[t.style]),Array.isArray(i)){i=i.slice(0);for(var n=0;n<i.length;++n)i[n]*=t.width;if(\"butt\"!==t.cap){for(var n=0;n<i.length;n+=2)i[n]-=t.width,i[n]<1&&(i[n]=1);for(var n=1;n<i.length;n+=2)i[n]+=t.width}i=i.join(\",\")}e.dashArray=i}return e}function d(t,e){var r={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};return t&&(r.align=t.align,r.decoration=t.decoration,r.kerning=t.kerning?\"auto\":\"0\",r.rotate=t.rotated?\"90\":\"0\",r.font.style=e.style||\"normal\",r.font.variant=e.variant||\"normal\",r.font.weight=e.weight||\"normal\",r.font.size=e.size&&e.size.toString()||\"10pt\",r.font.family=e.family||\"serif\"),r}function c(t){var e=t.pattern,r=t.linearGradient;if(e)return o.tsx(\"pattern\",{id:e.id,patternUnits:\"userSpaceOnUse\",x:e.x,y:e.y,width:e.width,height:e.height},o.tsx(\"image\",{x:e.image.x,y:e.image.y,width:e.image.width,height:e.image.height,href:e.image.href}));if(r){var i=r.stops.map(function(t,e){return o.tsx(\"stop\",{key:e+\"-stop\",offset:t.offset,\"stop-color\":t.color})});return o.tsx(\"linearGradient\",{id:r.id,gradientUnits:\"userSpaceOnUse\",x1:r.x1,y1:r.y1,x2:r.x2,y2:r.y2},i)}return null}function y(t,e,r){return a.translate(t,a.identity(t),[e,r])}function u(t,e,r,i,n){return a.scale(t,a.identity(t),[e,r]),t[4]=t[4]*e-i*e+i,t[5]=t[5]*r-n*r+n,t}function g(t,e,r,i){var n=e%360*Math.PI/180;a.rotate(t,a.identity(t),n);var o=Math.cos(n),l=Math.sin(n),h=t[4],s=t[5];return t[4]=h*o-s*l+i*l-r*o+r,t[5]=s*o+h*l-r*l-i*o+i,t}function x(t,e){T&&\"left\"in T?(T.left>t&&(T.left=t),T.right<t&&(T.right=t),T.top>e&&(T.top=e),T.bottom<e&&(T.bottom=e)):T={left:t,bottom:e,right:t,top:e}}function p(t){var e,r=t.args,i=r.length;switch(t.action){case\"M\":case\"L\":case\"C\":case\"S\":case\"Q\":case\"T\":for(e=0;e<i;e+=2)x(r[e],r[e+1]);E.x=r[i-2],E.y=r[i-1];break;case\"H\":for(e=0;e<i;++e)x(r[e],E.y);E.x=r[i-1];break;case\"V\":for(e=0;e<i;++e)x(E.x,r[e]);E.y=r[i-1];break;case\"m\":var n=0;\"x\"in E||(x(E.x=r[0],E.y=r[1]),n=2);for(e=n;e<i;e+=2)x(E.x+=r[e],E.y+=r[e+1]);break;case\"l\":case\"t\":for(e=0;e<i;e+=2)x(E.x+=r[e],E.y+=r[e+1]);break;case\"h\":for(e=0;e<i;++e)x(E.x+=r[e],E.y);break;case\"v\":for(e=0;e<i;++e)x(E.x,E.y+=r[e]);break;case\"c\":for(e=0;e<i;e+=6)x(E.x+r[e],E.y+r[e+1]),x(E.x+r[e+2],E.y+r[e+3]),x(E.x+=r[e+4],E.y+=r[e+5]);break;case\"s\":case\"q\":for(e=0;e<i;e+=4)x(E.x+r[e],E.y+r[e+1]),x(E.x+=r[e+2],E.y+=r[e+3]);break;case\"A\":for(e=0;e<i;e+=7)x(r[e+5],r[e+6]);E.x=r[i-2],E.y=r[i-1];break;case\"a\":for(e=0;e<i;e+=7)x(E.x+=r[e+5],E.y+=r[e+6])}}function m(t,e,r){var i,n=z[t.toLowerCase()];\"number\"==typeof n&&(n?e.length>=n&&(i={action:t,args:e.slice(0,e.length-e.length%n)},r.push(i),p(i)):(i={action:t,args:[]},r.push(i),p(i)))}function w(t){var e=\"string\"!=typeof t.path?l(t.path):t.path,r=e.match(G),i=[];if(T={},E={},!r)return null;for(var n=\"\",a=[],o=r.length,h=0;h<o;++h){var s=r[h],f=parseFloat(s);isNaN(f)?(n&&m(n,a,i),a=[],n=s):a.push(f)}m(n,a,i);var d={x:0,y:0,width:0,height:0};return T&&\"left\"in T&&(d.x=T.left,d.y=T.top,d.width=T.right-T.left,d.height=T.bottom-T.top),d}function v(t){var e={x:0,y:0,width:0,height:0};if(\"circle\"===t.type)e.x=t.cx-t.r,e.y=t.cy-t.r,e.width=2*t.r,e.height=2*t.r;else if(\"ellipse\"===t.type)e.x=t.cx-t.rx,e.y=t.cy-t.ry,e.width=2*t.rx,e.height=2*t.ry;else if(\"image\"===t.type||\"rect\"===t.type)e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height;else if(\"path\"===t.type){var r=w(t);e.x=r.x,e.y=r.y,e.width=r.width,e.height=r.height}return e}function k(t){for(var e={x:0,y:0,width:0,height:0},r=null,i=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY,a=0,o=t;a<o.length;a++){var l=o[a];r?(r.x=Math.min(r.x,l.x),r.y=Math.min(r.y,l.y),i=Math.max(i,l.x+l.width),n=Math.max(n,l.y+l.height)):(r=e,r.x=l.x,r.y=l.y,i=l.x+l.width,n=l.y+l.height)}return r&&(r.width=i-r.x,r.height=n-r.y),r}function b(t,e,r,i,o,l){var h=e/2,s=r/2,f=t.width+i,d=t.height+i,c=n.mat2df32.create(),x=n.mat2df32.create(),p=!1;if(o&&0!==f&&0!==d){var m=f/d,w=e>r?e:r,v=1,k=1;isNaN(w)||(m>1?(v=w/f,k=w/m/d):(k=w/d,v=w*m/f)),a.multiply(x,x,u(c,v,k,h,s)),p=!0}var b=t.x+(f-i)/2,j=t.y+(d-i)/2,A=h-b,N=s-j;if(a.multiply(x,x,y(c,A,N)),!p&&(f>e||d>r)){var I=f/e>d/r,S=I?f:d,M=I?e:r,z=M/S;a.multiply(x,x,u(c,z,z,b,j))}return l&&a.multiply(x,x,g(c,l,b,j)),\"matrix(\"+x[0]+\",\"+x[1]+\",\"+x[2]+\",\"+x[3]+\",\"+x[4]+\",\"+x[5]+\")\"}function j(t,e,r,i){for(var n=[],a=[],l=0,y=t;l<y.length;l++){for(var u=y[l],g=[],x=[],p=0,m=0,w=u;m<w.length;m++){var j=w[m],N=j.shape,I=j.fill,S=j.stroke,M=j.font;p+=S&&S.width||0;var z=s(I),G=f(S),T=\"text\"===N.type?d(N,M):null;n.push(c(z)),g.push(h(N,z.fill,G,T)),x.push(v(N))}var E=b(k(x),e,r,p,i&&i.scale,i&&i.rotation);a.push(o.tsx(\"g\",{transform:E},g))}return o.tsx(\"svg\",{xmlns:A,width:e,height:r},o.tsx(\"defs\",null,n),a)}Object.defineProperty(e,\"__esModule\",{value:!0});var A=\"http://www.w3.org/2000/svg\",N=0,I=0,S=i(\"android\"),M=i(\"chrome\")||S&&S>=4?\"auto\":\"optimizeLegibility\",z={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},G=/([A-DF-Za-df-z])|([-+]?\\d*[.]?\\d+(?:[eE][-+]?\\d+)?)/g,T={},E={},F={solid:\"none\",shortdash:[4,1],shortdot:[1,1],shortdashdot:[4,1,1,1],shortdashdotdot:[4,1,1,1,1,1],dot:[1,3],dash:[4,3],longdash:[8,3],dashdot:[4,3,1,3],longdashdot:[8,3,1,3],longdashdotdot:[8,3,1,3,1,3]};e.renderShape=h,e.generateFillAttributes=s,e.generateStrokeAttributes=f,e.generateTextAttributes=d,e.renderDef=c,e.getBoundingBox=v,e.computeBBox=k,e.getTransformMatrix=b,e.renderSVG=j});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../symbols\",\"../../core/Error\"],function(e,o,l,i){function r(e,o,r,m){if(void 0===o&&(o=!1),void 0===r&&(r=!1),void 0===m&&(m=!0),!e)return{symbol:null};var n;if(l.isSymbol3D(e)||e instanceof l.WebStyleSymbol)n=e.clone();else if(\"cim\"===e.type)n=l.PointSymbol3D.fromCIMSymbol(e);else if(e instanceof l.SimpleLineSymbol)n=l.LineSymbol3D.fromSimpleLineSymbol(e);else if(e instanceof l.SimpleMarkerSymbol)n=l.PointSymbol3D.fromSimpleMarkerSymbol(e);else if(e instanceof l.PictureMarkerSymbol)n=l.PointSymbol3D.fromPictureMarkerSymbol(e);else if(e instanceof l.SimpleFillSymbol)n=l.PolygonSymbol3D.fromSimpleFillSymbol(e);else{if(!(e instanceof l.TextSymbol))return{error:new i(\"symbol-conversion:unsupported-2d-symbol\",\"2D symbol of type '\"+(e.type||e.declaredClass)+\"' is unsupported in 3D\",{symbol:e})};n=m?l.LabelSymbol3D.fromTextSymbol(e):l.PointSymbol3D.fromTextSymbol(e)}if(o&&(n.id=e.id),r&&l.isSymbol3D(n))for(var y=0;y<n.symbolLayers.length;++y)n.symbolLayers.getItemAt(y)._ignoreDrivers=!0;return{symbol:n}}Object.defineProperty(o,\"__esModule\",{value:!0}),o.to3D=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/assignHelper\",\"../../core/compilerUtils\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../../support/arcadeOnDemand\",\"./previewCIMSymbol\",\"./previewSymbol2D\",\"./previewSymbol3D\",\"./previewWebStyleSymbol\",\"./utils\"],function(e,t,r,l,i,a,o,n,s,c,u,p,d,h){function v(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function y(e,t,r){var l=e.backgroundColor,i=e.outline,a=e.dotSize,o=r&&r.swatchSize||22,n=Math.round(o*o/Math.pow(a,2)*.8),s=window.devicePixelRatio,c=document.createElement(\"canvas\"),u=o*s;c.width=u,c.height=u,c.style.width=c.width/s+\"px\",c.style.height=c.height/s+\"px\";var p=c.getContext(\"2d\");if(l&&(p.fillStyle=l.toCss(!0),p.fillRect(0,0,u,u),p.fill()),p.fillStyle=t.toCss(!0),w&&w.length/2===n)for(var d=0;d<2*n;d+=2){var h=w[d],y=w[d+1];p.fillRect(h,y,a*s,a*s),p.fill()}else{w=[];for(var d=0;d<2*n;d+=2){var h=v(0,u),y=v(0,u);w.push(h,y),p.fillRect(h,y,a*s,a*s),p.fill()}}i&&(i.color&&(p.strokeStyle=i.color.toCss(!0)),p.lineWidth=i.width,p.strokeRect(0,0,u,u));var f=new Image(o,o);return f.src=c.toDataURL(),f}function f(e,t){void 0===t&&(t={});var r=\"horizontal\"===t.align,l=r?75:24,i=r?24:75,a=t.width,o=void 0===a?l:a,n=t.height,s=void 0===n?i:n,c=t.gradient,u=void 0===c||c,p=window.devicePixelRatio,d=o*p,h=s*p,v=document.createElement(\"canvas\");v.width=d,v.height=h,v.style.width=o+\"px\",v.style.height=s+\"px\";var y=v.getContext(\"2d\"),f=r?d:0,b=r?0:h;if(u){var g=y.createLinearGradient(0,0,f,b),m=e.length,w=1/(m-1);e.forEach(function(e,t){return g.addColorStop(t*w,e.toString())}),y.fillStyle=g,y.fillRect(0,0,d,h)}else for(var S=r?d/e.length:d,x=r?h:h/e.length,C=0,R=0,V=0,M=e;V<M.length;V++){var D=M[V];y.fillStyle=D.toString(),y.fillRect(C,R,S,x),C=r?C+S:0,R=r?0:R+x}var k=document.createElement(\"div\");return k.style.width=o+\"px\",k.style.height=s+\"px\",k.appendChild(v),k}function b(e,t){switch(e.type){case\"web-style\":return d.previewWebStyleSymbol(e,b,t);case\"label-3d\":case\"line-3d\":case\"mesh-3d\":case\"point-3d\":case\"polygon-3d\":return p.previewSymbol3D(e,t);case\"simple-marker\":case\"simple-line\":case\"simple-fill\":case\"picture-marker\":case\"picture-fill\":case\"text\":return u.previewSymbol2D(e,t);case\"cim\":return c.previewCIMSymbol(e,t);default:return void a.neverReached(e)}}function g(e){return e&&\"opacity\"in e?e.opacity*g(e.parent):1}function m(t,a){return l(this,void 0,void 0,function(){var l,c,u,p,d,v,y,f,b,m,w,S,x,C,R,V,M,D;return r(this,function(r){switch(r.label){case 0:return t?(l=g(t.layer||t.sourceLayer),o.isSome(t.symbol)?(c=t.symbol.clone(),h.applyColorToSymbol(c,null,l),[2,c]):(u=t.get(\"layer.renderer\")||t.get(\"sourceLayer.renderer\"),[4,u.getSymbolAsync(t)])):[2,void 0];case 1:return(p=r.sent())?(p=p.clone(),!(\"visualVariables\"in u)||\"visualVariables\"in u&&!u.visualVariables||\"visualVariables\"in u&&u.visualVariables&&!u.visualVariables.length?[2,p]:u.arcadeRequiredForVisualVariables&&(o.isNone(a)||o.isNone(a.arcade))?(d=i({},o.unwrap(a)),v=d,[4,s.loadArcade()]):[3,3]):[2,void 0];case 2:v.arcade=r.sent(),a=d,r.label=3;case 3:return[4,n.create(function(t){return e([\"../../renderers/visualVariables/support/visualVariableUtils\"],t)})];case 4:for(y=r.sent(),f=[],b=[],m=[],w=[],S=0,x=u.visualVariables;S<x.length;S++)switch(C=x[S],C.type){case\"color\":f.push(C);break;case\"opacity\":b.push(C);break;case\"rotation\":w.push(C);break;case\"size\":m.push(C)}return R=!!f.length&&f[f.length-1],V=R?y.getColor(R,t,a):null,M=!!b.length&&b[b.length-1],D=M?y.getOpacity(M,t,a):null,null!=l&&(D=null!=D?D*l:l),h.applyColorToSymbol(p,V,D),m.forEach(function(e){return h.applySizeToSymbol(p,y.getSize(e,t,a),e.axis)}),w.forEach(function(e){return h.applyRotationToSymbol(p,y.getRotationAngle(e,t,a),e.axis)}),[2,p]}})})}Object.defineProperty(t,\"__esModule\",{value:!0});var w=null;t.renderDotDensityPreviewHTML=y,t.renderColorRampPreviewHTML=f,t.renderPreviewHTML=b,t.getDisplayedSymbol=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../renderers/support/utils\"],function(e,r,t){function n(e){return null!=t.meterIn[e]}function u(e){return 1/(t.meterIn[e]||1)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.supportsUnit=n,r.getMetersPerUnit=u,r.supportedUnits=function(){var e=Object.keys(t.meterIn);return e.sort(),e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/urlUtils\"],function(e,a,r){function t(e,a,t){return a.imageData?r.makeData({mediaType:a.contentType||\"image/png\",isBase64:!0,data:a.imageData}):i(a.url,t)}function i(e,a){return o(a)&&!r.isAbsolute(e)&&a.layer.parsedUrl?r.join(a.layer.parsedUrl.path,\"images\",e):r.fromJSON(e,a)}function n(e,a,t,i){if(r.isDataProtocol(e)){var n=r.dataComponents(e);a.contentType=n.mediaType,a.imageData=n.data,t&&t.imageData===a.imageData&&t.url&&r.write(t.url,a,\"url\",i)}else r.write(e,a,\"url\",i)}function o(e){return e&&(\"service\"===e.origin||\"portal-item\"===e.origin)&&e.layer&&(\"feature\"===e.layer.type||\"stream\"===e.layer.type)}Object.defineProperty(a,\"__esModule\",{value:!0}),a.readImageDataOrUrl=t,a.read=i,a.writeImageDataAndUrl=n,a.urlPropertyDefinition={json:{read:{source:[\"imageData\",\"url\"],reader:t},write:{writer:function(e,a,r,t){n(e,a,this.source,t)}}}},a.sourcePropertyDefinition={readOnly:!0,json:{read:{source:[\"imageData\",\"url\"],reader:function(e,a,r){var t={};return a.imageData&&(t.imageData=a.imageData),a.contentType&&(t.contentType=a.contentType),a.url&&(t.url=i(a.url,r)),t}}}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\",\"../../symbols\",\"../../core/compilerUtils\",\"../../core/has\",\"../../core/Logger\",\"../../core/maybe\",\"../../core/screenUtils\",\"./gfxUtils\",\"./Symbol3DMaterial\"],function(e,t,o,r,i,l,n,a,s,c,u){function y(e){var t=e.symbolLayers&&e.symbolLayers.length;if(t){var o=e.symbolLayers.getItemAt(t-1);if(\"outline\"in o)return a.get(o,\"outline\",\"size\")}}function m(e){if(!e)return 0;if(r.isSymbol3D(e)){var t=y(e);return a.isSome(t)?t:0}var o=c.getStroke(e);return o&&s.px2pt(o.width)||0}function p(e){if(!e||!e.symbolLayers)return!1;switch(e.type){case\"point-3d\":return e.symbolLayers.some(function(e){return\"object\"===e.type});case\"line-3d\":return e.symbolLayers.some(function(e){return\"path\"===e.type});case\"polygon-3d\":return e.symbolLayers.some(function(e){return\"object\"===e.type||\"extrude\"===e.type});default:return!1}}function f(e,t){var o=t.resource.href;return!l(\"esri-canvas-svg-support\")&&e.styleOrigin&&x.test(o)?o.replace(x,\"/resource/png/$1.png\"):o}function b(e,t){if(null==t)return e;var r=e.toRgba();return r[3]=r[3]*t,new o(r)}function h(e,t,o){var r=e.symbolLayers;if(r){var i=function(e){var r=a.isSome(e)?e:null;return t=t||r||null!=o&&D,b(t,o)};r.forEach(function(e){if(\"water\"===e.type)e.color=i(e.color);else{var t=a.isSome(e.material)?e.material.color:null,r=i(t);a.isNone(e.material)?e.material=new u.default({color:r}):e.material.color=r,null!=o&&\"outline\"in e&&a.isSome(e.outline)&&a.isSome(e.outline.color)&&(e.outline.color=b(e.outline.color,o))}})}}function d(e,t,o){t=t||e.color,t&&(e.color=b(t,o)),null!=o&&\"outline\"in e&&e.outline&&e.outline.color&&(e.outline.color=b(e.outline.color,o))}function g(e,t,i){e&&(t||null!=i)&&(t&&(t=new o(t)),r.isSymbol3D(e)?h(e,t,i):r.isSymbol2D(e)&&d(e,t,i))}function S(e,t,o){var r=e.symbolLayers;r&&r.forEach(function(e){if(e)switch(e.type){case\"icon\":case\"line\":case\"path\":case\"extrude\":case\"text\":e.size=t;break;case\"object\":switch(o){case\"width\":e.width=t;break;case\"depth\":e.depth=t;break;case\"height\":e.height=t;break;case\"width-and-depth\":e.width=t,e.depth=t;break;default:e.width=t,e.depth=t,e.height=t}break;default:L.warn(\"symbolUtils: applySizeToSymbol\",\"symbolLayer not supported\")}})}function w(e,t){switch(e.type){case\"simple-marker\":e.size=t;break;case\"picture-marker\":var o=e.width/e.height;o>1?(e.width=t,e.height=t*o):(e.width=t*o,e.height=t);break;case\"simple-line\":e.width=t;break;case\"text\":e.font.size=t;break;case\"simple-fill\":case\"picture-fill\":case\"cim\":break;default:i.neverReached(e)}}function v(e,t,o){e&&null!=t&&(r.isSymbol3D(e)?S(e,t,o):r.isSymbol2D(e)&&w(e,t))}function k(e,t,o){if(e&&null!=t)if(r.isSymbol3D(e)){var i=e.symbolLayers;i&&i.forEach(function(e){if(e&&\"object\"===e.type)switch(o){case\"tilt\":e.tilt=t;break;case\"roll\":e.roll=t;break;default:e.heading=t}})}else r.isSymbol2D(e)&&(\"simple-marker\"!==e.type&&\"picture-marker\"!==e.type&&\"text\"!==e.type||(e.angle=t))}Object.defineProperty(t,\"__esModule\",{value:!0});var L=n.getLogger(\"esri.symbols.support.utils\"),x=/\\/resource\\/(.*?)\\.svg$/,D=new o(\"white\");t.getSymbolOutlineSize=m,t.isVolumetricSymbol=p,t.getIconHref=f,t.applyOpacityToColor=b,t.applyColorToSymbol=g,t.applySizeToSymbol=v,t.applyRotationToSymbol=k});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"../core/lang\",\"../core/jsonMap\",\"../core/accessorSupport/ensureType\",\"../geometry/Extent\",\"../geometry/Multipoint\",\"../geometry/Polyline\",\"../geometry/Polygon\",\"../geometry/support/jsonUtils\",\"../request\",\"./Task\",\"./support/ProjectParameters\"],function(e,t,r,n,i,s,o,a,u,N,p){var f=new t.JSONMap({MGRS:\"mgrs\",USNG:\"usng\",UTM:\"utm\",GeoRef:\"geo-ref\",GARS:\"gars\",DMS:\"dms\",DDM:\"ddm\",DD:\"dd\"}),_=r.ensureType(p),O=N.createSubclass({declaredClass:\"esri.tasks.GeometryService\",areasAndLengths:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i={query:n};return(this.requestOptions||r)&&(i=e.mixin({},this.requestOptions,r,i)),u(this.parsedUrl.path+\"/areasAndLengths\",i).then(function(e){return e.data})},autoComplete:function(t,r,n){var i=t[0].spatialReference,s=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(i.toJSON()),polygons:JSON.stringify(this._encodeGeometries(t).geometries),polylines:JSON.stringify(this._encodeGeometries(r).geometries)}),a={query:s};return(this.requestOptions||n)&&(a=e.mixin({},this.requestOptions,n,a)),u(this.parsedUrl.path+\"/autoComplete\",a).then(function(e){return(e.data.geometries||[]).map(function(e){return new o({spatialReference:i,rings:e.rings})})})},buffer:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i=t.outSpatialReference||t.geometries[0].spatialReference,s={query:n};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/buffer\",s).then(function(e){return(e.data.geometries||[]).map(function(e){return new o({spatialReference:i,rings:e.rings})})})},cut:function(t,r,n){var i=t[0].spatialReference,s=t.map(function(e){return e.toJSON()}),o=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(i.toJSON()),target:JSON.stringify({geometryType:a.getJsonType(t[0]),geometries:s}),cutter:JSON.stringify(r.toJSON())}),N={query:o};return(this.requestOptions||n)&&(N=e.mixin({},this.requestOptions,n,N)),u(this.parsedUrl.path+\"/cut\",N).then(function(e){var t=e.data,r=t.geometries||[];return{cutIndexes:t.cutIndexes,geometries:r.map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})}})},convexHull:function(t,r){var n=t[0].spatialReference,i=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(n.toJSON()),geometries:JSON.stringify(this._encodeGeometries(t))}),s={query:i};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/convexHull\",s).then(function(e){return a.fromJSON(e.data.geometry).set(\"spatialReference\",n)})},densify:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i=t.geometries[0].spatialReference,s={query:n};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/densify\",s).then(function(e){return(e.data.geometries||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},difference:function(t,r,n){var i=t[0].spatialReference,s=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(i.toJSON()),geometries:JSON.stringify(this._encodeGeometries(t)),geometry:JSON.stringify({geometryType:a.getJsonType(r),geometry:r.toJSON()})}),o={query:s};return(this.requestOptions||n)&&(o=e.mixin({},this.requestOptions,n,o)),u(this.parsedUrl.path+\"/difference\",o).then(function(e){return(e.data.geometries||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},distance:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i={query:n};return(this.requestOptions||r)&&(i=e.mixin({},this.requestOptions,r,i)),u(this.parsedUrl.path+\"/distance\",i).then(this._handleDistanceResponse)},fromGeoCoordinateString:function(t,r){var n={};null!=t.sr&&\"object\"==typeof t.sr?n.sr=t.sr.wkid||JSON.stringify(t.sr):n.sr=t.sr,n.strings=JSON.stringify(t.strings);var i=t.conversionType||\"mgrs\";n.conversionType=f.toJSON(i),n.conversionMode=t.conversionMode;var s=e.mixin({},this.parsedUrl.query,{f:\"json\"},n),o={query:s};return(this.requestOptions||r)&&(o=e.mixin({},this.requestOptions,r,o)),u(this.parsedUrl.path+\"/fromGeoCoordinateString\",o).then(this._handleFromGeoCoordinateResponse)},generalize:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i=t.geometries[0].spatialReference,s={query:n};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/generalize\",s).then(function(e){return(e.data.geometries||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},intersect:function(t,r,n){var i=t[0].spatialReference,s=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(i.toJSON()),geometries:JSON.stringify(this._encodeGeometries(t)),geometry:JSON.stringify({geometryType:a.getJsonType(r),geometry:r.toJSON()})}),o={query:s};return(this.requestOptions||n)&&(o=e.mixin({},this.requestOptions,n,o)),u(this.parsedUrl.path+\"/intersect\",o).then(function(e){return(e.data.geometries||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},lengths:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i={query:n};return(this.requestOptions||r)&&(i=e.mixin({},this.requestOptions,r,i)),u(this.parsedUrl.path+\"/lengths\",i).then(function(e){return e.data})},labelPoints:function(t,r){var n=t.map(function(e){return e.toJSON()}),i=t[0].spatialReference,s=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:i.wkid?i.wkid:JSON.stringify(i.toJSON()),polygons:JSON.stringify(n)}),o={query:s};return(this.requestOptions||r)&&(o=e.mixin({},this.requestOptions,r,o)),u(this.parsedUrl.path+\"/labelPoints\",o).then(function(e){return(e.data.labelPoints||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},offset:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i=t.geometries[0].spatialReference,s={query:n};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/offset\",s).then(function(e){return(e.data.geometries||[]).map(function(e){return a.fromJSON(e).set(\"spatialReference\",i)})})},project:function(t,r){t=_(t);var n=e.mixin({},t.toJSON(),this.parsedUrl.query,{f:\"json\"}),i=t.outSpatialReference,s=a.getJsonType(t.geometries[0]),o=this._decodeGeometries,N={query:n};return(this.requestOptions||r)&&(N=e.mixin({},this.requestOptions,r,N)),u(this.parsedUrl.path+\"/project\",N).then(function(e){return o(e.data,s,i)})},relation:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i={query:n};return(this.requestOptions||r)&&(i=e.mixin({},this.requestOptions,r,i)),u(this.parsedUrl.path+\"/relation\",i).then(this._handleRelationResponse)},reshape:function(t,r,n){var i=t.spatialReference,s=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(i.toJSON()),target:JSON.stringify({geometryType:a.getJsonType(t),geometry:t.toJSON()}),reshaper:JSON.stringify(r.toJSON())}),o={query:s};return(this.requestOptions||n)&&(o=e.mixin({},this.requestOptions,n,o)),u(this.parsedUrl.path+\"/reshape\",o).then(function(e){return a.fromJSON(e.data.geometry).set(\"spatialReference\",i)})},simplify:function(t,r){var n=t[0].spatialReference,i=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:n.wkid?n.wkid:JSON.stringify(n.toJSON()),geometries:JSON.stringify(this._encodeGeometries(t))}),s=a.getJsonType(t[0]),o=this._decodeGeometries,N={query:i};return(this.requestOptions||r)&&(N=e.mixin({},this.requestOptions,r,N)),u(this.parsedUrl.path+\"/simplify\",N).then(function(e){return o(e.data,s,n)})},toGeoCoordinateString:function(t,r){var n={};null!=t.sr&&\"object\"==typeof t.sr?n.sr=t.sr.wkid||JSON.stringify(t.sr):n.sr=t.sr,n.coordinates=JSON.stringify(t.coordinates);var i=t.conversionType||\"mgrs\";n.conversionType=f.toJSON(i),n.conversionMode=t.conversionMode,n.numOfDigits=t.numOfDigits,n.rounding=t.rounding,n.addSpaces=t.addSpaces;var s=e.mixin({},this.parsedUrl.query,{f:\"json\"},n),o={query:s};return(this.requestOptions||r)&&(o=e.mixin({},this.requestOptions,r,o)),u(this.parsedUrl.path+\"/toGeoCoordinateString\",o).then(this._handleToGeoCoordinateResponse)},trimExtend:function(t,r){var n=e.mixin({},this.parsedUrl.query,{f:\"json\"},t.toJSON()),i=t.sr,o={query:n};return(this.requestOptions||r)&&(o=e.mixin({},this.requestOptions,r,o)),u(this.parsedUrl.path+\"/trimExtend\",o).then(function(e){return(e.data.geometries||[]).map(function(e){return new s({spatialReference:i,paths:e.paths})})})},union:function(t,r){var n=t[0].spatialReference,i=e.mixin({},this.parsedUrl.query,{f:\"json\",sr:JSON.stringify(n.toJSON()),geometries:JSON.stringify(this._encodeGeometries(t))}),s={query:i};return(this.requestOptions||r)&&(s=e.mixin({},this.requestOptions,r,s)),u(this.parsedUrl.path+\"/union\",s).then(function(e){return a.fromJSON(e.data.geometry).set(\"spatialReference\",n)})},_handleRelationResponse:function(e){return e.data.relations},_handleDistanceResponse:function(e){return(e=e.data)&&e.distance},_handleToGeoCoordinateResponse:function(e){return e.data.strings},_handleFromGeoCoordinateResponse:function(e){return e.data.coordinates},_encodeGeometries:function(e){var t,r=[],n=e.length;for(t=0;t<n;t++)r.push(e[t].toJSON());return{geometryType:a.getJsonType(e[0]),geometries:r}},_decodeGeometries:function(t,r,n){var i=a.getGeometryType(r),s=t.geometries,o=[],u={spatialReference:n.toJSON()},N=e.mixin;return s.forEach(function(e,t){o[t]=new i(N(e,u))}),o},_toProjectGeometry:function(e){var t=e.spatialReference.toJSON();return e instanceof n?new o({rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]],spatialReference:t}):new s({paths:[[].concat(e.points)],spatialReference:t})},_fromProjectedGeometry:function(e,t,r){if(\"extent\"===t){var s=e.rings[0];return new n(s[0][0],s[0][1],s[2][0],s[2][1],r)}return new i({points:e.paths[0],spatialReference:r.toJSON()})}});return e.mixin(O,{UNIT_METER:9001,UNIT_GERMAN_METER:9031,UNIT_FOOT:9002,UNIT_SURVEY_FOOT:9003,UNIT_CLARKE_FOOT:9005,UNIT_FATHOM:9014,UNIT_NAUTICAL_MILE:9030,UNIT_SURVEY_CHAIN:9033,UNIT_SURVEY_LINK:9034,UNIT_SURVEY_MILE:9035,UNIT_KILOMETER:9036,UNIT_CLARKE_YARD:9037,UNIT_CLARKE_CHAIN:9038,UNIT_CLARKE_LINK:9039,UNIT_SEARS_YARD:9040,UNIT_SEARS_FOOT:9041,UNIT_SEARS_CHAIN:9042,UNIT_SEARS_LINK:9043,UNIT_BENOIT_1895A_YARD:9050,UNIT_BENOIT_1895A_FOOT:9051,UNIT_BENOIT_1895A_CHAIN:9052,UNIT_BENOIT_1895A_LINK:9053,UNIT_BENOIT_1895B_YARD:9060,UNIT_BENOIT_1895B_FOOT:9061,UNIT_BENOIT_1895B_CHAIN:9062,UNIT_BENOIT_1895B_LINK:9063,UNIT_INDIAN_FOOT:9080,UNIT_INDIAN_1937_FOOT:9081,UNIT_INDIAN_1962_FOOT:9082,UNIT_INDIAN_1975_FOOT:9083,UNIT_INDIAN_YARD:9084,UNIT_INDIAN_1937_YARD:9085,UNIT_INDIAN_1962_YARD:9086,UNIT_INDIAN_1975_YARD:9087,UNIT_FOOT_1865:9070,UNIT_RADIAN:9101,UNIT_DEGREE:9102,UNIT_ARCMINUTE:9103,UNIT_ARCSECOND:9104,UNIT_GRAD:9105,UNIT_GON:9106,UNIT_MICRORADIAN:9109,UNIT_ARCMINUTE_CENTESIMAL:9112,UNIT_ARCSECOND_CENTESIMAL:9113,UNIT_MIL6400:9114,UNIT_BRITISH_1936_FOOT:9095,UNIT_GOLDCOAST_FOOT:9094,UNIT_INTERNATIONAL_CHAIN:109003,UNIT_INTERNATIONAL_LINK:109004,UNIT_INTERNATIONAL_YARD:109001,UNIT_STATUTE_MILE:9093,UNIT_SURVEY_YARD:109002,UNIT_50KILOMETER_LENGTH:109030,UNIT_150KILOMETER_LENGTH:109031,UNIT_DECIMETER:109005,UNIT_CENTIMETER:109006,UNIT_MILLIMETER:109007,UNIT_INTERNATIONAL_INCH:109008,UNIT_US_SURVEY_INCH:109009,UNIT_INTERNATIONAL_ROD:109010,UNIT_US_SURVEY_ROD:109011,UNIT_US_NAUTICAL_MILE:109012,UNIT_UK_NAUTICAL_MILE:109013,UNIT_SQUARE_INCHES:\"esriSquareInches\",UNIT_SQUARE_FEET:\"esriSquareFeet\",UNIT_SQUARE_YARDS:\"esriSquareYards\",UNIT_ACRES:\"esriAcres\",UNIT_SQUARE_MILES:\"esriSquareMiles\",UNIT_SQUARE_MILLIMETERS:\"esriSquareMillimeters\",UNIT_SQUARE_CENTIMETERS:\"esriSquareCentimeters\",UNIT_SQUARE_DECIMETERS:\"esriSquareDecimeters\",UNIT_SQUARE_METERS:\"esriSquareMeters\",UNIT_ARES:\"esriAres\",UNIT_HECTARES:\"esriHectares\",UNIT_SQUARE_KILOMETERS:\"esriSquareKilometers\"}),O});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../request\",\"../core/compilerUtils\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\",\"../geometry/Extent\",\"../geometry/SpatialReference\",\"../geometry/support/normalizeUtils\",\"../layers/support/Field\",\"../layers/support/MapImage\",\"./Task\",\"./support/DataFile\",\"./support/FeatureSet\",\"./support/GPMessage\",\"./support/JobInfo\",\"./support/LinearUnit\",\"./support/ParameterValue\",\"./support/RasterData\"],function(e,t,r,a,o,n,u,s,i,c,l,p,f,v,d,m,h,b,y,S,G,g,P,R){return function(t){function h(e){var r=t.call(this,e)||this;return r._timers=new Map,r.outSpatialReference=null,r.processExtent=null,r.processSpatialReference=null,r.returnFeatureCollection=!1,r.returnM=!1,r.returnZ=!1,r}return a(h,t),h.prototype.destroy=function(){this._timers.forEach(function(e){clearInterval(e)})},h.prototype.cancelJob=function(e,t){var a=this.parsedUrl.path,o=r({},this.requestOptions,t,{query:{f:\"json\"}});return this._clearTimer(e),s(a+\"/jobs/\"+e+\"/cancel\",o).then(function(e){return G.fromJSON(e.data)})},h.prototype.checkJobStatus=function(e,t){var a=this.parsedUrl.path,o=r({},this.requestOptions,t,{query:{f:\"json\"}});return s(a+\"/jobs/\"+e,o).then(function(e){return G.fromJSON(e.data)})},h.prototype.execute=function(e,t){var r=this;return this._constructRequest(\"execute\",e,t).then(function(e){var t=e.data.results||[],a=e.data.messages||[];return{results:t.map(r._decode),messages:a.map(function(e){return S.fromJSON(e)})}})},h.prototype.getResultData=function(e,t,a){var o=this,n=this,u=n.returnFeatureCollection,i=n.returnM,c=n.returnZ,l=n.outSpatialReference,p=n.parsedUrl,f=p.path,v={returnFeatureCollection:u||void 0,returnM:i||void 0,returnZ:c||void 0,outSR:l,returnType:\"data\",f:\"json\"},d=this._gpEncode(v,null),m=r({},this.requestOptions,a,{query:d});return s(f+\"/jobs/\"+e+\"/results/\"+t,m).then(function(e){return o._decode(e.data)})},h.prototype.getResultImage=function(e,t,a,o){var n=this,u=this.parsedUrl.path,i=r({},a.toJSON(),{f:\"json\"}),c=this._gpEncode(i),l=r({},this.requestOptions,o,{query:c});return s(u+\"/jobs/\"+e+\"/results/\"+t,l).then(function(e){return n._decode(e.data)})},h.prototype.getResultMapImageLayer=function(t){return u(this,void 0,void 0,function(){var r,a,o,u,s;return n(this,function(n){switch(n.label){case 0:return r=this.parsedUrl.path,a=r.indexOf(\"/GPServer/\"),o=r.substring(0,a),u=o+\"/MapServer/jobs/\"+t,[4,c.create(function(t){return e([\"../layers/MapImageLayer\"],t)})];case 1:return s=n.sent(),[2,new s({url:u})]}})})},h.prototype.submitJob=function(e,t){return this._constructRequest(\"submitJob\",e,t).then(function(e){return G.fromJSON(e.data)})},h.prototype.waitForJobCompletion=function(e,t){var r=this;void 0===t&&(t={});var a=t.interval,o=void 0===a?1e3:a,n=t.signal,u=t.statusCallback;return c.create(function(t,a){c.onAbort(n,function(){r._clearTimer(e),a(c.createAbortError())}),r._clearTimer(e);var s=setInterval(function(){r._timers.has(e)||a(c.createAbortError()),r._getJobStatus(e,r.requestOptions).then(function(o){var n=o.jobStatus;switch(n){case\"job-succeeded\":r._clearTimer(e),t(o);break;case\"job-submitted\":case\"job-executing\":case\"job-waiting\":case\"job-new\":u&&u(o);break;case\"job-cancelled\":case\"job-cancelling\":case\"job-deleted\":case\"job-deleting\":case\"job-timed-out\":case\"job-failed\":r._clearTimer(e),a(o);break;default:i.neverReached(n)}})},o);r._timers.set(e,s)})},h.prototype._clearTimer=function(e){this._timers.has(e)&&(clearInterval(this._timers.get(e)),this._timers.delete(e))},h.prototype._constructRequest=function(e,t,a){var o=this,n={},u={},i=[];return this._collectGeometries(t,i,n),v.normalizeCentralMeridian(i).then(function(i){var c=o,l=c.outSpatialReference,p=c.parsedUrl,f=c.processExtent,v=c.processSpatialReference,d=c.returnFeatureCollection,m=c.returnM,h=c.returnZ,b=p.path;for(var y in n){var S=n[y];u[y]=i.slice(S[0],S[1])}var G=l?l.wkid||l:null,g=v?v.wkid||v:null,P=f?{context:{extent:f,outSR:G,processSR:g}}:{\"env:outSR\":G,\"env:processSR\":g},R=\"execute\"===e?{returnFeatureCollection:d||void 0,returnM:m||void 0,returnZ:h||void 0}:null,_=r({},P,t,R,{f:\"json\"}),J=o._gpEncode(_,null,u),O=r({},o.requestOptions,a,{query:J});return s(b+\"/\"+e,O)})},h.prototype._collectGeometries=function(e,t,r){for(var a in e){var o=e[a];if(o&&\"object\"==typeof o&&o instanceof y){var n=o.features;r[a]=[t.length,t.length+n.length],n.forEach(function(e){t.push(e.geometry)})}}},h.prototype._decode=function(e){var t=e.dataType,r=P.fromJSON(e);switch(t){case\"GPBoolean\":case\"GPDouble\":case\"GPLong\":case\"GPString\":return r;case\"GPDate\":r.value=new Date(r.value);break;case\"GPDataFile\":r.value=b.fromJSON(r.value);break;case\"GPLinearUnit\":r.value=g.fromJSON(r.value);break;case\"GPFeatureRecordSetLayer\":case\"GPRecordSet\":var a=e.value.url;r.value=a?b.fromJSON(r.value):y.fromJSON(r.value);break;case\"GPRasterData\":case\"GPRasterDataLayer\":var o=e.value.mapImage;r.value=o?m.fromJSON(o):R.fromJSON(r.value);break;case\"GPField\":r.value=d.fromJSON(r.value);break;case\"GPMultiValue:GPBoolean\":case\"GPMultiValue:GPDouble\":case\"GPMultiValue:GPLong\":case\"GPMultiValue:GPString\":return r;case\"GPMultiValue:GPDate\":var n=r.value;r.value=n.map(function(e){return new Date(e)});break;case\"GPMultiValue:GPDataFile\":r.value=r.value.map(function(e){return b.fromJSON(e)});break;case\"GPMultiValue:GPLinearUnit\":r.value=r.value.map(function(e){return g.fromJSON(e)});break;case\"GPMultiValue:GPFeatureRecordSetLayer\":case\"GPMultiValue:GPRecordSet\":r.value=r.value.map(function(e){return y.fromJSON(e)});break;case\"GPMultiValue:GPRasterData\":case\"GPMultiValue:GPRasterDataLayer\":r.value=r.value.map(function(e){return e?m.fromJSON(e):R.fromJSON(r.value)});break;case\"GPMultiValue:GPField\":r.value=r.value.map(function(e){return d.fromJSON(e)});break;default:i.neverReached(t)}return r},h.prototype._gpEncode=function(e,t,r){var a=this;for(var o in e){var n=e[o];Array.isArray(n)?e[o]=JSON.stringify(n.map(function(e){return a._gpEncode({item:e},!0).item},this)):n instanceof Date&&(e[o]=n.getTime())}return this._encode(e,t,r)},h.prototype._getJobStatus=function(e,t){var a=this.parsedUrl.path,o=a+\"/jobs/\"+e,n=r({},this.requestOptions,t,{query:{f:\"json\"}});return s(o,n).then(function(e){return G.fromJSON(e.data)})},o([l.property({type:f})],h.prototype,\"outSpatialReference\",void 0),o([l.property({type:p})],h.prototype,\"processExtent\",void 0),o([l.property({type:f})],h.prototype,\"processSpatialReference\",void 0),o([l.property({nonNullable:!0})],h.prototype,\"returnFeatureCollection\",void 0),o([l.property({nonNullable:!0})],h.prototype,\"returnM\",void 0),o([l.property({nonNullable:!0})],h.prototype,\"returnZ\",void 0),h=o([l.subclass(\"esri/tasks/Geoprocessor\")],h)}(l.declared(h))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"dojox/gfx/canvas\",\"../kernel\",\"../request\",\"../core/iteratorUtils\",\"../core/jsonMap\",\"../core/lang\",\"../core/promiseUtils\",\"../core/screenUtils\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\",\"../geometry/Polygon\",\"../renderers/visualVariables/support/visualVariableUtils\",\"./Geoprocessor\",\"./Task\",\"./support/fileFormat\",\"./support/layoutTemplate\",\"./support/printTaskUtils\",\"./support/PrintTemplate\",\"./support/Query\"],function(e,t,r,a,i,n,s,o,l,u,c,y,p,d,f,h,m,g,S,b,v,_,L,x,O,w){function N(e){return e&&(e.path||\"image/svg+xml\"===e.contentType)}var J={Feet:\"ft\",Kilometers:\"km\",Meters:\"m\",Miles:\"mi\"},M=new y.default({esriFeet:\"Feet\",esriKilometers:\"Kilometers\",esriMeters:\"Meters\",esriMiles:\"Miles\"}),T=new y.default({esriExecutionTypeSynchronous:\"sync\",esriExecutionTypeAsynchronous:\"async\"}),I=new w({returnGeometry:!0});return function(e){function t(t){var r=e.call(this,t)||this;return r._ssExtent=null,r._legendLayers=[],r._legendLayerNameMap={},r._gpServerUrl=null,r._cimVersion=null,r._is11xService=!1,r._gpMetadata=null,r.updateDelay=1e3,r}return i(t,e),Object.defineProperty(t.prototype,\"_geoprocessor\",{get:function(){return new b({url:this.url})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"mode\",{get:function(){return this._gpMetadata&&this._gpMetadata.executionType?T.fromJSON(this._gpMetadata.executionType):\"sync\"},enumerable:!0,configurable:!0}),t.prototype.execute=function(e,t){var r=this,a=this.url,i=a.lastIndexOf(\"/GPServer/\");return i>0&&(a=a.slice(0,i+9)),d.resolve().then(function(){return r._gpServerUrl===a?{data:r._gpMetadata}:(r._gpServerUrl=a,u(a,{query:{f:\"json\"}}))}).then(function(t){return r._gpMetadata=t.data,r._cimVersion=r._gpMetadata.cimVersion,r._is11xService=!!r._cimVersion,r._getGpPrintParams(e)}).then(function(e){var a=function(e){return\"sync\"===r.mode?e.results&&e.results[0]&&e.results[0].value:r._geoprocessor.getResultData(e.jobId,\"Output_File\",t).then(function(e){return e.value})};return\"async\"===r.mode?r._geoprocessor.submitJob(e,t).then(function(e){return r._geoprocessor.waitForJobCompletion(e.jobId,{interval:r.updateDelay}).then(a)}):r._geoprocessor.execute(e,t).then(a)})},t.prototype._createOperationalLayers=function(e,t){return a(this,void 0,void 0,function(){var r,a,i,n,o,l,u,c,y,y;return s(this,function(s){switch(s.label){case 0:r=[],a={layerView:null,printTemplate:t,view:e},i=0,t.preserveScale&&(i=t.outScale||e.scale),n=x.getVisibleLayerViews(e,i),o=0,l=n,s.label=1;case 1:return o<l.length?(u=l[o],c=u.layer,!c.loaded||x.isGroupLayer(c)?[3,26]:(y=void 0,a.layerView=u,x.isBingMapsLayer(c)?(y=this._createBingMapsLayerJSON(c),[3,25]):[3,2])):[3,27];case 2:return x.isCSVLayer(c)?[4,this._createCSVLayerJSON(c,a)]:[3,4];case 3:return y=s.sent(),[3,25];case 4:return x.isFeatureLayer(c)?[4,this._createFeatureLayerJSON(c,a)]:[3,6];case 5:return y=s.sent(),[3,25];case 6:return x.isGraphicsLayer(c)?[4,this._createGraphicsLayerJSON(c,a)]:[3,8];case 7:return y=s.sent(),[3,25];case 8:return x.isImageryLayer(c)?(y=this._createImageryLayerJSON(c),[3,25]):[3,9];case 9:return x.isKMLLayer(c)?[4,this._createKMLLayerJSON(c,a)]:[3,11];case 10:return y=s.sent(),[3,25];case 11:return x.isMapImageLayer(c)?(y=this._createMapImageLayerJSON(c,a),[3,25]):[3,12];case 12:return x.isMapNotesLayer(c)?[4,this._createMapNotesLayerJSON(a)]:[3,14];case 13:return y=s.sent(),[3,25];case 14:return x.isOpenStreetMapLayer(c)?(y=this._createOpenStreetMapLayerJSON(),[3,25]):[3,15];case 15:return x.isStreamLayer(c)?[4,this._createStreamLayerJSON(c,a)]:[3,17];case 16:return y=s.sent(),[3,25];case 17:return x.isTileLayer(c)?(y=this._createTileLayerJSON(c),[3,25]):[3,18];case 18:return x.isVectorTileLayer(c)?[4,this._createVectorTileLayerJSON(c,a)]:[3,20];case 19:return y=s.sent(),[3,25];case 20:return x.isWebTileLayer(c)?(y=this._createWebTileLayerJSON(c),[3,25]):[3,21];case 21:return x.isWMSLayer(c)?(y=this._createWMSLayerJSON(c),[3,25]):[3,22];case 22:return x.isWMTSLayer(c)?(y=this._createWMTSLayerJSON(c),[3,25]):[3,23];case 23:return[4,this._createScreenshotJSON(c,a)];case 24:y=s.sent(),s.label=25;case 25:y&&(Array.isArray(y)?r.push.apply(r,y):(y.id=c.id,y.title=this._legendLayerNameMap[c.id]||c.title,y.opacity=c.opacity,y.minScale=c.minScale||0,y.maxScale=c.maxScale||0,r.push(y))),s.label=26;case 26:return o++,[3,1];case 27:return i&&r.forEach(function(e){e.minScale=0,e.maxScale=0}),e.graphics&&e.graphics.length?[4,this._createFeatureCollectionJSON(null,e.graphics,t)]:[3,29];case 28:y=s.sent(),y&&r.push(y),s.label=29;case 29:return[2,r]}})})},t.prototype._createBingMapsLayerJSON=function(e){return{culture:e.culture,key:e.key,type:\"BingMaps\"+(\"aerial\"===e.style?\"Aerial\":\"hybrid\"===e.style?\"Hybrid\":\"Road\")}},t.prototype._createCSVLayerJSON=function(e,t){var r=t.layerView,i=t.printTemplate;return a(this,void 0,void 0,function(){var t,a;return s(this,function(n){switch(n.label){case 0:return this._legendLayers&&this._legendLayers.push({id:e.id}),this._is11xService?(t={type:\"CSV\"},e.write(t,{origin:\"web-map\"}),delete t.popupInfo,delete t.layerType,t.showLabels=i.showLabels&&e.labelsVisible,[3,3]):[3,1];case 1:return[4,this._getGraphics(r)];case 2:return a=n.sent(),[2,this._createFeatureCollectionJSON(e,a,i)];case 3:return[2,t]}})})},t.prototype._createFeatureCollectionJSON=function(e,t,r){return a(this,void 0,void 0,function(){var a,i,n,o,l,u,y,p,d,f,h,m,S,b,v,_,L,O,w=this;return s(this,function(J){switch(J.label){case 0:return a=e,(i=x.createPolygonLayer(),n=x.createPolylineLayer(),o=x.createPointLayer(),l=x.createMultipointLayer(),u=x.createPointLayer(),u.layerDefinition.name=\"textLayer\",delete u.layerDefinition.drawingInfo,a&&(\"esri.layers.FeatureLayer\"===a.declaredClass||\"esri.layers.StreamLayer\"===a.declaredClass?i.layerDefinition.name=n.layerDefinition.name=o.layerDefinition.name=l.layerDefinition.name=this._legendLayerNameMap[a.id]||a.get(\"arcgisProps.title\")||a.title:\"esri.layers.GraphicsLayer\"===a.declaredClass&&(t=a.graphics.items)),a&&a.renderer?(y=a.renderer.toJSON(),i.layerDefinition.drawingInfo.renderer=y,n.layerDefinition.drawingInfo.renderer=y,o.layerDefinition.drawingInfo.renderer=y,l.layerDefinition.drawingInfo.renderer=y):(delete i.layerDefinition.drawingInfo,delete n.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete l.layerDefinition.drawingInfo),d=a&&a.fields,f=a&&a.renderer,d&&f&&\"function\"==typeof f.collectRequiredFields)?(h=new Set,[4,f.collectRequiredFields(h,d)]):[3,2];case 1:J.sent(),p=c.valuesOfSet(h),J.label=2;case 2:d&&(m=d.map(function(e){return e.toJSON()}),i.layerDefinition.fields=m,n.layerDefinition.fields=m,o.layerDefinition.fields=m,l.layerDefinition.fields=m),S=t&&t.length,v=function(e){var c,y,d,f,h;return s(this,function(s){switch(s.label){case 0:return c=t[e]||t.getItemAt(e),!1!==c.visible&&c.geometry?(b=c.toJSON(),b.hasOwnProperty(\"popupTemplate\")&&delete b.popupTemplate,b.geometry&&b.geometry.z&&delete b.geometry.z,b.symbol&&b.symbol.outline&&\"esriCLS\"===b.symbol.outline.type&&!_._is11xService?[2,\"continue\"]:(!_._is11xService&&b.symbol&&b.symbol.outline&&b.symbol.outline.color&&b.symbol.outline.color[3]&&(b.symbol.outline.color[3]=255),y=a&&a.renderer&&(\"valueExpression\"in a.renderer&&a.renderer.valueExpression||\"hasVisualVariables\"in a.renderer&&a.renderer.hasVisualVariables()),!b.symbol&&a&&a.renderer&&y&&!_._is11xService?(d=a.renderer,[4,d.getSymbolAsync(c)]):[3,2])):[2,\"continue\"];case 1:if(!(f=s.sent()))return[2,\"continue\"];b.symbol=f.toJSON(),\"hasVisualVariables\"in d&&d.hasVisualVariables()&&x.applyVisualVariables(b.symbol,{renderer:d,graphic:c,symbol:f}),s.label=2;case 2:return b.symbol&&(b.symbol.angle||delete b.symbol.angle,N(b.symbol)?b.symbol=_._convertSvgToPictureMarkerSymbolJson(b.symbol):b.symbol.text&&delete b.attributes),r&&r.forceFeatureAttributes||!p||!p.length||(h={},p.forEach(function(e){b.attributes&&b.attributes.hasOwnProperty(e)&&(h[e]=b.attributes[e])}),b.attributes=h),\"polygon\"===c.geometry.type?i.featureSet.features.push(b):\"polyline\"===c.geometry.type?n.featureSet.features.push(b):\"point\"===c.geometry.type?b.symbol&&b.symbol.text?u.featureSet.features.push(b):o.featureSet.features.push(b):\"multipoint\"===c.geometry.type?l.featureSet.features.push(b):\"extent\"===c.geometry.type&&(b.geometry=g.fromExtent(c.geometry).toJSON(),i.featureSet.features.push(b)),[2]}})},_=this,L=0,J.label=3;case 3:return L<S?[5,v(L)]:[3,6];case 4:J.sent(),J.label=5;case 5:return L++,[3,3];case 6:return O=[i,n,l,o,u].filter(function(e){return e.featureSet.features.length>0}),O.forEach(function(e){var t=e.featureSet.features.every(function(e){return e.symbol});!t||r&&r.forceFeatureAttributes||e.featureSet.features.forEach(function(e){delete e.attributes}),t&&delete e.layerDefinition.drawingInfo,e.layerDefinition.drawingInfo&&e.layerDefinition.drawingInfo.renderer&&w._convertSvgRenderer(e.layerDefinition.drawingInfo.renderer)}),[2,O.length?{featureCollection:{layers:O}}:null]}})})},t.prototype._createFeatureLayerJSON=function(e,t){return a(this,void 0,void 0,function(){var r,a,i,n,o,l,u,c,y,p;return s(this,function(s){switch(s.label){case 0:return this._legendLayers&&this._legendLayers.push({id:e.id}),(a=e.renderer,e.featureReduction||a&&\"dot-density\"===a.type)?[2,this._createScreenshotJSON(e,t)]:(i=t.layerView,n=t.printTemplate,o=t.view,l=a&&(\"valueExpression\"in a&&a.valueExpression||\"hasVisualVariables\"in a&&a.hasVisualVariables()),u=e.source&&\"feature-layer\"!==e.source.type,!this._is11xService&&l||e.featureReduction||u||!a||\"field\"in a&&null!=a.field&&(\"string\"!=typeof a.field||!e.getField(a.field))?[3,1]:(r={},this._setURLandToken(r,e),e.write(r,{origin:\"web-map\"}),delete r.layerType,delete r.popupInfo,delete r.visibility,r.showLabels=n.showLabels&&e.labelsVisible,r.layerDefinition&&r.layerDefinition.drawingInfo&&r.layerDefinition.drawingInfo.renderer&&(this._convertSvgRenderer(r.layerDefinition.drawingInfo.renderer),\"visualVariables\"in a&&a.visualVariables&&a.visualVariables[0]&&(c=a.visualVariables[0],\"size\"===c.type&&c.maxSize&&\"number\"!=typeof c.maxSize&&c.minSize&&\"number\"!=typeof c.minSize&&(y=S.getSizeRangeAtScale(c,o.scale),r.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=y.minSize,r.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=y.maxSize))),[3,4]));case 1:return[4,this._getGraphics(i)];case 2:return p=s.sent(),[4,this._createFeatureCollectionJSON(e,p,n)];case 3:r=s.sent(),s.label=4;case 4:return[2,r]}})})},t.prototype._createGraphicsLayerJSON=function(e,t){var r=t.printTemplate;return a(this,void 0,void 0,function(){return s(this,function(t){return[2,this._createFeatureCollectionJSON(e,null,r)]})})},t.prototype._createImageryLayerJSON=function(e){this._legendLayers&&this._legendLayers.push({id:e.id});var t={bandIds:e.bandIds,compressionQuality:e.compressionQuality,format:e.format,interpolation:e.interpolation};if((e.mosaicRule||e.definitionExpression)&&(t.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.renderingRule||e.renderer)if(this._is11xService)e.renderingRule&&(t.renderingRule=e.renderingRule.toJSON()),e.renderer&&(t.layerDefinition=t.layerDefinition||{},t.layerDefinition.drawingInfo=t.layerDefinition.drawingInfo||{},t.layerDefinition.drawingInfo.renderer=e.renderer.toJSON());else{var r=e.exportImageServiceParameters.combineRendererWithRenderingRule();r&&(t.renderingRule=r.toJSON())}return this._setURLandToken(t,e),t},t.prototype._createKMLLayerJSON=function(e,t){return a(this,void 0,void 0,function(){var a,i,n,o,l,u,c;return s(this,function(s){switch(s.label){case 0:return a=t.printTemplate,this._is11xService?(i={type:\"kml\"},e.write(i,{origin:\"web-map\"}),delete i.layerType,i.url=h.normalize(e.url),[2,i]):(n=[],o=t.layerView,o.allVisibleMapImages.forEach(function(t,r){var a={id:e.id+\"_image\"+r,type:\"image\",title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:e.opacity,extent:t.extent};\"data:image/png;base64,\"===t.href.substr(0,22)?a.imageData=t.href.substr(22):a.url=t.href,n.push(a)}),l=o.allVisiblePoints.items.concat(o.allVisiblePolylines.items,o.allVisiblePolygons.items),c=[{id:e.id}],[4,this._createFeatureCollectionJSON(null,l,a)]);case 1:return u=r.apply(void 0,c.concat([s.sent()])),n.push(u),[2,n]}})})},t.prototype._createMapImageLayerJSON=function(e,t){var r,a=t.view,i={id:e.id,subLayerIds:[]},n=[],s=a.scale,o=function(e){var t=0===s,r=0===e.minScale||s<=e.minScale,a=0===e.maxScale||s>=e.maxScale;if(e.visible&&(t||r&&a))if(e.sublayers)e.sublayers.forEach(o);else{var l=e.toExportImageJSON().drawingInfo,u=e.toJSON();u.layerDefinition.drawingInfo=l,n.unshift(u),i.subLayerIds.push(e.id)}};return e.sublayers&&e.sublayers.forEach(o),n.length&&(n=n.map(function(e){return{id:e.id,name:e.name,layerDefinition:e.layerDefinition}}),r={layers:n,visibleLayers:i.subLayerIds},this._setURLandToken(r,e),this._legendLayers.push(i)),r},t.prototype._createMapNotesLayerJSON=function(e){var t=e.layerView,r=e.printTemplate;return a(this,void 0,void 0,function(){var e,a,i,n,o;return s(this,function(s){switch(s.label){case 0:e=[],a=0,i=t.graphicsViews,s.label=1;case 1:return a<i.length?(n=i[a],[4,this._createFeatureCollectionJSON(n,n.graphics,r)]):[3,4];case 2:o=s.sent(),o&&e.push.apply(e,o.featureCollection.layers),s.label=3;case 3:return a++,[3,1];case 4:return[2,{featureCollection:{layers:e}}]}})})},t.prototype._createOpenStreetMapLayerJSON=function(){return{type:\"OpenStreetMap\"}},t.prototype._createScreenshotJSON=function(e,t){var r=t.printTemplate,i=t.view;return a(this,void 0,void 0,function(){var t,a,n,o,l,u,c,y,p,d;return s(this,function(s){switch(s.label){case 0:return t={type:\"image\"},a={format:\"png\",ignoreBackground:!0,layers:[e],rotation:0},n=this._ssExtent||i.extent.clone(),o=96,l=!0,u=!0,r.exportOptions&&(c=r.exportOptions,c.dpi>0&&(o=c.dpi),c.width>0&&(l=c.width%2==i.width%2),c.height>0&&(u=c.height%2==i.height%2)),\"map-only\"!==r.layout||!r.preserveScale||r.outScale&&r.outScale!==i.scale||96!==o||l&&u||(a.area={x:0,y:0,width:i.width,height:i.height},l||(a.area.width-=1),u||(a.area.height-=1),this._ssExtent||(y=i.toMap(f.createScreenPoint(a.area.width,a.area.height)),n.ymin=y.y,n.xmax=y.x,this._ssExtent=n)),t.extent=n.clone()._normalize(!0).toJSON(),[4,i.takeScreenshot(a)];case 1:return p=s.sent(),d=h.dataComponents(p.dataUrl),t.imageData=d.data,[2,t]}})})},t.prototype._createStreamLayerJSON=function(e,t){var r=t.layerView,i=t.printTemplate;return a(this,void 0,void 0,function(){var t;return s(this,function(a){switch(a.label){case 0:return this._legendLayers&&this._legendLayers.push({id:e.id}),[4,this._getGraphics(r)];case 1:return t=a.sent(),[2,this._createFeatureCollectionJSON(e,t,i)]}})})},t.prototype._createTileLayerJSON=function(e){var t={};return this._setURLandToken(t,e),t},t.prototype._createVectorTileLayerJSON=function(e,t){return a(this,void 0,void 0,function(){var r,a,i;return s(this,function(n){return this._is11xService&&e.serviceUrl&&e.styleUrl&&(r=l.id&&l.id.findCredential(e.styleUrl),a=l.id&&l.id.findCredential(e.serviceUrl),!r&&!a||\"2.1.0\"!==this._cimVersion)?(i={type:\"VectorTileLayer\"},i.styleUrl=h.normalize(e.styleUrl),r&&(i.token=r.token),a&&a.token!==i.token&&(i.additionalTokens=[{url:e.serviceUrl,token:a.token}]),[2,i]):[2,this._createScreenshotJSON(e,t)]})})},t.prototype._createWebTileLayerJSON=function(e){var t=e.urlTemplate.replace(/\\${/g,\"{\"),r={type:\"WebTiledLayer\",urlTemplate:t,credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(r.subDomains=e.subDomains),r},t.prototype._createWMSLayerJSON=function(e){var t,r=[],a=function(e){e.visible&&(e.sublayers?e.sublayers.forEach(a):e.name&&r.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(a),r.length&&(t={type:\"wms\",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:r,url:h.normalize(e.url),version:e.version}),t},t.prototype._createWMTSLayerJSON=function(e){var t=e.activeLayer;return{type:\"wmts\",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:h.normalize(e.url)}},t.prototype._setURLandToken=function(e,t){if(t.url){e.url=h.normalize(t.url);var r=l.id&&l.id.findCredential(t.url);r&&(e.token=r.token)}},t.prototype._convertSvgToPictureMarkerSymbolJson=function(e){this._canvasParent?(this._canvasSurface.clear(),this._canvasSurface.setDimensions(1024,1024)):(this._canvasParent=document.createElement(\"div\"),this._canvasSurface=o.createSurface(this._canvasParent,1024,1024));var t;t=\"image/svg+xml\"===e.contentType?this._canvasSurface.createObject(o.Image,{src:\"data:image/svg+xml;base64,\"+e.imageData,width:f.pt2px(e.width),height:f.pt2px(e.height),x:0,y:0}):this._canvasSurface.createObject(o.Path,e.path).setFill(e.color).setStroke(e.outline),\"pendingRender\"in this._canvasSurface&&this._canvasSurface._render(!0);var r=this._canvasSurface.rawNode.getContext(\"2d\"),a=t.getBoundingBox(),i=Math.ceil(a.width+a.x),n=Math.ceil(a.height+a.y),s=r.getImageData(a.x,a.y,i,n);r.canvas.width=i,r.canvas.height=n,r.putImageData(s,0,0);return{type:\"esriPMS\",imageData:r.canvas.toDataURL(\"image/png\").substr(22),angle:e.angle,contentType:\"image/png\",height:e.size?e.size:n-a.y,width:e.size?e.size:i-a.x,xoffset:e.xoffset,yoffset:e.yoffset}},t.prototype._convertSvgRenderer=function(e){var t=this,r=e.type;if(\"simple\"===r&&N(e.symbol))e.symbol=this._convertSvgToPictureMarkerSymbolJson(e.symbol);else if(\"unique-value\"===r||\"class-breaks\"===r){N(e.defaultSymbol)&&(e.defaultSymbol=this._convertSvgToPictureMarkerSymbolJson(e.defaultSymbol));var a=\"unique-value\"===r?\"uniqueValueInfos\":\"classBreakInfos\",i=e[a];i&&i.forEach(function(e){N(e.symbol)&&(e.symbol=t._convertSvgToPictureMarkerSymbolJson(e.symbol))})}},t.prototype._getGraphics=function(e){return e.queryFeatures(I).then(function(e){return e.features})},t.prototype._getPrintDefinition=function(e,t){return a(this,void 0,void 0,function(){var r,a,i,n,o;return s(this,function(s){switch(s.label){case 0:return r=e.view,a=r.spatialReference,n={},[4,this._createOperationalLayers(r,t)];case 1:return n.operationalLayers=s.sent(),i=n,o=this._ssExtent||e.extent||r.extent,a&&a.isWrappable&&(o=o.clone()._normalize(!0),a=o.spatialReference),i.mapOptions={extent:o&&o.toJSON(),spatialReference:a&&a.toJSON(),showAttribution:t.attributionVisible},this._ssExtent=null,r.rotation&&(i.mapOptions.rotation=-r.rotation),t.preserveScale&&(i.mapOptions.scale=t.outScale||r.scale),[2,i]}})})},t.prototype._getGpPrintParams=function(e){return a(this,void 0,void 0,function(){var t,r,a,i,n,o,l,u,c,y,d,f,h,m,g,S,b,v,x,w=this;return s(this,function(s){switch(s.label){case 0:return t=e.template||new O,null==t.showLabels&&(t.showLabels=!0),r=t.exportOptions,i=L.toJSON(t.layout),r&&(n=r.dpi,a={dpi:n},\"map_only\"!==i.toLowerCase()&&\"\"!==i||(o=r.width,l=r.height,a.outputSize=[o,l])),u=t.layoutOptions,u&&(y=void 0,d=void 0,\"Miles\"===u.scalebarUnit||\"Kilometers\"===u.scalebarUnit?(y=\"Kilometers\",d=\"Miles\"):\"Meters\"!==u.scalebarUnit&&\"Feet\"!==u.scalebarUnit||(y=\"Meters\",d=\"Feet\"),c={titleText:u.titleText,authorText:u.authorText,copyrightText:u.copyrightText,customTextElements:u.customTextElements,scaleBarOptions:{metricUnit:M.toJSON(y),metricLabel:J[y],nonMetricUnit:M.toJSON(d),nonMetricLabel:J[d]}}),f=null,u&&u.legendLayers&&(f=u.legendLayers.map(function(e){w._legendLayerNameMap[e.layerId]=e.title;var t={id:e.layerId};return e.subLayerIds&&(t.subLayerIds=e.subLayerIds),t})),[4,this._getPrintDefinition(e,t)];case 1:return h=s.sent(),h.operationalLayers&&(g=new RegExp(\"[\\\\u4E00-\\\\u9FFF\\\\u0E00-\\\\u0E7F\\\\u0900-\\\\u097F\\\\u3040-\\\\u309F\\\\u30A0-\\\\u30FF\\\\u31F0-\\\\u31FF]\"),S=/[\\u0600-\\u06FF]/,b=function(e){var t=e.text,r=e.font,a=r&&r.family&&r.family.toLowerCase();t&&r&&(\"arial\"===a||\"arial unicode ms\"===a)&&(r.family=g.test(t)?\"Arial Unicode MS\":\"Arial\",\"normal\"!==r.style&&S.test(t)&&(r.family=\"Arial Unicode MS\"))},h.operationalLayers.forEach(function(e){e.featureCollection&&e.featureCollection.layers&&e.featureCollection.layers.forEach(function(e){e.layerDefinition&&e.layerDefinition.drawingInfo&&e.layerDefinition.drawingInfo.renderer&&e.layerDefinition.drawingInfo.renderer.symbol&&(m=e.layerDefinition.drawingInfo.renderer,\"esriTS\"===m.symbol.type&&b(m.symbol)),e.featureSet&&e.featureSet.features&&e.featureSet.features.forEach(function(e){e.symbol&&\"esriTS\"===e.symbol.type&&b(e.symbol)})})})),e.outSpatialReference&&(h.mapOptions.spatialReference=e.outSpatialReference.toJSON()),p.mixin(h,{exportOptions:a,layoutOptions:c}),p.mixin(h.layoutOptions,{legendOptions:{operationalLayers:null!=f?f:this._legendLayers.slice()}}),this._legendLayers.length=0,v=JSON.stringify(h),x={Web_Map_as_JSON:v,Format:_.toJSON(t.format),Layout_Template:i},e.extraParameters&&p.mixin(x,e.extraParameters),[2,x]}})})},n([m.property({dependsOn:[\"url\"]})],t.prototype,\"_geoprocessor\",null),n([m.property()],t.prototype,\"_gpMetadata\",void 0),n([m.property({dependsOn:[\"_gpMetadata\"],readOnly:!0})],t.prototype,\"mode\",null),n([m.property()],t.prototype,\"updateDelay\",void 0),t=n([m.subclass(\"esri.tasks.PrintTask\")],t)}(m.declared(v))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/assignHelper\",\"../geometry\",\"../core/accessorSupport/decorators\",\"./Task\",\"./operations/query\",\"./operations/queryAttachments\",\"./operations/queryRelatedRecords\",\"./support/AttachmentQuery\",\"./support/FeatureSet\",\"./support/Query\",\"./support/RelationshipQuery\"],function(e,t,r,o,n,u,s,i,c,p,a,h,d,y,l,f){return function(e){function t(t){var r=e.call(this,t)||this;return r.gdbVersion=null,r.source=null,r}return r(t,e),t.prototype.execute=function(e,t){return this.executeJSON(e,t).then(function(e){return y.fromJSON(e)})},t.prototype.executeJSON=function(e,t){return p.executeQuery(this.parsedUrl,this._normalizeQuery(e),u({},this.requestOptions,t)).then(function(e){return e.data})},t.prototype.executeForCount=function(e,t){return p.executeQueryForCount(this.parsedUrl,this._normalizeQuery(e),u({},this.requestOptions,t)).then(function(e){return e.data.count})},t.prototype.executeForExtent=function(e,t){return p.executeQueryForExtent(this.parsedUrl,this._normalizeQuery(e),u({},this.requestOptions,t)).then(function(e){return{count:e.data.count,extent:s.Extent.fromJSON(e.data.extent)}})},t.prototype.executeForIds=function(e,t){return p.executeQueryForIds(this.parsedUrl,this._normalizeQuery(e),u({},this.requestOptions,t)).then(function(e){return e.data.objectIds})},t.prototype.executeRelationshipQuery=function(e,t){return e=f.from(e),(this.gdbVersion||this.source)&&(e=e.clone().set({gdbVersion:this.gdbVersion||e.gdbVersion,source:this.source||e.source})),h.executeRelationshipQuery(this.parsedUrl,e,u({},this.requestOptions,t)).then(function(e){var t=e.data,r={};return Object.keys(t).forEach(function(e){return r[e]=y.fromJSON(t[e])}),r})},t.prototype.executeAttachmentQuery=function(e,t){var r=this;return a.executeAttachmentQuery(this.parsedUrl,d.from(e),u({},this.requestOptions,t)).then(function(e){return a.processAttachmentQueryResult(e.data.attachmentGroups,r.parsedUrl.path)})},t.prototype._normalizeQuery=function(e){var t=l.from(e);return this.gdbVersion||this.source?(t===e?t.clone():t).set({gdbVersion:this.gdbVersion||e.gdbVersion,source:this.source||e.source}):t},o([i.property()],t.prototype,\"gdbVersion\",void 0),o([i.property()],t.prototype,\"source\",void 0),t=o([i.subclass(\"esri.tasks.QueryTask\")],t)}(i.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/paramHelper\",\"../core/tsSupport/assignHelper\",\"../core/Accessor\",\"../core/urlUtils\",\"../core/accessorSupport/decorators\"],function(r,e,t,o,n,p,s,l,i){return function(r){function e(e){var t=r.call(this,e)||this;return t.requestOptions=null,t.url=null,t}return t(e,r),e.prototype.normalizeCtorArgs=function(r,e){return\"string\"!=typeof r?r:p({url:r},e)},Object.defineProperty(e.prototype,\"parsedUrl\",{get:function(){return this._parseUrl(this.url)},enumerable:!0,configurable:!0}),e.prototype._parseUrl=function(r){return r?l.urlToObject(r):null},e.prototype._encode=function(r,e,t){var o={};for(var n in r)if(\"declaredClass\"!==n){var p=r[n];if(null!=p&&\"function\"!=typeof p)if(Array.isArray(p)){o[n]=[];for(var s=0;s<p.length;s++)o[n][s]=this._encode(p[s])}else if(\"object\"==typeof p)if(p.toJSON){var l=p.toJSON(t&&t[n]);o[n]=e?l:JSON.stringify(l)}else o[n]=e?p:JSON.stringify(p);else o[n]=p}return o},o([i.property({readOnly:!0,dependsOn:[\"url\"]})],e.prototype,\"parsedUrl\",null),o([i.property()],e.prototype,\"requestOptions\",void 0),o([i.property({type:String})],e.prototype,\"url\",void 0),e=o([i.subclass(\"esri.tasks.Task\")],e)}(i.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/generatorHelper\",\"../../geometry\",\"../../request\",\"../../core/urlUtils\",\"../../geometry/support/jsonUtils\"],function(e,t,r,o,s,n,i,u,c){function p(e,t,p,a){return o(this,void 0,void 0,function(){var o,f,g,l,y,d,m,S;return s(this,function(s){switch(s.label){case 0:return o=\"string\"==typeof e?u.urlToObject(e):e,f=t[0].spatialReference,g=r({},a,{query:r({},o.query,{f:\"json\",sr:JSON.stringify(f),target:JSON.stringify({geometryType:c.getJsonType(t[0]),geometries:t}),cutter:JSON.stringify(p)})}),[4,i(o.path+\"/cut\",g)];case 1:return l=s.sent(),y=l.data,d=y.cutIndexes,m=y.geometries,S=void 0===m?[]:m,[2,{cutIndexes:d,geometries:S.map(function(e){return n.fromJSON(e).set(f)})}]}})})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.cut=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/generatorHelper\",\"../../request\",\"../../core/urlUtils\",\"../../geometry/support/jsonUtils\"],function(e,r,t,n,i,o,s,u){function p(e,r,p){return n(this,void 0,void 0,function(){var n,f,l,y,g;return i(this,function(i){switch(i.label){case 0:return n=\"string\"==typeof e?s.urlToObject(e):e,f=r[0].spatialReference,l=u.getJsonType(r[0]),y=t({},p,{query:t({},n.query,{f:\"json\",sr:f.wkid?f.wkid:JSON.stringify(f),geometries:JSON.stringify(a(r))})}),[4,o(n.path+\"/simplify\",y)];case 1:return g=i.sent(),[2,c(g.data,l,f)]}})})}function a(e){return{geometryType:u.getJsonType(e[0]),geometries:e.map(function(e){return e.toJSON()})}}function c(e,r,t){var n=u.getGeometryType(r);return e.map(function(e){var r=n.fromJSON(e);return r.spatialReference=t,r})}Object.defineProperty(r,\"__esModule\",{value:!0}),r.simplify=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/extendsHelper\",\"../../Graphic\",\"../../core/promiseUtils\",\"../../core/requireUtils\",\"../../core/workers\",\"../../geometry/SpatialReference\",\"../../layers/support/Field\",\"./pbfQueryUtils\",\"module\"],function(e,r,t,o,i,n,a,s,f,u,l){function d(){return new p}Object.defineProperty(r,\"__esModule\",{value:!0});var p=function(){function e(){}return e.prototype._parseFeatureQuery=function(e){var r=u.parsePBFFeatureQuery(e.buffer,e.options);if(e.options&&\"dehydrated\"===e.options.type){var t=r;if(r.spatialReference=t.spatialReference.toJSON(),t.fields)for(var o=0;o<t.fields.length;o++)t.fields[o]=t.fields[o].toJSON()}return i.resolve(r)},e}(),c=function(r){function d(){var t=r.call(this)||this;return t._thread=void 0,a.open(n.getAbsMid(\"./PBFWorker\",e,l),{strategy:\"dedicated\"}).then(function(e){void 0===t._thread?t._thread=e:e.close()}),t}return t(d,r),d.prototype.destroy=function(){this._thread&&this._thread.close(),this._thread=null},d.prototype.parseFeatureQuery=function(e,r){return e&&0!==e.byteLength?this._thread?this._thread.invoke(\"_parseFeatureQuery\",{buffer:e,options:r},{transferList:[e]}).then(function(e){if(r&&\"dehydrated\"===r.type){var t=e;if(t.spatialReference=s.fromJSON(t.spatialReference),t.fields)for(var i=0;i<t.fields.length;i++)t.fields[i]=f.fromJSON(t.fields[i]);for(var n=t.spatialReference,a=0,u=t.features;a<u.length;a++){var l=u[a];l.uid=o.generateUID(),l.geometry&&(l.geometry.spatialReference=n)}}return e}):i.resolve(u.parsePBFFeatureQuery(e,r)):i.resolve(null)},d}(p);r.PBFWorker=c,r.default=d});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Graphic\",\"../../core/compilerUtils\",\"../../geometry/SpatialReference\",\"../../layers/graphics/dehydratedFeatures\",\"../../layers/support/Field\"],function(t,e,r,n,o,i,a){function s(t,e){return e}function u(t,e,r,n){switch(r){case 0:return f(t,e+n,0);case 1:return(\"lowerLeft\"===t.originPosition?f:d)(t,e+n,1)}}function h(t,e,r,n){switch(r){case 0:return f(t,e+n,0);case 1:return(\"lowerLeft\"===t.originPosition?f:d)(t,e+n,1);case 2:return f(t,e,2)}}function p(t,e,r,n){switch(r){case 0:return f(t,e+n,0);case 1:return(\"lowerLeft\"===t.originPosition?f:d)(t,e+n,1);case 2:return f(t,e,3)}}function c(t,e,r,n){switch(r){case 0:return f(t,e+n,0);case 1:return(\"lowerLeft\"===t.originPosition?f:d)(t,e+n,1);case 2:return f(t,e,2);case 3:return f(t,e,3)}}function f(t,e,r){var n=t.translate,o=t.scale;return n[r]+e*o[r]}function d(t,e,r){var n=t.translate,o=t.scale;return n[r]-e*o[r]}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t){this.options=t,this.geometryTypes=[\"point\",\"multipoint\",\"polyline\",\"polygon\"],this.previousCoordinate=[0,0],this.transform=null,this.applyTransform=s,this.lengths=[],this.currentLengthIndex=0,this.toAddInCurrentPath=0,this.vertexDimension=0,this.coordinateBuffer=null,this.coordinateBufferPtr=0,this.AttributesConstructor=function(){}}return t.prototype.createFeatureResult=function(){return new i.DehydratedFeatureSetClass},t.prototype.finishFeatureResult=function(t){this.options.applyTransform&&(t.transform=null),this.AttributesConstructor=function(){},this.coordinateBuffer=null,this.lengths.length=0},t.prototype.createSpatialReference=function(){return new o},t.prototype.addField=function(t,e){t.fields.push(a.fromJSON(e));var r=t.fields.map(function(t){return t.name});this.AttributesConstructor=function(){for(var t=0,e=r;t<e.length;t++){this[e[t]]=null}}},t.prototype.addFeature=function(t,e){var r=this.options.maxStringAttributeLength?this.options.maxStringAttributeLength:0;if(r>0)for(var n in e.attributes){var o=e.attributes[n];\"string\"==typeof o&&o.length>r&&(e.attributes[n]=\"\")}t.features.push(e)},t.prototype.prepareFeatures=function(t){var e=this;switch(this.options.applyTransform&&t.transform&&(this.transform=t.transform,this.applyTransform=this.deriveApplyTransform(t)),this.vertexDimension=2,t.hasZ&&this.vertexDimension++,t.hasM&&this.vertexDimension++,t.geometryType){case\"point\":this.addCoordinate=function(t,r,n,o){return e.addCoordinatePoint(t,r,o)},this.createGeometry=function(t){return e.createPointGeometry(t)};break;case\"polygon\":this.addCoordinate=function(t,r,n,o){return e.addCoordinatePolygon(t,r,o)},this.createGeometry=function(t){return e.createPolygonGeometry(t)};break;case\"polyline\":this.addCoordinate=function(t,r,n,o){return e.addCoordinatePolyline(t,r,o)},this.createGeometry=function(t){return e.createPolylineGeometry(t)};break;case\"multipoint\":this.addCoordinate=function(t,r,n,o){return e.addCoordinateMultipoint(t,r,o)},this.createGeometry=function(t){return e.createMultipointGeometry(t)};break;default:n.neverReached(t.geometryType)}},t.prototype.createFeature=function(){return this.lengths.length=0,this.currentLengthIndex=0,this.previousCoordinate[0]=0,this.previousCoordinate[1]=0,this.coordinateBuffer=null,this.coordinateBufferPtr=0,new i.DehydratedFeatureClass(r.generateUID(),null,new this.AttributesConstructor)},t.prototype.addLength=function(t,e,r){0===this.lengths.length&&(this.toAddInCurrentPath=e),this.lengths.push(e)},t.prototype.createPointGeometry=function(t){var e={type:\"point\",x:0,y:0,spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM};return e.hasZ&&(e.z=0),e.hasM&&(e.m=0),e},t.prototype.addCoordinatePoint=function(t,e,r){switch(e=this.applyTransform(this.transform,e,r,0),r){case 0:t.x=e;break;case 1:t.y=e;break;case 2:t.hasZ?t.z=e:t.m=e;break;case 3:t.m=e}},t.prototype.transformPathLikeValue=function(t,e){var r=0;return e<=1&&(r=this.previousCoordinate[e],this.previousCoordinate[e]+=t),this.applyTransform(this.transform,t,e,r)},t.prototype.addCoordinatePolyline=function(t,e,r){this.dehydratedAddPointsCoordinate(t.paths,e,r)},t.prototype.addCoordinatePolygon=function(t,e,r){this.dehydratedAddPointsCoordinate(t.rings,e,r)},t.prototype.addCoordinateMultipoint=function(t,e,r){0===r&&t.points.push([]);var n=this.transformPathLikeValue(e,r);t.points[t.points.length-1].push(n)},t.prototype.createPolygonGeometry=function(t){return{type:\"polygon\",rings:[[]],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}},t.prototype.createPolylineGeometry=function(t){return{type:\"polyline\",paths:[[]],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}},t.prototype.createMultipointGeometry=function(t){return{type:\"multipoint\",points:[],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}},t.prototype.dehydratedAddPointsCoordinate=function(t,e,r){if(null===this.coordinateBuffer){var n=this.lengths.reduce(function(t,e){return t+e},0);this.coordinateBuffer=new Float64Array(n*this.vertexDimension)}0===r&&0==this.toAddInCurrentPath--&&(t.push([]),this.toAddInCurrentPath=this.lengths[++this.currentLengthIndex]-1,this.previousCoordinate[0]=0,this.previousCoordinate[1]=0);var o=this.transformPathLikeValue(e,r),i=t[t.length-1];0===r&&i.push(new Float64Array(this.coordinateBuffer.buffer,this.coordinateBufferPtr*Float64Array.BYTES_PER_ELEMENT,this.vertexDimension)),this.coordinateBuffer[this.coordinateBufferPtr++]=o},t.prototype.deriveApplyTransform=function(t){var e=t.hasZ,r=t.hasM;return e&&r?c:e?h:r?p:u},t}();e.Context=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/Logger\",\"../../core/pbf\",\"./pbfDehydratedFeatureSet\",\"./pbfOptimizedFeatureSet\"],function(e,r,t,a,s,n,i){function c(e){return e>=v.length?null:v[e]}function o(e){return e>=D.length?null:D[e]}function l(e){return e>=x.length?null:x[e]}function g(e,r){return r>=e.geometryTypes.length?null:e.geometryTypes[r]}function u(e,r,t){for(var a=r.createPointGeometry(t);e.next();)switch(e.tag()){case 3:for(var s=e.getUInt32(),n=e.pos()+s,i=0;e.pos()<n;)r.addCoordinatePoint(a,e.getSInt64(),0,i++);break;case 1:case 2:default:e.skip()}return a}function p(e,r,t){for(var a=r.createGeometry(t),s=2+(t.hasZ?1:0)+(t.hasM?1:0);e.next();)switch(e.tag()){case 2:for(var n=e.getUInt32(),i=e.pos()+n,c=0;e.pos()<i;)r.addLength(a,e.getUInt32(),c++);break;case 3:for(var o=e.getUInt32(),i=e.pos()+o,l=0,g=0;e.pos()<i;)r.addCoordinate(a,e.getSInt64(),g,l),++l===s&&(g++,l=0);break;case 1:default:e.skip()}return a}function y(e){for(;e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}function f(e){for(var r={type:c(0)};e.next();)switch(e.tag()){case 1:r.name=e.getString();break;case 2:r.type=c(e.getEnum());break;case 3:r.alias=e.getString();break;case 4:r.sqlType=o(e.getEnum());break;case 5:case 6:default:e.skip()}return r}function b(e,r,t,a){for(var s=r.createFeature(t),n=0;e.next();)switch(e.tag()){case 1:var i=a[n++].name;s.attributes[i]=e.processMessage(y);break;case 2:s.geometry=e.processMessageWithArgs(p,r,t);break;case 4:s.centroid=e.processMessageWithArgs(u,r,t);break;default:e.skip()}return s}function d(e){for(var r=[1,1,1,1];e.next();)switch(e.tag()){case 1:r[0]=e.getDouble();break;case 2:r[1]=e.getDouble();break;case 4:r[2]=e.getDouble();break;case 3:r[3]=e.getDouble();break;default:e.skip()}return r}function k(e){for(var r=[0,0,0,0];e.next();)switch(e.tag()){case 1:r[0]=e.getDouble();break;case 2:r[1]=e.getDouble();break;case 4:r[2]=e.getDouble();break;case 3:r[3]=e.getDouble();break;default:e.skip()}return r}function T(e){for(var r={originPosition:l(0)};e.next();)switch(e.tag()){case 1:r.originPosition=l(e.getEnum());break;case 2:r.scale=e.processMessage(d);break;case 3:r.translate=e.processMessage(k);break;default:e.skip()}return r}function h(e){for(var r={};e.next();)switch(e.tag()){case 1:r.shapeAreaFieldName=e.getString();break;case 2:r.shapeLengthFieldName=e.getString();break;case 3:r.units=e.getString();break;default:e.skip()}return r}function m(e,r){for(var t=r.createSpatialReference();e.next();)switch(e.tag()){case 1:t.wkid=e.getUInt32();break;case 5:t.wkt=e.getString();break;case 2:case 3:case 4:default:e.skip()}return t}function F(e,r){var t=r.createFeatureResult();t.geometryType=g(r,0);for(var a=!1;e.next();)switch(e.tag()){case 1:t.objectIdFieldName=e.getString();break;case 3:t.globalIdFieldName=e.getString();break;case 4:t.geohashFieldName=e.getString();break;case 5:t.geometryProperties=e.processMessage(h);break;case 7:t.geometryType=g(r,e.getEnum());break;case 8:t.spatialReference=e.processMessageWithArgs(m,r);break;case 10:t.hasZ=e.getBool();break;case 11:t.hasM=e.getBool();break;case 12:t.transform=e.processMessage(T);break;case 9:var s=e.getBool();t.exceededTransferLimit=s;break;case 13:r.addField(t,e.processMessage(f));break;case 15:a||(r.prepareFeatures(t),a=!0),r.addFeature(t,e.processMessageWithArgs(b,r,t,t.fields));break;case 2:case 6:default:e.skip()}return r.finishFeatureResult(t),t}function q(e,r){for(var t={};e.next();)switch(e.tag()){case 1:t.featureResult=e.processMessageWithArgs(F,r);break;default:e.skip()}return t}function w(e){return e&&\"dehydrated\"===e.type?new n.Context(e):new i.Context}function I(e,r){var a=w(r);try{for(var n=new s(new Uint8Array(e),new DataView(e)),i={};n.next();)switch(n.tag()){case 2:i.queryResult=n.processMessageWithArgs(q,a);break;default:n.skip()}return i}catch(e){var c=new t(\"query:parsing-pbf\",\"Error while parsing FeatureSet PBF payload\",{error:e});return S.error(c),{queryResult:{featureResult:a.createFeatureResult()}}}}Object.defineProperty(r,\"__esModule\",{value:!0});var S=a.getLogger(\"esri.tasks.operations.pbfFeatureServiceParser\"),v=[\"esriFieldTypeSmallInteger\",\"esriFieldTypeInteger\",\"esriFieldTypeSingle\",\"esriFieldTypeDouble\",\"esriFieldTypeString\",\"esriFieldTypeDate\",\"esriFieldTypeOID\",\"esriFieldTypeGeometry\",\"esriFieldTypeBlob\",\"esriFieldTypeRaster\",\"esriFieldTypeGUID\",\"esriFieldTypeGlobalID\",\"esriFieldTypeXML\"],D=[\"sqlTypeBigInt\",\"sqlTypeBinary\",\"sqlTypeBit\",\"sqlTypeChar\",\"sqlTypeDate\",\"sqlTypeDecimal\",\"sqlTypeDouble\",\"sqlTypeFloat\",\"sqlTypeGeometry\",\"sqlTypeGUID\",\"sqlTypeInteger\",\"sqlTypeLongNVarchar\",\"sqlTypeLongVarbinary\",\"sqlTypeLongVarchar\",\"sqlTypeNChar\",\"sqlTypeNVarchar\",\"sqlTypeOther\",\"sqlTypeReal\",\"sqlTypeSmallInt\",\"sqlTypeSqlXml\",\"sqlTypeTime\",\"sqlTypeTimestamp\",\"sqlTypeTimestamp2\",\"sqlTypeTinyInt\",\"sqlTypeVarbinary\",\"sqlTypeVarchar\"],x=[\"upperLeft\",\"lowerLeft\"];r.parseFeatureQuery=I});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../layers/graphics/OptimizedFeature\",\"../../layers/graphics/OptimizedFeatureSet\",\"../../layers/graphics/OptimizedGeometry\"],function(e,t,r,o,n){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(){this.geometryTypes=[\"esriGeometryPoint\",\"esriGeometryMultipoint\",\"esriGeometryPolyline\",\"esriGeometryPolygon\"]}return e.prototype.createFeatureResult=function(){return new o.default},e.prototype.prepareFeatures=function(){},e.prototype.finishFeatureResult=function(){},e.prototype.addFeature=function(e,t){e.features.push(t)},e.prototype.createFeature=function(){return new r.default},e.prototype.createSpatialReference=function(){return{wkid:0}},e.prototype.createGeometry=function(){return new n.default},e.prototype.addField=function(e,t){e.fields.push(t)},e.prototype.addCoordinate=function(e,t){e.coords.push(t)},e.prototype.addCoordinatePoint=function(e,t){e.coords.push(t)},e.prototype.addLength=function(e,t){e.lengths.push(t)},e.prototype.createPointGeometry=function(){return new n.default},e}();t.Context=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./pbfFeatureServiceParser\"],function(e,r,t){function u(e,r){var u=t.parseFeatureQuery(e,r),a=u.queryResult.featureResult;if(a&&a.features&&a.features.length&&a.objectIdFieldName)for(var s=a.objectIdFieldName,f=0,i=a.features;f<i.length;f++){var n=i[f];n.attributes&&(n.objectId=n.attributes[s])}return a}Object.defineProperty(r,\"__esModule\",{value:!0}),r.parsePBFFeatureQuery=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../request\",\"../../core/maybe\",\"../../core/urlUtils\",\"../../geometry/support/jsonUtils\",\"../../geometry/support/normalizeUtils\",\"./pbfQueryUtils\",\"./PBFWorker\",\"./urlUtils\",\"@dojo/framework/shim/Promise\"],function(e,r,t,n,o,u,i,s,a,l,y){function c(e,r){var t=e.geometry,n=e.toJSON(),o=n;if(t&&(o.geometry=JSON.stringify(t),o.geometryType=i.getJsonType(t),o.inSR=t.spatialReference.wkid||JSON.stringify(t.spatialReference)),n.groupByFieldsForStatistics&&(o.groupByFieldsForStatistics=n.groupByFieldsForStatistics.join(\",\")),n.objectIds&&(o.objectIds=n.objectIds.join(\",\")),n.orderByFields&&(o.orderByFields=n.orderByFields.join(\",\")),!n.outFields||r&&(r.returnCountOnly||r.returnExtentOnly||r.returnIdsOnly)?delete o.outFields:-1!==n.outFields.indexOf(\"*\")?o.outFields=\"*\":o.outFields=n.outFields.join(\",\"),n.outSR?o.outSR=n.outSR.wkid||JSON.stringify(n.outSR):t&&(n.returnGeometry||n.returnCentroid)&&(o.outSR=o.inSR),n.returnGeometry&&delete n.returnGeometry,n.outStatistics&&(o.outStatistics=JSON.stringify(n.outStatistics)),n.pixelSize&&(o.pixelSize=JSON.stringify(n.pixelSize)),n.quantizationParameters&&(o.quantizationParameters=JSON.stringify(n.quantizationParameters)),n.source&&(o.layer=JSON.stringify({source:n.source}),delete n.source),n.timeExtent){var u=n.timeExtent,s=u.start,a=u.end;null==s&&null==a||(o.time=s===a?s:(null==s?\"null\":s)+\",\"+(null==a?\"null\":a)),delete n.timeExtent}return o}function d(e,r,t){return F(e,r,\"json\",t)}function f(e,r,t,n){var o=t.useWorker?g():null;return F(e,r,\"pbf\",n).then(function(e){var r=function(r){var t=e;return t.data=r,t};return t.useWorker?o.parseFeatureQuery(e.data,t).then(function(e){return r(e)}):r(a.parsePBFFeatureQuery(e.data,t))})}function p(e,r,t){return F(e,r,\"json\",t,{returnIdsOnly:!0})}function m(e,r,t){return F(e,r,\"json\",t,{returnIdsOnly:!0,returnCountOnly:!0})}function S(e,r,t){return F(e,r,\"json\",t,{returnExtentOnly:!0,returnCountOnly:!0}).then(function(e){var r=e.data;if(r.hasOwnProperty(\"extent\"))return e;if(r.features)throw new Error(O);if(r.hasOwnProperty(\"count\"))throw new Error(O);return e})}function F(e,r,i,a,l){void 0===a&&(a={});var d=\"string\"==typeof e?u.urlToObject(e):e,f=r.geometry?[r.geometry]:[];return a.responseType=\"pbf\"===i?\"array-buffer\":\"json\",s.normalizeCentralMeridian(f,null,a).then(function(e){var u=e&&e[0];o.isSome(u)&&(r=r.clone(),r.geometry=u);var s=y.mapParameters(t({},d.query,{f:i},l,c(r,l)));return n(d.path+\"/query\",t({},a,{query:s}))})}function g(){return null==x&&(x=new l.PBFWorker),x}Object.defineProperty(r,\"__esModule\",{value:!0});var O=\"Layer does not support extent calculation.\";r.queryToQueryStringParameters=c,r.executeQuery=d,r.executeQueryPBF=f,r.executeQueryForIds=p,r.executeQueryForCount=m,r.executeQueryForExtent=S;var x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../request\",\"../../core/urlUtils\",\"../../layers/support/AttachmentInfo\",\"./urlUtils\"],function(e,t,r,a,n,o,s){function u(e){var t=e.toJSON();return t.attachmentTypes&&(t.attachmentTypes=t.attachmentTypes.join(\",\")),t.keywords&&(t.keywords=t.keywords.join(\",\")),t.globalIds&&(t.globalIds=t.globalIds.join(\",\")),t.objectIds&&(t.objectIds=t.objectIds.join(\",\")),t.size&&(t.size=t.size.join(\",\")),t}function c(e,t){for(var r={},a=0,s=e;a<s.length;a++)for(var u=s[a],c=u.parentObjectId,l=u.parentGlobalId,d=u.attachmentInfos,i=0,p=d;i<p.length;i++){var y=p[i],h=y.id,m=n.addProxy(n.addTokenParameter(t+\"/\"+c+\"/attachments/\"+h)),f=o.fromJSON(y);f.set({url:m,parentObjectId:c,parentGlobalId:l}),r[c]?r[c].push(f):r[c]=[f]}return r}function l(e,t,n){var o=s.mapParameters(r({},e.query,{f:\"json\"},u(t))),c={query:o};return n&&(c=r({},n,c)),a(e.path+\"/queryAttachments\",c)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.processAttachmentQueryResult=c,t.executeAttachmentQuery=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../request\",\"./urlUtils\"],function(e,r,t,o,a){function u(e){var r=e.toJSON();return r.objectIds&&(r.objectIds=r.objectIds.join(\",\")),r.outFields&&(r.outFields=r.outFields.join(\",\")),r.outSpatialReference&&(r.outSR=r.outSR.wkid||JSON.stringify(r.outSR.toJSON()),delete r.outSpatialReference),r.source&&(r.layer=JSON.stringify({source:r.source}),delete r.source),r}function s(e,r,s){var i=a.mapParameters(t({},e.query,{f:\"json\"},u(r))),n={query:i};return s&&(n=t({},s,n)),o(e.path+\"/queryRelatedRecords\",n).then(function(e){for(var r=e.data,t=r.geometryType,o=r.spatialReference,a={},u=0,s=r.relatedRecordGroups;u<s.length;u++){var i=s[u],n={fields:void 0,objectIdFieldName:void 0,geometryType:t,spatialReference:o,features:i.relatedRecords};if(null!=i.objectId)a[i.objectId]=n;else for(var d in i)i.hasOwnProperty(d)&&\"relatedRecords\"!==d&&(a[i[d]]=n)}return e.data=a,e})}Object.defineProperty(r,\"__esModule\",{value:!0}),r.toQueryStringParameters=u,r.executeRelationshipQuery=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function t(e){var r={};for(var f in e)if(\"declaredClass\"!==f){var i=e[f];if(null!=i&&\"function\"!=typeof i)if(Array.isArray(i)){r[f]=[];for(var n=0;n<i.length;n++)r[f][n]=t(i[n])}else\"object\"==typeof i?i.toJSON&&(r[f]=JSON.stringify(i)):r[f]=i}return r}Object.defineProperty(r,\"__esModule\",{value:!0}),r.mapParameters=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../Color\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"./ColorRamp\"],function(o,r,e,t,l,p,i,n,s){return function(o){function r(r){var e=o.call(this,r)||this;return e.algorithm=null,e.fromColor=null,e.toColor=null,e.type=\"algorithmic\",e}t(r,o),s=r,r.prototype.clone=function(){return new s({fromColor:p.clone(this.fromColor),toColor:p.clone(this.toColor),algorithm:this.algorithm})};var s;return e([i.enumeration.serializable()({esriCIELabAlgorithm:\"cie-lab\",esriHSVAlgorithm:\"hsv\",esriLabLChAlgorithm:\"lab-lch\"})],r.prototype,\"algorithm\",void 0),e([i.property({type:l,json:{type:[n.Integer],write:!0}})],r.prototype,\"fromColor\",void 0),e([i.property({type:l,json:{type:[n.Integer],write:!0}})],r.prototype,\"toColor\",void 0),e([i.property({type:[\"algorithmic\"]})],r.prototype,\"type\",void 0),r=s=e([i.subclass(\"esri.tasks.support.AlgorithmicColorRamp\")],r)}(i.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\"],function(t,e,r,o,s,n,p,a){var i=function(t){function e(e){var r=t.call(this,e)||this;return r.attachmentTypes=null,r.attachmentsWhere=null,r.keywords=null,r.globalIds=null,r.name=null,r.num=null,r.objectIds=null,r.returnMetadata=!1,r.size=null,r.start=null,r.where=null,r}r(e,t),s=e,e.prototype.writeStart=function(t,e){e.resultOffset=this.start,e.resultRecordCount=this.num||10},e.prototype.clone=function(){return new s(n.clone({attachmentTypes:this.attachmentTypes,attachmentsWhere:this.attachmentsWhere,keywords:this.keywords,where:this.where,globalIds:this.globalIds,name:this.name,num:this.num,objectIds:this.objectIds,returnMetadata:this.returnMetadata,size:this.size,start:this.start}))};var s;return o([p.property({type:[String],json:{write:!0}})],e.prototype,\"attachmentTypes\",void 0),o([p.property({type:String,json:{read:{source:\"attachmentsDefinitionExpression\"},write:{target:\"attachmentsDefinitionExpression\"}}})],e.prototype,\"attachmentsWhere\",void 0),o([p.property({type:[String],json:{write:!0}})],e.prototype,\"keywords\",void 0),o([p.property({type:[Number],json:{write:!0}})],e.prototype,\"globalIds\",void 0),o([p.property({json:{write:!0}})],e.prototype,\"name\",void 0),o([p.property({type:Number,json:{read:{source:\"resultRecordCount\"}}})],e.prototype,\"num\",void 0),o([p.property({type:[Number],json:{write:!0}})],e.prototype,\"objectIds\",void 0),o([p.property({type:Boolean,json:{default:!1,write:!0}})],e.prototype,\"returnMetadata\",void 0),o([p.property({type:[Number],json:{write:!0}})],e.prototype,\"size\",void 0),o([p.property({type:Number,json:{read:{source:\"resultOffset\"}}})],e.prototype,\"start\",void 0),o([p.writer(\"start\"),p.writer(\"num\")],e.prototype,\"writeStart\",null),o([p.property({type:String,json:{read:{source:\"definitionExpression\"},write:{target:\"definitionExpression\"}}})],e.prototype,\"where\",void 0),e=s=o([p.subclass(\"esri.tasks.support.AttachmentQuery\")],e)}(p.declared(s.JSONSupport));return i.from=a.default(i),i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,e,t,o,p,s){return function(r){function e(e){var t=r.call(this,e)||this;return t.type=null,t}return t(e,r),o([s.property({readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=o([s.subclass(\"esri.tasks.support.ColorRamp\")],e)}(s.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,e,t,o,p,i){return function(r){function e(e){var t=r.call(this,e)||this;return t.itemId=null,t.url=null,t}return t(e,r),o([i.property({type:String,json:{read:{source:\"itemID\"},write:{target:\"itemID\"}}})],e.prototype,\"itemId\",void 0),o([i.property({type:String,json:{write:!0}})],e.prototype,\"url\",void 0),e=o([i.subclass(\"esri.tasks.support.DataFile\")],e)}(i.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../geometry\",\"../../Graphic\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/maybe\",\"../../core/accessorSupport/decorators\",\"../../geometry/SpatialReference\",\"../../geometry/support/jsonUtils\",\"../../layers/support/Field\"],function(e,t,r,o,n,i,p,a,s,y,u,l,f){var c=new p.default({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryEnvelope:\"extent\"}),m=function(e){function t(t){var r=e.call(this,t)||this;return r.displayFieldName=null,r.exceededTransferLimit=!1,r.features=[],r.fields=null,r.geometryType=null,r.hasM=!1,r.hasZ=!1,r.queryGeometry=null,r.spatialReference=null,r}return o(t,e),t.prototype.readFeatures=function(e,t){for(var r=u.fromJSON(t.spatialReference),o=[],n=0;n<e.length;n++){var p=e[n],a=i.fromJSON(p),y=p.geometry&&p.geometry.spatialReference;s.isSome(a.geometry)&&!y&&(a.geometry.spatialReference=r),o.push(a)}return o},t.prototype.writeGeometryType=function(e,t,r,o){if(e)return void c.write(e,t,r,o);var n=this.features;if(n)for(var i=0,p=n;i<p.length;i++){var a=p[i];if(a&&s.isSome(a.geometry))return void c.write(a.geometry.type,t,r,o)}},t.prototype.writeSpatialReference=function(e,t){if(e)return void(t.spatialReference=e.toJSON());var r=this.features;if(r)for(var o=0,n=r;o<n.length;o++){var i=n[o];i&&s.isSome(i.geometry)&&i.geometry.spatialReference&&(t.spatialReference=i.geometry.spatialReference.toJSON())}},t.prototype.toJSON=function(e){var t=this.write(null);if(t.features&&Array.isArray(e)&&e.length>0)for(var r=0;r<t.features.length;r++){var o=t.features[r];if(o.geometry){var n=e&&e[r];o.geometry=n&&n.toJSON()||o.geometry}}return t},t.prototype.quantize=function(e){for(var t=e.scale,r=t[0],o=t[1],n=e.translate,i=n[0],p=n[1],a=function(e){return Math.round((e-i)/r)},y=function(e){return Math.round((p-e)/o)},u=this.features,l=this._getQuantizationFunction(this.geometryType,a,y),f=0,c=u.length;f<c;f++)l(s.expect(u[f].geometry))||(u.splice(f,1),f--,c--);return this.transform=e,this},t.prototype.unquantize=function(){var e=this,t=e.geometryType,r=e.features,o=e.transform;if(!o)return this;for(var n=o.translate,i=n[0],p=n[1],a=o.scale,y=a[0],u=a[1],l=function(e){return e*y+i},f=function(e){return p-e*u},c=this._getHydrationFunction(t,l,f),m=0,g=r;m<g.length;m++){var d=g[m].geometry;s.isSome(d)&&c(d)}return this},t.prototype._quantizePoints=function(e,t,r){for(var o,n,i=[],p=0,a=e.length;p<a;p++){var s=e[p];if(p>0){var y=t(s[0]),u=r(s[1]);y===o&&u===n||(i.push([y-o,u-n]),o=y,n=u)}else o=t(s[0]),n=r(s[1]),i.push([o,n])}return i.length>0?i:null},t.prototype._getQuantizationFunction=function(e,t,r){var o=this;return\"point\"===e?function(e){return e.x=t(e.x),e.y=r(e.y),e}:\"polyline\"===e||\"polygon\"===e?function(e){for(var n=l.isPolygon(e)?e.rings:e.paths,i=[],p=0,a=n.length;p<a;p++){var s=n[p],y=o._quantizePoints(s,t,r);y&&i.push(y)}return i.length>0?(l.isPolygon(e)?e.rings=i:e.paths=i,e):null}:\"multipoint\"===e?function(e){var n;return n=o._quantizePoints(e.points,t,r),n.length>0?(e.points=n,e):null}:\"extent\"===e?function(e){return e}:null},t.prototype._getHydrationFunction=function(e,t,r){return\"point\"===e?function(e){e.x=t(e.x),e.y=r(e.y)}:\"polyline\"===e||\"polygon\"===e?function(e){for(var o,n,i=l.isPolygon(e)?e.rings:e.paths,p=0,a=i.length;p<a;p++)for(var s=i[p],y=0,u=s.length;y<u;y++){var f=s[y];y>0?(o+=f[0],n+=f[1]):(o=f[0],n=f[1]),f[0]=t(o),f[1]=r(n)}}:\"extent\"===e?function(e){e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax)}:\"multipoint\"===e?function(e){for(var o,n,i=e.points,p=0,a=i.length;p<a;p++){var s=i[p];p>0?(o+=s[0],n+=s[1]):(o=s[0],n=s[1]),s[0]=t(o),s[1]=r(n)}}:void 0},r([y.property({type:String,json:{write:!0}})],t.prototype,\"displayFieldName\",void 0),r([y.property({type:Boolean,json:{write:{overridePolicy:function(e){return{enabled:e}}}}})],t.prototype,\"exceededTransferLimit\",void 0),r([y.property({type:[i],json:{write:!0}})],t.prototype,\"features\",void 0),r([y.reader(\"features\")],t.prototype,\"readFeatures\",null),r([y.property({type:[f],json:{write:!0}})],t.prototype,\"fields\",void 0),r([y.property({type:[\"point\",\"multipoint\",\"polyline\",\"polygon\",\"extent\",\"mesh\"],json:{read:{reader:c.read}}})],t.prototype,\"geometryType\",void 0),r([y.writer(\"geometryType\")],t.prototype,\"writeGeometryType\",null),r([y.property({type:Boolean,json:{write:{overridePolicy:function(e){return{enabled:e}}}}})],t.prototype,\"hasM\",void 0),r([y.property({type:Boolean,json:{write:{overridePolicy:function(e){return{enabled:e}}}}})],t.prototype,\"hasZ\",void 0),r([y.property({types:n.geometryTypes,json:{read:l.fromJSON,write:!0}})],t.prototype,\"queryGeometry\",void 0),r([y.property({type:u,json:{write:!0}})],t.prototype,\"spatialReference\",void 0),r([y.writer(\"spatialReference\")],t.prototype,\"writeSpatialReference\",null),r([y.property({json:{write:!0}})],t.prototype,\"transform\",void 0),t=r([y.subclass(\"esri.tasks.support.FeatureSet\")],t)}(y.declared(a.JSONSupport));return m.prototype.toJSON.isDefaultToJSON=!0,m||(m={}),m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,s,o,t,p,i){var n=new t.default({esriJobMessageTypeInformative:\"informative\",esriJobMessageTypeProcessDefinition:\"process-definition\",esriJobMessageTypeProcessStart:\"process-start\",esriJobMessageTypeProcessStop:\"process-stop\",esriJobMessageTypeWarning:\"warning\",esriJobMessageTypeError:\"error\",esriJobMessageTypeEmpty:\"empty\",esriJobMessageTypeAbort:\"abort\"});return function(e){function r(r){var s=e.call(this,r)||this;return s.description=null,s.type=null,s}return s(r,e),o([i.property({type:String,json:{write:!0}})],r.prototype,\"description\",void 0),o([i.property({type:String,json:{read:n.read,write:n.write}})],r.prototype,\"type\",void 0),r=o([i.subclass(\"esri.tasks.support.GPMessage\")],r)}(i.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"./GPMessage\"],function(e,o,r,t,s,i,d,n){var b=new s.default({esriJobCancelled:\"job-cancelled\",esriJobCancelling:\"job-cancelling\",esriJobDeleted:\"job-deleted\",esriJobDeleting:\"job-deleting\",esriJobTimedOut:\"job-timed-out\",esriJobExecuting:\"job-executing\",esriJobFailed:\"job-failed\",esriJobNew:\"job-new\",esriJobSubmitted:\"job-submitted\",esriJobSucceeded:\"job-succeeded\",esriJobWaiting:\"job-waiting\"});return function(e){function o(o){var r=e.call(this,o)||this;return r.jobId=null,r.jobStatus=null,r.messages=null,r}return r(o,e),t([d.property()],o.prototype,\"jobId\",void 0),t([d.property({json:{read:b.read}})],o.prototype,\"jobStatus\",void 0),t([d.property({type:[n]})],o.prototype,\"messages\",void 0),o=t([d.subclass(\"esri.tasks.support.JobInfo\")],o)}(d.declared(i.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,r,t,s,i,o,n){var p=new i.default({esriMeters:\"meters\",esriFeet:\"feet\",esriKilometers:\"kilometers\",esriMiles:\"miles\",esriNauticalMiles:\"nautical-miles\",esriYards:\"yards\"},{ignoreUnknown:!1});return function(e){function r(r){var t=e.call(this,r)||this;return t.distance=0,t.units=null,t}return t(r,e),s([n.property({json:{write:!0}})],r.prototype,\"distance\",void 0),s([n.property({json:{read:p.read,write:p.write}})],r.prototype,\"units\",void 0),r=s([n.subclass(\"esri/tasks/support/LinearUnit\")],r)}(n.declared(o.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"./AlgorithmicColorRamp\",\"./ColorRamp\"],function(r,o,t,e,p,c,l,s){return function(r){function o(o){var t=r.call(this,o)||this;return t.colorRamps=null,t.type=\"multipart\",t}e(o,r),s=o,o.prototype.clone=function(){return new s({colorRamps:p.clone(this.colorRamps)})};var s;return t([c.property({type:[l],json:{write:!0}})],o.prototype,\"colorRamps\",void 0),t([c.property({type:[\"multipart\"]})],o.prototype,\"type\",void 0),o=s=t([c.subclass(\"esri.tasks.support.MultipartColorRamp\")],o)}(c.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(e,t,a,l,u,r,i){var o=new u.default({GPBoolean:\"boolean\",GPDataFile:\"data-file\",GPDate:\"date\",GPDouble:\"double\",GPFeatureRecordSetLayer:\"feature-record-set-layer\",GPField:\"field\",GPLinearUnit:\"linear-unit\",GPLong:\"long\",GPRasterData:\"raster-data\",GPRasterDataLayer:\"raster-data-layer\",GPRecordSet:\"record-set\",GPString:\"string\",\"GPMultiValue:GPBoolean\":\"multi-value\",\"GPMultiValue:GPDataFile\":\"multi-value\",\"GPMultiValue:GPDate\":\"multi-value\",\"GPMultiValue:GPDouble\":\"multi-value\",\"GPMultiValue:GPFeatureRecordSetLayer\":\"multi-value\",\"GPMultiValue:GPField\":\"multi-value\",\"GPMultiValue:GPLinearUnit\":\"multi-value\",\"GPMultiValue:GPLong\":\"multi-value\",\"GPMultiValue:GPRasterData\":\"multi-value\",\"GPMultiValue:GPRasterDataLayer\":\"multi-value\",\"GPMultiValue:GPRecordSet\":\"multi-value\",\"GPMultiValue:GPString\":\"multi-value\"});return function(e){function t(t){var a=e.call(this,t)||this;return a.dataType=null,a.value=null,a}return a(t,e),l([i.property({json:{read:o.read,write:o.write}})],t.prototype,\"dataType\",void 0),l([i.property()],t.prototype,\"value\",void 0),t=l([i.subclass(\"esri.tasks.support.ParameterValue\")],t)}(i.declared(r.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,t,o,p,a){return function(e){function r(r){var t=e.call(this,r)||this;return t.extent=null,t.extraParameters=null,t.outSpatialReference=null,t.template=null,t.view=null,t}return t(r,e),o([a.property()],r.prototype,\"extent\",void 0),o([a.property()],r.prototype,\"extraParameters\",void 0),o([a.property()],r.prototype,\"outSpatialReference\",void 0),o([a.property()],r.prototype,\"template\",void 0),o([a.property()],r.prototype,\"view\",void 0),r=o([a.subclass(\"esri.tasks.support.PrintParameters\")],r)}(a.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Defines the layout elements. It's an object with the following properties:\n *\n * @property {string} [titleText] - The text used for the map title if the specified layout contains a title text element.\n * @property {string} [authorText] - The text used for the author if the specified layout contains an author text element.\n * @property {string} [copyrightText] - The text used for the copyright if the specified layout contains a copyright text element.\n * @property {\"Miles\" | \"Kilometers\" | \"Meters\" | \"Feet\"} [scalebarUnit=Miles] - The unit used for the scalebar.\n * @property {module:esri/tasks/support/LegendLayer[]} [legendLayers] - An array of {@link module:esri/tasks/support/LegendLayer}\n * containing the ids of the layers that will be included in the legend. Tiled layers and GraphicsLayer will not appear in the\n * legend. If `legendLayers` is not specified, all operational layers (non-tiled layers) except {@link module:esri/layers/GraphicsLayer}\n * will be present in the legend. To specify that no layers will be included in the legend, set `legendLayer = []`.\n * @property {Object[]} [customTextElements] - An array of name-value pair objects. Use this property to update the text for custom text elements\n * on the page layout. Values must be strings. The custom text elements must exist in the print service. All out-of-the-box print service layout\n * templates contain a text element named `date` that gets populated by default with the system date-time, but can be overwritten.\n *\n * @example\n * layoutOptions: {\n * titleText: \"My Print\",\n * authorText: \"Sam\",\n * copyrightText: \"My Company\",\n * scalebarUnit: \"Miles\",\n * // the following text elements must\n * // exist in the print service to appear\n * customTextElements: [\n * {\"description\": \"My description\"},\n * {\"location\": \"My Location\"},\n * {\"date\": \"11/11/2020, 11:11:20 AM\"}\n * ]\n * }\n * @type {Object}\n */\n\ndefine([\"../../core/Accessor\"],function(e){return e.createSubclass({declaredClass:\"esri.tasks.support.PrintTemplate\",properties:{attributionVisible:{value:!0,type:Boolean},exportOptions:{value:{width:800,height:1100,dpi:96},type:Object},forceFeatureAttributes:{value:!1,type:Boolean},format:{value:\"png32\",type:String},label:{value:null,type:String},layout:{value:\"map-only\",type:String},layoutOptions:{value:null,type:Object},outScale:{value:0,type:Number},preserveScale:{value:!0,type:Boolean},showLabels:{value:!0,type:Boolean}}})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/Logger\",\"../../core/accessorSupport/decorators\",\"../../geometry/support/jsonUtils\"],function(e,r,t,o,a,s,n,i){var p=s.getLogger(\"esri.tasks.support.ProjectParameters\");return function(e){function r(r){var t=e.call(this,r)||this;return t.geometries=null,t.outSpatialReference=null,t.transformation=null,t.transformForward=null,t}return t(r,e),Object.defineProperty(r.prototype,\"outSR\",{get:function(){return p.warn(\"ProjectParameters.outSR is deprecated. Use outSpatialReference instead.\"),this.outSpatialReference},set:function(e){p.warn(\"ProjectParameters.outSR is deprecated. Use outSpatialReference instead.\"),this.outSpatialReference=e},enumerable:!0,configurable:!0}),r.prototype.toJSON=function(){var e=this.geometries.map(function(e){return e.toJSON()}),r=this.geometries[0],t={};return t.outSR=this.outSpatialReference.wkid||JSON.stringify(this.outSpatialReference.toJSON()),t.inSR=r.spatialReference.wkid||JSON.stringify(r.spatialReference.toJSON()),t.geometries=JSON.stringify({geometryType:i.getJsonType(r),geometries:e}),this.transformation&&(t.transformation=this.transformation.wkid||JSON.stringify(this.transformation)),null!=this.transformForward&&(t.transformForward=this.transformForward),t},o([n.property()],r.prototype,\"geometries\",void 0),o([n.property({json:{read:{source:\"outSR\"}}})],r.prototype,\"outSpatialReference\",void 0),o([n.property({json:{read:!1}})],r.prototype,\"outSR\",null),o([n.property()],r.prototype,\"transformation\",void 0),o([n.property()],r.prototype,\"transformForward\",void 0),r=o([n.subclass(\"esri.tasks.support.ProjectParameters\")],r)}(n.declared(a.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../geometry\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\"],function(e,t,r,o,i,n,p,s,a){Object.defineProperty(t,\"__esModule\",{value:!0});var c=new n.default({upperLeft:\"upper-left\",lowerLeft:\"lower-left\"}),l=function(e){function t(t){var r=e.call(this,t)||this;return r.extent=null,r.mode=\"view\",r.originPosition=\"upper-left\",r.tolerance=1,r}r(t,e),n=t,t.prototype.clone=function(){return new n(s.clone({extent:this.extent,mode:this.mode,originPosition:this.originPosition,tolerance:this.tolerance}))};var n;return o([a.property({type:i.Extent,json:{write:!0}})],t.prototype,\"extent\",void 0),o([a.property({type:[\"view\",\"edit\"],json:{write:!0}})],t.prototype,\"mode\",void 0),o([a.property({type:String,json:{read:c.read,write:c.write}})],t.prototype,\"originPosition\",void 0),o([a.property({type:Number,json:{write:!0}})],t.prototype,\"tolerance\",void 0),t=n=o([a.subclass(\"esri.tasks.support.QuantizationParameters\")],t)}(a.declared(p.JSONSupport));t.default=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../geometry\",\"../../geometry\",\"../../symbols\",\"../../TimeExtent\",\"../../core/jsonMap\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../../geometry/support/jsonUtils\",\"../../symbols/support/jsonUtils\",\"./QuantizationParameters\",\"./StatisticDefinition\"],function(t,e,r,o,i,n,s,p,a,l,u,y,c,d,m,h,v){var w=new a.default({esriSpatialRelIntersects:\"intersects\",esriSpatialRelContains:\"contains\",esriSpatialRelCrosses:\"crosses\",esriSpatialRelDisjoint:\"disjoint\",esriSpatialRelEnvelopeIntersects:\"envelope-intersects\",esriSpatialRelIndexIntersects:\"index-intersects\",esriSpatialRelOverlaps:\"overlaps\",esriSpatialRelTouches:\"touches\",esriSpatialRelWithin:\"within\",esriSpatialRelRelation:\"relation\"}),f=new a.default({esriSRUnit_Meter:\"meters\",esriSRUnit_Kilometer:\"kilometers\",esriSRUnit_Foot:\"feet\",esriSRUnit_StatuteMile:\"miles\",esriSRUnit_NauticalMile:\"nautical-miles\",esriSRUnit_USNauticalMile:\"us-nautical-miles\"});return function(t){function e(e){var r=t.call(this,e)||this;return r.cacheHint=!1,r.datumTransformation=null,r.distance=void 0,r.gdbVersion=null,r.geometry=null,r.geometryPrecision=void 0,r.groupByFieldsForStatistics=null,r.having=null,r.historicMoment=null,r.maxAllowableOffset=void 0,r.maxRecordCountFactor=1,r.multipatchOption=null,r.num=void 0,r.objectIds=null,r.orderByFields=null,r.outFields=null,r.outSpatialReference=null,r.outStatistics=null,r.parameterValues=null,r.pixelSize=null,r.quantizationParameters=null,r.rangeValues=null,r.relationParameter=null,r.resultType=null,r.returnCentroid=!1,r.returnDistinctValues=!1,r.returnExceededLimitFeatures=!0,r.returnGeometry=!1,r.returnQueryGeometry=!1,r.returnM=void 0,r.returnZ=void 0,r.source=null,r.spatialRelationship=\"intersects\",r.start=void 0,r.sqlFormat=null,r.text=null,r.timeExtent=null,r.units=null,r.where=null,r}r(e,t),a=e,e.from=function(t){return c.ensureClass(a,t)},e.prototype.castDatumTransformation=function(t){return\"number\"==typeof t||\"object\"==typeof t?t:null},e.prototype.writeHistoricMoment=function(t,e){e.historicMoment=t&&t.getTime()},e.prototype.writeParameterValues=function(t,e){if(t){var r={};for(var o in t){var i=t[o];Array.isArray(i)?r[o]=i.map(function(t){return t instanceof Date?t.getTime():t}):i instanceof Date?r[o]=i.getTime():r[o]=i}e.parameterValues=r}},e.prototype.writeStart=function(t,e){e.resultOffset=this.start,e.resultRecordCount=this.num||10,e.where=\"1=1\"},e.prototype.writeWhere=function(t,e){e.where=t||\"1=1\"},e.prototype.clone=function(){return new a(u.clone({cacheHint:this.cacheHint,datumTransformation:this.datumTransformation,distance:this.distance,gdbVersion:this.gdbVersion,geometry:this.geometry,geometryPrecision:this.geometryPrecision,groupByFieldsForStatistics:this.groupByFieldsForStatistics,having:this.having,historicMoment:this.historicMoment?new Date(this.historicMoment.getTime()):null,maxAllowableOffset:this.maxAllowableOffset,maxRecordCountFactor:this.maxRecordCountFactor,multipatchOption:this.multipatchOption,num:this.num,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,outStatistics:this.outStatistics,parameterValues:this.parameterValues,pixelSize:this.pixelSize,quantizationParameters:this.quantizationParameters,rangeValues:this.rangeValues,relationParameter:this.relationParameter,resultType:this.resultType,returnDistinctValues:this.returnDistinctValues,returnGeometry:this.returnGeometry,returnCentroid:this.returnCentroid,returnExceededLimitFeatures:this.returnExceededLimitFeatures,returnQueryGeometry:this.returnQueryGeometry,returnM:this.returnM,returnZ:this.returnZ,source:this.source,spatialRelationship:this.spatialRelationship,start:this.start,sqlFormat:this.sqlFormat,text:this.text,timeExtent:this.timeExtent,units:this.units,where:this.where}))};var a;return e.MAX_MAX_RECORD_COUNT_FACTOR=5,o([y.property({type:Boolean,json:{write:!0,default:!1}})],e.prototype,\"cacheHint\",void 0),o([y.property({json:{write:!0}})],e.prototype,\"datumTransformation\",void 0),o([y.cast(\"datumTransformation\")],e.prototype,\"castDatumTransformation\",null),o([y.property({type:Number,json:{write:{overridePolicy:function(t){return{enabled:t>0}}}}})],e.prototype,\"distance\",void 0),o([y.property({type:String,json:{write:!0}})],e.prototype,\"gdbVersion\",void 0),o([y.property({types:n.geometryTypes,json:{read:d.fromJSON,write:!0}})],e.prototype,\"geometry\",void 0),o([y.property({type:Number,json:{write:!0}})],e.prototype,\"geometryPrecision\",void 0),o([y.property({type:[String],json:{write:!0}})],e.prototype,\"groupByFieldsForStatistics\",void 0),o([y.property({type:String,json:{write:!0}})],e.prototype,\"having\",void 0),o([y.property({type:Date})],e.prototype,\"historicMoment\",void 0),o([y.writer(\"historicMoment\")],e.prototype,\"writeHistoricMoment\",null),o([y.property({type:Number,json:{write:!0}})],e.prototype,\"maxAllowableOffset\",void 0),o([y.property({type:Number,cast:function(t){return t<1?1:t>a.MAX_MAX_RECORD_COUNT_FACTOR?a.MAX_MAX_RECORD_COUNT_FACTOR:t},json:{write:{overridePolicy:function(t){return{enabled:t>1}}}}})],e.prototype,\"maxRecordCountFactor\",void 0),o([y.property({type:String,json:{write:!0}})],e.prototype,\"multipatchOption\",void 0),o([y.property({type:Number,json:{read:{source:\"resultRecordCount\"}}})],e.prototype,\"num\",void 0),o([y.property({type:[Number],json:{write:!0}})],e.prototype,\"objectIds\",void 0),o([y.property({type:[String],json:{write:!0}})],e.prototype,\"orderByFields\",void 0),o([y.property({type:[String],json:{write:!0}})],e.prototype,\"outFields\",void 0),o([y.property({type:i.SpatialReference,json:{read:{source:\"outSR\"},write:{target:\"outSR\"}}})],e.prototype,\"outSpatialReference\",void 0),o([y.property({type:[v],json:{write:!0}})],e.prototype,\"outStatistics\",void 0),o([y.property({json:{write:!0}})],e.prototype,\"parameterValues\",void 0),o([y.writer(\"parameterValues\")],e.prototype,\"writeParameterValues\",null),o([y.property({types:s.symbolTypes,json:{read:m.read,write:!0}})],e.prototype,\"pixelSize\",void 0),o([y.property({type:h.default,json:{write:!0}})],e.prototype,\"quantizationParameters\",void 0),o([y.property({type:[Object],json:{write:!0}})],e.prototype,\"rangeValues\",void 0),o([y.property({type:String,json:{read:{source:\"relationParam\"},write:{target:\"relationParam\",overridePolicy:function(){return{enabled:\"relation\"===this.spatialRelationship}}}}})],e.prototype,\"relationParameter\",void 0),o([y.property({type:String,json:{write:!0}})],e.prototype,\"resultType\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:t}}}}})],e.prototype,\"returnCentroid\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:t}}}}})],e.prototype,\"returnDistinctValues\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:!t}}}}})],e.prototype,\"returnExceededLimitFeatures\",void 0),o([y.property({type:Boolean,json:{write:!0}})],e.prototype,\"returnGeometry\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:t}}}}})],e.prototype,\"returnQueryGeometry\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:t}}}}})],e.prototype,\"returnM\",void 0),o([y.property({type:Boolean,json:{write:{overridePolicy:function(t){return{enabled:t}}}}})],e.prototype,\"returnZ\",void 0),o([y.property({json:{write:!0}})],e.prototype,\"source\",void 0),o([y.property({type:String,json:{read:{source:\"spatialRel\",reader:w.read},write:{target:\"spatialRel\",writer:w.write}}})],e.prototype,\"spatialRelationship\",void 0),o([y.property({type:Number,json:{read:{source:\"resultOffset\"}}})],e.prototype,\"start\",void 0),o([y.writer(\"start\"),y.writer(\"num\")],e.prototype,\"writeStart\",null),o([y.property({type:String,json:{write:!0}})],e.prototype,\"sqlFormat\",void 0),o([y.property({type:String,json:{write:!0}})],e.prototype,\"text\",void 0),o([y.property({type:p,json:{write:!0}})],e.prototype,\"timeExtent\",void 0),o([y.property({type:String,json:{read:f.read,write:{writer:f.write,overridePolicy:function(t){return{enabled:t&&this.distance>0}}}}})],e.prototype,\"units\",void 0),o([y.property({type:String,json:{write:{overridePolicy:function(t){return{enabled:null!=t||this.start>0}}}}})],e.prototype,\"where\",void 0),o([y.writer(\"where\")],e.prototype,\"writeWhere\",null),e=a=o([y.subclass(\"esri.tasks.support.Query\")],e)}(y.declared(l.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(r,e,t,o,p,u){return function(r){function e(e){var t=r.call(this,e)||this;return t.format=null,t.itemId=null,t.url=null,t}return t(e,r),o([u.property()],e.prototype,\"format\",void 0),o([u.property({json:{read:{source:\"itemID\"},write:{target:\"itemID\"}}})],e.prototype,\"itemId\",void 0),o([u.property()],e.prototype,\"url\",void 0),e=o([u.subclass(\"esri/tasks/support/RasterData\")],e)}(u.declared(p.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../geometry\",\"../../core/JSONSupport\",\"../../core/lang\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\"],function(e,t,o,r,i,p,s,n,l){var u=function(e){function t(t){var o=e.call(this,t)||this;return o.gdbVersion=null,o.geometryPrecision=void 0,o.historicMoment=null,o.maxAllowableOffset=void 0,o.objectIds=null,o.outFields=null,o.outSpatialReference=null,o.relationshipId=void 0,o.returnGeometry=!1,o.source=null,o.where=null,o}o(t,e),p=t,t.prototype._writeHistoricMoment=function(e,t){t.historicMoment=e&&e.getTime()},t.prototype.clone=function(){return new p(s.clone({gdbVersion:this.gdbVersion,geometryPrecision:this.geometryPrecision,historicMoment:this.historicMoment&&this.historicMoment.getTime(),maxAllowableOffset:this.maxAllowableOffset,objectIds:this.objectIds,outFields:this.outFields,outSpatialReference:this.outSpatialReference,relationshipId:this.relationshipId,returnGeometry:this.returnGeometry,source:this.source,where:this.where}))};var p;return r([n.property({type:String,json:{write:!0}})],t.prototype,\"gdbVersion\",void 0),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"geometryPrecision\",void 0),r([n.property({type:Date})],t.prototype,\"historicMoment\",void 0),r([n.writer(\"historicMoment\")],t.prototype,\"_writeHistoricMoment\",null),r([n.property({type:Number,json:{write:!0}})],t.prototype,\"maxAllowableOffset\",void 0),r([n.property({type:[Number],json:{write:!0}})],t.prototype,\"objectIds\",void 0),r([n.property({type:[String],json:{write:!0}})],t.prototype,\"outFields\",void 0),r([n.property({type:i.SpatialReference,json:{read:{source:\"outSR\"},write:{target:\"outSR\"}}})],t.prototype,\"outSpatialReference\",void 0),r([n.property({json:{write:!0}})],t.prototype,\"relationshipId\",void 0),r([n.property({json:{write:!0}})],t.prototype,\"returnGeometry\",void 0),r([n.property({json:{write:!0}})],t.prototype,\"source\",void 0),r([n.property({type:String,json:{read:{source:\"definitionExpression\"},write:{target:\"definitionExpression\"}}})],t.prototype,\"where\",void 0),t=p=r([n.subclass(\"esri.tasks.support.RelationshipQuery\")],t)}(n.declared(p.JSONSupport));return u.from=l.default(u),u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\"],function(t,e,o,i,r,p){return function(t){function e(e){var o=t.call(this,e)||this;return o.maxPointCount=void 0,o.maxRecordCount=void 0,o.maxVertexCount=void 0,o.onStatisticField=null,o.outStatisticFieldName=null,o.statisticType=null,o}o(e,t),r=e,e.prototype.clone=function(){return new r({maxPointCount:this.maxPointCount,maxRecordCount:this.maxRecordCount,maxVertexCount:this.maxVertexCount,onStatisticField:this.onStatisticField,outStatisticFieldName:this.outStatisticFieldName,statisticType:this.statisticType})};var r;return i([p.property({type:Number,json:{write:!0}})],e.prototype,\"maxPointCount\",void 0),i([p.property({type:Number,json:{write:!0}})],e.prototype,\"maxRecordCount\",void 0),i([p.property({type:Number,json:{write:!0}})],e.prototype,\"maxVertexCount\",void 0),i([p.property({type:String,json:{write:!0}})],e.prototype,\"onStatisticField\",void 0),i([p.property({type:String,json:{write:!0}})],e.prototype,\"outStatisticFieldName\",void 0),i([p.property({type:String,json:{write:!0}})],e.prototype,\"statisticType\",void 0),e=r=i([p.subclass(\"esri.tasks.support.StatisticDefinition\")],e)}(p.declared(r.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./AlgorithmicColorRamp\",\"./ColorRamp\",\"./MultipartColorRamp\"],function(e,t,r,o,l){function p(e){return e&&e.type?\"algorithmic\"===e.type?r.fromJSON(e):\"multipart\"===e.type?l.fromJSON(e):null:null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.types={key:\"type\",base:o,typeMap:{algorithmic:r,multipart:l}},t.fromJSON=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/jsonMap\"],function(e,n,o){Object.defineProperty(n,\"__esModule\",{value:!0});var r=new o.default({PDF:\"pdf\",PNG32:\"png32\",PNG8:\"png8\",JPG:\"jpg\",GIF:\"gif\",EPS:\"eps\",SVG:\"svg\",SVGZ:\"svgz\"});n.fromJSON=r.fromJSON.bind(r),n.toJSON=r.toJSON.bind(r)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/jsonMap\"],function(a,t,e){Object.defineProperty(t,\"__esModule\",{value:!0});var r=new e.default({MAP_ONLY:\"map-only\",\"A3 Landscape\":\"a3-landscape\",\"A3 Portrait\":\"a3-portrait\",\"A4 Landscape\":\"a4-landscape\",\"A4 Portrait\":\"a4-portrait\",\"Letter ANSI A Landscape\":\"letter-ansi-a-landscape\",\"Letter ANSI A Portrait\":\"letter-ansi-a-portrait\",\"Tabloid ANSI B Landscape\":\"tabloid-ansi-b-landscape\",\"Tabloid ANSI B Portrait\":\"tabloid-ansi-b-portrait\"});t.fromJSON=r.fromJSON.bind(r),t.toJSON=r.toJSON.bind(r)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/array\",\"../../Color\",\"../../core/screenUtils\",\"../../renderers/visualVariables/support/visualVariableUtils\"],function(e,r,t,i,n,a){function o(e,r){var t=r.graphic,o=r.renderer,l=r.symbol,y=l.type;if(y!==O&&y!==D&&\"visualVariables\"in o&&o.visualVariables){var s=o.getVisualVariablesForType(\"size\"),u=o.getVisualVariablesForType(\"color\"),p=o.getVisualVariablesForType(\"opacity\"),f=o.getVisualVariablesForType(\"rotation\"),c=s&&s[0],m=u&&u[0],g=p&&p[0],L=f&&f[0];if(c){var d=y===I?l.style:null,V=a.getSize(c,t,{shape:d});null!=V&&(y===I?e.size=n.px2pt(V):y===F?(e.width=n.px2pt(V),e.height=n.px2pt(V)):y===k?e.width=n.px2pt(V):e.outline&&(e.outline.width=n.px2pt(V)))}if(m){var b=a.getColor(m,t);(b&&y===I||y===k||y===C)&&(e.color=i.toJSON(b))}if(g){var v=a.getOpacity(g,t);null!=v&&e.color&&(e.color[3]=Math.round(255*v))}L&&(e.angle=-a.getRotationAngle(o,t))}}function l(){return{layerDefinition:{name:\"multipointLayer\",geometryType:\"esriGeometryMultipoint\",drawingInfo:{renderer:null}},featureSet:{geometryType:\"esriGeometryMultipoint\",features:[]}}}function y(){return{layerDefinition:{name:\"polygonLayer\",geometryType:\"esriGeometryPolygon\",drawingInfo:{renderer:null}},featureSet:{geometryType:\"esriGeometryPolygon\",features:[]}}}function s(){return{layerDefinition:{name:\"pointLayer\",geometryType:\"esriGeometryPoint\",drawingInfo:{renderer:null}},featureSet:{geometryType:\"esriGeometryPoint\",features:[]}}}function u(){return{layerDefinition:{name:\"polylineLayer\",geometryType:\"esriGeometryPolyline\",drawingInfo:{renderer:null}},featureSet:{geometryType:\"esriGeometryPolyline\",features:[]}}}function p(e,r){var i,n=e.allLayerViews.items;if(r===e.scale)i=n.filter(function(e){return!e.suspended});else{i=[];for(var a=0,o=n;a<o.length;a++){var l=o[a];d(l.parent)&&!t.includes(i,l.parent)||(!l.visible||r&&\"isVisibleAtScale\"in l&&!l.isVisibleAtScale(r)||i.push(l))}}return i}function f(e){return e&&\"bing-maps\"===e.type}function c(e){return e&&\"csv\"===e.type}function m(e){return e&&\"feature\"===e.type}function g(e){return e&&\"graphics\"===e.type}function L(e){return e&&\"group\"===e.type}function d(e){return e&&\"esri.views.layers.GroupLayerView\"===e.declaredClass}function V(e){return e&&\"imagery\"===e.type}function b(e){return e&&\"kml\"===e.type}function v(e){return e&&\"map-image\"===e.type}function T(e){return e&&\"map-notes\"===e.type}function w(e){return e&&\"open-street-map\"===e.type}function h(e){return e&&\"stream\"===e.type}function S(e){return e&&\"tile\"===e.type}function M(e){return e&&\"vector-tile\"===e.type}function G(e){return e&&\"web-tile\"===e.type}function P(e){return e&&\"wms\"===e.type}function x(e){return e&&\"wmts\"===e.type}Object.defineProperty(r,\"__esModule\",{value:!0});var I=\"simple-marker\",F=\"picture-marker\",k=\"simple-line\",C=\"simple-fill\",D=\"shield-label-symbol\",O=\"text\";r.applyVisualVariables=o,r.createMultipointLayer=l,r.createPolygonLayer=y,r.createPointLayer=s,r.createPolylineLayer=u,r.getVisibleLayerViews=p,r.isBingMapsLayer=f,r.isCSVLayer=c,r.isFeatureLayer=m,r.isGraphicsLayer=g,r.isGroupLayer=L,r.isImageryLayer=V,r.isKMLLayer=b,r.isMapImageLayer=v,r.isMapNotesLayer=T,r.isOpenStreetMapLayer=w,r.isStreamLayer=h,r.isTileLayer=S,r.isVectorTileLayer=M,r.isWebTileLayer=G,r.isWMSLayer=P,r.isWMTSLayer=x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"../../Viewpoint\",\"../../core/Accessor\",\"../../core/scheduling\",\"../../core/now\",\"../../geometry/Point\",\"../ViewAnimation\",\"./unitBezier\",\"./viewpointUtils\"],function(t,i,e,n,s,a,o,h){var r=function(t,i,e,n){var s=t.targetGeometry,a=i.targetGeometry;n?\"string\"==typeof n&&(n=o.parse(n)||o.ease):n=o.ease,this.easing=n,this.duration=e,this.sCenterX=s.x,this.sCenterY=s.y,this.sScale=t.scale,this.sRotation=t.rotation,this.tCenterX=a.x,this.tCenterY=a.y,this.tScale=i.scale,this.tRotation=i.rotation,this.dCenterX=this.tCenterX-this.sCenterX,this.dCenterY=this.tCenterY-this.sCenterY,this.dScale=this.tScale-this.sScale,this.dRotation=this.tRotation-this.sRotation,this.dRotation>180?this.dRotation-=360:this.dRotation<-180&&(this.dRotation+=360)};return r.prototype.applyRatio=function(t,i){var e,n,s,a,o=this.easing(i);i>=1?(e=this.tCenterX,n=this.tCenterY,s=this.tRotation,a=this.tScale):(e=this.sCenterX+o*this.dCenterX,n=this.sCenterY+o*this.dCenterY,s=this.sRotation+o*this.dRotation,a=this.sScale+o*this.dScale),t.targetGeometry.x=e,t.targetGeometry.y=n,t.scale=a,t.rotation=s},i.createSubclass({constructor:function(){this.viewpoint=new t({targetGeometry:new s,scale:0,rotation:0}),this._updateTask=e.addFrameTask({postRender:this._postRender.bind(this)}),this._updateTask.pause()},properties:{animation:null,duration:{value:200},transition:{value:null},easing:{value:o.ease},view:null,viewpoint:null},animate:function(t,i,e){this.stop();var s=this.viewpoint;h.copy(s,i),this.transition=new r(this.viewpoint,t.target,e&&e.duration||this.duration,e&&e.easing||this.easing);var a=function(){this.animation===t&&this._updateTask&&(\"finished\"===t.state&&(this.transition.applyRatio(this.viewpoint,1),this.view.state&&(this.view.state.viewpoint=this.viewpoint.clone())),this.animation=null,this.updateFunction=null)}.bind(this);return t.when(a,a),this._startTime=n(),this._updateTask.resume(),this.animation=t,t},animateContinous:function(t,i){this.stop(),this.updateFunction=i,this.viewpoint=t;var e=new a({target:t.clone()}),s=function(){this.animation===e&&this._updateTask&&(this.animation=null,this.updateFunction=null)}.bind(this);return e.when(s,s),this._startTime=n(),this._updateTask.resume(),this.animation=e,e},stop:function(){this.animation&&(this.animation.stop(),this.animation=null,this.updateFunction=null)},_postRender:function(t){var i=this.animation;if(!i||i.state===a.STOPPED)return void this._updateTask.pause();if(this.updateFunction)this.updateFunction(this.viewpoint,t.deltaTime);else{var e=n()-this._startTime,s=e/this.transition.duration,o=s>=1;this.transition.applyRatio(this.viewpoint,s),o&&this.animation.finish()}this.view.state&&(this.view.state.viewpoint=this.viewpoint.clone())}})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/scheduling\"],function(e,t,a){function i(e){return!(\"layerViews\"in e)}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e){var t=this;this.view=e,this._frameTaskHandle=null,this.stationary=!0,this.updateEnabled=!0,this.animationInProgress=!1,this.prepare=function(){t._updateParameters.state=t.view.state,t._updateParameters.stationary=t.view.stationary,t._updateParameters.pixelRatio=window.devicePixelRatio,t._updateParameters.renderingOptions=t.view.renderingOptions},this.update=function(){if(t.updateEnabled){for(var e=t.view,a=e.labelManager,r=t.graphicsView,s=e.allLayerViews.toArray().filter(function(e){return i(e)&&e.isFulfilled()}),n=s.length,o=e.state,d=0,h=s;d<h.length;d++){var l=h[d];if(l.attached){var p=l.lastUpdateId;null!=p&&(t.stationary||l.moving)||(l.moving=!0,l.moveStart()),p!==o.id&&l.viewChange(),t.stationary&&l.moving&&(l.moving=!1,l.moveEnd()),l.lastUpdateId=o.id}}a&&a.lastUpdateId!==o.id&&(a.viewChange(),a.lastUpdateId=o.id),r&&r.lastUpdateId!==o.id&&(r.viewChange(),r.lastUpdateId=o.id);for(var u=t._layerViewsTrash,y=0,v=u;y<v.length;y++){var l=v[y];t._detachLayerView(l)}u.length=0;for(var c=0,w=0;w<n;w++){var l=s[w];l.isFulfilled()&&!l.attached&&t._attachLayerView(l),c+=1}var _=t._updateParameters,f=t._layerViewsToUpdate,m=f.slice();f.length=0;for(var g=0,V=m;g<V.length;g++){var l=V[g];i(l)?l.processUpdate(_):f.push(l)}f=t._updatablesToUpdate,m=f.slice(),f.length=0;for(var T=0,U=m;T<U.length;T++){U[T].processUpdate(_)}t.animationInProgress||0!==t._layerViewsToUpdate.length||0!==t._updatablesToUpdate.length||0!==u.length||t._frameTaskHandle.pause()}}}return e.prototype.destroy=function(){this.stop()},e.prototype.start=function(){var e=this;this.stationary=this.view.stationary,this._updateParameters={state:this.view.state,pixelRatio:window.devicePixelRatio,stationary:this.stationary,renderingOptions:this.view.renderingOptions},this._layerViewsTrash=[],this._layerViewsToUpdate=[],this._updatablesToUpdate=[],this._allLayerViewsChangeHandle=this.view.allLayerViews.on(\"change\",function(t){Array.prototype.push.apply(e._layerViewsTrash,t.removed),e.requestFrame()}),this._stationaryHandle=this.view.watch(\"stationary\",function(t){e.stationary=t,e.requestFrame()}),this._frameTaskHandle=a.addFrameTask(this)},e.prototype.stop=function(){var e=this;this._frameTaskHandle&&(this.view.allLayerViews.forEach(function(t){i(t)&&e._detachLayerView(t)}),this._stationaryHandle.remove(),this._allLayerViewsChangeHandle.remove(),this._frameTaskHandle.remove(),this._updateParameters=this._stationaryHandle=this._allLayerViewsChangeHandle=this._frameTaskHandle=this._layerViewsTrash=this._layerViewsToUpdate=null,this.stationary=!0,this.animationInProgress=!1)},e.prototype.requestLayerViewUpdate=function(e){this._layerViewsToUpdate.push(e),this.requestFrame()},e.prototype.requestUpdate=function(e){this._updatablesToUpdate.push(e),this.requestFrame()},e.prototype.requestFrame=function(){this._frameTaskHandle&&this._frameTaskHandle.resume()},e.prototype._attachLayerView=function(e){e.attached||(e.attached=!0,e.attach(),this._updateParameters.stationary?e.moving=!1:(e.moving=!0,e.moveStart()))},e.prototype._detachLayerView=function(e){e.attached&&(e.detach(),e.attached=!1,e.moving=!1)},e}();t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Evented\",\"../../core/accessorSupport/decorators\",\"../../layers/support/LOD\",\"./constraints/RotationConstraint\",\"./constraints/ZoomConstraint\"],function(o,e,t,r,n,i,p,a,s){return function(o){function e(){var e=null!==o&&o.apply(this,arguments)||this;return e.lods=null,e.minScale=0,e.maxScale=0,e.minZoom=-1,e.maxZoom=-1,e.rotationEnabled=!0,e.snapToZoom=!0,e}return t(e,o),e.prototype.initialize=function(){this.watch(\"_zoom, _rotation\",this.emit.bind(this,\"update\"),!0)},e.prototype.destroy=function(){this.view=null,this._set(\"_zoom\",null),this._set(\"_rotation\",null)},Object.defineProperty(e.prototype,\"_rotation\",{get:function(){return new a({rotationEnabled:this.rotationEnabled})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"_defaultLODs\",{get:function(){var o=this.get(\"view.defaultsFromMap.tileInfo\"),e=this.get(\"view.spatialReference\");return o&&e&&o.spatialReference.equals(e)?o.lods:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"_zoom\",{get:function(){return new s({lods:this.lods||this._defaultLODs,minZoom:this.minZoom,maxZoom:this.maxZoom,minScale:this.minScale,maxScale:this.maxScale,snapToZoom:this.snapToZoom})},enumerable:!0,configurable:!0}),e.prototype.canZoomInTo=function(o){var e=this.effectiveMaxScale;return 0===e||o>=e},e.prototype.canZoomOutTo=function(o){var e=this.effectiveMinScale;return 0===e||o<=e},e.prototype.constrain=function(o,e){return this._zoom.constrain(o,e),this._rotation.constrain(o,e),o},e.prototype.fit=function(o){return this._zoom.fit(o)},e.prototype.zoomToScale=function(o){return this._zoom.zoomToScale(o)},e.prototype.scaleToZoom=function(o){return this._zoom.scaleToZoom(o)},e.prototype.snapScale=function(o){return this._zoom.snapToClosestScale(o)},e.prototype.snapToNextScale=function(o){return this._zoom.snapToNextScale(o)},e.prototype.snapToPreviousScale=function(o){return this._zoom.snapToPreviousScale(o)},r([i.property({readOnly:!0,aliasOf:\"_zoom.effectiveLODs\"})],e.prototype,\"effectiveLODs\",void 0),r([i.property({readOnly:!0,aliasOf:\"_zoom.effectiveMinScale\"})],e.prototype,\"effectiveMinScale\",void 0),r([i.property({readOnly:!0,aliasOf:\"_zoom.effectiveMaxScale\"})],e.prototype,\"effectiveMaxScale\",void 0),r([i.property({readOnly:!0,aliasOf:\"_zoom.effectiveMinZoom\"})],e.prototype,\"effectiveMinZoom\",void 0),r([i.property({readOnly:!0,aliasOf:\"_zoom.effectiveMaxZoom\"})],e.prototype,\"effectiveMaxZoom\",void 0),r([i.property({type:[p]})],e.prototype,\"lods\",void 0),r([i.property()],e.prototype,\"minScale\",void 0),r([i.property()],e.prototype,\"maxScale\",void 0),r([i.property()],e.prototype,\"minZoom\",void 0),r([i.property()],e.prototype,\"maxZoom\",void 0),r([i.property()],e.prototype,\"rotationEnabled\",void 0),r([i.property()],e.prototype,\"snapToZoom\",void 0),r([i.property()],e.prototype,\"view\",void 0),r([i.property({type:a,dependsOn:[\"rotationEnabled\"]})],e.prototype,\"_rotation\",null),r([i.property({dependsOn:[\"view.spatialReference\",\"view.defaultsFromMap.tileInfo\"]})],e.prototype,\"_defaultLODs\",null),r([i.property({readOnly:!0,type:s,dependsOn:[\"lods\",\"minZoom\",\"maxZoom\",\"minScale\",\"maxScale\",\"snapToZoom\",\"_defaultLODs\"]})],e.prototype,\"_zoom\",null),e=r([i.subclass(\"esri.views.2d.MapViewConstraints\")],e)}(i.declared(n.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"../../core/libs/gl-matrix-2/vec2\",\"../../core/libs/gl-matrix-2/vec2f64\",\"./viewpointUtils\",\"./ViewState\"],function(e,t,r,o,i,n,p,a,c,d){var s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.left=0,t.top=0,t.right=0,t.bottom=0,t}return r(t,e),o([n.property()],t.prototype,\"left\",void 0),o([n.property()],t.prototype,\"top\",void 0),o([n.property()],t.prototype,\"right\",void 0),o([n.property()],t.prototype,\"bottom\",void 0),t=o([n.subclass(\"esri.views.2d.PaddedViewState.Padding\")],t)}(n.declared(i));return function(e){function t(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var o=e.apply(this,t)||this;return o.content=new d,o._updateContent=function(){var e=a.vec2f64.create();return function(){var t=o._get(\"size\"),r=o._get(\"padding\");if(t&&r){var i=o.content;p.vec2.set(e,r.left+r.right,r.top+r.bottom),p.vec2.subtract(e,t,e),p.vec2.copy(i.size,e);var n=i.viewpoint;n&&(o.viewpoint=n)}}}(),o.watch([\"size\",\"padding\"],o._updateContent,!0),o.padding=new s,o.size=[0,0],o}return r(t,e),Object.defineProperty(t.prototype,\"padding\",{set:function(e){this._set(\"padding\",e||new s)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"viewpoint\",{set:function(e){if(e){var t=e.clone();this.content.viewpoint=e,c.addPadding(t,e,this._get(\"size\"),this._get(\"padding\"));var r=this._viewpoint2D,o=t.targetGeometry;r.center[0]=o.x,r.center[1]=o.y,r.rotation=t.rotation,r.scale=t.scale,r.spatialReference=o.spatialReference,this._update()}},enumerable:!0,configurable:!0}),o([n.property()],t.prototype,\"content\",void 0),o([n.property({type:s})],t.prototype,\"padding\",null),o([n.property()],t.prototype,\"viewpoint\",null),t=o([n.subclass(\"esri.views.2d.PaddedViewState\")],t)}(n.declared(d))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../geometry\",\"../../Viewpoint\",\"../../core/JSONSupport\",\"../../core/accessorSupport/decorators\",\"../../core/libs/gl-matrix-2/common\",\"../../core/libs/gl-matrix-2/mat2d\",\"../../core/libs/gl-matrix-2/mat2df32\",\"../../core/libs/gl-matrix-2/mat2df64\",\"../../core/libs/gl-matrix-2/mat3\",\"../../core/libs/gl-matrix-2/mat3f32\",\"../../core/libs/gl-matrix-2/vec2\",\"../../core/libs/gl-matrix-2/vec2f32\",\"../../core/libs/gl-matrix-2/vec2f64\",\"../../core/libs/gl-matrix-2/types/vec2\",\"./viewpointUtils\"],function(t,e,i,r,o,a,s,n,p,c,l,f,m,h,v,d,u,y,w){var x=[0,0];return function(t){function e(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var r=t.apply(this,e)||this;return r._viewpoint2D={center:u.vec2f64.create(),rotation:0,scale:0,spatialReference:null},r.center=[0,0],r.extent=new o.Extent,r.id=0,r.inverseTransform=f.mat2df64.create(),r.resolution=0,r.rotation=0,r.scale=0,r.transform=f.mat2df64.create(),r.transformNoRotation=f.mat2df64.create(),r.displayMat3=h.mat3f32.create(),r.displayViewMat3=h.mat3f32.create(),r.viewMat3=h.mat3f32.create(),r.viewMat2d=l.mat2df32.create(),r.worldScreenWidth=0,r.size=[0,0],r}i(e,t),s=e,Object.defineProperty(e.prototype,\"pixelRatio\",{set:function(t){this._set(\"pixelRatio\",t),this._update()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{set:function(t){this._set(\"size\",t),this._update()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"viewpoint\",{set:function(t){if(t){var e=this._viewpoint2D,i=t.targetGeometry;e.center[0]=i.x,e.center[1]=i.y,e.rotation=t.rotation,e.scale=t.scale,e.spatialReference=i.spatialReference}this._update()},enumerable:!0,configurable:!0}),e.prototype.copy=function(t){var e=this.size,i=this.viewpoint;return i&&e?(this.viewpoint=w.copy(i,t.viewpoint),this._set(\"size\",v.vec2.copy(e,t.size))):(this.viewpoint=t.viewpoint.clone(),this._set(\"size\",[t.size[0],t.size[1]])),this._set(\"pixelRatio\",t.pixelRatio),this},e.prototype.clone=function(){return new s({size:this.size,viewpoint:this.viewpoint.clone(),pixelRatio:this.pixelRatio})},e.prototype.toMap=function(t,e,i){return y.isVec2(e)?v.vec2.transformMat2d(t,e,this.inverseTransform):(x[0]=e,x[1]=i,v.vec2.transformMat2d(t,x,this.inverseTransform))},e.prototype.toScreen=function(t,e,i){return y.isVec2(e)?v.vec2.transformMat2d(t,e,this.transform):(x[0]=e,x[1]=i,v.vec2.transformMat2d(t,x,this.transform))},e.prototype.toScreenNoRotation=function(t,e,i){return y.isVec2(e)?v.vec2.transformMat2d(t,e,this.transformNoRotation):(x[0]=e,x[1]=i,v.vec2.transformMat2d(t,x,this.transformNoRotation))},e.prototype.pixelSizeAt=function(t){var e=this.viewpoint;return w.pixelSizeAt(t,e)},e.prototype.getScreenTransform=function(t,e){var i=this._viewpoint2D.center,r=this._get(\"pixelRatio\")||1,o=this._get(\"size\");return w.getMatrix(t,i,o,e,0,r),t},e.prototype._update=function(){var t=this._viewpoint2D,e=t.center,i=t.spatialReference,r=t.scale,s=t.rotation,n=this._get(\"pixelRatio\")||1,l=this._get(\"size\");this._set(\"id\",this.id+1);var f=new a({targetGeometry:new o.Point(e[0],e[1],i),scale:r,rotation:s});if(this._set(\"viewpoint\",f),l&&i&&r){this.resolution=w.getResolution(f),this.rotation=s,this.scale=r,this.spatialReference=i,v.vec2.copy(this.center,e);var h=0!==l[0]?2/l[0]:0,u=0!==l[1]?-2/l[1]:0;m.mat3.set(this.displayMat3,h,0,0,0,u,0,-1,1,1);var y=m.mat3.identity(this.viewMat3),x=d.vec2f32.fromValues(l[0]/2,l[1]/2),g=d.vec2f32.fromValues(-l[0]/2,-l[1]/2),R=p.common.toRadian(s);m.mat3.translate(y,y,x),m.mat3.rotate(y,y,R),m.mat3.translate(y,y,g),m.mat3.multiply(this.displayViewMat3,this.displayMat3,y);var b=c.mat2d.identity(this.viewMat2d);return c.mat2d.translate(b,b,x),c.mat2d.rotate(b,b,R),c.mat2d.translate(b,b,g),w.getExtent(this.extent,f,l),w.getTransform(this.transform,f,l,n),c.mat2d.invert(this.inverseTransform,this.transform),w.getTransformNoRotation(this.transformNoRotation,f,l,n),this.worldScreenWidth=w.getWorldScreenWidth(this.spatialReference,this.resolution),this}};var s;return r([n.property({readOnly:!0})],e.prototype,\"id\",void 0),r([n.property({value:1,json:{write:!0}})],e.prototype,\"pixelRatio\",null),r([n.property({json:{write:!0}})],e.prototype,\"size\",null),r([n.property({type:a,json:{write:!0}})],e.prototype,\"viewpoint\",null),e=s=r([n.subclass(\"esri.views.2d.ViewState\")],e)}(n.declared(s.JSONSupport))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/assignHelper\",\"@dojo/framework/shim/WeakMap\",\"../../../core/Error\",\"../../../core/Logger\",\"../../../geometry/support/quantizationUtils\",\"../../../layers/graphics/featureConversionUtils\"],function(e,r,t,a,n,o,u,i){function c(e,r,a,n,o){var u=n.geometryType,c=n.hasZ,s=n.hasM,y=e.referencesGeometry()?o?l(e,i.convertToFeature(r,u,c,s),u,o):i.convertToFeature(r,u,c,s):r,d=e.repurposeFeature(y);try{return e.evaluate(t({},a,{$feature:d}))}catch(e){return f.warn(\"Feature arcade evaluation failed:\",e),null}}function s(e,r,a,n,o){var u=e.referencesGeometry()&&o,i=u?l(e,r,n,o):r,c=e.repurposeFeature(i);try{return e.evaluate(t({},a,{$feature:c}))}catch(e){return f.warn(\"Feature arcade evaluation failed:\",e),null}}function l(e,r,a,n){var o=n.transform,u=n.hasZ,i=n.hasM;d.has(e)||d.set(e,y(a));var c=d.get(e)(r.geometry,o,u,i);return t({},r,{geometry:c})}function y(e){var r={};switch(e){case\"esriGeometryPoint\":return function(e,t,a,n){return u.hydratePoint(t,r,e,a,n)};case\"esriGeometryPolygon\":return function(e,t,a,n){return u.hydratePolygon(t,r,e,a,n)};case\"esriGeometryPolyline\":return function(e,t,a,n){return u.hydratePolyline(t,r,e,a,n)};case\"esriGeometryMultipoint\":return function(e,t,a,n){return u.hydrateMultipoint(t,r,e,a,n)};default:return f.error(new n(\"mapview-arcade\",\"Unable to handle geometryType: \"+e)),function(e){return e}}}Object.defineProperty(r,\"__esModule\",{value:!0});var f=o.getLogger(\"esri.views.2d.support.arcadeOnDemand\");r.callWithOptimizedFeature=c,r.callWithFeature=s;var d=new a.default;r.createHydrateFactory=y});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\"],function(t,e,o,r,n,a){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.enabled=!0,e.rotationEnabled=!0,e}o(e,t),n=e,e.prototype.constrain=function(t,e){return this.enabled&&e?(this.rotationEnabled||(t.rotation=e.rotation),t):t},e.prototype.clone=function(){return new n({enabled:this.enabled,rotationEnabled:this.rotationEnabled})};var n;return r([a.property()],e.prototype,\"enabled\",void 0),r([a.property()],e.prototype,\"rotationEnabled\",void 0),e=n=r([a.subclass(\"esri.views.2d.constraints.RotationConstraint\")],e)}(a.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\",\"../../../layers/support/LOD\"],function(e,t,o,r,i,a,s){return function(e){function t(t){var o=e.call(this,t)||this;return o._lodByScale={},o._scales=[],o.effectiveLODs=null,o.effectiveMinZoom=-1,o.effectiveMaxZoom=-1,o.effectiveMinScale=0,o.effectiveMaxScale=0,o.lods=null,o.minZoom=-1,o.maxZoom=-1,o.minScale=0,o.maxScale=0,o.snapToZoom=!0,o}o(t,e),i=t,t.prototype.initialize=function(){var e,t,o=this,r=this,i=r.lods,a=r.minScale,s=r.maxScale,c=r.minZoom,n=r.maxZoom,l=-1,f=-1,p=!1,h=!1;if(0!==a&&0!==s&&a<s&&(e=[s,a],a=e[0],s=e[1]),!i||!i.length)return this._set(\"effectiveMinScale\",a),void this._set(\"effectiveMaxScale\",s);i=i.map(function(e){return e.clone()}),i.sort(function(e,t){return t.scale-e.scale}),i.forEach(function(e,t){return e.level=t});for(var v,m=0,u=i;m<u.length;m++){var y=u[m];!p&&a>0&&a>=y.scale&&(l=y.level,p=!0),!h&&s>0&&s>=y.scale&&(f=v?v.level:-1,h=!0),v=y}-1===c&&(c=0===a?0:l),-1===n&&(n=0===s?i.length-1:f),c=Math.max(c,0),c=Math.min(c,i.length-1),n=Math.max(n,0),n=Math.min(n,i.length-1),c>n&&(t=[n,c],c=t[0],n=t[1]),a=i[c].scale,s=i[n].scale,i.splice(0,c),i.splice(n-c+1,i.length),i.forEach(function(e,t){o._lodByScale[e.scale]=e,o._scales[t]=e.scale}),this._set(\"effectiveLODs\",i),this._set(\"effectiveMinZoom\",c),this._set(\"effectiveMaxZoom\",n),this._set(\"effectiveMinScale\",a),this._set(\"effectiveMaxScale\",s)},t.prototype.constrain=function(e,t){if(t&&e.scale===t.scale)return e;var o=this.effectiveMinScale,r=this.effectiveMaxScale,i=e.targetGeometry,a=t&&t.targetGeometry,s=0!==r&&e.scale<r,c=0!==o&&e.scale>o;if(s||c){var n=c?o:r;if(a){var l=(n-t.scale)/(e.scale-t.scale);i.x=a.x+(i.x-a.x)*l,i.y=a.y+(i.y-a.y)*l}e.scale=n}return this.snapToZoom&&this.effectiveLODs&&(e.scale=this._getClosestScale(e.scale)),e},t.prototype.fit=function(e){if(!this.effectiveLODs||!this.snapToZoom)return this.constrain(e,null);var t=this.scaleToZoom(e.scale),o=Math.abs(t-Math.floor(t));return e.scale=this.zoomToScale(o>.99?Math.round(t):Math.floor(t)),e},t.prototype.zoomToScale=function(e){if(!this.effectiveLODs)return 0;e-=this.effectiveMinZoom,e=Math.max(0,e);var t=this._scales;if(e<=0)return t[0];if(e>=t.length)return t[t.length-1];var o=Math.round(e-.5),r=Math.round(e);return t[r]+(r-e)*(t[o]-t[r])},t.prototype.scaleToZoom=function(e){if(!this.effectiveLODs)return-1;var t,o,r=this._scales;if(e>=r[0])return this.effectiveMinZoom;if(e<=r[r.length-1])return this.effectiveMaxZoom;for(var i=0;i<r.length-1;i++){if(t=r[i],(o=r[i+1])===e){var a=i+this.effectiveMinZoom;return a+1}if(t>e&&o<e){var a=i+this.effectiveMinZoom;return a+1-(e-o)/(t-o)}}},t.prototype.snapToClosestScale=function(e){if(!this.effectiveLODs)return e;var t=this.scaleToZoom(e);return this.zoomToScale(Math.round(t))},t.prototype.snapToNextScale=function(e,t){if(void 0===t&&(t=.5),!this.effectiveLODs)return e*t;var o=Math.round(this.scaleToZoom(e));return this.zoomToScale(o+1)},t.prototype.snapToPreviousScale=function(e,t){if(void 0===t&&(t=2),!this.effectiveLODs)return e*t;var o=Math.round(this.scaleToZoom(e));return this.zoomToScale(o-1)},t.prototype.clone=function(){return new i({lods:this.lods,minZoom:this.minZoom,maxZoom:this.maxZoom,minScale:this.minScale,maxScale:this.maxScale})},t.prototype._getClosestScale=function(e){return this._lodByScale[e]?this._lodByScale[e].scale:(e=this._scales.reduce(function(t,o){return Math.abs(o-e)<=Math.abs(t-e)?o:t},this._scales[0]),this._lodByScale[e].scale)};var i;return r([a.property({readOnly:!0})],t.prototype,\"effectiveLODs\",void 0),r([a.property({readOnly:!0})],t.prototype,\"effectiveMinZoom\",void 0),r([a.property({readOnly:!0})],t.prototype,\"effectiveMaxZoom\",void 0),r([a.property({readOnly:!0})],t.prototype,\"effectiveMinScale\",void 0),r([a.property({readOnly:!0})],t.prototype,\"effectiveMaxScale\",void 0),r([a.property({type:[s]})],t.prototype,\"lods\",void 0),r([a.property()],t.prototype,\"minZoom\",void 0),r([a.property()],t.prototype,\"maxZoom\",void 0),r([a.property()],t.prototype,\"minScale\",void 0),r([a.property()],t.prototype,\"maxScale\",void 0),r([a.property()],t.prototype,\"snapToZoom\",void 0),t=i=r([a.subclass(\"esri.views.2d.constraints.ZoomConstraint\")],t)}(a.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./engine/Bitmap\",\"./engine/BitmapContainer\",\"./engine/BitmapTile\",\"./engine/Container\",\"./engine/webgl/TileContainer\",\"./engine/DisplayObject\",\"./engine/Stage\",\"./engine/webgl/AttributeStoreView\",\"./engine/webgl/collisions/CollisionGrid\",\"./engine/webgl/collisions/CollisionEngine\",\"./engine/webgl/collisions/LayerViewSorter\",\"./engine/webgl/Geometry\",\"./engine/webgl/alignmentUtils\",\"./engine/webgl/color\",\"./engine/webgl/definitions\",\"./engine/webgl/enums\",\"./engine/webgl/fontUtils\",\"./engine/webgl/Utils\",\"./engine/webgl/brushes/BrushBitmap\",\"./engine/webgl/brushes/BrushClip\",\"./engine/webgl/brushes/WGLBrushInfo\",\"./engine/webgl/brushes/WGLBrushStencil\",\"./engine/webgl/brushes/WGLBrushVTLBackground\",\"./engine/webgl/brushes/WGLBrushVTLCircle\",\"./engine/webgl/brushes/WGLBrushVTLFill\",\"./engine/webgl/brushes/WGLBrushVTLLine\",\"./engine/webgl/brushes/WGLBrushVTLSymbol\",\"./engine/webgl/brushes/WGLGeometryBrush\",\"./engine/webgl/brushes/WGLGeometryBrushFill\",\"./engine/webgl/brushes/WGLGeometryBrushLabel\",\"./engine/webgl/brushes/WGLGeometryBrushLine\",\"./engine/webgl/brushes/WGLGeometryBrushMarker\",\"./engine/webgl/brushes/WGLGeometryBrushText\",\"./engine/webgl/util/debug\",\"./engine/webgl/TileClipper\",\"./engine/webgl/TurboLine\",\"./engine/webgl/mesh/factories/matcherUtils\",\"./engine/webgl/mesh/factories/WGLMeshFactory\",\"./engine/webgl/mesh/MeshData\",\"./engine/webgl/mesh/templates/WGLTemplateStore\",\"./engine/webgl/Painter\",\"./engine/webgl/TextShaping\",\"./engine/webgl/TextShapingNew\",\"./engine/webgl/TileData\",\"./engine/webgl/util/BidiText\",\"./engine/webgl/util/Matcher\",\"./engine/webgl/util/vvFlagUtils\",\"./engine/webgl/visualVariablesUtils\",\"./engine/webgl/WGLRendererInfo\",\"./engine/webgl/WGLTile\",\"./engine/webgl/BitBlitRenderer\",\"./engine/webgl/shaders/MagnifierPrograms\",\"../../symbols/cim/CIMSymbolHelper\",\"./engine/webgl/Rect\",\"./engine/webgl/mesh/templates/util\",\"./engine/webgl/painter/RenderPass\",\"./engine/webgl/TiledDisplayObject\",\"./engine/BitmapTileContainer\",\"./engine/LevelDependentSizeVariable\"],function(e,i,n,l,t,r,g,a,s,b,o,u,h,L,w,p,T,m,d,B,G,c,f,S,V,y,C,W,M,D,x,F,P,O,R,U,I,j,v,k,z,A,E,H,N,_,q,J,K,Q,X,Y,Z,$,ee,ie,ne,le,te,re,ge){Object.defineProperty(i,\"__esModule\",{value:!0}),i.Bitmap=n.Bitmap,i.BitmapContainer=l.BitmapContainer,i.BitmapTile=t.BitmapTile,i.Container=r.Container,i.TileContainer=g.default,i.DisplayObject=a.DisplayObject,i.Stage=s.Stage,i.AttributeStoreView=b.AttributeStoreView,i.CollisionGrid=o.CollisionGrid,i.CollisionEngine=u.CollisionEngine,i.LayerViewSorter=h.LayerViewSorter,i.Point=L.Point,i.alignmentUtils=w,i.color=p,i.definitions=T,i.enums=m,i.fontUtils=d,i.Utils=B,i.debug=U,i.TileClipper=I.TileClipper,i.SimpleBuilder=I.SimpleBuilder,i.tessellate=j.tessellate,i.TessellationState=j.TessellationState,i.splitVertex=j.splitVertex,i.createMatcher=v.createMatcher,i.WGLMeshFactory=k.WGLMeshFactory,i.MeshData=z.MeshData,i.WGLTemplateStore=A.WGLTemplateStore,i.Painter=E.default,i.PainterOptions=E.PainterOptions,i.TextShaping=H.TextShaping,i.TextShapingNew=N.TextShaping,i.TileData=_.TileData,i.bidiText=q.bidiText,i.FeatureMatcher=J.FeatureMatcher,i.getVVFlags=K.getVVFlags,i.getTypeOfSizeVisualVariable=Q.getTypeOfSizeVisualVariable,i.WGLRendererInfo=X.WGLRendererInfo,i.WGLTile=Y.WGLTile,i.BitBlitRenderer=Z.BitBlitRenderer,i.createMagnifierProgram=$.createMagnifierProgram,i.magnifier=$.magnifier,i.CIMSymbolHelper=ee.CIMSymbolHelper,i.Rect=ie.default,i.getLimitCosine=ne.getLimitCosine;!function(e){e.Geometry=D.default,e.Marker=O.default,e.Line=P.default,e.Fill=x.default,e.Text=R.default,e.Label=F.default,e.Clip=c.default,e.Stencil=S.default,e.Bitmap=G.default,e.TileInfo=f.default,e.VTLBackground=V.WGLBrushVTLBackground,e.VTLFill=C.WGLBrushVTLFill,e.VTLLine=W.WGLBrushVTLLine,e.VTLCircle=y.WGLBrushVTLCircle,e.VTLSymbol=M.WGLBrushVTLSymbol}(i.brushes||(i.brushes={})),i.RenderPass=le.default,i.TiledDisplayObject=te.TiledDisplayObject,i.BitmapTileContainer=re.BitmapTileContainer,i.LevelDependentSizeVariable=ge.LevelDependentSizeVariable});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/libs/gl-matrix-2/mat3\",\"../../../core/libs/gl-matrix-2/mat3f32\",\"../../../core/libs/gl-matrix-2/vec2f32\",\"../../webgl\",\"./DisplayObject\",\"./ImageryBitmapSource\"],function(t,e,i,r,s,n,o,u,a){function h(t){return t&&\"render\"in t}function c(t){return t&&!(\"render\"in t)}function l(t){var e=document.createElement(\"canvas\");return e.width=t.width,e.height=t.height,t.render(e.getContext(\"2d\")),e}function d(t,e,i){var r={target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,wrapMode:33071};return e&&i&&(r.width=e,r.height=i),new o.Texture(t,r)}function f(t){return t.updateTexture()}function p(t){g.has(t)&&(m.splice(m.indexOf(t),1),g.delete(t))}Object.defineProperty(e,\"__esModule\",{value:!0});var m=(o.enums.TextureType,o.enums.PixelFormat,o.enums.PixelType,o.enums.TextureWrapMode,[]),g=new Set,x=function(t){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=function(){return null});var r=t.call(this)||this;return r.stencilRef=0,r.coordScale=[1,1],r._height=void 0,r.pixelRatio=1,r.resolution=0,r.rotation=0,r._source=null,r._width=void 0,r.x=0,r.y=0,r.transforms={dvs:s.mat3f32.create()},r.source=e,r.requestRender=i,r}return i(e,t),Object.defineProperty(e.prototype,\"isSourceScaled\",{get:function(){return this.width!==this.sourceWidth||this.height!==this.sourceHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return void 0!==this._height?this._height:this.sourceHeight},set:function(t){this._height=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"source\",{get:function(){return this._source},set:function(t){this._source=t,this.invalidateTexture()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"sourceHeight\",{get:function(){return this._source instanceof HTMLImageElement?this._source.naturalHeight:this._source.height},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"sourceWidth\",{get:function(){return this._source instanceof HTMLImageElement?this._source.naturalWidth:this._source.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return void 0!==this._width?this._width:this.sourceWidth},set:function(t){this._width=t},enumerable:!0,configurable:!0}),e.prototype.attach=function(){return f(this),!0},e.prototype.detach=function(){this._texture.dispose(),this._texture=null,p(this)},e.prototype.invalidateTexture=function(){this.attached?f(this):p(this)},e.prototype.setTransform=function(t){var e=r.mat3.identity(this.transforms.dvs),i=t.toScreenNoRotation([0,0],this.x,this.y),s=i[0],o=i[1],u=this.resolution/this.pixelRatio/t.resolution,a=u*this.width,h=u*this.height,c=Math.PI*this.rotation/180;r.mat3.translate(e,e,n.vec2f32.fromValues(s,o)),r.mat3.translate(e,e,n.vec2f32.fromValues(a/2,h/2)),r.mat3.rotate(e,e,-c),r.mat3.translate(e,e,n.vec2f32.fromValues(-a/2,-h/2)),r.mat3.scaleByVec2(e,e,n.vec2f32.fromValues(a,h)),r.mat3.multiply(this.transforms.dvs,t.displayViewMat3,e)},e.prototype.updateTexture=function(){this._texture||(this.source?this._texture=d(this.stage.context,this.sourceWidth,this.sourceHeight):this._texture=d(this.stage.context));var t=this.source;if(!t)return void this._texture.setData(null);if(this._texture.resize(this.sourceWidth,this.sourceHeight),h(t))if(t instanceof a.default){var e=t.getRenderedRasterPixels();this._texture.setData(e.renderedRasterPixels)}else this._texture.setData(l(t));else c(t)&&this._texture.setData(t);this.ready(),this.requestRender()},e.prototype.setSamplingProfile=function(t){this._texture&&(t.mips&&!this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._texture.setSamplingMode(t.samplingMode))},e.prototype.bind=function(t){if(this._texture){this.stage.context.bindTexture(this._texture,t)}},e}(u.DisplayObject);e.Bitmap=x});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../engine\",\"./webgl/WGLContainer\"],function(e,r,t,n,s,p){Object.defineProperty(r,\"__esModule\",{value:!0});var a=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return t(r,e),r.prototype.prepareRenderPasses=function(r){var t=this,n=r.registerRenderPass({name:\"bitmap\",brushes:[s.brushes.Bitmap],target:function(){return t.children}});return e.prototype.prepareRenderPasses.call(this,r).concat([n])},r}(p.default);r.BitmapContainer=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"./Bitmap\",\"./webgl/TiledDisplayObject\"],function(t,e,i,r,a,n){Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){function e(e,i,r,n){void 0===n&&(n=null);var o=t.call(this,e,i,r,r)||this,s=o.requestRender.bind(o);return o.bitmap=new a.Bitmap(n,s),o.bitmap.coordScale=r,o.bitmap.once(\"isReady\",function(){return o.ready()}),o}return i(e,t),Object.defineProperty(e.prototype,\"stencilRef\",{get:function(){return this.bitmap.stencilRef},set:function(t){this.bitmap.stencilRef=t},enumerable:!0,configurable:!0}),e.prototype.setTransform=function(e,i){t.prototype.setTransform.call(this,e,i),this.bitmap.transforms.dvs=this.transforms.dvs},e.prototype.attach=function(){this.bitmap.stage=this.stage;var t=this.bitmap.attach();return t&&(this.bitmap.attached=!0),t},e.prototype.detach=function(){this.bitmap.detach()},e}(n.TiledDisplayObject);e.BitmapTile=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../geometry/support/aaBoundingRect\",\"../engine\",\"./BitmapTile\",\"./webgl/enums\",\"./webgl/TileContainer\"],function(e,t,r,n,i,o,a,s,p){Object.defineProperty(t,\"__esModule\",{value:!0});var u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.createTile=function(e){var t=this._tileInfoView.getTileBounds(i.create(),e);return new a.BitmapTile(e,t,this._tileInfoView.tileInfo.size)},t.prototype.destroyTile=function(){},t.prototype.prepareRenderPasses=function(t){var r=this,n=t.registerRenderPass({name:\"bitmap (tile)\",brushes:[o.brushes.Bitmap],target:function(){return r.children.map(function(e){return e.bitmap})},drawPhase:s.WGLDrawPhase.MAP});return e.prototype.prepareRenderPasses.call(this,t).concat([n])},t.prototype.doRender=function(t){this.visible&&t.drawPhase===s.WGLDrawPhase.MAP&&e.prototype.doRender.call(this,t)},t}(p.default);t.BitmapTileContainer=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"./DisplayObject\"],function(t,e,i,n){function h(t,e){t.delete(e)}Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._childrenSet=new Set,e._childrenToAttach=[],e._childrenToDetach=[],e.children=[],e}return i(e,t),Object.defineProperty(e.prototype,\"numChildren\",{get:function(){return this.children.length},enumerable:!0,configurable:!0}),e.prototype.detach=function(){for(var t=this.children.concat(this._childrenToDetach),e=0,i=t;e<i.length;e++){var n=i[e];n.attached&&(this.detachChild(n),n.attached=!1,n.parent=null)}},e.prototype.doRender=function(t){var e=t.globalOpacity;t.globalOpacity*=this.opacity,this.attachChildren(),this.detachChildren(),this.renderChildren(t),t.globalOpacity=e},e.prototype.addChild=function(t){return this.addChildAt(t,this.children.length)},e.prototype.addChildAt=function(t,e){if(void 0===e&&(e=this.numChildren),!t)return t;if(this.contains(t))return t;var i=t.parent;i&&i!==this&&i.removeChild(t),e>=this.numChildren?this.children.push(t):this.children.splice(e,0,t),this._childrenSet.add(t);var n=this._childrenToDetach.indexOf(t);return n>-1&&this._childrenToDetach.splice(n,1),this._childrenToAttach.push(t),this.requestRender(),t},e.prototype.contains=function(t){return this._childrenSet.has(t)},e.prototype.getChildIndex=function(t){return this.children.indexOf(t)},e.prototype.getChildAt=function(t){return t<0||t>this.children.length?null:this.children[t]},e.prototype.removeAllChildren=function(){for(var t=this.numChildren;t--;)this.removeChildAt(0)},e.prototype.removeChild=function(t){return this.contains(t)?this.removeChildAt(this.getChildIndex(t)):t},e.prototype.removeChildAt=function(t){var e;if(t<0||t>=this.children.length)return null;if(e=this.children.splice(t,1)[0],h(this._childrenSet,e),e.attached)this._childrenToDetach.push(e);else{var i=this._childrenToAttach.indexOf(e);i>-1&&this._childrenToAttach.splice(i,1)}return e},e.prototype.setChildIndex=function(t,e){var i=this.getChildIndex(t);i>-1&&(this.children.splice(i,1),this.children.splice(e,0,t))},e.prototype.sortChildren=function(t){return this.children.sort(t)},e.prototype.attachChildren=function(){var t=this._childrenToAttach;if(0!==t.length)for(var e=0,i=!1;!i;){var n=t[e];n.parent=this,n.stage=this.stage,this.attachChild(n)?(n.attached=!0,t.splice(e,1)):++e,i=t.length===e}},e.prototype.detachChildren=function(){for(var t=this._childrenToDetach;t.length>0;){var e=t.shift();this.detachChild(e),e.attached=!1,e.parent=null,e.stage=null}},e.prototype.renderChildren=function(t){for(var e=this.children,i=e.length,n=0;n<i;n++)e[n].processRender(t)},e.prototype.attachChild=function(t){return t.attach()},e.prototype.detachChild=function(t){t.detach()},e}(n.DisplayObject);e.Container=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/Evented\"],function(e,t,i,r){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._renderRequestedCalled=!1,t._attached=!1,t._isReady=!1,t._opacity=1,t.renderRequested=!1,t._visible=!0,t}return i(t,e),Object.defineProperty(t.prototype,\"attached\",{get:function(){return this._attached},set:function(e){this._attached!==e&&(this._attached=e,e?this.hasEventListener(\"attach\")&&this.emit(\"attach\"):this.hasEventListener(\"detach\")&&this.emit(\"detach\"))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isReady\",{get:function(){return this._attached&&this._isReady},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"opacity\",{get:function(){return this._opacity},set:function(e){this._opacity!==e&&(this._opacity=e,this.requestRender())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visible\",{get:function(){return this._visible},set:function(e){this._visible!==e&&(this._visible=e,this.requestRender())},enumerable:!0,configurable:!0}),t.prototype.attach=function(){return this.ready(),!0},t.prototype.setTransform=function(e){},t.prototype.detach=function(){},t.prototype.processRender=function(e){this.visible&&this.attached&&(this._renderRequestedCalled=!1,this.doRender(e),this._renderRequestedCalled||(this.renderRequested=!1),this.hasEventListener(\"post-render\")&&this.emit(\"post-render\"))},t.prototype.requestRender=function(){var e=this.renderRequested;this._renderRequestedCalled=!0,this.renderRequested=!0,this.parent&&this.parent.requestRender(),e!==this.renderRequested&&this.hasEventListener(\"will-render\")&&this.emit(\"will-render\")},t.prototype.dispose=function(){},t.prototype.doRender=function(e){},t.prototype.ready=function(){this._isReady=!0,this.emit(\"isReady\")},t}(r);t.DisplayObject=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t,i){this.pixelBlock=e,this.extent=t,this.originalPixelBlock=i}return Object.defineProperty(e.prototype,\"width\",{get:function(){return this.pixelBlock?this.pixelBlock.width:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this.pixelBlock?this.pixelBlock.height:0},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this.pixelBlock;if(t){var i=this.filter({pixelBlock:t}),l=i.pixelBlock.getAsRGBA(),r=e.createImageData(i.pixelBlock.width,i.pixelBlock.height);r.data.set(l),e.putImageData(r,0,0)}},e.prototype.getRenderedRasterPixels=function(){var e=this.filter({pixelBlock:this.pixelBlock});return{width:e.pixelBlock.width,height:e.pixelBlock.height,renderedRasterPixels:new Uint8Array(e.pixelBlock.getAsRGBA().buffer)}},e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/lang\",\"../../../core/accessorSupport/decorators\",\"../../../renderers/visualVariables/SizeVariable\",\"../../../renderers/visualVariables/support/sizeVariableUtils\"],function(e,i,t,s,l,r,a,n){Object.defineProperty(i,\"__esModule\",{value:!0});var o=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}s(i,e),a=i,i.prototype.writeLevels=function(e,i,t){for(var s in e){var l=this.levels[s];return void(i.stops=l)}},i.prototype.clone=function(){return new a({axis:this.axis,field:this.field,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,maxDataValue:this.maxDataValue,maxSize:n.isSizeVariable(this.maxSize)?this.maxSize.clone():this.maxSize,minDataValue:this.minDataValue,minSize:n.isSizeVariable(this.minSize)?this.minSize.clone():this.minSize,normalizationField:this.normalizationField,stops:this.stops&&this.stops.map(function(e){return e.clone()}),target:this.target,useSymbolValue:this.useSymbolValue,valueRepresentation:this.valueRepresentation,valueUnit:this.valueUnit,legendOptions:this.legendOptions&&this.legendOptions.clone(),levels:l.clone(this.levels)})};var a;return t([r.property()],i.prototype,\"levels\",void 0),t([r.writer(\"levels\")],i.prototype,\"writeLevels\",null),i=a=t([r.subclass(\"esri.views.2d.engine.LevelDependentSizeVariable\")],i)}(r.declared(a));i.LevelDependentSizeVariable=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/tsSupport/assignHelper\",\"../../../core/Error\",\"../../../core/events\",\"../../../core/has\",\"../../../core/promiseUtils\",\"../../../core/scheduling\",\"../../../core/watchUtils\",\"../../../core/libs/gl-matrix-2/common\",\"../../../core/libs/gl-matrix-2/mat2d\",\"../../../core/libs/gl-matrix-2/mat2df64\",\"../../../core/libs/gl-matrix-2/vec2\",\"../../../core/libs/gl-matrix-2/vec2f64\",\"../../webgl\",\"./Container\",\"./webgl/BitBlitRenderer\",\"./webgl/definitions\",\"./webgl/enums\",\"./webgl/Painter\",\"./webgl/Profiler\",\"./webgl/WebGLDriverTest\",\"./webgl/shaders/StencilPrograms\",\"../support/Timeline\",\"../../support/screenshotUtils\"],function(e,t,r,i,n,a,s,o,l,h,d,c,p,u,_,g,f,b,m,v,O,y,R,w,C,x){Object.defineProperty(t,\"__esModule\",{value:!0});var F=(g.enums.TargetType,g.enums.DepthStencilTargetType,g.enums.PixelFormat,g.enums.PixelType,g.enums.DataType,g.enums.Usage,g.enums.PrimitiveType,g.enums.CompareFunction,g.enums.StencilOperation,g.enums.TextureSamplingMode,function(e){function t(t,r){var i=e.call(this)||this;i._renderParameters={drawPhase:0,state:i.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1},i._clipData=new Float32Array(8),i._upperLeft=_.vec2f64.create(),i._upperRight=_.vec2f64.create(),i._lowerLeft=_.vec2f64.create(),i._lowerRight=_.vec2f64.create(),i._mat2=p.mat2df64.create(),i._clipRendererInitialized=!1,i._supersampleScreenshots=!0,i.dataUploadCounter=0,i.stage=i,i._stationary=!0,i.attached=!0;var o=r.canvas,h=void 0===o?document.createElement(\"canvas\"):o,d=r.alpha,c=void 0===d||d,u=r.stencil,f=void 0===u||u,b=r.renderContext,m=void 0===b?\"webgl\":b,v=r.supersampleScreenshots,w=void 0===v||v,x=r.contextOptions,F=void 0===x?{}:x;i._canvas=h;var B={alpha:c,antialias:!1,depth:!0,stencil:f},S=g.createContextOrErrorHTML(h,B,m);return i.context=new g.RenderingContext(S,F),i.painter=new O.default(i.context),i._taskHandle=l.addFrameTask({render:function(){return i.renderFrame()}}),i._taskHandle.pause(),i._supersampleScreenshots=w,i._lostWebGLContextHandle=a.on(h,\"webglcontextlost\",function(){i.emit(\"webgl-error\",{error:new n(\"webgl-context-lost\")})}),s(\"esri-2d-profiler\")&&(i._debugOutput=document.createElement(\"div\"),i._debugOutput.setAttribute(\"style\",\"margin: 24px 64px; position: absolute; color: red;\"),t.appendChild(i._debugOutput)),h.setAttribute(\"style\",\"width: 100%; height:100%; display:block;\"),i.profiler=new y.Profiler(i.context,i._debugOutput),i.renderingOptions=r.renderingOptions,i.timeline=r.timeline||new C.Timeline,i.driverTestResult=R.testWebGLDriver(i.context),t.appendChild(h),i}return r(t,e),t.prototype.destroy=function(){this.removeAllChildren(),this.renderFrame(),this._taskHandle.remove(),this._taskHandle=null,this._boundFBO=null,this._clipFBO&&(this._clipFBO.dispose(),this._clipFBO=null),this._blitRenderer&&(this._blitRenderer.dispose(),this._blitRenderer=null),this._clipVAO&&(this._clipVAO.dispose(),this._clipVAO=null,this._clipVBO=null),this._clipStencilProgram&&(this._clipStencilProgram.dispose(),this._clipStencilProgram=null),this._lostWebGLContextHandle&&(this._lostWebGLContextHandle.remove(),this._lostWebGLContextHandle=null),this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas),this._debugOutput&&this._debugOutput.parentNode&&this._debugOutput.parentNode.removeChild(this._debugOutput),this.painter.dispose(),this.context.dispose(),this._canvas=null},Object.defineProperty(t.prototype,\"background\",{get:function(){return this._background},set:function(e){this._background=e,this.requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"highlightOptions\",{get:function(){return this._highlightOptions},set:function(e){var t=this;this._highlightOptionsHandle&&(this._highlightOptionsHandle.remove(),this._highlightOptionsHandle=null),this._highlightOptions=e,this._highlightOptions&&(this._highlightOptionsHandle=h.init(this._highlightOptions,\"version\",function(){t.painter.setHighlightOptions(e),t.requestRender()}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"renderingOptions\",{get:function(){return this._renderingOptions},set:function(e){this._renderingOptions=e,this.requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return this._state},set:function(e){this._state=e,this.requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stationary\",{get:function(){return this._stationary},set:function(e){this._stationary!==e&&(this._stationary=e,this.requestRender())},enumerable:!0,configurable:!0}),t.prototype.requestRender=function(){this._lastRenderRequestTime=Date.now(),this._taskHandle&&this._taskHandle.resume()},t.prototype.renderFrame=function(){var e=Date.now(),t=e-this._lastRenderRequestTime;this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this.processRender(this._renderParameters),t>=m.MAX_ANIMATION_TIME_MS&&this._taskHandle.pause()},t.prototype.renderChildren=function(e){var t=this,r=t.context,i=t.children,n=e.children?e.children:i;this.profiler.recordStart(\"drawLayers\"),this.dataUploadCounter=0,this.beforeRenderChildren(e),e.drawPhase=v.WGLDrawPhase.MAP,this.painter.beforeRenderLayers(r);for(var a=0,o=n;a<o.length;a++){var l=o[a];l.attached&&l.processRender(e)}this.painter.renderLayers(r),e.drawPhase=v.WGLDrawPhase.LABEL,this.painter.beforeRenderLayers(r);for(var h=0,d=n;h<d.length;h++){var l=d[h];l.attached&&l.processRender(e)}if(this.painter.renderLayers(r),s(\"esri-tiles-debug\")){e.drawPhase=v.WGLDrawPhase.DEBUG,this.painter.beforeRenderLayers(r);for(var c=0,p=n;c<p.length;c++){var l=p[c];l.attached&&l.processRender(e)}this.painter.renderLayers(r)}this.profiler.recordEnd(\"drawLayers\"),this.afterRenderChildren()},t.prototype.beforeRenderChildren=function(e){var t=this,r=t.context,i=t.painter,n=e.state,a=e.pixelRatio;if(i){r.enforceState();var s=n.size,o=n.rotation,l=Math.round(s[0]*a),h=Math.round(s[1]*a);this._boundFBO=r.getBoundFramebufferObject();if(!(n.spatialReference&&(n.spatialReference._isWrappable?n.spatialReference._isWrappable():n.spatialReference.isWrappable)))return void(this._clipFrame=!1);var p=d.common.toRadian(o),_=Math.abs(Math.cos(p)),f=Math.abs(Math.sin(p)),b=Math.round(l*_+h*f),m=Math.round(n.worldScreenWidth);if(b<=m)return void(this._clipFrame=!1);this._clipFBO&&this._clipFBO.width===l&&this._clipFBO.height===h||(this._clipFBO=new g.FramebufferObject(r,{colorTarget:0,depthStencilTarget:3,width:l,height:h}));var v=(this.state.padding.left-this.state.padding.right)/2,O=(this.state.padding.bottom-this.state.padding.top)/2,y=.5*l,R=.5*h,w=1/l,C=1/h,x=l*f+h*_,F=m*a*.5,B=.5*x,S=this._upperLeft,E=this._upperRight,P=this._lowerLeft,T=this._lowerRight;u.vec2.set(S,-F,-B),u.vec2.set(E,F,-B),u.vec2.set(P,-F,B),u.vec2.set(T,F,B),c.mat2d.identity(this._mat2),c.mat2d.translate(this._mat2,this._mat2,[y+v,R+O]),0!==o&&c.mat2d.rotate(this._mat2,this._mat2,p),u.vec2.transformMat2d(S,S,this._mat2),u.vec2.transformMat2d(E,E,this._mat2),u.vec2.transformMat2d(P,P,this._mat2),u.vec2.transformMat2d(T,T,this._mat2);var L=this._clipData;L.set([2*P[0]*w-1,2*(h-P[1])*C-1,2*T[0]*w-1,2*(h-T[1])*C-1,2*S[0]*w-1,2*(h-S[1])*C-1,2*E[0]*w-1,2*(h-E[1])*C-1]),this._clipRendererInitialized||this._initializeClipRenderer(r),this._clipVBO.setData(L),this._boundFBO=r.getBoundFramebufferObject(),r.bindFramebuffer(this._clipFBO),r.setDepthWriteEnabled(!0),r.setStencilWriteMask(255),r.setClearColor(0,0,0,0),r.setClearDepth(1),r.setClearStencil(0),r.clear(r.gl.COLOR_BUFFER_BIT|r.gl.DEPTH_BUFFER_BIT|r.gl.STENCIL_BUFFER_BIT),r.setDepthWriteEnabled(!1),this._clipFrame=!0}},t.prototype.afterRenderChildren=function(){var e=this.context;e.logIno(),this._clipFrame&&this._clipRendererInitialized&&(e.bindFramebuffer(this._boundFBO),this._boundFBO=null,e.bindVAO(this._clipVAO),e.bindProgram(this._clipStencilProgram),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(7680,7680,7681),e.setStencilWriteMask(255),e.setStencilFunction(519,1,255),e.drawElements(4,6,5123,0),e.bindVAO(),e.setColorMask(!0,!0,!0,!0),e.setBlendingEnabled(!0),e.setStencilFunction(514,1,255),this._blitRenderer.render(e,this._clipFBO.colorTexture,9728,1),e.setStencilTestEnabled(!1))},t.prototype.doRender=function(t){var r=this.context,i=t.state,n=t.pixelRatio;if(this._resizeCanvas(t),this.context.enforceState(),r.setViewport(0,0,n*i.size[0],n*i.size[1]),r.setDepthWriteEnabled(!0),r.setStencilWriteMask(255),this.background&&this.background.color){var a=this.background.color,s=a.r,o=a.g,l=a.b,h=a.a;r.setClearColor(s/255,o/255,l/255,h)}else r.setClearColor(0,0,0,0);r.setClearDepth(1),r.setClearStencil(0),r.clear(r.gl.COLOR_BUFFER_BIT|r.gl.DEPTH_BUFFER_BIT|r.gl.STENCIL_BUFFER_BIT),r.setDepthWriteEnabled(!1),e.prototype.doRender.call(this,t)},t.prototype.takeScreenshot=function(e,t){var r=x.screenshotSuperSampleSettings(e,this._supersampleScreenshots,this._state.padding),i=r.framebufferWidth,n=r.framebufferHeight,a=this.context,s=e.layers,l={drawPhase:null,globalOpacity:1,stationary:!0,state:this._renderParameters.state.clone(),pixelRatio:r.pixelRatio};if(null!=e.rotation){var h=l.state.viewpoint;h.rotation=e.rotation,l.state.viewpoint=h}s.length>0&&(l.children=[],s.forEach(function(e){var r=t.find(function(t){return t.layer.id===e.id});r&&\"container\"in r&&r.container&&r.attached&&l.children.push(r.container)}));var d=new g.FramebufferObject(a,{colorTarget:0,depthStencilTarget:3,width:i,height:n}),c=a.getBoundFramebufferObject(),p=a.getViewport();a.bindFramebuffer(d),a.setViewport(0,0,i,n);var u=a.gl;if(!e.ignoreBackground&&this.background&&this.background.color){var _=this.background.color,f=_.r,b=_.g,m=_.b,v=_.a;a.setClearColor(f/255,b/255,m/255,v)}else a.setClearColor(0,0,0,0);a.setClearDepth(1),a.setClearStencil(0),a.clear(u.COLOR_BUFFER_BIT|u.DEPTH_BUFFER_BIT|u.STENCIL_BUFFER_BIT),this.renderChildren(l);var O=this._readbackScreenshot(r);a.bindFramebuffer(c),a.setViewport(p.x,p.y,p.width,p.height),this.requestRender();var y=this._ensureScreenshotEncodeCanvas(),R=x.encodeResult(O,e,y,{flipY:!0,premultipliedAlpha:!0});return o.resolve(R)},t.prototype._ensureScreenshotEncodeCanvas=function(){return this._screenshotEncodeCanvas||(this._screenshotEncodeCanvas=document.createElement(\"canvas\")),this._screenshotEncodeCanvas},t.prototype._readbackScreenshot=function(e){var t=e.framebufferWidth,r=e.framebufferHeight,i=e.region,n=e.resample,a=this.context,s=a.gl;if(n){var o=x.createEmptyImageData(t,r,this._ensureScreenshotEncodeCanvas());s.readPixels(0,0,t,r,6408,5121,new Uint8Array(o.data.buffer));var l=x.createEmptyImageData(i.width,i.height,this._ensureScreenshotEncodeCanvas());return x.resampleHermite(o,l,!0,n.region.x,r-(n.region.y+n.region.height),n.region.width,n.region.height)}var o=x.createEmptyImageData(i.width,i.height,this._ensureScreenshotEncodeCanvas());return s.readPixels(i.x,r-(i.y+i.height),i.width,i.height,6408,5121,new Uint8Array(o.data.buffer)),o},t.prototype._resizeCanvas=function(e){var t=this._canvas,r=t.style,i=e.state.size,n=e.pixelRatio,a=i[0],s=i[1],o=Math.round(a*n),l=Math.round(s*n);t.width===o&&t.height===l||(t.width=o,t.height=l),r.width=a+\"px\",r.height=s+\"px\"},t.prototype._initializeClipRenderer=function(e){if(this._clipRendererInitialized)return!0;this._blitRenderer=new b.BitBlitRenderer;var t=w.stencil.attributes,r=g.createProgram(e,w.stencil);if(!r)return!1;var i=g.BufferObject.createVertex(e,35040,32),n=new Uint16Array([0,1,2,2,1,3]),a=g.BufferObject.createIndex(e,35044,n),s={geometry:[{name:\"a_pos\",count:2,type:5126,offset:0,stride:8,normalized:!1,divisor:0}]},o=new g.VertexArrayObject(e,t,s,{geometry:i},a);return this._clipStencilProgram=r,this._clipVBO=i,this._clipVAO=o,this._clipRendererInitialized=!0,!0},t}(f.Container));t.Stage=F});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(_,e){function n(_,e){return _%=e,_>=0?_:_+e}function t(_){return n(_*e.C_RAD_TO_256,256)}function r(_){return n(_*e.C_DEG_TO_256,256)}function u(_){return Math.log(_)*i}function o(_){return _*_}function C(_,e,n){return _*(1-n)+e*n}function I(_,e,n){return _>=e&&_<=n||_>=n&&_<=e}Object.defineProperty(e,\"__esModule\",{value:!0}),e.C_INFINITY=Number.POSITIVE_INFINITY,e.C_PI=Math.PI,e.C_2PI=2*e.C_PI,e.C_PI_BY_2=e.C_PI/2,e.C_RAD_TO_256=128/e.C_PI,e.C_256_TO_RAD=e.C_PI/128,e.C_DEG_TO_256=256/360,e.C_DEG_TO_RAD=e.C_PI/180,e.C_SQRT2=1.414213562,e.C_SQRT2_INV=1/e.C_SQRT2;var i=1/Math.LN2;e.positiveMod=n,e.radToByte=t,e.degToByte=r,e.log2=u,e.sqr=o,e.interpolate=C,e.between=I});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../webgl\",\"./Programs\"],function(e,r,t,a){Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(){function e(e){this._cache=new Array(8);for(var r=0;r<8;r++)this._cache[r]={};this._programRepo=new t.ProgramCache(e)}return e.prototype.dispose=function(){this._programRepo&&(this._programRepo.dispose(),this._programRepo=null)},e.prototype.getProgram=function(e,r,t){var a=this._cache[e];if(!a[r]){var n=this._programRepo.getProgram(this._getProgramTemplate(e),t);a[r]=n}return a[r]},e.prototype.getProgramAttributes=function(e){switch(e){case 0:return a.background.attributes;case 5:return a.circle.attributes;case 1:return a.fill.attributes;case 4:return a.icon.attributes;case 3:return a.line.attributes;case 2:return a.outline.attributes;case 6:return a.text.attributes;default:return null}},e.prototype._getProgramTemplate=function(e){switch(e){case 0:return a.background;case 5:return a.circle;case 1:return a.fill;case 4:return a.icon;case 3:return a.line;case 2:return a.outline;case 6:return a.text;default:return null}},e}();r.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../webgl\",\"./sources/resolver\"],function(e,r,n,t){Object.defineProperty(r,\"__esModule\",{value:!0});var a=function(e){return n.glslifyDefineMap({ID:e.id,PATTERN:e.pattern})};r.background={name:\"background\",shaders:function(e){return{vertexShader:a(e)+t.resolveIncludes(\"background/background.vert\"),fragmentShader:a(e)+t.resolveIncludes(\"background/background.frag\")}},attributes:{a_pos:0}};var l=function(e){return n.glslifyDefineMap({ID:e.id})};r.circle={name:\"circle\",shaders:function(e){return{vertexShader:l(e)+t.resolveIncludes(\"circle/circle.vert\"),fragmentShader:l(e)+t.resolveIncludes(\"circle/circle.frag\")}},attributes:{a_pos:0,a_color:1,a_stroke_color:2,a_data:3}};var i=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,PATTERN:e.pattern})};r.fill={name:\"fill\",shaders:function(e){return{vertexShader:i(e)+t.resolveIncludes(\"fill/fill.vert\"),fragmentShader:i(e)+t.resolveIncludes(\"fill/fill.frag\")}},attributes:{a_pos:0,a_color:1}};var o=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd})};r.outline={name:\"outline\",shaders:function(e){return{vertexShader:o(e)+t.resolveIncludes(\"outline/outline.vert\"),fragmentShader:o(e)+t.resolveIncludes(\"outline/outline.frag\")}},attributes:{a_pos:0,a_offset:1,a_xnormal:2,a_color:3}};var s=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,SDF:e.sdf})};r.icon={name:\"icon\",shaders:function(e){return{vertexShader:s(e)+t.resolveIncludes(\"icon/icon.vert\"),fragmentShader:s(e)+t.resolveIncludes(\"icon/icon.frag\")}},attributes:{a_pos:0,a_vertexOffset:1,a_tex:2,a_levelInfo:3,a_color:4,a_size:5}};var u=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,PATTERN:e.pattern})};r.line={name:\"line\",shaders:function(e){return{vertexShader:u(e)+t.resolveIncludes(\"line/line.vert\"),fragmentShader:u(e)+t.resolveIncludes(\"line/line.frag\")}},attributes:{a_pos:0,a_offsetAndNormal:1,a_accumulatedDistance:2,a_color:3,a_width:4}};var d=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd})};r.text={name:\"text\",shaders:function(e){return{vertexShader:d(e)+t.resolveIncludes(\"text/text.vert\"),fragmentShader:d(e)+t.resolveIncludes(\"text/text.frag\")}},attributes:{a_pos:0,a_vertexOffset:1,a_tex:2,a_levelInfo:3,a_color:4,a_size:5}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\",\"./shaderRepository\"],function(e,r,n,o){function t(e){var r=o;return e.split(\"/\").forEach(function(e){r&&(r=r[e])}),r}function u(e){return i.resolveIncludes(e)}Object.defineProperty(r,\"__esModule\",{value:!0});var i=new n.ShaderCompiler(t);r.resolveIncludes=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){return{background:{\"background.frag\":\"#ifdef PATTERN\\nuniform lowp float u_opacity;\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform sampler2D u_texture;\\nvarying mediump vec2 v_tileTextureCoord;\\n#else\\nuniform lowp vec4 u_color;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main() {\\n#ifdef PATTERN\\n mediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\n mediump vec2 samplePos = mix(u_pattern_tl, u_pattern_br, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = u_opacity * color;\\n#else\\n gl_FragColor = u_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"background.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_coord_range;\\nuniform mediump float u_depth;\\n#ifdef PATTERN\\nuniform mediump mat3 u_pattern_matrix;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\nvoid main() {\\n gl_Position = vec4((u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0)).xy, u_depth, 1.0);\\n#ifdef PATTERN\\n v_tileTextureCoord = (u_pattern_matrix * vec3(a_pos, 1.0)).xy;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n}\"},circle:{\"circle.frag\":\"precision lowp float;\\nvarying lowp vec4 v_color;\\nvarying lowp vec4 v_stroke_color;\\nvarying mediump float v_blur;\\nvarying mediump float v_stroke_width;\\nvarying mediump float v_radius;\\nvarying mediump vec2 v_offset;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n mediump float dist = length(v_offset);\\n mediump float alpha = smoothstep(0.0, -v_blur, dist - 1.0);\\n lowp float color_mix_ratio = v_stroke_width < 0.01 ? 0.0 : smoothstep(-v_blur, 0.0, dist - v_radius / (v_radius + v_stroke_width));\\n gl_FragColor = alpha * mix(v_color, v_stroke_color, color_mix_ratio);\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"circle.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec4 a_color;\\nattribute vec4 a_stroke_color;\\nattribute vec4 a_data;\\nconst float sizePrecision = 0.25;\\nconst float blurPrecision = 0.03125;\\nvarying lowp vec4 v_color;\\nvarying lowp vec4 v_stroke_color;\\nvarying mediump float v_blur;\\nvarying mediump float v_stroke_width;\\nvarying mediump float v_radius;\\nvarying mediump vec2 v_offset;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump vec2 u_circleTranslation;\\nuniform mediump float u_depth;\\nuniform mediump float u_radius;\\nuniform lowp vec4 u_color;\\nuniform mediump float u_blur;\\nuniform mediump float u_stroke_width;\\nuniform lowp vec4 u_stroke_color;\\nuniform mediump float u_antialiasingWidth;\\nvoid main()\\n{\\n v_color = a_color * u_color;\\n v_stroke_color = a_stroke_color * u_stroke_color;\\n v_stroke_width = a_data[1] * sizePrecision * u_stroke_width;\\n v_radius = a_data[2] * u_radius;\\n v_blur = max(a_data[0] * blurPrecision + u_blur, u_antialiasingWidth / (v_radius + v_stroke_width));\\n mediump vec2 offset = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n v_offset = offset;\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos * 0.5, 1.0) + u_displayMat3 * vec3((v_radius + v_stroke_width) * offset + u_circleTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},fill:{\"fill.frag\":\"precision lowp float;\\n#ifdef PATTERN\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform lowp sampler2D u_texture;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nvec4 mixColors(vec4 color1, vec4 color2) {\\n float compositeAlpha = color2.a + color1.a * (1.0 - color2.a);\\n vec3 compositeColor = color2.rgb + color1.rgb * (1.0 - color2.a);\\n return vec4(compositeColor, compositeAlpha);\\n}\\nvoid main()\\n{\\n#ifdef PATTERN\\n mediump vec2 normalizedTextureCoord = fract(v_tileTextureCoord);\\n mediump vec2 samplePos = mix(u_pattern_tl, u_pattern_br, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = v_color[3] * color;\\n#else\\n gl_FragColor = v_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"fill.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_fillTranslation;\\n#ifdef PATTERN\\nuniform mediump mat3 u_pattern_matrix;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nuniform lowp vec4 u_color;\\nvarying lowp vec4 v_color;\\nvoid main()\\n{\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n#ifdef PATTERN\\n v_tileTextureCoord = (u_pattern_matrix * vec3(a_pos, 1.0)).xy;\\n#endif\\n vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayMat3 * vec3(u_fillTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},icon:{\"icon.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_texture;\\n#ifdef SDF\\nuniform lowp vec4 u_color;\\nuniform lowp vec4 u_outlineColor;\\nuniform mediump float u_outlineSize;\\n#endif\\nvarying mediump vec2 v_tex;\\nvarying lowp float v_transparency;\\nvarying mediump vec2 v_size;\\nvarying lowp vec4 v_color;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\n#include <util/encoding.glsl>\\nvec4 mixColors(vec4 color1, vec4 color2) {\\n float compositeAlpha = color2.a + color1.a * (1.0 - color2.a);\\n vec3 compositeColor = color2.rgb + color1.rgb * (1.0 - color2.a);\\n return vec4(compositeColor, compositeAlpha);\\n}\\nvoid main()\\n{\\n#ifdef SDF\\n lowp vec4 fillPixelColor = v_color;\\n float d = rgba2float(texture2D(u_texture, v_tex)) - 0.5;\\n const float sofetEdgeRatio = 0.248062016;\\n float size = max(v_size.x, v_size.y);\\n float dist = d * sofetEdgeRatio * size;\\n fillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\n if (u_outlineSize > 0.25) {\\n lowp vec4 outlinePixelColor = u_outlineColor;\\n const float outlineLimitRatio = (16.0 / 86.0);\\n float clampedOutlineSize = sofetEdgeRatio * min(u_outlineSize, outlineLimitRatio * max(v_size.x, v_size.y));\\n outlinePixelColor *= clamp(0.5 - (abs(dist) - clampedOutlineSize), 0.0, 1.0);\\n gl_FragColor = v_transparency * mixColors(fillPixelColor, outlinePixelColor);\\n }\\n else {\\n gl_FragColor = v_transparency * fillPixelColor;\\n }\\n#else\\n lowp vec4 texColor = texture2D(u_texture, v_tex);\\n gl_FragColor = v_transparency * texColor;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"icon.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_tex;\\nattribute vec4 a_levelInfo;\\n#ifdef DD\\nattribute vec4 a_color;\\nattribute mediump float a_size;\\n#endif\\nuniform lowp vec4 u_color;\\nuniform mediump float u_size;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_iconTranslation;\\nuniform vec2 u_mosaicSize;\\nuniform mediump float u_depth;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_level;\\nuniform lowp float u_keepUpright;\\nuniform mediump float u_fadeSpeed;\\nuniform mediump float u_minfadeLevel;\\nuniform mediump float u_maxfadeLevel;\\nuniform mediump float u_fadeChange;\\nuniform mediump float u_opacity;\\nvarying mediump vec2 v_tex;\\nvarying lowp float v_transparency;\\nvarying mediump vec2 v_size;\\nconst float C_OFFSET_PRECISION = 1.0 / 8.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float tileCoordRatio = 1.0 / 8.0;\\nvoid main()\\n{\\n mediump float a_labelMinLevel = a_levelInfo[0];\\n mediump float a_angle = a_levelInfo[1];\\n mediump float a_minLevel = a_levelInfo[2];\\n mediump float a_maxLevel = a_levelInfo[3];\\n mediump float delta_z = 0.0;\\n mediump float rotated = mod(a_angle + u_mapRotation, 256.0);\\n delta_z += (1.0 - step(u_keepUpright, 0.0)) * step(64.0, rotated) * (1.0 - step(192.0, rotated));\\n delta_z += 1.0 - step(a_minLevel, u_level);\\n delta_z += step(a_maxLevel, u_level);\\n mediump float alpha = u_fadeSpeed != 0.0 ? clamp((u_fadeChange - a_labelMinLevel) / u_fadeSpeed, 0.0, 1.0) : 1.0;\\n v_transparency = (u_fadeSpeed >= 0.0 ? alpha : 1.0 - alpha);\\n if (u_maxfadeLevel < a_labelMinLevel)\\n {\\n v_transparency = 0.0;\\n }\\n if (u_minfadeLevel >= a_labelMinLevel)\\n {\\n v_transparency = 1.0;\\n }\\n delta_z += step(v_transparency, 0.0);\\n vec2 offset = C_OFFSET_PRECISION * a_vertexOffset;\\n v_size = abs(offset);\\n#ifdef SDF\\n offset = (120.0 / 86.0) * offset;\\n#endif\\n#ifdef DD\\n mediump float icon_size = a_size * u_size;\\n#else\\n mediump float icon_size = u_size;\\n#endif\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayViewMat3 * vec3(icon_size * offset, 0.0) + u_displayMat3 * vec3(u_iconTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth + delta_z, 1.0);\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_tex = a_tex.xy / u_mosaicSize;\\n v_transparency *= v_color.w;\\n}\"},line:{\"line.frag\":\"varying mediump vec2 v_normal;\\nvarying highp float v_accumulatedDistance;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp vec4 v_color;\\nvarying mediump float v_blur;\\n#ifdef PATTERN\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform mediump vec2 u_spriteSize;\\nuniform sampler2D u_texture;\\nconst mediump float tileCoordRatio = 8.0;\\n#else\\nvarying mediump vec2 v_dasharray;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n mediump float fragDist = length(v_normal) * v_lineHalfWidth;\\n lowp float alpha = clamp((v_lineHalfWidth - fragDist) / v_blur, 0.0, 1.0);\\n#ifdef PATTERN\\n mediump float relativeTexX = mod((v_accumulatedDistance + v_normal.x * v_lineHalfWidth * tileCoordRatio) / u_spriteSize.x, 1.0);\\n mediump float relativeTexY = 0.5 + (v_normal.y * v_lineHalfWidth / u_spriteSize.y);\\n mediump vec2 texCoord = mix(u_pattern_tl, u_pattern_br, vec2(relativeTexX, relativeTexY));\\n lowp vec4 color = texture2D(u_texture, texCoord);\\n gl_FragColor = alpha * v_color[3] * color;\\n#else\\n lowp float dashPos = mod(v_accumulatedDistance, v_dasharray.x + v_dasharray.y);\\n lowp float dashAlpha = clamp(min(dashPos, v_dasharray.x - dashPos) + 0.5, 0.0, 1.0);\\n dashAlpha = max(sign(-v_dasharray.y), dashAlpha);\\n alpha *= dashAlpha;\\n gl_FragColor = alpha * v_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"line.vert\":\"attribute vec2 a_pos;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistance;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_lineTranslation;\\nuniform mediump float u_blur;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_depth;\\nvarying mediump vec2 v_normal;\\nvarying highp float v_accumulatedDistance;\\nconst float scale = 1.0 / 31.0;\\n#ifdef DD\\nattribute vec4 a_color;\\nattribute mediump float a_width;\\n#endif\\nuniform lowp vec4 u_color;\\nuniform mediump float u_width;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nvarying mediump float v_lineHalfWidth;\\nvarying mediump float v_blur;\\n#ifndef PATTERN\\nuniform mediump vec2 u_dasharray;\\nvarying mediump vec2 v_dasharray;\\n#endif\\nvoid main()\\n{\\n v_normal = a_offsetAndNormal.zw * scale;\\n#ifdef DD\\n v_lineHalfWidth = a_width * u_width;\\n#else\\n v_lineHalfWidth = u_width;\\n#endif\\n v_lineHalfWidth += u_antialiasing;\\n v_lineHalfWidth *= 0.5;\\n#ifndef PATTERN\\n#ifdef DD\\n v_dasharray = u_dasharray * a_width;\\n#else\\n v_dasharray = u_dasharray * u_width;\\n#endif\\n#endif\\n mediump vec2 dist = v_lineHalfWidth * scale * a_offsetAndNormal.xy;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayViewMat3 * vec3(dist, 0.0) + u_displayMat3 * vec3(u_lineTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n v_accumulatedDistance = a_accumulatedDistance.x;\\n v_blur = u_blur + u_antialiasing;\\n #ifdef DD\\n v_color = a_color * u_color;\\n #else\\n v_color = u_color;\\n #endif\\n #ifdef ID\\n v_id = u_id / 255.0;\\n #endif\\n}\"},outline:{\"outline.frag\":\"varying lowp vec4 v_color;\\nvarying mediump vec2 v_normal;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n lowp float dist = abs(v_normal.y);\\n lowp float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = alpha * v_color;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"outline.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_xnormal;\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nuniform lowp vec4 u_color;\\nvarying lowp vec4 v_color;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump vec2 u_fillTranslation;\\nuniform mediump float u_depth;\\nuniform mediump float u_outline_width;\\nvarying lowp vec2 v_normal;\\nconst float scale = 1.0 / 15.0;\\nvoid main()\\n{\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_normal = a_xnormal;\\n mediump vec2 dist = u_outline_width * scale * a_offset;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayMat3 * vec3(dist + u_fillTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},text:{\"text.frag\":\"uniform lowp sampler2D u_texture;\\nuniform mediump float u_edgeDistance;\\nvarying lowp vec2 v_tex;\\nvarying lowp float v_transparency;\\nvarying lowp vec4 v_color;\\nvarying mediump float v_edgeWidth;\\nvarying mediump float v_edgeDistance;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n mediump float alpha = smoothstep(v_edgeDistance - v_edgeWidth, v_edgeDistance + v_edgeWidth, dist) * v_transparency;\\n gl_FragColor = alpha * v_color;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"text.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_tex;\\nattribute vec4 a_levelInfo;\\nuniform lowp vec4 u_color;\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nvarying lowp vec4 v_color;\\nuniform mediump float u_size;\\n#ifdef DD\\nattribute mediump float a_size;\\n#endif\\nvarying mediump float v_size;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_textTranslation;\\nuniform vec2 u_mosaicSize;\\nuniform mediump float u_depth;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_level;\\nuniform lowp float u_keepUpright;\\nuniform mediump float u_fadeSpeed;\\nuniform mediump float u_minfadeLevel;\\nuniform mediump float u_maxfadeLevel;\\nuniform mediump float u_fadeChange;\\nuniform mediump float u_opacity;\\nvarying lowp vec2 v_tex;\\nvarying lowp float v_transparency;\\nconst float offsetPrecision = 1.0 / 8.0;\\nconst mediump float edgePos = 0.75;\\nuniform mediump float u_edgeDistance;\\nuniform mediump float u_edgeBlur;\\nuniform mediump float u_antialiasingWidth;\\nvarying mediump float v_edgeDistance;\\nvarying mediump float v_edgeWidth;\\nuniform lowp float u_halo;\\nconst float sdfFontScale = 1.0 / 24.0;\\nvoid main()\\n{\\n mediump float a_labelMinLevel = a_levelInfo[0];\\n mediump float a_angle = a_levelInfo[1];\\n mediump float a_minLevel = a_levelInfo[2];\\n mediump float a_maxLevel = a_levelInfo[3];\\n mediump float delta_z = 0.0;\\n mediump float rotated = mod(a_angle + u_mapRotation, 256.0);\\n delta_z += (1.0 - step(u_keepUpright, 0.0)) * step(64.0, rotated) * (1.0 - step(192.0, rotated));\\n delta_z += 1.0 - step(a_minLevel, u_level);\\n delta_z += step(a_maxLevel, u_level);\\n mediump float alpha = u_fadeSpeed != 0.0 ? clamp((u_fadeChange - a_labelMinLevel) / u_fadeSpeed, 0.0, 1.0) : 1.0;\\n v_transparency = (u_fadeSpeed >= 0.0 ? alpha : 1.0 - alpha);\\n if (u_maxfadeLevel < a_labelMinLevel)\\n {\\n v_transparency = 0.0;\\n }\\n if (u_minfadeLevel >= a_labelMinLevel)\\n {\\n v_transparency = 1.0;\\n }\\n delta_z += step(v_transparency, 0.0);\\n v_tex = a_tex.xy / u_mosaicSize;\\n#ifdef DD\\n if (u_halo > 0.5)\\n {\\n v_color = u_color;\\n }\\n else\\n {\\n v_color = a_color * u_color;\\n }\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef DD\\n v_size = a_size * u_size;\\n#else\\n v_size = u_size;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_edgeDistance = edgePos - u_edgeDistance / v_size;\\n v_edgeWidth = (u_antialiasingWidth + u_edgeBlur) / v_size;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + sdfFontScale * u_displayViewMat3 * vec3(offsetPrecision * v_size * a_vertexOffset, 0.0) + u_displayMat3 * vec3(u_textTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth + delta_z, 1.0);\\n}\"},util:{\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n 255.0 / (256.0),\\n 255.0 / (256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n );\\nfloat rgba2float(vec4 rgba) {\\n return dot(rgba, rgba2float_factors);\\n}\"}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/generatorHelper\",\"../../../../core/tsSupport/awaiterHelper\",\"../../../../core/Error\",\"../../../../core/has\",\"../../../../core/Logger\",\"../../../../core/maybe\",\"../../../../core/promiseUtils\",\"../../../webgl\",\"./definitions\",\"./Utils\",\"./util/debug\",\"../../../webgl/FramebufferObject\"],function(t,e,r,n,x,a,i,g,o,c,s,y,u,d){Object.defineProperty(e,\"__esModule\",{value:!0});c.enums.TextureWrapMode,c.enums.PixelFormat,c.enums.PixelType,c.enums.TextureSamplingMode;var b=i.getLogger(\"esri.views.2d.engine.webgl.AttributeStoreView\"),h=u.createDebugLogger(u.DEBUG_ATTR_UPDATES,b),p=function(t){return 2147483647&t},l=!1,T=function(){function t(t,e,i){this._texture=null,this._lastTexture=null,this._fbos={},this.texelSize=4;var r=t.buffer,n=t.pixelType,o=t.textureOnly,a=y.getPixelArrayCtor(n);this.shared=i,this.pixelType=n,this.size=e,(this.textureOnly=o)||(this.data=new a(g.expect(r))),this._resetRange()}return t.prototype.destroy=function(){g.andThen(this._texture,function(t){return t.dispose()});var t=function(e){g.andThen(i._fbos[e],function(t){\"0\"===e&&t.detachColorTexture(),t.dispose()}),i._fbos[e]=null},i=this;for(var e in this._fbos)t(e);this._texture=null},Object.defineProperty(t.prototype,\"_textureDesc\",{get:function(){return{target:3553,wrapMode:33071,pixelFormat:6408,dataType:this.pixelType,samplingMode:9728,width:this.size,height:this.size}},enumerable:!0,configurable:!0}),t.prototype.setData=function(t,e,i){var r=p(t),n=g.expect(this.data),o=r*this.texelSize+e;!n||o>=n.length?a(\"esri-2d-debug\")&&!l&&(b.error(new x(\"mapview-attributeStore\",\"Attempted to set out of bounds index\")),l=!0):(n[o]=i,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r))},t.prototype.getData=function(t,e){if(g.isNone(this.data))return null;var i=p(t)*this.texelSize+e;return!this.data||i>=this.data.length?(a(\"esri-2d-debug\")&&!l&&(b.error(new x(\"mapview-attributeStore\",\"Attempted to read out of bounds index\")),l=!0),null):this.data[i]},t.prototype.getTexture=function(t){var e=this;return g.unwrapOr(this._texture,function(){return e._initTexture(t)})},t.prototype.getFBO=function(t,e){if(void 0===e&&(e=0),g.isNone(this._fbos[e])){var i=0===e?this.getTexture(t):this._textureDesc;this._fbos[e]=new d(t,{colorTarget:0,depthStencilTarget:0},i)}return this._fbos[e]},Object.defineProperty(t.prototype,\"locked\",{get:function(){return!(5121!==this.pixelType||!this.shared||this.textureOnly||!a(\"esri-atomics\")||!this.data)&&1===Atomics.load(this.data,0)},enumerable:!0,configurable:!0}),t.prototype.updateTexture=function(t){if(!this.locked)try{var e=this.dirtyStart,i=this.dirtyEnd;if(i<e)return;this._resetRange();var r=g.expect(this.data).buffer,n=this.getTexture(t),o=(e-e%this.size)/this.size,a=(i-i%this.size)/this.size,s=o,u=this.size,d=a,h=o*this.size*4,p=4*(u+d*this.size)-h,l=y.getPixelArrayCtor(this.pixelType),T=l.BYTES_PER_ELEMENT;try{new l(r,h*T,p)}catch(t){console.debug(t)}var f=new l(r,h*T,p),c=this.size,_=d-s+1;if(_>this.size)return void b.error(new x(\"mapview-webgl\",\"Out-of-bounds index when updating AttributeData\"));n.updateData(0,0,s,c,_,f)}catch(t){console.debug(t)}},t.prototype.update=function(t){var e=t.data,i=t.start,r=t.end;if(g.isSome(e))for(var n=this.data,o=i*this.texelSize,a=0;a<e.length;a++){var s=1<<a%this.texelSize;t.layout&s&&(n[o+a]=e[a])}this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,r)},t.prototype.resize=function(t,e){var i=this.size;if(this.size=e,this.textureOnly)i!==this.size&&(this._lastTexture=this._texture,this._texture=null);else{var r=y.getPixelArrayCtor(this.pixelType);this.destroy(),this.data=new r(g.expect(t.buffer))}},t.prototype._resetRange=function(){this.dirtyStart=2147483647,this.dirtyEnd=0},t.prototype._initTexture=function(t){var e=new c.Texture(t,this._textureDesc,g.unwrapOr(this.data,void 0));if(g.isSome(this._lastTexture)&&this._fbos[0]){var i=this._lastTexture.descriptor.width,r=this._lastTexture.descriptor.height,n=this._lastTexture.descriptor.dataType,o=this._lastTexture.descriptor.pixelFormat,a=this.getFBO(t),s=y.getPixelBytes(n),u=new(y.getPixelArrayCtor(n))(new ArrayBuffer(i*r*s*this.texelSize)),d=t.getBoundFramebufferObject(),h=t.getViewport(),p=h.x,l=h.y,T=h.width,f=h.height;t.bindFramebuffer(a),a.readPixels(0,0,i,r,o,n,u),e.updateData(0,0,0,2*i,r/2,u),t.setViewport(p,l,T,f),t.bindFramebuffer(d)}return this.destroy(),this._texture=e,this._texture},t}(),f=function(){function t(){this._initialized=!1,this._forceNextUpload=!1,this._locked=!1}return t.prototype.initialize=function(t){var e=t.blocks,i=t.shared,r=t.size;if(this.shared=i,this.size=r,h(\"Initializing AttributeStoreView\",t),g.isNone(this._data))this._data=g.mapMany(e,function(t){return new T(t,r,i)});else for(var n=0;n<this._data.length;n++){var o=this._data[n],a=e[n];g.isSome(a)&&(g.isNone(o)?this._data[n]=new T(a,r,i):o.resize(a,r))}this._initialized=!0},t.prototype.destroy=function(){g.andThen(this._data,function(t){return g.mapMany(t,function(t){return t.destroy()})}),g.andThen(this._defaultTexture,function(t){return t.dispose()})},t.prototype.getBlock=function(t){return g.isNone(this._data)?null:this._data[t]},t.prototype.setLabelMinZoom=function(t,e){this.setData(t,0,1,e)},t.prototype.getLabelMinZoom=function(t){return this.getData(t,0,1,255)},t.prototype.getFilterFlags=function(t){return this.getData(t,0,0,0)},t.prototype.getVVSize=function(t){return this.getData(t,s.ATTRIBUTE_DATA_VV,0,0)},t.prototype.getData=function(t,e,i,r){if(!this._data)return 0;var n=g.expect(this._data)[e];if(g.isNone(n))return 0;var o=n.getData(t,i);return g.isSome(o)?o:r},t.prototype.setData=function(t,e,i,r){var n=g.expect(this._data)[e];g.expect(n).setData(t,i,r)},t.prototype.lockTextureUpload=function(){this._locked=!0},t.prototype.unlockTextureUpload=function(){this._locked=!1},t.prototype.forceTextureUpload=function(){this._forceNextUpload=!0},t.prototype.requestUpdate=function(i){return n(this,void 0,void 0,function(){var e;return r(this,function(t){return this._pendingAttributeUpdate?(b.error(new x(\"mapview-webgl\",\"Tried to update attribute data with a pending update\")),[2]):(e=o.createResolver(),h(\"AttributeStoreView Update Requested\",i),this._pendingAttributeUpdate={data:i,resolver:e},[2,e.promise])})})},t.prototype.update=function(){if(this._initialized&&g.isSome(this._pendingAttributeUpdate)){for(var t=this._pendingAttributeUpdate,r=t.data,e=t.resolver,n=g.expect(this._data),i=function(i){var t=r.blocks[i],e=n[i];g.andThen(e,function(e){return g.andThen(t,function(t){h(\"Updating block \"+i,t),e.update(t)})})},o=0;o<r.blocks.length;o++)i(o);this._pendingAttributeUpdate=null,e()}},t.prototype.bindTextures=function(e){this.update();var t=this._getDefaultTexture(e);if(!this._initialized)return e.bindTexture(t,s.TEXTURE_BINDING_ATTRIBUTE_DATA_0),e.bindTexture(t,s.TEXTURE_BINDING_ATTRIBUTE_DATA_1),e.bindTexture(t,s.TEXTURE_BINDING_ATTRIBUTE_DATA_2),void e.bindTexture(t,s.TEXTURE_BINDING_ATTRIBUTE_DATA_3);var i=g.expect(this._data);this._locked&&!this._forceNextUpload||(g.forEachSome(i,function(t){return t.updateTexture(e)}),this._forceNextUpload=!1),e.bindTexture(g.mapOr(i[0],t,function(t){return t.getTexture(e)}),s.TEXTURE_BINDING_ATTRIBUTE_DATA_0),e.bindTexture(g.mapOr(i[1],t,function(t){return t.getTexture(e)}),s.TEXTURE_BINDING_ATTRIBUTE_DATA_1),e.bindTexture(g.mapOr(i[2],t,function(t){return t.getTexture(e)}),s.TEXTURE_BINDING_ATTRIBUTE_DATA_2),e.bindTexture(g.mapOr(i[3],t,function(t){return t.getTexture(e)}),s.TEXTURE_BINDING_ATTRIBUTE_DATA_3)},t.prototype._getDefaultTexture=function(t){if(g.isNone(this._defaultTexture)){this._defaultTexture=new c.Texture(t,{wrapMode:33071,pixelFormat:6408,dataType:5121,samplingMode:9728,width:1,height:1},new Uint8Array(4))}return this._defaultTexture},t}();e.AttributeStoreView=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../webgl\",\"./shaders/BitBlitPrograms\"],function(e,t,a,s){Object.defineProperty(t,\"__esModule\",{value:!0});a.enums.DataType,a.enums.Usage,a.enums.PrimitiveType,a.enums.BlendFactor;var r=function(){function e(){this._initialized=!1}return e.prototype.dispose=function(){this._program&&(this._program.dispose(),this._program=null),this._vertexArrayObject&&(this._vertexArrayObject.dispose(),this._vertexArrayObject=null)},e.prototype.render=function(e,t,r,i){e&&(this._initialized||this._initialize(e),e.setBlendFunctionSeparate(1,771,1,771),e.bindVAO(this._vertexArrayObject),e.bindProgram(this._program),t.setSamplingMode(r),e.bindTexture(t,0),this._program.setUniform1i(\"u_tex\",0),this._program.setUniform1f(\"u_opacity\",i),e.drawArrays(5,0,4),e.bindVAO())},e.prototype._initialize=function(e){if(this._initialized)return!0;var t=s.bitBlit.attributes,r=a.createProgram(e,s.bitBlit);if(!r)return!1;var i=new Int8Array(16);i[0]=-1,i[1]=-1,i[2]=0,i[3]=0,i[4]=1,i[5]=-1,i[6]=1,i[7]=0,i[8]=-1,i[9]=1,i[10]=0,i[11]=1,i[12]=1,i[13]=1,i[14]=1,i[15]=1;var n=new a.VertexArrayObject(e,t,{geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:4,normalized:!1,divisor:0},{name:\"a_tex\",count:2,type:5120,offset:2,stride:4,normalized:!1,divisor:0}]},{geometry:a.BufferObject.createVertex(e,35044,i)});return this._program=r,this._vertexArrayObject=n,this._initialized=!0},e}();t.BitBlitRenderer=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/Error\",\"../../../../core/Logger\",\"../../../../core/maybe\",\"../DisplayObject\",\"./Mesh2D\",\"../../../webgl/VertexArrayObject\"],function(e,t,o,a,r,p,i,s,f){Object.defineProperty(t,\"__esModule\",{value:!0});var c=r.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),l=function(e){return parseFloat(e)/100},n=function(i){function r(e,t){var r=i.call(this)||this;return r._cache={},r.parent=e,r._handle=t.watch(\"version\",function(){return r._invalidate()}),r._clip=t,r.attach(),r.attached=!0,r}return o(r,i),r.fromClipArea=function(e,t){return new r(e,t)},r.prototype._destroyGL=function(){p.isSome(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),p.isSome(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)},r.prototype.destroy=function(){this._destroyGL(),this._handle.remove()},r.prototype.doRender=function(){},r.prototype.getVAO=function(e,t,r,i){var o=t.size,a=o[0],s=o[1];if(\"geometry\"!==this._clip.type&&this._lastWidth===a&&this._lastHeight===s||(this._lastWidth=a,this._lastHeight=s,this._destroyGL()),p.isNone(this._cache.vao)){var c=this._createMesh(t,this._clip),n=c.getIndexBuffer(e),h=c.getVertexBuffers(e);this._cache.mesh=c,this._cache.vao=new f(e,r,i,h,n)}return this._cache.vao},r.prototype._invalidate=function(){this._destroyGL(),this.requestRender()},r.prototype._createScreenRect=function(e,t){var r=e.size,i=r[0],o=r[1],a=\"string\"==typeof t.left?l(t.left)*i:t.left,s=\"string\"==typeof t.right?l(t.right)*i:t.right,c=\"string\"==typeof t.top?l(t.top)*o:t.top,n=\"string\"==typeof t.bottom?l(t.bottom)*o:t.bottom,h=a,p=c;return{x:h,y:p,width:Math.max(i-s-h,0),height:Math.max(o-n-p,0)}},r.prototype._createMesh=function(e,t){switch(t.type){case\"rect\":return s.default.fromRect(this._createScreenRect(e,t));case\"path\":return s.default.fromPath(t);case\"geometry\":return s.default.fromGeometry(e,t);default:return c.error(new a(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),s.default.fromRect({x:0,y:0,width:1,height:1})}},r}(i.DisplayObject);t.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Utils\"],function(t,r,i){function n(t,r,i){if(!t.allDirty)if(null!=t.from&&null!=t.count){var e=Math.min(t.from,r),n=Math.max(t.from+t.count,r+i)-e;t.from=e,t.count=n}else t.from=r,t.count=i}Object.defineProperty(r,\"__esModule\",{value:!0});var e=function(){function t(){this._dirties=i.createGeometryData(function(){return{indices:{from:null,count:null,allDirty:!1}}},function(){return{vertices:{from:null,count:null,allDirty:!1}}})}return t.prototype.hasDirty=function(){for(var t=0,r=this._dirties;t<r.length;t++){var i=r[t];if(null!==i.data.indices.count||i.data.indices.allDirty)return!0}return!1},t.prototype.markAllClean=function(){for(var t=0,r=this._dirties;t<r.length;t++){var i=r[t];for(var e in i.data.indices.from=null,i.data.indices.count=null,i.data.indices.allDirty=!1,i.buffers)i.buffers[e].data.vertices.from=null,i.buffers[e].data.vertices.count=null,i.buffers[e].data.vertices.allDirty=!1}},t.prototype.markAllDirty=function(){for(var t=0,r=this._dirties;t<r.length;t++){var i=r[t];for(var e in i.data.indices.allDirty=!0,i.buffers)i.buffers[e].data.vertices.allDirty=!0}},t.prototype.forEach=function(t){for(var r=0;r<this._dirties.length;++r){var i=this._dirties[r],e={};for(var n in i.buffers){var a=i.buffers[n].data.vertices;(a.allDirty||null!=a.from&&null!=a.count&&0<a.count)&&(e[n]=a)}var l=i.data.indices,o=void 0;((o=l.allDirty||null!=l.from&&null!=l.count&&0<l.count?{indices:l,vertices:e}:{indices:null,vertices:e}).indices||0<Object.keys(o).length)&&t(o,r)}},t.prototype.markDirtyIndices=function(t,r,i){n(this._dirties[t].data.indices,r,i)},t.prototype.markDirtyVertices=function(t,r,i,e){n(this._dirties[t].buffers[r].data.vertices,i,e)},t}();r.default=e});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/has\",\"./FreeList\",\"./Utils\"],function(e,t,v,D,T){Object.defineProperty(t,\"__esModule\",{value:!0});var M=[\"FILL\",\"LINE\",\"MARKER\",\"TEXT\",\"LABEL\"];var r=function(){function B(e,t,r,i){for(var o in this._strides=e,this._displayList=t,this._freeListsAndStorage={},this._dirtyMap=null,this._dirtyMap=r,e)for(var n in this._freeListsAndStorage[o]={vtxFreeList:i?new D.FreeList(i):null,idxFreeList:i?new D.FreeList(i):null,vertexBuffers:{},indexBuffer:i?new Uint32Array(i):null},e[o])this._freeListsAndStorage[o].vertexBuffers[n]={data:i?T.allocateTypedArrayBuffer(i,e[o][n]):null,stride:e[o][n]}}return B.fromTileData=function(e,t){var r=function(e){for(var t=e.getStrides(),r={},i=0;i<t.length;i++)r[M[i]]=t[i];return r}(e),i=[0,0,0,0,0],o=[0,0,0,0,0],n=[];e.tileDisplayData.displayObjectRegistry.forEach(function(e){n.push(e)});for(var s=0,a=n;s<a.length;s++)for(var d=0,u=a[s].displayRecords;d<u.length;d++){var f=u[d];i[f.geometryType]=Math.max(i[f.geometryType],f.vertexFrom+f.vertexCount),o[f.geometryType]=Math.max(o[f.geometryType],f.indexFrom+f.indexCount)}for(var v=new B(r,e.tileDisplayData.displayList,t,null),x=0;x<e.tileBufferData.geometries.length;++x){var l=i[x],F=o[x],c=e.tileBufferData.geometries[x],h=M[x],m=v._storageFor(h),y=e.tileBufferData.geometries[x].indexBuffer;m.indexBuffer=y,m.idxFreeList=new D.FreeList(y.length),m.idxFreeList.allocate(F);var p=void 0;for(var _ in c.vertexBuffer){var g=e.tileBufferData.geometries[x].vertexBuffer[_];m.vertexBuffers[_].data=g.data,m.vertexBuffers[_].stride=g.stride;var C=T.strideToPackingFactor(g.stride),L=g.data.length*C/g.stride;p||(p=L)}m.vtxFreeList=new D.FreeList(p),m.vtxFreeList.allocate(l)}return v},B.prototype.delete=function(e){var t=M[e.geometryType];this._freeVertices(t,e.vertexFrom,e.vertexCount),this._freeIndices(t,e.indexFrom,e.indexCount),this._displayList.removeFromList(e),e.vertexFrom=void 0,e.indexFrom=void 0},B.prototype.setMeshData=function(e,t,r,i,o){var n=M[e.geometryType];e.meshData=null;var s=void 0,a=void 0;void 0===e.vertexFrom?(a=t.vertexCount,s=this._allocateVertices(n,a)):t.vertexCount>e.vertexCount?(this._freeVertices(n,e.vertexFrom,e.vertexCount),a=t.vertexCount,s=this._allocateVertices(n,a)):a=t.vertexCount===e.vertexCount?(s=e.vertexFrom,e.vertexCount):(this._freeVertices(n,e.vertexFrom+t.vertexCount,e.vertexCount-t.vertexCount),s=e.vertexFrom,t.vertexCount);var d=!0,u=void 0,f=void 0,v=void 0;if(void 0===e.indexFrom?(u=o,v=t.indexCount,f=this._allocateIndices(n,v)):t.indexCount>e.indexCount?(u=this._displayList.removeFromList(e),this._freeIndices(n,e.indexFrom,e.indexCount),v=t.indexCount,f=this._allocateIndices(n,v)):v=t.indexCount===e.indexCount?(d=!1,f=e.indexFrom,e.indexCount):(u=this._displayList.removeFromList(e),this._freeIndices(n,e.indexFrom+t.indexCount,e.indexCount-t.indexCount),f=e.indexFrom,t.indexCount),-1===s||-1===f)return-1!==s&&this._freeVertices(n,s,a),-1!==f&&this._freeIndices(n,f,v),e.setMeshDataFromBuffers(t,r,i),e.vertexFrom=void 0,e.vertexCount=0,e.indexFrom=void 0,e.indexCount=0,!1;var x=this._storageFor(n);if(T.copyMeshData(s,f,x.vertexBuffers,x.indexBuffer,t,r,i),e.vertexFrom=s,e.indexFrom=f,e.vertexCount=t.vertexCount,e.indexCount=t.indexCount,this._dirtyMap)for(var l in this._dirtyMap.markDirtyIndices(e.geometryType,e.indexFrom,e.indexCount),r)this._dirtyMap.markDirtyVertices(e.geometryType,l,e.vertexFrom,e.vertexCount);return d&&this._displayList.addToList(e,u),!0},B.prototype._allocateVertices=function(e,t){var r=this._storageFor(e),i=r.vtxFreeList.allocate(t);return-1===i?-1:.5<r.vtxFreeList.fragmentation?-1:i},B.prototype._freeVertices=function(e,t,r){var i=this._storageFor(e);if(i.vtxFreeList.free(t,r),v(\"esri-feature-tiles-debug\"))for(var o in i.vertexBuffers)for(var n=i.vertexBuffers[o].data,s=this._stridesFor(e,o),a=T.strideToPackingFactor(s),d=t*s/a,u=r*s/a,f=d;f<d+u;++f)n[f]=0},B.prototype._freeIndices=function(e,t,r){var i=this._storageFor(e);if(i.idxFreeList.free(t,r),v(\"esri-feature-tiles-debug\"))for(var o=i.indexBuffer,n=t;n<t+r;++n)o[n]=0},B.prototype._allocateIndices=function(e,t){var r=this._storageFor(e),i=r.idxFreeList.allocate(t);return-1===i?-1:.5<r.idxFreeList.fragmentation?-1:i},B.prototype._storageFor=function(e){return this._freeListsAndStorage[e]},B.prototype._stridesFor=function(e,t){return this._strides[e][t]},B}();t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e){void 0===e&&(e=400),this.duration=e,this._lastTime=0,this._elapsed=0,this._value=0,this._finished=!1}return Object.defineProperty(e.prototype,\"value\",{get:function(){return this._value},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this._lastTime=0,this._elapsed=0,this._value=0},e.prototype.step=function(){var e=performance.now();if(0===this._lastTime)return this._lastTime=e,!(this._value=0);if(this._elapsed>=this.duration)return!0;var t=e-this._lastTime;return this._elapsed+=t,this._lastTime=e,this._value=Math.min(this._elapsed/this.duration,1),!1},e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(e){this._largestRange=null,this._parent=e,this._updateLargestRange()}return Object.defineProperty(e.prototype,\"largestRange\",{get:function(){return this._largestRange},enumerable:!0,configurable:!0}),e.prototype.rangeCreated=function(e){(!this._largestRange||e.count>this._largestRange.count)&&(this._largestRange=e)},e.prototype.rangeResized=function(e,t){e===this._largestRange?e.count<t&&this._updateLargestRange():(!this._largestRange||e.count>this._largestRange.count)&&(this._largestRange=e)},e.prototype.findBestRange=function(e){for(var t=this._parent._freeHead,n=null;null!==t;)t.count>=e&&(!n||t.count-e<n.count-e)&&(n=t),t=t.next;return n},e.prototype.findAdjacentRanges=function(e,t){for(var n=!0,r=!1,o=null,a=this._parent._freeHead;n&&!r;){var u=null!==o?o.from+o.count:0,i=null!==a?a.from:this._parent._size;u<=e&&e+t<=i?r=!(n=!1):null!==a?a=(o=a).next:n=!1}return[o,a]},e.prototype._updateLargestRange=function(){for(var e=null,t=this._parent._freeHead;null!==t;)(!e||t.count>e.count)&&(e=t),t=t.next;this._largestRange=e},e}(),r=function(){function l(e,t){this._allocated=0,this._size=e,this._freeHead=0<e?{from:0,count:e,prev:null,next:null}:null,this._bookKeeper=t||new n(this),this._freeHead&&this._bookKeeper.rangeCreated(this._freeHead)}return l.prototype.allocate=function(e){var t=this._bookKeeper.findBestRange(e);if(null===t)return-1;var n=t.from,r=t.count;if(t.from+=e,t.count-=e,this._bookKeeper.rangeResized(t,n,r),this._allocated+=e,0===t.count){var o=null!==t.prev?this._freeHead:t.next;l._removeRange(t),this._freeHead=o}return n},l.prototype.free=function(e,t){var n=this._bookKeeper.findAdjacentRanges(e,t),r=n[0],o=n[1],a={from:e,count:t,prev:r,next:o};if(null!==r&&(r.next=a),null!==o&&(o.prev=a),this._bookKeeper.rangeCreated(a),this._allocated-=t,null!==o&&a.from+a.count===o.from){var u=a.from,i=a.count;l._fuse(a,o),l._removeRange(o),this._bookKeeper.rangeResized(a,u,i),this._bookKeeper.rangeResized(o,void 0,0)}if(null!==r&&r.from+r.count===a.from){u=r.from,i=r.count;l._fuse(r,a),l._removeRange(a),this._bookKeeper.rangeResized(r,u,i),this._bookKeeper.rangeResized(a,void 0,0)}this._freeHead=null!==a.prev?this._freeHead:a},Object.defineProperty(l.prototype,\"fragmentation\",{get:function(){var e=this._size-this._allocated;return 0===e?0:1-this._bookKeeper.largestRange.count/e},enumerable:!0,configurable:!0}),l._removeRange=function(e){null!==e.prev?null!==e.next?(e.prev.next=e.next,e.next.prev=e.prev):e.prev.next=null:null!==e.next&&(e.next.prev=null)},l._fuse=function(e,t){e.count+=t.count,e.next=t.next,t.from+=t.count,t.count=0,null!==t.next&&(t.next.prev=e)},l}();t.FreeList=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,i){Object.defineProperty(i,\"__esModule\",{value:!0});var n=function(){function n(t,i){this.x=t,this.y=i}return n.prototype.clone=function(){return new n(this.x,this.y)},n.prototype.equals=function(t,i){return t===this.x&&i===this.y},n.prototype.isEqual=function(t){return t.x===this.x&&t.y===this.y},n.prototype.setCoords=function(t,i){this.x=t,this.y=i},n.prototype.normalize=function(){var t=this.x,i=this.y,n=Math.sqrt(t*t+i*i);this.x/=n,this.y/=n},n.prototype.rightPerpendicular=function(){var t=this.x;this.x=this.y,this.y=-t},n.prototype.move=function(t,i){this.x+=t,this.y+=i},n.prototype.assign=function(t){this.x=t.x,this.y=t.y},n.prototype.assignAdd=function(t,i){this.x=t.x+i.x,this.y=t.y+i.y},n.prototype.assignSub=function(t,i){this.x=t.x-i.x,this.y=t.y-i.y},n.prototype.rotate=function(t,i){var n=this.x,o=this.y;this.x=n*t-o*i,this.y=n*i+o*t},n.prototype.scale=function(t){this.x*=t,this.y*=t},n.prototype.length=function(){var t=this.x,i=this.y;return Math.sqrt(t*t+i*i)},n.distance=function(t,i){var n=i.x-t.x,o=i.y-t.y;return Math.sqrt(n*n+o*o)},n.add=function(t,i){return new n(t.x+i.x,t.y+i.y)},n.sub=function(t,i){return new n(t.x-i.x,t.y-i.y)},n}();i.Point=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(_,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.C_INFINITY=Number.POSITIVE_INFINITY,e.C_PI=Math.PI,e.C_2PI=2*e.C_PI,e.C_PI_BY_2=e.C_PI/2,e.C_RAD_TO_256=128/e.C_PI,e.C_256_TO_RAD=e.C_PI/128,e.C_DEG_TO_256=256/360,e.C_DEG_TO_RAD=e.C_PI/180,e.C_SQRT2=1.414213562,e.C_SQRT2_INV=1/e.C_SQRT2;var n=1/Math.LN2;function t(_,e){return 0<=(_%=e)?_:_+e}e.positiveMod=t,e.radToByte=function(_){return t(_*e.C_RAD_TO_256,256)},e.degToByte=function(_){return t(_*e.C_DEG_TO_256,256)},e.log2=function(_){return Math.log(_)*n},e.sqr=function(_){return _*_},e.interpolate=function(_,e,n){return _*(1-n)+e*n},e.between=function(_,e,n){return e<=_&&_<=n||n<=_&&_<=e}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/has\",\"../../../../core/promiseUtils\",\"../../../webgl\",\"./Rect\",\"./RectangleBinPack\"],function(t,e,b,a,h,u,d){var P;h.enums.PixelFormat,h.enums.PixelType;return b(\"stable-symbol-rendering\")&&(P=new Set),function(){function t(t,e,r){this.width=0,this.height=0,this._dirties=[],this._glyphData=[],this._currentPage=0,this._glyphIndex={},this._textures=[],this._rangePromises=new Map,!P&&b(\"stable-symbol-rendering\")&&(P=new Set),this.width=t,this.height=e,this._glyphSource=r,this._binPack=new d(t-4,e-4),this._glyphData.push(new Uint8Array(t*e)),this._dirties.push(!0),this._textures.push(void 0),this._addDecorationGlyph()}return t.prototype.getGlyphItems=function(_,f,i){for(var y=this,v=[],m=this._glyphSource,w=new Set,t=0,e=f;t<e.length;t++){var r=e[t],s=Math.floor(r*(1/256));w.add(s)}var h=[];return w.forEach(function(t){if(t<=256){var e=_+t;if(y._rangePromises.has(e))h.push(y._rangePromises.get(e));else{var r=m.getRange(_,t,i).then(function(){y._rangePromises.delete(e)}).catch(function(t){if(y._rangePromises.delete(e),!a.isAbortError(t))throw Error(\"Unable to query resource\")});y._rangePromises.set(e,r),h.push(r)}}}),a.all(h).then(function(){var t,e=y._glyphIndex[_];if(e||(e={},y._glyphIndex[_]=e),b(\"stable-symbol-rendering\")){P.clear();for(var r=0,i=f;r<i.length;r++){var s=i[r];P.add(s)}var h=[];w.forEach(function(t){h.push(t)}),h.sort(),t=[];for(var a=0,n=h;a<n.length;a++)for(var o=n[a],l=0;l<256;++l)t.push(256*o+l)}else t=f;for(var g=0,c=t;g<c.length;g++){var p=e[s=c[g]];if(p)b(\"stable-symbol-rendering\")&&!P.has(s)||(v[s]={sdf:!0,rect:p.rect,metrics:p.metrics,page:p.page});else{var u=m.getGlyph(_,s);if(u&&u.metrics){var d=y._recordGlyph(u);e[s]={rect:d,metrics:u.metrics,tileIDs:null,page:y._currentPage},b(\"stable-symbol-rendering\")&&!P.has(s)||(v[s]={sdf:!0,rect:d,metrics:u.metrics,page:y._currentPage}),y._dirties[y._currentPage]=!0}}}return v})},t.prototype._recordGlyph=function(t){var e,r=t.metrics;if(0===r.width)e=new u.default(0,0,0,0);else{var i=r.width+6,s=r.height+6,h=i%4?4-i%4:4,a=s%4?4-s%4:4;1===h&&(h=5),1===a&&(a=5),(e=this._binPack.allocate(i+h,s+a)).isEmpty&&(this._dirties[this._currentPage]||(this._glyphData[this._currentPage]=null),this._currentPage=this._glyphData.length,this._glyphData.push(new Uint8Array(this.width*this.height)),this._dirties.push(!0),this._textures.push(void 0),this._binPack=new d(this.width-4,this.height-4),e=this._binPack.allocate(i+h,s+a));var n=this._glyphData[this._currentPage],o=t.bitmap,l=void 0,g=void 0;if(o)for(var c=0;c<s;c++){l=i*c,g=this.width*(e.y+c+1)+e.x;for(var p=0;p<i;p++)n[g+p+1]=o[l+p]}}return e},t.prototype._addDecorationGlyph=function(){for(var t=[117,149,181,207,207,181,149,117],e=[],r=0;r<t.length;r++)for(var i=t[r],s=0;s<11;s++)e.push(i);var h={metrics:{width:5,height:2,left:0,top:0,advance:0},bitmap:new Uint8Array(e)};this._recordGlyph(h)},t.prototype.bind=function(t,e,r,i){this._textures[r]||(this._textures[r]=new h.Texture(t,{pixelFormat:6406,dataType:5121,width:this.width,height:this.height},new Uint8Array(this.width*this.height)));var s=this._textures[r];s.setSamplingMode(e),this._dirties[r]&&s.setData(this._glyphData[r]),t.bindTexture(s,i),this._dirties[r]=!1},t.prototype.dispose=function(){this._binPack=null;for(var t=0,e=this._textures;t<e.length;t++){var r=e[t];r&&r.dispose()}this._textures.length=0,this._glyphData.length=0},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../request\",\"../../../../core/pbf\",\"../../../../core/promiseUtils\"],function(t,e,o,c,g,p){var f=function(){function t(t){for(this._metrics=[],this._bitmaps=[];t.next();)switch(t.tag()){case 1:for(var e=t.getMessage();e.next();)switch(e.tag()){case 3:for(var r=e.getMessage(),n=void 0,a=void 0,i=void 0,s=void 0,o=void 0,c=void 0,g=void 0;r.next();)switch(r.tag()){case 1:n=r.getUInt32();break;case 2:a=r.getBytes();break;case 3:i=r.getUInt32();break;case 4:s=r.getUInt32();break;case 5:o=r.getSInt32();break;case 6:c=r.getSInt32();break;case 7:g=r.getUInt32();break;default:r.skip()}r.release(),n&&(this._metrics[n]={width:i,height:s,left:o,top:c,advance:g},this._bitmaps[n]=a);break;default:e.skip()}e.release();break;default:t.skip()}}return t.prototype.getMetrics=function(t){return this._metrics[t]},t.prototype.getBitmap=function(t){return this._bitmaps[t]},t}(),r=function(){function t(){this._ranges=[]}return t.prototype.getRange=function(t){return this._ranges[t]},t.prototype.addRange=function(t,e){this._ranges[t]=e},t}();return function(){function t(t){this._glyphInfo={},this._baseURL=t}return t.prototype.getRange=function(t,e,r){var n=this._getFontStack(t);if(n.getRange(e))return p.resolve();var a=256*e,i=a+255,s=this._baseURL.replace(\"{fontstack}\",t).replace(\"{range}\",a+\"-\"+i);return c(s,o({responseType:\"array-buffer\"},r)).then(function(t){n.addRange(e,new f(new g(new Uint8Array(t.data),new DataView(t.data))))})},t.prototype.getGlyph=function(t,e){var r=this._getFontStack(t);if(r){var n=Math.floor(e/256);if(!(256<n)){var a=r.getRange(n);if(a)return{metrics:a.getMetrics(e),bitmap:a.getBitmap(e)}}}},t.prototype._getFontStack=function(t){var e=this._glyphInfo[t];return e||(e=this._glyphInfo[t]=new r),e},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/maybe\",\"../../../webgl\",\"./enums\",\"./shaders/MaterialPrograms\"],function(r,e,u,h,t,p,m){var c=function(r){return r===p.WGLDrawPhase.HITTEST||r===p.WGLDrawPhase.LABEL_ALPHA},f=function(r,e,t,a){var o,i=r.rendererInfo,n=r.drawPhase;return e.getVariationHash()+\"-\"+a.join(\".\")+\"-\"+((c(o=n)?1:0)|(o===p.WGLDrawPhase.HIGHLIGHT?2:0))+\"-\"+i.getVariationHash()+\"-\"+(h.isSome(t)&&t.join(\".\"))};return function(){function r(r){this._programByKey=new Map,this._programCache=new t.ProgramCache(r)}return r.prototype.dispose=function(){this._programCache&&this._programCache.dispose()},r.prototype.getProgram=function(a,r,e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);var o=r.path+e.join(\".\")+t.join(\".\");if(this._programByKey.has(o))return this._programByKey.get(o);var i=t.reduce(function(r,e){var t;return u({},r,((t={})[e]=a.driverTestResult[e],t))},{}),n=u({},e.reduce(function(r,e){var t;return u({},r,((t={})[e]=!0,t))},{}),i),s=r.path,g=r.attributes,h=this._programCache.getProgram(m.createProgramTemplate(s,g),n);if(!h)throw new Error(\"Unable to get program for key: ${key}\");return this._programByKey.set(o,h),h},r.prototype.getMaterialProgram=function(r,e,t,a,o,i){void 0===i&&(i=[\"ignoresSamplerPrecision\"]);var n=f(r,e,o,i);if(this._programByKey.has(n))return this._programByKey.get(n);var s=function(a,r,e,t){var o=t.reduce(function(r,e){var t;return u({},r,((t={})[e]=a.driverTestResult[e],t))},{}),i=u({},r.getVariation(),a.rendererInfo.getVariation(),{highlight:a.drawPhase===p.WGLDrawPhase.HIGHLIGHT,id:c(a.drawPhase)},o);if(h.isSome(e))for(var n=0,s=e;n<s.length;n++)i[s[n]]=!0;return i}(r,e,o,i),g=this._programCache.getProgram(m.createProgramTemplate(t,a),s);if(!g)throw new Error(\"Unable to get program for key: ${key}\");return this._programByKey.set(n,g),g},r}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(){this._byGeometryType=null}return Object.defineProperty(e.prototype,\"satisfied\",{get:function(){return!this._byGeometryType},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this._byGeometryType=null},e.prototype.verticesFor=function(e){return this._byGeometryType?this._byGeometryType[e].vertices:0},e.prototype.indicesFor=function(e){return this._byGeometryType?this._byGeometryType[e].indices:0},e.prototype.needMore=function(e,t,i){if(t||i){this._byGeometryType||(this._byGeometryType=[{vertices:0,indices:0},{vertices:0,indices:0},{vertices:0,indices:0},{vertices:0,indices:0},{vertices:0,indices:0}]);var r=this._byGeometryType[e];r.vertices+=t,r.indices+=i}},e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/Error\",\"../../../../core/Logger\",\"../../../../core/maybe\",\"../../../../core/libs/earcut/earcut\",\"../../../../core/libs/gl-matrix-2/vec2\",\"../../../../core/libs/gl-matrix-2/vec2f64\",\"../../../../layers/graphics/featureConversionUtils\",\"../../../../layers/graphics/OptimizedGeometry\",\"./number\",\"../../../webgl/BufferObject\"],function(e,r,c,n,t,o,m,u,h,y,v,g,a){Object.defineProperty(r,\"__esModule\",{value:!0});var i=t.getLogger(\"esri.views.2d.engine.webgl.Mesh2D\"),l=function(e,r,t,n){for(var o=0,i=1;i<t;i++){var c=e[2*(r+i-1)],a=e[2*(r+i-1)+1];o+=(e[2*(r+i)]-c)*(e[2*(r+i)+1]+a)}return n?0<o:o<0},x=function(e,r){for(var t=e.coords,n=e.lengths,o=[],i=0,c=0;i<n.length;c+=n[i],i+=1){for(var a=c,f=[];i<n.length-1&&l(t,c+n[i],n[i+1],r);c+=n[i+=1])f.push(c+n[i]-a);for(var s=t.slice(2*a,2*(c+n[i])),u=0,h=m(s,f,2);u<h.length;u++){var y=h[u];o.push(y+a)}}return o},f=function(){function s(e,r,t,n){void 0===n&&(n=!1),this._cache={},this.vertices=e,this.indices=r,this.primitiveType=t,this.isMapSpace=n}return s.fromRect=function(e){var r=e.x,t=e.y,n=e.width,o=e.height;return s.fromScreenExtent({xmin:r,ymin:t,xmax:r+n,ymax:t+o})},s.fromPath=function(e){for(var r=y.convertFromNestedArray(new v.default,e.path,!1,!1),t=r.coords,n=new Uint32Array(x(r,!0)),o=new Uint32Array(t.length/2),i=0;i<o.length;i++)o[i]=g.i1616to32(Math.floor(t[2*i]),Math.floor(t[2*i+1]));return new s({geometry:o},n,4)},s.fromGeometry=function(e,r){var t=r.geometry.type;switch(t){case\"polygon\":return s.fromPolygon(e,r.geometry);case\"extent\":return s.fromMapExtent(e,r.geometry);default:return i.error(new n(\"mapview-bad-type\",\"Unable to create a mesh from type \"+t,r)),s.fromRect({x:0,y:0,width:1,height:1})}},s.fromPolygon=function(e,r){for(var t=y.convertFromPolygon(new v.default,r,!1,!1),n=t.coords,o=new Uint32Array(x(t,!1)),i=new Uint32Array(n.length/2),c=h.vec2f64.create(),a=h.vec2f64.create(),f=0;f<i.length;f++)u.vec2.set(c,n[2*f],n[2*f+1]),e.toScreen(a,c),i[f]=g.i1616to32(Math.floor(a[0]),Math.floor(a[1]));return new s({geometry:i},o,4,!0)},s.fromScreenExtent=function(e){var r=e.xmin,t=e.xmax,n=e.ymin,o=e.ymax;return new s({geometry:new Uint32Array([g.i1616to32(r,n),g.i1616to32(t,n),g.i1616to32(r,o),g.i1616to32(r,o),g.i1616to32(t,n),g.i1616to32(t,o)])},new Uint32Array([0,1,2,3,4,5]),4)},s.fromMapExtent=function(e,r){var t=e.toScreen([0,0],[r.xmin,r.ymin]),n=t[0],o=t[1],i=e.toScreen([0,0],[r.xmax,r.ymax]),c=i[0],a=i[1];return new s({geometry:new Uint32Array([g.i1616to32(n,o),g.i1616to32(c,o),g.i1616to32(n,a),g.i1616to32(n,a),g.i1616to32(c,o),g.i1616to32(c,a)])},new Uint32Array([0,1,2,3,4,5]),4)},s.prototype.destroy=function(){for(var e in o.isSome(this._cache.indexBuffer)&&this._cache.indexBuffer.dispose(),this._cache.vertexBuffers)o.isSome(this._cache.vertexBuffers[e])&&this._cache.vertexBuffers[e].dispose()},Object.defineProperty(s.prototype,\"elementType\",{get:function(){return function(e){switch(e.BYTES_PER_ELEMENT){case 1:return 5121;case 2:return 5123;case 4:return 5125;default:throw new n(\"Cannot get DataType of array\")}}(this.indices)},enumerable:!0,configurable:!0}),s.prototype.getIndexBuffer=function(e,r){return void 0===r&&(r=35044),this._cache.indexBuffer||(this._cache.indexBuffer=a.createIndex(e,r,this.indices)),this._cache.indexBuffer},s.prototype.getVertexBuffers=function(n,o){var i=this;return void 0===o&&(o=35044),this._cache.vertexBuffers||(this._cache.vertexBuffers=Object.keys(this.vertices).reduce(function(e,r){var t;return c({},e,((t={})[r]=a.createVertex(n,o,i.vertices[r]),t))},{})),this._cache.vertexBuffers},s}();r.default=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){return function(){function t(){this.vertexData=new Map,this.vertexCount=0,this.indexData=[]}return t.prototype.clear=function(){this.vertexData.clear(),this.vertexCount=0,this.indexData=[]},t.prototype.update=function(t,e,i){for(var n in t)this.vertexData.set(n,t[n]);for(var n in this.vertexData)null===t[n]&&this.vertexData.delete(n);this.vertexCount=e,this.indexData=i},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../webgl\",\"../../engine\",\"../vectorTiles/shaders/ProgramCache\",\"./BitBlitRenderer\",\"./enums\",\"./MaterialManager\",\"./TextureManager\",\"./effects/AnimationEffect\",\"./effects/HighlightEffect\",\"./effects/HittestEffect\",\"./painter/RenderPass\"],function(e,t,r,n,i,s,h,a,o,l,u,f,b,c){Object.defineProperty(t,\"__esModule\",{value:!0});var p=function(){};t.PainterOptions=p;var d=function(){function e(e){this.context=e,this._blitRenderer=new h.BitBlitRenderer,this._brushCache=new Map,this._vtlProgramCache=null,this.brushNameToCtor={marker:i.brushes.Marker,line:i.brushes.Line,fill:i.brushes.Fill,text:i.brushes.Text,label:i.brushes.Label,clip:i.brushes.Clip,stencil:i.brushes.Stencil,bitmap:i.brushes.Bitmap,tileInfo:i.brushes.TileInfo,vtlBackground:i.brushes.VTLBackground,vtlFill:i.brushes.VTLFill,vtlLine:i.brushes.VTLLine,vtlCircle:i.brushes.VTLCircle,vtlSymbol:i.brushes.VTLSymbol},this.textureManager=new l,this.effects={highlight:new f.default,hittest:new b.HittestEffect,integrate:new u.AnimationEffect},this.materialManager=new o(e),this._vtlProgramCache=new s.default(e)}return e.prototype.getFbos=function(e,t){if(e!==this._lastWidth||t!==this._lastHeight){if(this._lastWidth=e,this._lastHeight=t,this._fbos)for(var r in this._fbos)this._fbos[r].dispose();var s={target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:e,height:t},i={colorTarget:0,depthStencilTarget:3},h=new n.Renderbuffer(this.context,{width:e,height:t,internalFormat:34041});this._fbos={output:new n.FramebufferObject(this.context,i,s,h),alpha:new n.FramebufferObject(this.context,i,s,h),effect0:new n.FramebufferObject(this.context,i,s,h)}}return this._fbos},e.prototype.beforeRenderLayers=function(e){var t=e.getViewport(),r=t.width,s=t.height,i=this.getFbos(r,s);this._prevFBO=e.getBoundFramebufferObject(),e.bindFramebuffer(i.output),e.setDepthWriteEnabled(!0),e.setClearColor(0,0,0,0),e.setClearDepth(1),e.clear(e.gl.COLOR_BUFFER_BIT|e.gl.DEPTH_BUFFER_BIT),e.setDepthWriteEnabled(!1)},e.prototype.beforeRenderLayer=function(e,t,r){1!==r?(e.bindFramebuffer(this._fbos.alpha),e.setClearColor(0,0,0,0),e.clear(e.gl.COLOR_BUFFER_BIT)):e.bindFramebuffer(this._fbos.output),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setClearStencil(t),e.setStencilWriteMask(255),e.clear(e.gl.STENCIL_BUFFER_BIT)},e.prototype.compositeLayer=function(e,t){1!==t&&(e.bindFramebuffer(this._fbos.output),e.setStencilTestEnabled(!1),e.setStencilWriteMask(0),e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),this._blitRenderer.render(e,this._fbos.alpha.colorTexture,9728,t))},e.prototype.renderLayers=function(e){e.bindFramebuffer(this._prevFBO),this._fbos&&(e.setStencilTestEnabled(!1),e.setStencilWriteMask(0),e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),this._blitRenderer.render(e,this._fbos.output.colorTexture,9728,1))},e.prototype.dispose=function(){if(this.materialManager.dispose(),this.textureManager.dispose(),this._blitRenderer&&(this._blitRenderer.dispose(),this._blitRenderer=null),this._vtlProgramCache&&(this._vtlProgramCache.dispose(),this._vtlProgramCache=null),this._brushCache&&(this._brushCache.forEach(function(e){return e.dispose()}),this._brushCache.clear(),this._brushCache=null),this._fbos)for(var e in this._fbos)this._fbos[e]&&this._fbos[e].dispose();if(this.effects)for(var t in this.effects)this.effects[t]&&this.effects[t].dispose();this._prevFBO=null},e.prototype.getGeometryBrush=function(e){var t,r=((t={})[a.WGLGeometryType.FILL]=i.brushes.Fill,t[a.WGLGeometryType.LINE]=i.brushes.Line,t[a.WGLGeometryType.MARKER]=i.brushes.Marker,t[a.WGLGeometryType.TEXT]=i.brushes.Text,t)[e],s=this._brushCache.get(r);return void 0===s&&(s=new r,this._brushCache.set(r,s)),this._brushCache.get(r)},e.prototype.renderObject=function(e,t,r,s){var i=this.brushNameToCtor[r];if(!i)return null;var h=this._brushCache.get(i);void 0===h&&(h=new i,this._brushCache.set(i,h)),h.prepareState(e,t,s),h.draw(e,t,s)},e.prototype.renderObjects=function(e,t,r,s){var i=this.brushNameToCtor[r];if(!i)return null;var h=this._brushCache.get(i);void 0===h&&(h=new i,this._brushCache.set(i,h)),h.drawMany(e,t,s)},e.prototype.getVectorTileProgramCach=function(){return this._vtlProgramCache},e.prototype.registerRenderPass=function(e){var t=this,r=e.brushes.map(function(e){return t._brushCache.has(e)||t._brushCache.set(e,new e),t._brushCache.get(e)});return new c.default(r,e)},e.prototype.setHighlightOptions=function(e){this.effects.highlight.setHighlightOptions(e)},e}();t.default=d});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/CircularArray\",\"../../../../core/Evented\",\"../../../../core/has\",\"../../../../core/maybe\",\"../../../webgl/capabilities/DisjointTimerQuery\"],function(e,t,s,a,n,g,m){Object.defineProperty(t,\"__esModule\",{value:!0});var f=n(\"esri-2d-profiler\"),r=function(){function e(e,t){var o=this;if(this._events=new a,this._entries=new Map,this._timings=new s.default(10),f){this._ext=m.load(e.gl,{}),this._debugOutput=t;var i=e.gl;if(this.enableCommandLogging){var n=function(n){if(\"function\"==typeof i[n]){var r=i[n],s=-1!==n.indexOf(\"draw\");i[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o._events.emit(\"command\",{container:o._currentContainer,pass:o._currentPass,brush:o._currentBrush,method:n,args:e,isDrawCommand:s}),o._currentSummary&&(o._currentSummary.commands++,s&&o._currentSummary.drawCommands++),r.apply(i,e)}}};for(var r in i)n(r)}}}return Object.defineProperty(e.prototype,\"enableCommandLogging\",{get:function(){return!(\"object\"==typeof f&&f.disableCommands)},enumerable:!0,configurable:!0}),e.prototype.recordContainerStart=function(e){f&&(this._currentContainer=e)},e.prototype.recordContainerEnd=function(){f&&(this._currentContainer=null)},e.prototype.recordPassStart=function(e){f&&(this._currentPass=e,this._initSummary())},e.prototype.recordPassEnd=function(){f&&(this._currentPass=null,this._emitSummary())},e.prototype.recordBrushStart=function(e){f&&(this._currentBrush=e)},e.prototype.recordBrushEnd=function(){f&&(this._currentBrush=null)},e.prototype.recordStart=function(e){if(f&&g.isSome(this._ext)){if(this._entries.has(e)){var t=this._entries.get(e),n=this._ext.resultAvailable(t.query),r=this._ext.disjoint();if(n&&!r){var s=this._ext.getResult(t.query)/1e6,o=0;if(g.isSome(this._timings.enqueue(s))){for(var i=this._timings.entries,a=i.length,m=0,u=0,d=i;u<d.length;u++){m+=d[u]}o=m/a}var c=s.toFixed(2),h=o?o.toFixed(2):\"--\";this.enableCommandLogging?(console.groupCollapsed(\"Frame report for \"+e+\", \"+c+\" ms (\"+h+\" last 10 avg)\\n\"+t.commandsLen+\" Commands (\"+t.drawCommands+\" draw)\"),console.log(\"RenderPass breakdown: \"),console.table(t.summaries),console.log(\"Commands: \",t.commands),console.groupEnd()):console.log(\"Frame report for \"+e+\", \"+c+\" ms (\"+h+\" last 10 avg)\"),this._debugOutput.innerHTML=c+\" (\"+h+\")\"}for(var l=0,p=t.handles;l<p.length;l++){p[l].remove()}this._entries.delete(e)}var _={name:e,query:this._ext.createQuery(),commands:[],commandsLen:0,drawCommands:0,summaries:[],handles:[]};this.enableCommandLogging&&(_.handles.push(this._events.on(\"command\",function(e){_.commandsLen++,_.commands.push(e),e.isDrawCommand&&_.drawCommands++})),_.handles.push(this._events.on(\"summary\",function(e){delete e.target,_.summaries.push(e)}))),this._ext.beginTimeElapsed(_.query),this._entries.set(e,_)}},e.prototype.recordEnd=function(e){f&&g.isSome(this._ext)&&this._entries.has(e)&&this._ext.endTimeElapsed()},e.prototype._initSummary=function(){this.enableCommandLogging&&(this._currentSummary={container:this._currentContainer,pass:this._currentPass,drawCommands:0,commands:0})},e.prototype._emitSummary=function(){this.enableCommandLogging&&this._events.emit(\"summary\",this._currentSummary)},e}();t.Profiler=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,i){Object.defineProperty(i,\"__esModule\",{value:!0});var h=function(){function t(t,i,h,e){void 0===t&&(t=0),void 0===i&&(i=0),void 0===h&&(h=0),void 0===e&&(e=0),this.x=t,this.y=i,this.width=h,this.height=e}return Object.defineProperty(t.prototype,\"isEmpty\",{get:function(){return this.width<=0||this.height<=0},enumerable:!0,configurable:!0}),t.prototype.union=function(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.width=Math.max(this.width,t.width),this.height=Math.max(this.height,t.height)},t}();i.default=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Rect\"],function(e,t,f){return function(){function e(e,t){this._width=0,this._height=0,this._free=[],this._width=e,this._height=t,this._free.push(new f.default(0,0,e,t))}return Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},enumerable:!0,configurable:!0}),e.prototype.allocate=function(e,t){if(e>this._width||t>this._height)return new f.default;for(var h=null,i=-1,r=0;r<this._free.length;++r){var n=this._free[r];e<=n.width&&t<=n.height&&(null===h||n.y<=h.y&&n.x<=h.x)&&(h=n,i=r)}return null===h?new f.default:(this._free.splice(i,1),h.width<h.height?(h.width>e&&this._free.push(new f.default(h.x+e,h.y,h.width-e,t)),h.height>t&&this._free.push(new f.default(h.x,h.y+t,h.width,h.height-t))):(h.width>e&&this._free.push(new f.default(h.x+e,h.y,h.width-e,h.height)),h.height>t&&this._free.push(new f.default(h.x,h.y+t,e,h.height-t))),new f.default(h.x,h.y,e,t))},e.prototype.release=function(e){for(var t=0;t<this._free.length;++t){var h=this._free[t];if(h.y===e.y&&h.height===e.height&&h.x+h.width===e.x)h.width+=e.width;else if(h.x===e.x&&h.width===e.width&&h.y+h.height===e.y)h.height+=e.height;else if(e.y===h.y&&e.height===h.height&&e.x+e.width===h.x)h.x=e.x,h.width+=e.width;else{if(e.x!==h.x||e.width!==h.width||e.y+e.height!==h.y)continue;h.y=e.y,h.height+=e.height}this._free.splice(t,1),this.release(e)}this._free.push(e)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/promiseUtils\",\"../../../../core/promiseUtils\",\"./packingUtils\"],function(t,e,s,d,c){Object.defineProperty(e,\"__esModule\",{value:!0});var v=1e20,r=function(){function t(t){this.size=t,this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=t,this.context=this.canvas.getContext(\"2d\"),this._gridOuter=new Float64Array(t*t),this._gridInner=new Float64Array(t*t),this._f=new Float64Array(t),this._d=new Float64Array(t),this._z=new Float64Array(t+1),this._v=new Int16Array(t)}return t.prototype.draw=function(t,r,o){var h=this;void 0===o&&(o=31),this._initSVG();var i=this._createSVGString(t);return s.create(function(a,t){var n=new Image;n.src=\"data:image/svg+xml; charset=utf8, \"+encodeURIComponent(i),n.onload=function(){h.context.clearRect(0,0,h.size,h.size),h.context.drawImage(n,0,0,h.size,h.size);for(var t=h.context.getImageData(0,0,h.size,h.size),e=new Uint8Array(h.size*h.size*4),r=0;r<h.size*h.size;r++){var i=t.data[4*r+3]/255;h._gridOuter[r]=1===i?0:0===i?v:Math.pow(Math.max(0,.5-i),2),h._gridInner[r]=1===i?v:0===i?0:Math.pow(Math.max(0,i-.5),2)}h._edt(h._gridOuter,h.size,h.size),h._edt(h._gridInner,h.size,h.size);for(r=0;r<h.size*h.size;r++){var s=.5-(h._gridOuter[r]-h._gridInner[r])/(2*o);c.packFloatRGBA(s,e,4*r)}a(e)};var e=r&&r.signal;e&&d.onAbort(e,function(){return t(d.createAbortError())})})},t.prototype._initSVG=function(){if(!this._svg){var t=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");t.setAttribute(\"style\",\"position: absolute;\"),t.setAttribute(\"width\",\"0\"),t.setAttribute(\"height\",\"0\"),t.setAttribute(\"aria-hidden\",\"true\"),t.setAttribute(\"role\",\"presentation\"),document.body.appendChild(t),this._svg=t}},t.prototype._createSVGString=function(t){var e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");e.setAttribute(\"d\",t),this._svg.appendChild(e);var r,i,s,a,n=e.getBBox(),o=n.width/n.height,h=this.size/2;if(1<o){i=r=h/n.width;var d=h*(1/o);s=this.size/4,a=h-d/2}else{r=i=h/n.height,s=h-h*o/2,a=this.size/4}var c=-n.x*r+s,v=-n.y*i+a;e.setAttribute(\"style\",\"transform: matrix(\"+r+\", 0, 0, \"+i+\", \"+c+\", \"+v+\")\");var g='<svg style=\"fill:red;\" height=\"'+this.size+'\" width=\"'+this.size+'\" xmlns=\"http://www.w3.org/2000/svg\">'+this._svg.innerHTML+\"</svg>\";return this._svg.removeChild(e),g},t.prototype._edt=function(t,e,r){for(var i=this._f,s=this._d,a=this._v,n=this._z,o=0;o<e;o++){for(var h=0;h<r;h++)i[h]=t[h*e+o];this._edt1d(i,s,a,n,r);for(h=0;h<r;h++)t[h*e+o]=s[h]}for(h=0;h<r;h++){for(o=0;o<e;o++)i[o]=t[h*e+o];this._edt1d(i,s,a,n,e);for(o=0;o<e;o++)t[h*e+o]=Math.sqrt(s[o])}},t.prototype._edt1d=function(t,e,r,i,s){i[r[0]=0]=-v,i[1]=+v;for(var a=1,n=0;a<s;a++){for(var o=(t[a]+a*a-(t[r[n]]+r[n]*r[n]))/(2*a-2*r[n]);o<=i[n];)n--,o=(t[a]+a*a-(t[r[n]]+r[n]*r[n]))/(2*a-2*r[n]);r[++n]=a,i[n]=o,i[n+1]=+v}for(a=0,n=0;a<s;a++){for(;i[n+1]<a;)n++;e[a]=(a-r[n])*(a-r[n])+t[r[n]]}},t}();e.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/has\",\"../../../webgl\",\"./GeometryUtils\",\"./Rect\",\"./RectangleBinPack\"],function(t,e,c,h,o,p,g){return function(){function s(t,e,i){if(void 0===i&&(i=0),this._size=[],this._mosaicsData=[],this._textures=[],this._dirties=[],this._maxItemSize=0,this._currentPage=0,this._fixSpriteLocationsTable=c(\"fix-sprite-locations\"),this._testId=c(\"test-id\"),this._pageWidth=0,this._pageHeight=0,this._mosaicRects=new Map,this._spriteCopyQueue=[],this.pixelRatio=1,(t<=0||e<=0)&&console.error(\"Sprites mosaic defaultWidth and defaultHeight must be greater than zero!\"),this._pageWidth=t,this._pageHeight=e,0<i&&(this._maxItemSize=i),this.pixelRatio=window.devicePixelRatio||1,this._fixSpriteLocationsTable){var s=[];for(var a in this._fixSpriteLocationsTable[this._testId]){var h=this._fixSpriteLocationsTable[this._testId][a];s[h.page]=h.pageSize}for(var r=0,o=s;r<o.length;r++){var p=o[r];this._mosaicsData.push(new Uint32Array(p[0]*p[1])),this._dirties.push(!0),this._size.push([p[0],p[1]]),this._textures.push(void 0)}}this._binPack=new g(this._pageWidth,this._pageHeight);var n=Math.floor(this._pageWidth),_=Math.floor(this._pageHeight);this._mosaicsData.push(new Uint32Array(n*_)),this._dirties.push(!0),this._size.push([this._pageWidth,this._pageHeight]),this._textures.push(void 0)}return s.prototype.getWidth=function(t){return t>=this._size.length?-1:this._size[t][0]},s.prototype.getHeight=function(t){return t>=this._size.length?-1:this._size[t][1]},s.prototype.getPage=function(t){return t<this._textures.length?this._textures[t]:null},s.prototype.has=function(t){return this._mosaicRects.has(t)},Object.defineProperty(s.prototype,\"itemCount\",{get:function(){return this._mosaicRects.size},enumerable:!0,configurable:!0}),s.prototype.getSpriteItem=function(t){return this._mosaicRects.get(t)},s.prototype.addSpriteItem=function(t,e,i,s,a,h){var r,o,p,n;if(this._mosaicRects.has(t))return this._mosaicRects.get(t);if(this._fixSpriteLocationsTable&&this._fixSpriteLocationsTable[this._testId]&&this._fixSpriteLocationsTable[this._testId][t]){var _=this._fixSpriteLocationsTable[this._testId][t];o=_.rect,p=_.page,n=_.pageSize}else o=(r=this._allocateImage(e[0],e[1]))[0],p=r[1],n=r[2];if(o.width<=0||o.height<=0)return null;var c={rect:o,width:e[0],height:e[1],sdf:a,simplePattern:h,pixelRatio:1,page:p};return this._mosaicRects.set(t,c),this._copy({rect:o,spriteSize:e,spriteData:i,page:p,pageSize:n,repeat:s,sdf:a}),c},s.prototype.hasItemsToProcess=function(){return 0!==this._spriteCopyQueue.length},s.prototype.processNextItem=function(){var t=this._spriteCopyQueue.pop();t&&this._copy(t)},s.prototype.getSpriteItems=function(t){for(var e={},i=0,s=t;i<s.length;i++){var a=s[i];e[a]=this.getSpriteItem(a)}return e},s.prototype.getMosaicItemPosition=function(t){var e=this.getSpriteItem(t),i=e&&e.rect;if(!i)return null;i.width=e.width,i.height=e.height;var s=e.width,a=e.height;return{size:[e.width,e.height],tl:[(i.x+1)/this._size[e.page][0],(i.y+1)/this._size[e.page][1]],br:[(i.x+1+s)/this._size[e.page][0],(i.y+1+a)/this._size[e.page][1]],page:e.page}},s.prototype.bind=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this._textures[i]||(this._textures[i]=new h.Texture(t,{pixelFormat:6408,dataType:5121,width:this._size[i][0],height:this._size[i][1]},new Uint8Array(this._mosaicsData[i].buffer)));var a=this._textures[i];a.setSamplingMode(e),this._dirties[i]&&(a.setData(new Uint8Array(this._mosaicsData[i].buffer)),a.generateMipmap()),t.bindTexture(a,s),this._dirties[i]=!1},s._copyBits=function(t,e,i,s,a,h,r,o,p,n,_){var c=s*e+i,g=o*h+r;if(_){g-=h;for(var u=-1;u<=n;c=((++u+n)%n+s)*e+i,g+=h)for(var l=-1;l<=p;l++)a[g+l]=t[c+(l+p)%p]}else for(u=0;u<n;u++){for(l=0;l<p;l++)a[g+l]=t[c+l];c+=e,g+=h}},s.prototype._copy=function(t){if(!(t.page>=this._mosaicsData.length)){var e=t.spriteData,i=this._mosaicsData[t.page];i&&e||console.error(\"Source or target images are uninitialized!\");s._copyBits(e,t.spriteSize[0],0,0,i,t.pageSize[0],t.rect.x+1,t.rect.y+1,t.spriteSize[0],t.spriteSize[1],t.repeat),this._dirties[t.page]=!0}},s.prototype._allocateImage=function(t,e){t+=2,e+=2;var i=Math.max(t,e);if(this._maxItemSize&&this._maxItemSize<i){var s=Math.pow(2,Math.ceil(o.log2(t))),a=Math.pow(2,Math.ceil(o.log2(e))),h=new p.default(0,0,t,e);return this._mosaicsData.push(new Uint32Array(s*a)),this._dirties.push(!0),this._size.push([s,a]),this._textures.push(void 0),[h,this._mosaicsData.length-1,[s,a]]}var r=this._binPack.allocate(t,e);return r.width<=0?(this._dirties[this._currentPage]||(this._mosaicsData[this._currentPage]=null),this._currentPage=this._mosaicsData.length,this._mosaicsData.push(new Uint32Array(this._pageWidth*this._pageHeight)),this._dirties.push(!0),this._size.push([this._pageWidth,this._pageHeight]),this._textures.push(void 0),this._binPack=new g(this._pageWidth,this._pageHeight),this._allocateImage(t,e)):[r,this._currentPage,[this._pageWidth,this._pageHeight]]},s.prototype.dispose=function(){this._binPack=null;for(var t=0,e=this._textures;t<e.length;t++){var i=e[t];i&&i.dispose()}this._textures.length=0,this._mosaicsData.length=0,this._mosaicRects.clear()},s}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/ObjectPool\"],function(o,t,h){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function o(){this.color=[0,0,0,0],this.haloColor=[0,0,0,0],this.haloSize=0,this.size=12,this.angle=0,this.offsetX=0,this.offsetY=0,this.hAnchor=0,this.vAnchor=0}return o.prototype.acquire=function(o,t,h,i,s,e,r,l,n){this.color=o,this.haloColor=t,this.haloSize=h,this.size=i,this.angle=s,this.offsetX=e,this.offsetY=r,this.hAnchor=l,this.vAnchor=n},o.prototype.release=function(){this.color[0]=this.color[1]=this.color[2]=this.color[3]=0,this.haloColor[0]=this.haloColor[1]=this.haloColor[2]=this.haloColor[3]=0,this.haloSize=0,this.size=0,this.angle=0,this.offsetX=0,this.offsetY=0,this.hAnchor=0,this.vAnchor=0},o.pool=new h(o),o}();t.TextProperties=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Rect\"],function(t,i,c){Object.defineProperty(i,\"__esModule\",{value:!0});var e=function(){function t(t,i,e,h,a,s,r,n){this._glyphItems=t,this._maxWidth=i,this._lineHeight=e,this._letterSpacing=h,this._offset=a,this._hAnchor=s,this._vAnchor=r,this._justify=n}return t.prototype.getShaping=function(t,i){for(var e=this._letterSpacing,h=this._lineHeight,a=this._justify,s=this._maxWidth,r=[],n=0,o=0,c=0,f=0,l=-1,p=0,g=-1,m=t.length,y=0;y<m;y++){var v=t.charCodeAt(y);if(10!==v){for(var d=void 0,u=0,x=this._glyphItems;u<x.length;u++){if(d=x[u][v])break}if(d){if(r.push({codePoint:v,x:n,y:o,glyphMosaicItem:d}),n+=d.metrics.advance+e,0<s&&s<n&&0<=g){var _=g+1;I=r[_].x;p=Math.max(I,p);for(var M=_;M<r.length;M++)i?r[M].y-=h:r[M].y+=h,r[M].x-=I;a&&this._applyJustification(r,f,g),i?o-=h:o+=h,n-=I,++c,f=_,g=-1}++l,32===v&&(g=r.length-1)}}else{if(y===m-1)continue;if(f<=l){var I=(w=r[l]).x+w.glyphMosaicItem.metrics.advance;p=Math.max(I,p),a&&this._applyJustification(r,f,l),f=r.length}i?o-=h:o+=h,n=0,++c}}if(f<=l){var w,A=(w=r[l]).x+w.glyphMosaicItem.metrics.advance;p=Math.max(p,A),a&&this._applyJustification(r,f,l)}if(0<r.length){var j=(a-this._hAnchor)*p,J=(-this._vAnchor*(c+1)+.5)*h;i&&c&&(J+=c*h),j+=this._offset[0],J+=this._offset[1];for(var P=0,S=r;P<S.length;P++){var b=S[P];b.x+=j,b.y+=J}}return r},t.getBox=function(t){if(!t.length)return null;for(var i=1/0,e=1/0,h=0,a=0,s=0,r=t;s<r.length;s++){var n=r[s],o=n.glyphMosaicItem.metrics,c=o.height,f=o.left,l=o.top,p=o.width,g=n.x,m=n.y-(c-Math.abs(l)),y=g+p+f,v=m+c;i=Math.min(i,g),h=Math.max(h,y),e=Math.min(e,m),a=Math.max(a,v)}return{x:i,y:e,width:h-i,height:a-e}},t.addDecoration=function(t,i){var e=t.length;if(0!==e){for(var h=t[0].x+t[0].glyphMosaicItem.metrics.left,a=t[0].y,s=1;s<e;s++){var r=t[s];if(r.y!==a){var n=t[s-1].x+t[s-1].glyphMosaicItem.metrics.left+t[s-1].glyphMosaicItem.metrics.width;t.push({codePoint:0,x:h,y:a+i-3,glyphMosaicItem:{sdf:!0,rect:new c.default(4,0,4,8),metrics:{width:n-h,height:8,left:0,top:0,advance:0},page:0}}),a=r.y,h=r.x+r.glyphMosaicItem.metrics.left}}var o=t[e-1].x+t[e-1].glyphMosaicItem.metrics.left+t[e-1].glyphMosaicItem.metrics.width;t.push({codePoint:0,x:h,y:a+i-3,glyphMosaicItem:{sdf:!0,rect:new c.default(4,0,4,8),metrics:{width:o-h,height:8,left:0,top:0,advance:0},page:0}})}},t.prototype._applyJustification=function(t,i,e){for(var h=t[e],a=h.glyphMosaicItem.metrics.advance,s=(h.x+a)*this._justify,r=i;r<=e;r++)t[r].x-=s},t}();i.TextShaping=e});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Rect\"],function(t,i,c){Object.defineProperty(i,\"__esModule\",{value:!0});var e=function(){function t(t,i,e,a,h,s,r,n){this._glyphItems=t,this._maxWidth=i,this._lineHeight=e,this._letterSpacing=a,this._offset=h,this._hAnchor=s,this._vAnchor=r,this._justify=n}return t.prototype.getShaping=function(t,i){for(var e=this._letterSpacing,a=this._lineHeight,h=this._justify,s=this._maxWidth,r=[],n=0,o=0,c=0,f=0,l=-1,p=0,g=-1,m=t.length,y=0;y<m;y++){var v=t.charCodeAt(y);if(10!==v){for(var u=void 0,x=0,d=this._glyphItems;x<d.length;x++){if(u=d[x][v])break}if(u){if(r.push({codePoint:v,x:n,y:o,glyphMosaicItem:u}),n+=u.metrics.advance+e,0<s&&s<n&&0<=g){var _=g+1;I=r[_].x;p=Math.max(I,p);for(var M=_;M<r.length;M++)i?r[M].y-=a:r[M].y+=a,r[M].x-=I;h&&this._applyJustification(r,f,g),i?o-=a:o+=a,n-=I,++c,f=_,g=-1}++l,32===v&&(g=r.length-1)}}else{if(y===m-1)continue;if(f<=l){var I=(w=r[l]).x+w.glyphMosaicItem.metrics.advance;p=Math.max(I,p),h&&this._applyJustification(r,f,l),f=r.length}i?o-=a:o+=a,n=0,++c}}if(f<=l){var w,A=(w=r[l]).x+w.glyphMosaicItem.metrics.advance;p=Math.max(p,A),h&&this._applyJustification(r,f,l)}if(0<r.length){var J=(h-this._hAnchor)*p,S=(-this._vAnchor*(c+1)+.5)*a;i&&c&&(S+=c*a),J+=this._offset[0],S+=this._offset[1];for(var j=0,P=r;j<P.length;j++){var H=P[j];H.x+=J,H.y+=S}}return r},t.prototype.getEstimatedShaping=function(t,i,e){for(var a=this._letterSpacing,h=this._lineHeight,s=this._justify,r=this._maxWidth,n=[],o=0,c=0,f=0,l=0,p=-1,g=0,m=-1,y=t.length,v=0;v<y;v++){var u=t.charCodeAt(v);if(10!==u){var x=e;if(n.push({codePoint:u,x:o,y:c,glyphMosaicItem:x}),o+=x.metrics.advance+a,0<r&&r<o&&0<=m){var d=m+1;M=n[d].x;g=Math.max(M,g);for(var _=d;_<n.length;_++)i?n[_].y-=h:n[_].y+=h,n[_].x-=M;s&&this._applyJustification(n,l,m),i?c-=h:c+=h,o-=M,++f,l=d,m=-1}++p,32===u&&(m=n.length-1)}else{if(v===y-1)continue;if(l<=p){var M=(I=n[p]).x+I.glyphMosaicItem.metrics.advance;g=Math.max(M,g),s&&this._applyJustification(n,l,p),l=n.length}i?c-=h:c+=h,o=0,++f}}if(l<=p){var I,w=(I=n[p]).x+I.glyphMosaicItem.metrics.advance;g=Math.max(g,w),s&&this._applyJustification(n,l,p)}if(0<n.length){var A=(s-this._hAnchor)*g,J=(-this._vAnchor*(f+1)+.5)*h;i&&f&&(J+=f*h),A+=this._offset[0],J+=this._offset[1];for(var S=0,j=n;S<j.length;S++){var P=j[S];P.x+=A,P.y+=J}}return n},t.getBox=function(t){if(!t.length)return null;for(var i=1/0,e=1/0,a=-1/0,h=-1/0,s=0,r=t;s<r.length;s++){var n=r[s],o=n.glyphMosaicItem.metrics,c=o.height,f=o.left,l=o.top,p=o.width,g=n.x+f,m=n.y-l,y=g+p,v=m+c;i=Math.min(i,g),a=Math.max(a,y),e=Math.min(e,m),h=Math.max(h,v)}return{x:i,y:e,width:a-i,height:h-e}},t.addDecoration=function(t,i){var e=t.length;if(0!==e){for(var a=t[0].x+t[0].glyphMosaicItem.metrics.left,h=t[0].y,s=1;s<e;s++){var r=t[s];if(r.y!==h){var n=t[s-1].x+t[s-1].glyphMosaicItem.metrics.left+t[s-1].glyphMosaicItem.metrics.width;t.push({codePoint:0,x:a,y:h,glyphMosaicItem:{sdf:!0,rect:new c.default(4,0,4,8),metrics:{width:n-a,height:2,left:0,top:i,advance:0},page:0}}),h=r.y,a=r.x+r.glyphMosaicItem.metrics.left}}var o=t[e-1].x+t[e-1].glyphMosaicItem.metrics.left+t[e-1].glyphMosaicItem.metrics.width;t.push({codePoint:0,x:a,y:h,glyphMosaicItem:{sdf:!0,rect:new c.default(4,0,4,8),metrics:{width:o-a,height:2,left:0,top:i,advance:0},page:0}})}},t.prototype._applyJustification=function(t,i,e){for(var a=t[e],h=a.glyphMosaicItem.metrics.advance,s=(a.x+h)*this._justify,r=i;r<=e;r++)t[r].x-=s},t}();i.TextShaping=e});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/tsSupport/awaiterHelper\",\"../../../../core/tsSupport/generatorHelper\",\"../../../../config\",\"../../../../request\",\"../../../../core/Error\",\"../../../../core/Logger\",\"../../../../core/promiseUtils\",\"../../../../core/libs/gl-matrix-2/vec2\",\"../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../symbols/cim/Rasterizer\",\"./definitions\",\"./enums\",\"./fontUtils\",\"./GlyphMosaic\",\"./GlyphSource\",\"./SDFConverter\",\"./SpriteMosaic\",\"./util/Result\",\"./util/symbolUtils\"],function(e,t,c,i,d,r,h,y,s,g,l,n,o,u,f,a,p,_,m,S,M,v){var b=n.vec2f32.create(),T=\"arial-unicode-ms-regular\",I=s.getLogger(\"esri.views.2d.engine.webgl.TextureManager\");var w=function(){function i(e,t,i){this.mosaicType=e,this.page=t,this.sdf=i}return i.fromMosaic=function(e,t){return new i(e,t.page,t.sdf)},i}();return function(){function e(){this._invalidFontsMap=new Map,this._sdfConverter=new m.default(126),this._bindingInfos=new Array,this._hashToBindingIndex=new Map,this._rasterizer=new o.default,this._spriteMosaic=new S(2048,2048,500),this._glyphSource=new _(r.fontsUrl+\"/{fontstack}/{range}.pbf\"),this._glyphMosaic=new p(1024,1024,this._glyphSource)}return Object.defineProperty(e.prototype,\"sprites\",{get:function(){return this._spriteMosaic},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glyphs\",{get:function(){return this._glyphMosaic},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._spriteMosaic.dispose(),this._glyphMosaic.dispose(),this._rasterizer.dispose(),this._spriteMosaic=null,this._glyphMosaic=null,this._rasterizer=null},e.prototype._hashMosaic=function(e,t){return 1|e<<1|(t.sdf?1:0)<<2|t.page<<3},e.prototype._setTextureBinding=function(e,t){var i=this._hashMosaic(e,t);if(!this._hashToBindingIndex.has(i)){var r=w.fromMosaic(e,t),s=this._bindingInfos.length+1;this._hashToBindingIndex.set(i,s),this._bindingInfos.push(r)}t.textureBinding=this._hashToBindingIndex.get(i)},e.prototype.rasterizeItem=function(e,t,i){var r=this;return void 0===t&&(t=null),e?e.type&&-1!==e.type.toLowerCase().indexOf(\"3d\")?(I.error(new y(\"mapview-invalid-type\",\"MapView does not support 3d symbol type: \"+e.type,e)),g.resolve({glyphMosaicItems:[],spriteMosaicItem:null})):!e.type||\"text\"!==e.type&&\"esriTS\"!==e.type&&\"CIMTextSymbol\"!==e.type?this._rasterizeSpriteSymbol(e,i).then(function(e){return M.ok(e)&&e&&r._setTextureBinding(f.MosaicType.SPRITE,e),{spriteMosaicItem:e}}):this._rasterizeTextSymbol(e,t,i).then(function(e){return e.forEach(function(e){return r._setTextureBinding(f.MosaicType.GLYPH,e)}),{glyphMosaicItems:e}}):(I.error(new y(\"mapview-null-resource\",\"Unable to rasterize null resource\")),g.resolve(null))},e.prototype.bindTextures=function(e,t,i,r){if(void 0===r&&(r=1),0!==i.textureBinding){var s=this._bindingInfos[i.textureBinding-1],n=s.page;switch(s.mosaicType){case f.MosaicType.SPRITE:var o=this.sprites.getWidth(n)/r,a=this.sprites.getHeight(n)/r,p=l.vec2.set(b,o,a);return this._bindSpritePage(e,n,u.TEXTURE_BINDING_SPRITE_ATLAS,9729),t.setUniform1i(\"u_texture\",u.TEXTURE_BINDING_SPRITE_ATLAS),void t.setUniform2fv(\"u_mosaicSize\",p);case f.MosaicType.GLYPH:o=this.glyphs.width/r,a=this.glyphs.height/r,p=l.vec2.set(b,o,a);return this._bindGlyphsPage(e,n,u.TEXTURE_BINDING_GLYPH_ATLAS),t.setUniform1i(\"u_texture\",u.TEXTURE_BINDING_GLYPH_ATLAS),void t.setUniform2fv(\"u_mosaicSize\",p);default:I.error(\"mapview-texture-manager\",\"Cannot handle unknown type \"+s.mosaicType)}}},e.prototype._bindSpritePage=function(e,t,i,r){r||(r=9729),this._spriteMosaic.bind(e,r,t,i)},e.prototype._bindGlyphsPage=function(e,t,i){this._glyphMosaic.bind(e,9729,t,i)},e.prototype._rasterizeTextSymbol=function(e,t,i){var r=this,s=a.getFullyQualifiedFontName(e.font),n=this._invalidFontsMap.has(s);return this._glyphMosaic.getGlyphItems(n?T:s,t,i).catch(function(){return I.error(new y(\"mapview-invalid-resource\",\"Couldn't find font \"+s+\". Falling back to Arial Unicode MS Regular\")),r._invalidFontsMap.set(s,!0),r._glyphMosaic.getGlyphItems(T,t,i)})},e.prototype._rasterizeSpriteSymbol=function(c,h){return i(this,void 0,void 0,function(){var n,o,a,p,l,u;return d(this,function(e){return\"CIMSolidStroke\"===(i=t=c).type||\"CIMSolidFill\"===t.type||t&&(v.isFillSymbol(t)||v.isLineSymbol(t))&&\"style\"in t&&(\"solid\"===t.style||\"esriSFSSolid\"===i.style||\"esriSLSSolid\"===i.style||\"none\"===t.style||\"esriSFSNull\"===i.style||\"esriSLSNull\"===i.style)?[2,null]:(n=v.keyFromSymbol(c),this._spriteMosaic.has(n)?[2,this._spriteMosaic.getSpriteItem(n)]:\"simple-marker\"!==(r=c).type&&\"esriSMS\"!==r.type||!r.path?(s=c).url||s.imageData?[2,this._handleImage(c,n,h)]:(o=this._rasterizer.rasterizeJSONResource(c))?(a=o.size,p=o.image,l=o.sdf,u=o.simplePattern,[2,this._addItemToMosaic(n,a,p,!v.isMarkerSymbol(c),l,u)]):[2,new y(\"TextureManager\",\"unrecognized or null rasterized image\")]:[2,this._handleSVG(c,n,h)]);var t,i,r,s})})},e.prototype._handleSVG=function(r,s,n){return i(this,void 0,void 0,function(){var t,i;return d(this,function(e){switch(e.label){case 0:return t=[126,126],[4,this._sdfConverter.draw(r.path,n)];case 1:return i=e.sent(),[2,this._addItemToMosaic(s,t,new Uint32Array(i.buffer),!1,!0,!0)]}})})},e.prototype._handleImage=function(p,l,u){return i(this,void 0,void 0,function(){var t,i,r,s,n,o,a;return d(this,function(e){switch(e.label){case 0:t=p.imageData?\"data:\"+p.contentType+\";base64,\"+p.imageData:p.url,e.label=1;case 1:return e.trys.push([1,3,,4]),[4,h(t,c({responseType:\"image\"},u))];case 2:return i=e.sent().data,r=this._rasterizer.rasterizeImageResource(i,p.colorSubstitutions),s=r.size,n=r.sdf,o=r.image,[2,this._addItemToMosaic(l,s,o,!v.isMarkerSymbol(p),n,!1)];case 3:return a=e.sent(),g.isAbortError(a)?[3,4]:[2,new y(\"mapview-invalid-resource\",\"Could not fetch requested resource at \"+t)];case 4:return[2,void 0]}})})},e.prototype._addItemToMosaic=function(e,t,i,r,s,n){return this._spriteMosaic.addSpriteItem(e,t,i,r,s,n)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Utils\"],function(e,r,i){return function(){function n(){this.geometries=[{indexBuffer:void 0,vertexBuffer:{}},{indexBuffer:void 0,vertexBuffer:{}},{indexBuffer:void 0,vertexBuffer:{}},{indexBuffer:void 0,vertexBuffer:{}},{indexBuffer:void 0,vertexBuffer:{}}]}return n.prototype.clone=function(){for(var e=new n,r=0;r<this.geometries.length;r++){var f=this.geometries[r],t=e.geometries[r];for(var i in t.indexBuffer=f.indexBuffer.slice(),t.vertexBuffer={},f.vertexBuffer){var u=f.vertexBuffer[i],s=u.data,o=u.stride;t.vertexBuffer[i]={data:s.slice(),stride:o}}}return e},n.deserialize=function(e){for(var r=new n,f=0;f<5;++f)for(var t in r.geometries[f].indexBuffer=new Uint32Array(e.geometries[f].indexBuffer),r.geometries[f].vertexBuffer={},e.geometries[f].vertexBuffer)r.geometries[f].vertexBuffer[t]={data:i.allocateTypedArrayBufferwithData(e.geometries[f].vertexBuffer[t].data,e.geometries[f].vertexBuffer[t].stride),stride:e.geometries[f].vertexBuffer[t].stride};return r},n.prototype.serialize=function(){for(var e={geometries:[{indexBuffer:this.geometries[0].indexBuffer.buffer,vertexBuffer:{}},{indexBuffer:this.geometries[1].indexBuffer.buffer,vertexBuffer:{}},{indexBuffer:this.geometries[2].indexBuffer.buffer,vertexBuffer:{}},{indexBuffer:this.geometries[3].indexBuffer.buffer,vertexBuffer:{}},{indexBuffer:this.geometries[4].indexBuffer.buffer,vertexBuffer:{}}]},r=0;r<5;++r)for(var f in this.geometries[r].vertexBuffer)e.geometries[r].vertexBuffer[f]={data:this.geometries[r].vertexBuffer[f].data.buffer,stride:this.geometries[r].vertexBuffer[f].stride};return e},n.prototype.getBuffers=function(){for(var e=[],r=0;r<5;++r)for(var f in e.push(this.geometries[r].indexBuffer.buffer),this.geometries[r].vertexBuffer)e.push(this.geometries[r].vertexBuffer[f].data.buffer);return e},n}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./definitions\",\"./Geometry\",\"./GeometryUtils\"],function(i,t,e,v,g){Object.defineProperty(t,\"__esModule\",{value:!0});var c=function(i,t,s){this.ratio=i,this.x=t,this.y=s},s=function(){function i(i,t,s,h,n){void 0===h&&(h=8),void 0===n&&(n=8),this.lines=[],this.starts=[],this.pixelRatio=h,this.pixelMargin=n,this.tileSize=e.TILE_SIZE*h,this.dz=i,this.yPos=t,this.xPos=s}return i.prototype.setExtent=function(i){this.finalRatio=this.tileSize/i*(1<<this.dz);var t=this.pixelRatio*this.pixelMargin;t/=this.finalRatio;var s=i>>this.dz;s<t&&(t=s),this.margin=t,this.xmin=s*this.xPos-t,this.ymin=s*this.yPos-t,this.xmax=this.xmin+s+2*t,this.ymax=this.ymin+s+2*t},i.prototype.reset=function(i){this.type=i,this.lines=[],this.starts=[],this.line=null,this.start=0},i.prototype.moveTo=function(i,t){this._pushLine(),this._prevIsIn=this._isIn(i,t),this._moveTo(i,t,this._prevIsIn),this._prevPt=new v.Point(i,t),this._firstPt=new v.Point(i,t),this._dist=0},i.prototype.lineTo=function(i,t){var s,h,n,e,l,x,a,r,y=this._isIn(i,t),o=new v.Point(i,t),p=v.Point.distance(this._prevPt,o);if(y)this._prevIsIn?this._lineTo(i,t,!0):(s=this._prevPt,h=o,n=this._intersect(h,s),this.start=this._dist+p*(1-this._r),this._lineTo(n.x,n.y,!0),this._lineTo(h.x,h.y,!0));else if(this._prevIsIn)h=this._prevPt,s=o,n=this._intersect(h,s),this._lineTo(n.x,n.y,!0),this._lineTo(s.x,s.y,!1);else{var u=this._prevPt,m=o;if(u.x<=this.xmin&&m.x<=this.xmin||u.x>=this.xmax&&m.x>=this.xmax||u.y<=this.ymin&&m.y<=this.ymin||u.y>=this.ymax&&m.y>=this.ymax)this._lineTo(m.x,m.y,!1);else{var _=[];if((u.x<this.xmin&&m.x>this.xmin||u.x>this.xmin&&m.x<this.xmin)&&(e=(this.xmin-u.x)/(m.x-u.x),(r=u.y+e*(m.y-u.y))<=this.ymin?x=!1:r>=this.ymax?x=!0:_.push(new c(e,this.xmin,r))),(u.x<this.xmax&&m.x>this.xmax||u.x>this.xmax&&m.x<this.xmax)&&(e=(this.xmax-u.x)/(m.x-u.x),(r=u.y+e*(m.y-u.y))<=this.ymin?x=!1:r>=this.ymax?x=!0:_.push(new c(e,this.xmax,r))),(u.y<this.ymin&&m.y>this.ymin||u.y>this.ymin&&m.y<this.ymin)&&(e=(this.ymin-u.y)/(m.y-u.y),(a=u.x+e*(m.x-u.x))<=this.xmin?l=!1:a>=this.xmax?l=!0:_.push(new c(e,a,this.ymin))),(u.y<this.ymax&&m.y>this.ymax||u.y>this.ymax&&m.y<this.ymax)&&(e=(this.ymax-u.y)/(m.y-u.y),(a=u.x+e*(m.x-u.x))<=this.xmin?l=!1:a>=this.xmax?l=!0:_.push(new c(e,a,this.ymax))),0===_.length)l?x?this._lineTo(this.xmax,this.ymax,!0):this._lineTo(this.xmax,this.ymin,!0):x?this._lineTo(this.xmin,this.ymax,!0):this._lineTo(this.xmin,this.ymin,!0);else if(1<_.length&&_[0].ratio>_[1].ratio)this.start=this._dist+p*_[1].ratio,this._lineTo(_[1].x,_[1].y,!0),this._lineTo(_[0].x,_[0].y,!0);else{this.start=this._dist+p*_[0].ratio;for(var f=0;f<_.length;f++)this._lineTo(_[f].x,_[f].y,!0)}this._lineTo(m.x,m.y,!1)}}this._dist+=p,this._prevIsIn=y,this._prevPt=o},i.prototype.close=function(){if(2<this.line.length){var i=this._firstPt,t=this._prevPt;i.x===t.x&&i.y===t.y||this.lineTo(i.x,i.y);for(var s=this.line,h=s.length;4<=h&&(s[0].x===s[1].x&&s[0].x===s[h-2].x||s[0].y===s[1].y&&s[0].y===s[h-2].y);)s.pop(),s[0].x=s[h-2].x,s[0].y=s[h-2].y,--h}},i.prototype.result=function(i){return void 0===i&&(i=!0),this._pushLine(),0===this.lines.length?null:(3===this.type&&i&&n.simplify(this.tileSize,this.margin*this.finalRatio,this.lines),this.lines)},i.prototype.resultWithStarts=function(){if(2!==this.type)throw new Error(\"Only valid for lines\");this._pushLine();var i=this.lines,t=i.length;if(0===t)return null;for(var s=[],h=0;h<t;h++)s.push({line:i[h],start:this.starts[h]||0});return s},i.prototype._isIn=function(i,t){return i>=this.xmin&&i<=this.xmax&&t>=this.ymin&&t<=this.ymax},i.prototype._intersect=function(i,t){var s,h,n;if(t.x>=this.xmin&&t.x<=this.xmax)n=((h=t.y<=this.ymin?this.ymin:this.ymax)-i.y)/(t.y-i.y),s=i.x+n*(t.x-i.x);else if(t.y>=this.ymin&&t.y<=this.ymax)n=((s=t.x<=this.xmin?this.xmin:this.xmax)-i.x)/(t.x-i.x),h=i.y+n*(t.y-i.y);else{h=t.y<=this.ymin?this.ymin:this.ymax;var e=((s=t.x<=this.xmin?this.xmin:this.xmax)-i.x)/(t.x-i.x),l=(h-i.y)/(t.y-i.y);e<l?(n=e,h=i.y+e*(t.y-i.y)):(n=l,s=i.x+l*(t.x-i.x))}return this._r=n,new v.Point(s,h)},i.prototype._pushLine=function(){this.line&&(1===this.type?0<this.line.length&&(this.lines.push(this.line),this.starts.push(this.start)):2===this.type?1<this.line.length&&(this.lines.push(this.line),this.starts.push(this.start)):3===this.type&&3<this.line.length&&(this.lines.push(this.line),this.starts.push(this.start))),this.line=[],this.start=0},i.prototype._moveTo=function(i,t,s){3!==this.type?s&&(i=Math.round((i-(this.xmin+this.margin))*this.finalRatio),t=Math.round((t-(this.ymin+this.margin))*this.finalRatio),this.line.push(new v.Point(i,t))):(s||(i<this.xmin&&(i=this.xmin),i>this.xmax&&(i=this.xmax),t<this.ymin&&(t=this.ymin),t>this.ymax&&(t=this.ymax)),i=Math.round((i-(this.xmin+this.margin))*this.finalRatio),t=Math.round((t-(this.ymin+this.margin))*this.finalRatio),this.line.push(new v.Point(i,t)),this._is_h=!1,this._is_v=!1)},i.prototype._lineTo=function(i,t,s){var h,n;if(3!==this.type)if(s){if(i=Math.round((i-(this.xmin+this.margin))*this.finalRatio),t=Math.round((t-(this.ymin+this.margin))*this.finalRatio),0<this.line.length&&(h=this.line[this.line.length-1]).equals(i,t))return;this.line.push(new v.Point(i,t))}else this.line&&0<this.line.length&&this._pushLine();else if(s||(i<this.xmin&&(i=this.xmin),i>this.xmax&&(i=this.xmax),t<this.ymin&&(t=this.ymin),t>this.ymax&&(t=this.ymax)),i=Math.round((i-(this.xmin+this.margin))*this.finalRatio),t=Math.round((t-(this.ymin+this.margin))*this.finalRatio),this.line&&0<this.line.length){var e=(h=this.line[this.line.length-1]).x===i,l=h.y===t;if(e&&l)return;this._is_h&&e?(h.x=i,h.y=t,(n=this.line[this.line.length-2]).x===i&&n.y===t?(this.line.pop(),this.line.length<=1?(this._is_h=!1,this._is_v=!1):(n=this.line[this.line.length-2],this._is_h=n.x===i,this._is_v=n.y===t)):(this._is_h=n.x===i,this._is_v=n.y===t)):this._is_v&&l?(h.x=i,h.y=t,(n=this.line[this.line.length-2]).x===i&&n.y===t?(this.line.pop(),this.line.length<=1?(this._is_h=!1,this._is_v=!1):(n=this.line[this.line.length-2],this._is_h=n.x===i,this._is_v=n.y===t)):(this._is_h=n.x===i,this._is_v=n.y===t)):(this.line.push(new v.Point(i,t)),this._is_h=e,this._is_v=l)}else this.line.push(new v.Point(i,t))},i}();t.TileClipper=s;var h=function(){function i(){}return i.prototype.setExtent=function(i){this._ratio=4096===i?1:4096/i},i.prototype.reset=function(i){this.type=i,this.lines=[],this.line=null},i.prototype.moveTo=function(i,t){this.line&&this.lines.push(this.line),this.line=[];var s=this._ratio;this.line.push(new v.Point(Math.round(i*s),Math.round(t*s)))},i.prototype.lineTo=function(i,t){var s=this._ratio;this.line.push(new v.Point(Math.round(i*s),Math.round(t*s)))},i.prototype.close=function(){var i=this.line;i&&!i[0].isEqual(i[i.length-1])&&i.push(i[0])},i.prototype.result=function(){return this.line&&this.lines.push(this.line),0===this.lines.length?null:(3===this.type&&1!==this._ratio&&n.simplify(4096,64,this.lines),this.lines)},i}();t.SimpleBuilder=h;var n=function(){function v(){}return v.simplify=function(i,t,s){if(s){for(var h=-t,n=i+t,e=-t,l=i+t,x=[],a=[],r=s.length,y=0;y<r;++y){var o=s[y];if(o&&!(o.length<2))for(var p=o[0],u=void 0,m=o.length,_=1;_<m;++_)u=o[_],p.x===u.x&&(p.x<=h&&(p.y>u.y?(x.push(y),x.push(_),x.push(0),x.push(-1)):(a.push(y),a.push(_),a.push(0),a.push(-1))),p.x>=n&&(p.y<u.y?(x.push(y),x.push(_),x.push(1),x.push(-1)):(a.push(y),a.push(_),a.push(1),a.push(-1)))),p.y===u.y&&(p.y<=e&&(p.x<u.x?(x.push(y),x.push(_),x.push(2),x.push(-1)):(a.push(y),a.push(_),a.push(2),a.push(-1))),p.y>=l&&(p.x>u.x?(x.push(y),x.push(_),x.push(3),x.push(-1)):(a.push(y),a.push(_),a.push(3),a.push(-1)))),p=u}if(0!==x.length&&0!==a.length){v.fillParent(s,a,x),v.fillParent(s,x,a);var f=[];v.calcDeltas(f,a,x),v.calcDeltas(f,x,a),v.addDeltas(f,s)}}},v.fillParent=function(i,t,s){for(var h=s.length,n=t.length,e=0;e<n;e+=4){for(var l=t[e],x=t[e+1],a=t[e+2],r=i[l][x-1],y=i[l][x],o=8092,p=-1,u=0;u<h;u+=4)if(s[u+2]===a){var m=s[u],_=s[u+1],f=i[m][_-1],v=i[m][_];switch(a){case 0:case 1:if(g.between(r.y,f.y,v.y)&&g.between(y.y,f.y,v.y))(c=Math.abs(v.y-f.y))<o&&(o=c,p=u);break;case 2:case 3:var c;if(g.between(r.x,f.x,v.x)&&g.between(y.x,f.x,v.x))(c=Math.abs(v.x-f.x))<o&&(o=c,p=u)}}t[e+3]=p}},v.calcDeltas=function(i,t,s){for(var h=t.length,n=0;n<h;n+=4){var e=v.calcDelta(n,t,s,[]);i.push(t[n]),i.push(t[n+1]),i.push(t[n+2]),i.push(e)}},v.calcDelta=function(i,t,s,h){var n=t[i+3];if(-1===n)return 0;var e=h.length;return 1<e&&h[e-2]===n?0:(h.push(n),v.calcDelta(n,s,t,h)+1)},v.addDeltas=function(i,t){for(var s=i.length,h=0,n=0;n<s;n+=4){h<(x=i[n+3])&&(h=x)}for(n=0;n<s;n+=4){var e=t[i[n]],l=i[n+1],x=h-i[n+3];switch(i[n+2]){case 0:e[l-1].x-=x,e[l].x-=x,1===l&&(e[e.length-1].x-=x),l===e.length-1&&(e[0].x-=x);break;case 1:e[l-1].x+=x,e[l].x+=x,1===l&&(e[e.length-1].x+=x),l===e.length-1&&(e[0].x+=x);break;case 2:e[l-1].y-=x,e[l].y-=x,1===l&&(e[e.length-1].y-=x),l===e.length-1&&(e[0].y-=x);break;case 3:e[l-1].y+=x,e[l].y+=x,1===l&&(e[e.length-1].y+=x),l===e.length-1&&(e[0].y+=x)}}},v}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/tsSupport/assignHelper\",\"./enums\",\"./WGLContainer\",\"./brushes/WGLBrushInfo\",\"./brushes/WGLBrushStencil\"],function(e,r,t,n,o,s,l,i){Object.defineProperty(r,\"__esModule\",{value:!0}),r.sortByLevel=function(e,r){return e.key.level-r.key.level!=0?e.key.level-r.key.level:e.key.row-r.key.row!=0?e.key.row-r.key.row:e.key.col-r.key.col};var a=function(s){function e(e,r){var t=s.call(this,r)||this;return t._tileInfoView=e,t}return t(e,s),e.prototype.renderChildren=function(e){this.sortChildren(r.sortByLevel),this.setStencilReference(),s.prototype.renderChildren.call(this,e)},e.prototype.createRenderParams=function(e){var r=e.state;return n({},s.prototype.createRenderParams.call(this,e),{requiredLevel:this._tileInfoView.getClosestInfoForScale(r.scale).level,displayLevel:this._tileInfoView.tileInfo.scaleToZoom(r.scale)})},e.prototype.prepareRenderPasses=function(e){var r=this,t=e.registerRenderPass({name:\"stencil\",brushes:[i.default],drawPhase:o.WGLDrawPhase.DEBUG|o.WGLDrawPhase.MAP,target:function(){return r.children}}),n=e.registerRenderPass({name:\"tileInfo\",brushes:[l.default],drawPhase:o.WGLDrawPhase.DEBUG,target:function(){return r.children},has:\"esri-tiles-debug\"});return s.prototype.prepareRenderPasses.call(this,e).concat([t,n])},e.prototype.updateTransforms=function(e){for(var r=0,t=this.children;r<t.length;r++){var n=t[r],s=this._tileInfoView.getTileResolution(n.key);n.setTransform(e,s)}},e.prototype.setStencilReference=function(){for(var e=1,r=0,t=this.children;r<t.length;r++){t[r].stencilRef=e++}},e}(s.default);r.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./MemoryRequirements\",\"./TileBufferData\",\"./TileDisplayData\",\"./Utils\",\"./Utils\",\"./WGLDisplayObject\",\"./WGLDisplayRecord\",\"./mesh/VertexBuffer\",\"./util/Reader\",\"./util/serializationUtils\",\"./util/Writer\"],function(e,t,r,A,F,_,z,i,B,s,f,l,a){Object.defineProperty(t,\"__esModule\",{value:!0});var R=new r.default,C=new r.default;function c(e,t){var r={};for(var a in e){var i={data:z.allocateTypedArrayBuffer(t,e[a]),stride:e[a]};r[a]=i}return r}var n=function(){function O(){this.tileDisplayData=null,this.tileBufferData=null}return O.prototype.reshuffle=function(){R.reset();for(var e=F.groupRecordsByGeometryType(this.tileDisplayData.displayObjects),t=0,r=e;t<r.length;t++)for(var a=0,i=h=r[t];a<i.length;a++){(c=i[a])&&R.needMore(c.geometryType,c.meshData?c.meshData.vertexCount:c.vertexCount,c.meshData?c.meshData.indexData.length:c.indexCount)}for(var s=e.length,f=new A,l=0;l<s;++l){f.geometries[l].indexBuffer=new Uint32Array(Math.round(1.15*R.indicesFor(l)));var n=[];for(var u in this.tileBufferData.geometries[l].vertexBuffer)n.push(this.tileBufferData.geometries[l].vertexBuffer[u].stride);var o=O._computeVertexAlignment(n),d=Math.round(1.15*R.verticesFor(l)),D=O._align(d,o);for(var p in this.tileBufferData.geometries[l].vertexBuffer){var v=this.tileBufferData.geometries[l].vertexBuffer[p].stride;f.geometries[l].vertexBuffer[p]={stride:v,data:z.allocateTypedArrayBuffer(D,v)}}}C.reset(),this.tileDisplayData.displayList.clear();for(l=0;l<s;++l){for(var h,y=0,B=h=e[l];y<B.length;y++){var c;if((c=B[y]).meshData)c.writeMeshDataToBuffers(C.verticesFor(l),f.geometries[l].vertexBuffer,C.indicesFor(l),f.geometries[l].indexBuffer),c.meshData=null;else{var g=this.tileBufferData.geometries[l].vertexBuffer,m=this.tileBufferData.geometries[l].indexBuffer,x=f.geometries[l].vertexBuffer,M=f.geometries[l].indexBuffer,w=C.verticesFor(l),b=C.indicesFor(l);_.copyMeshData(w,b,x,M,c,g,m),c.vertexFrom=w,c.indexFrom=b}C.needMore(l,c.vertexCount,c.indexCount)}this.tileDisplayData.displayList.unified||this.tileDisplayData.displayList.addToList(h)}if(this.tileDisplayData.displayList.unified)for(var T=0,L=this.tileDisplayData.displayObjects;T<L.length;T++){var j=L[T];this.tileDisplayData.displayList.addToList(j.displayRecords)}this.tileBufferData=f},O.prototype.getStrides=function(){for(var e=[],t=0;t<this.tileBufferData.geometries.length;++t){var r=this.tileBufferData.geometries[t];for(var a in e[t]={},r.vertexBuffer)e[t][a]=r.vertexBuffer[a].stride}return e},O.prototype.clone=function(){var e=new O;return e.tileBufferData=this.tileBufferData.clone(),e.tileDisplayData=this.tileDisplayData.clone(),e},O.prototype._guessSize=function(){for(var e=this.tileDisplayData.displayObjects,t=Math.min(e.length,4),r=0,a=0;a<t;a++)r=Math.max(r,e[a].displayRecords.length);return 2*(12*e.length+e.length*r*40)},O.prototype.serialize=function(){var e=this.tileBufferData.serialize(),t=this.tileBufferData.getBuffers(),r=this.tileDisplayData.serialize(new a.default(Int32Array,this._guessSize())).buffer();return t.push(r),{result:{displayData:r,bufferData:e},transferList:t}},O.decode=function(e){var t=l.deserializeList(new f.default(e.displayObjects),i),r={};for(var a in e.vertexBuffersMap)r[a]=s.VertexBuffers.decode(e.vertexBuffersMap[a]);return O.fromMeshData({displayObjects:t,vertexBuffersMap:r})},O.fromMeshData=function(e){var t=new O,r=new F.default,a=new A;for(var i in r.displayObjects=e.displayObjects,e.vertexBuffersMap){var s=e.vertexBuffersMap[i];a.geometries[i].indexBuffer=s.indexBuffer,a.geometries[i].vertexBuffer=s.namedBuffers}return t.tileDisplayData=r,t.tileBufferData=a,t},O.bind=function(e,t){var r=new O;return r.tileDisplayData=e,r.tileBufferData=t,r},O.create=function(e,t){var r=new O;r.tileDisplayData=new F.default;for(var a=[0,0,0,0,0],i=[0,0,0,0,0],s=[[],[],[],[],[]],f=0,l=r.tileDisplayData.displayObjects=e;f<l.length;f++)for(var n=0,u=l[f].displayRecords;n<u.length;n++){var o=u[n];s[o.geometryType].push(o),a[o.geometryType]+=o.meshData.vertexCount,i[o.geometryType]+=o.meshData.indexData.length}for(var d,D=new A,p=[(d=t).fill||{},d.line||{},d.icon||{},d.text||{},d.label||{}],v=0;v<5;v++){var h=new Uint32Array(i[v]),y=c(p[v],a[v]);B.writeAllMeshDataToBuffers(s[v],y,h),D.geometries[v]={indexBuffer:h,vertexBuffer:y}}return r.tileBufferData=D,r},O._align=function(e,t){var r=e%t;return 0===r?e:e+(t-r)},O._computeVertexAlignment=function(e){for(var t=!1,r=!1,a=0,i=e;a<i.length;a++){var s=i[a];s%4==2?t=!0:s%4!=0&&(r=!0)}return r?4:t?2:1},O}();t.TileData=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./WGLDisplayList\",\"./WGLDisplayObject\",\"./util/serializationUtils\"],function(e,t,y,n,s){function d(e){for(var t=[[],[],[],[],[]],i=0,s=e;i<s.length;i++)for(var r=0,a=s[i].displayRecords;r<a.length;r++){var n=a[r];t[n.geometryType].push(n)}return t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.groupRecordsByGeometryType=d;var i=function(){function i(){}return Object.defineProperty(i.prototype,\"displayObjectRegistry\",{get:function(){if(!this._displayObjectRegistry){this._displayObjectRegistry=new Map;for(var e=0,t=this.displayObjects;e<t.length;e++){var i=t[e];this._displayObjectRegistry.set(i.id,i)}}return this._displayObjectRegistry},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,\"displayList\",{get:function(){return this._displayList},enumerable:!0,configurable:!0}),i.prototype.computeDisplayList=function(e){if(this._displayList=new y(e),e)for(var t=0,i=this.displayObjects;t<i.length;t++)for(var s=0,r=i[t].displayRecords;s<r.length;s++){var a=r[s];this._displayList.addToList(a)}else for(var n=d(this.displayObjects),l=n.length,o=0;o<l;++o){var p=n[o];this._displayList.addToList(p)}},i.prototype.clone=function(){var e=new i;return this.displayObjects&&(e.displayObjects=this.displayObjects.map(function(e){return e.clone()})),e},i.prototype.serialize=function(e){return s.serializeList(e,this.displayObjects),e},i.prototype._deserializeObjects=function(e){for(var t=e.readInt32(),i=new Array(t),s=new Map,r=0;r<i.length;++r){var a=n.deserialize(e);i[r]=a,s.set(a.id,a)}this.displayObjects=i,this._displayList=null,this._displayObjectRegistry=s},i.deserialize=function(e){var t=new i;return t._deserializeObjects(e),t},i}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/has\",\"../../../../core/libs/gl-matrix-2/mat3\",\"../../../../core/libs/gl-matrix-2/mat3f32\",\"../DisplayObject\",\"../../tiling/TileKey\"],function(e,t,o,u,c,n,r,l){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(s){function e(e,t,o,r){void 0===r&&(r=o);var i=s.call(this)||this;return i.transforms={dvs:n.mat3f32.create(),tileMat3:n.mat3f32.create()},i.triangleCount=0,i.key=l.pool.acquire(e),i.bounds=t,i.size=o,i.coordRange=r,i}return o(e,s),e.prototype.destroy=function(){l.pool.release(this.key),this.key=null,this.texture&&(this.texture.dispose(),this.texture=null)},Object.defineProperty(e.prototype,\"coords\",{get:function(){return this._coords},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"bounds\",{get:function(){return this._bounds},set:function(e){this._coords=[e[0],e[3]],this._bounds=e},enumerable:!0,configurable:!0}),e.prototype.setTransform=function(e,t){u(\"esri-2d-debug\")&&null==t&&console.debug(\"Tried to set tile transform but lod resolution was null\");var o=t/(e.resolution*e.pixelRatio),r=this.transforms.tileMat3,i=e.toScreenNoRotation([0,0],this.coords),s=i[0],n=i[1],l=this.size[0]/this.coordRange[0]*o,a=this.size[1]/this.coordRange[1]*o;c.mat3.set(r,l,0,0,0,a,0,s,n,1),c.mat3.multiply(this.transforms.dvs,e.displayViewMat3,r)},e}(r.DisplayObject);t.TiledDisplayObject=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../symbols/cim/enums\",\"./mesh/templates/util\"],function(t,e,w,r){Object.defineProperty(e,\"__esModule\",{value:!0});var x,i=function(){this.closed=void 0,this.isFirstVertex=void 0,this.isLastVertex=void 0,this.isCap=void 0,this.currentVertex={x:void 0,y:void 0},this.inbound={x:void 0,y:void 0},this.outbound={x:void 0,y:void 0},this.prevNormal={x:void 0,y:void 0},this.nextNormal={x:void 0,y:void 0},this.bisector={x:void 0,y:void 0},this.leftInner={x:void 0,y:void 0},this.rightInner={x:void 0,y:void 0},this.leftOuter={x:void 0,y:void 0},this.rightOuter={x:void 0,y:void 0}};function T(){if(h.cosine<a.innerBisectorAutoSplitThreshold){h.splitInner=!0,h.gapInner=!0;var t=Math.max(a.innerBisectorAutoSplitThreshold,h.cosine),e=Math.sqrt(1-t*t)/t;h.leftInner.x=h.nextNormal.x+h.sign*e*h.outbound.x,h.leftInner.y=h.nextNormal.y+h.sign*e*h.outbound.y,h.rightInner.x=h.prevNormal.x-h.sign*e*h.inbound.x,h.rightInner.y=h.prevNormal.y-h.sign*e*h.inbound.y}else a.enableInnerBisectorSplit&&(h.splitInner=!0,h.gapInner=!1,h.leftInner.x=h.rightInner.x=h.bisector.x/h.cosine,h.leftInner.y=h.rightInner.y=h.bisector.y/h.cosine);if(h.cosine<a.outerBisectorAutoSplitThreshold){h.splitOuter=!0,h.gapOuter=!0;t=Math.max(a.outerBisectorAutoSplitThreshold,h.cosine),e=Math.sqrt(1-t*t)/t;h.leftOuter.x=h.prevNormal.x-h.sign*e*h.inbound.x,h.leftOuter.y=h.prevNormal.y-h.sign*e*h.inbound.y,h.rightOuter.x=h.nextNormal.x+h.sign*e*h.outbound.x,h.rightOuter.y=h.nextNormal.y+h.sign*e*h.outbound.y}else a.enableOuterBisectorSplit&&(h.splitOuter=!0,h.gapOuter=!1,h.leftOuter.x=h.rightOuter.x=h.bisector.x/h.cosine,h.leftOuter.y=h.rightOuter.y=h.bisector.y/h.cosine)}e.TessellationState=i,e.tessellate=function(t,e,r){a.trackDistance=null!=e.trackDistance&&e.trackDistance,a.wrapDistance=null!=e.wrapDistance?e.wrapDistance:65535,a.thin=null!=e.thin&&e.thin,a.initialDistance=null!=e.initialDistance?e.initialDistance:0,a.enableOuterBisectorSplit=null!=e.enableOuterBisectorSplit&&e.enableOuterBisectorSplit,a.outerBisectorAutoSplitThreshold=null!=e.outerBisectorAutoSplitThreshold?e.outerBisectorAutoSplitThreshold:0,a.enableInnerBisectorSplit=null!=e.enableOuterBisectorSplit&&e.enableOuterBisectorSplit,a.innerBisectorAutoSplitThreshold=null!=e.innerBisectorAutoSplitThreshold?e.innerBisectorAutoSplitThreshold:0,x=t,o=r,u=s=d=0,l=!1,y=c=null,h.currentVertex.x=null,h.currentVertex.y=null,h.distance=a.initialDistance;var i=x[0],n=x[x.length-1];h.canSplit=!1,h.closed=i.x===n.x&&i.y===n.y,x.length<2||2===x.length&&h.closed||(a.thin?a.trackDistance?function(){for(b(),p(),f(1);s-u>a.wrapDistance||d<x.length;)b(),p(),f(2),o.bridge(h),h.leftExit0=h.rightExit0,h.leftExit2=h.rightExit2}():function(){for(;d<x.length;){if(0<d&&(h.inbound.x=h.outbound.x,h.inbound.y=h.outbound.y),d<x.length-1){h.outbound.x=x[d+1].x-x[d].x,h.outbound.y=x[d+1].y-x[d].y;var t=Math.sqrt(h.outbound.x*h.outbound.x+h.outbound.y*h.outbound.y);h.distance+=t,h.outbound.x/=t,h.outbound.y/=t}else h.outbound.x=h.inbound.x,h.outbound.y=h.inbound.y;0===d&&(h.inbound.x=h.outbound.x,h.inbound.y=h.outbound.y),h.currentVertex.x=x[d].x,h.currentVertex.y=x[d].y,h.prevNormal.x=-h.inbound.y,h.prevNormal.y=h.inbound.x,h.nextNormal.x=-h.outbound.y,h.nextNormal.y=h.outbound.x,h.leftExit2=0===d?(o.vertex(h),h.leftEntry0=h.entry0,h.leftEntry2=h.entry2,h.leftExit0=h.exit0,h.exit2):(o.vertex(h),h.rightEntry0=h.entry0,h.rightEntry2=h.entry2,h.rightExit0=h.exit0,h.rightExit2=h.exit2,o.bridge(h),h.leftExit0=h.rightExit0,h.rightExit2),++d}}():a.enableOuterBisectorSplit||0<a.outerBisectorAutoSplitThreshold||a.enableInnerBisectorSplit||0<a.innerBisectorAutoSplitThreshold?(h.canSplit=!0,function(){for(b(),V(),h.splitInner=h.gapInner=h.splitOuter=h.gapOuter=!1,g(1),h.closure0=h.leftEntry0,h.closure1=h.leftEntry1,h.closure2=h.leftEntry2;s-u>a.wrapDistance||d<x.length-1||d<x.length&&(!h.closed||a.trackDistance);)b(),V(),h.splitInner=h.gapInner=h.splitOuter=h.gapOuter=!1,g(2),o.bridge(h),h.leftExit0=h.rightExit0,h.leftExit1=h.rightExit1,h.leftExit2=h.rightExit2;h.closed&&!a.trackDistance&&(h.rightEntry0=h.closure0,h.rightEntry1=h.closure1,h.rightEntry2=h.closure2,o.bridge(h),h.leftExit0=h.rightExit0,h.leftExit1=h.rightExit1,h.leftExit2=h.rightExit2)}()):function(){for(b(),V(),g(1),h.closure0=h.leftEntry0,h.closure1=h.leftEntry1,h.closure2=h.leftEntry2;s-u>a.wrapDistance||d<x.length-1||d<x.length&&(!h.closed||a.trackDistance);)b(),V(),g(2),o.bridge(h),h.leftExit0=h.rightExit0,h.leftExit1=h.rightExit1,h.leftExit2=h.rightExit2;h.closed&&!a.trackDistance&&(h.rightEntry0=h.closure0,h.rightEntry1=h.closure1,h.rightEntry2=h.closure2,o.bridge(h),h.leftExit0=h.rightExit0,h.leftExit1=h.rightExit1,h.leftExit2=h.rightExit2)}())},e.cleanup=function(){o=x=null},e.splitVertex=T;var o,s,u,l,c,y,a={},d=void 0,h=new i;function b(){if(l)return h.distance=0,h.isCap=h.isFirstVertex=h.isLastVertex=!1,void(l=!1);if(0===s)if(h.isFirstVertex=0===d,y=x[d],0===d){if(s=0,h.closed){h.inbound.x=y.x-x[x.length-2].x,h.inbound.y=y.y-x[x.length-2].y;var t=Math.sqrt(h.inbound.x*h.inbound.x+h.inbound.y*h.inbound.y);h.inbound.x/=t,h.inbound.y/=t}}else h.inbound.x=y.x-c.x,h.inbound.y=y.y-c.y,s=Math.sqrt(h.inbound.x*h.inbound.x+h.inbound.y*h.inbound.y),h.inbound.x/=s,h.inbound.y/=s;if(h.distance+s-u<=a.wrapDistance){if(d<x.length-1){h.outbound.x=x[d+1].x-y.x,h.outbound.y=x[d+1].y-y.y;var e=Math.sqrt(h.outbound.x*h.outbound.x+h.outbound.y*h.outbound.y);h.outbound.x/=e,h.outbound.y/=e}else if(h.closed){h.outbound.x=x[1].x-y.x,h.outbound.y=x[1].y-y.y;e=Math.sqrt(h.outbound.x*h.outbound.x+h.outbound.y*h.outbound.y);h.outbound.x/=e,h.outbound.y/=e}else h.outbound.x=h.inbound.x,h.outbound.y=h.inbound.y;return 0!==d||h.closed||(h.inbound.x=h.outbound.x,h.inbound.y=h.outbound.y),++d,h.isLastVertex=d===x.length,h.isCap=!h.closed&&(h.isFirstVertex||h.isLastVertex),h.distance+=s-u,u=s=0,l=h.distance+s-u===a.wrapDistance,h.currentVertex.x=y.x,h.currentVertex.y=y.y,c=y,void(y=null)}h.outbound.x=h.inbound.x,h.outbound.y=h.inbound.y,u+=a.wrapDistance-h.distance,h.distance=a.wrapDistance,l=!0;var r=u/s;h.currentVertex.x=(1-r)*c.x+r*y.x,h.currentVertex.y=(1-r)*c.y+r*y.y}function p(){h.prevNormal.x=-h.inbound.y,h.prevNormal.y=h.inbound.x,h.nextNormal.x=-h.outbound.y,h.nextNormal.y=h.outbound.x}function V(){p(),h.bisector.x=h.prevNormal.x+h.nextNormal.x,h.bisector.y=h.prevNormal.y+h.nextNormal.y;var t=Math.sqrt(h.bisector.x*h.bisector.x+h.bisector.y*h.bisector.y);if(t<.001)return h.bisector.x=void 0,h.bisector.y=void 0,h.cosine=0,void(h.sign=void 0);h.bisector.x/=t,h.bisector.y/=t,h.cosine=h.bisector.x*h.nextNormal.x+h.bisector.y*h.nextNormal.y,h.sign=0<=h.prevNormal.x*h.nextNormal.y-h.prevNormal.y*h.nextNormal.x?1:-1}function g(t){o.vertex(h),1===t?(h.leftEntry0=h.entry0,h.leftEntry1=h.entry1,h.leftEntry2=h.entry2,h.leftExit0=h.exit0,h.leftExit1=h.exit1,h.leftExit2=h.exit2):2===t&&(h.rightEntry0=h.entry0,h.rightEntry1=h.entry1,h.rightEntry2=h.entry2,h.rightExit0=h.exit0,h.rightExit1=h.exit1,h.rightExit2=h.exit2)}function f(t){o.vertex(h),1===t?(h.leftEntry0=h.entry0,h.leftEntry2=h.entry2,h.leftExit0=h.exit0,h.leftExit2=h.exit2):2===t&&(h.rightEntry0=h.entry0,h.rightEntry2=h.entry2,h.rightExit0=h.exit0,h.rightExit2=h.exit2)}var n=function(){function t(t,e){this.writeVertex=t,this.writeTriangle=e,this.capType=w.CapType.BUTT,this.joinType=w.JoinType.MITER,this.miterLimitCosine=r.getLimitCosine(2),this.roundLimitCosine=Math.cos(23*Math.PI/180),this.almostParallelCosine=.97,this.radsPerSlice=.8,this.textured=!1,this.joinOnUTurn=!1}return t.prototype.vertex=function(t){var e=this.joinType===w.JoinType.MITER?this.miterLimitCosine:this.roundLimitCosine,r=t.isCap&&this.capType!==w.CapType.BUTT,i=!1;t.cosine>this.almostParallelCosine?(t.exit0=t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.bisector.x/t.cosine,t.bisector.y/t.cosine,0,-1,t.distance),t.exit2=t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.bisector.x/t.cosine,-t.bisector.y/t.cosine,0,1,t.distance)):t.cosine<1-this.almostParallelCosine?(i=!t.isCap&&this.joinOnUTurn,t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x,t.prevNormal.y,0,-1,t.distance),t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x,-t.prevNormal.y,0,1,t.distance),t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.nextNormal.x,t.nextNormal.y,0,-1,t.distance),t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.nextNormal.x,-t.nextNormal.y,0,1,t.distance)):t.canSplit?(T(),0<t.sign?(t.splitInner?(t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.outbound.x,t.outbound.y,t.leftInner.x,t.leftInner.y,0,-1,t.distance),t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,t.rightInner.x,t.rightInner.y,0,-1,t.distance)):t.exit0=t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,t.bisector.x/t.cosine,t.bisector.y/t.cosine,0,-1,t.distance),t.cosine<e?(i=!t.isCap,t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x,-t.prevNormal.y,0,1,t.distance),t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.nextNormal.x,-t.nextNormal.y,0,1,t.distance)):t.splitOuter?(i=i||t.gapOuter,t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,-t.leftOuter.x,-t.leftOuter.y,0,1,t.distance),t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.outbound.x,t.outbound.y,-t.rightOuter.x,-t.rightOuter.y,0,1,t.distance)):t.entry2=t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.bisector.x/t.cosine,-t.bisector.y/t.cosine,0,1,t.distance)):(t.splitInner?(t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.outbound.x,t.outbound.y,-t.leftInner.x,-t.leftInner.y,0,1,t.distance),t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,-t.rightInner.x,-t.rightInner.y,0,1,t.distance)):t.exit2=t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.bisector.x/t.cosine,-t.bisector.y/t.cosine,0,1,t.distance),t.cosine<e?(i=!t.isCap,t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x,t.prevNormal.y,0,-1,t.distance),t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.nextNormal.x,t.nextNormal.y,0,-1,t.distance)):t.splitOuter?(i=i||t.gapOuter,t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,t.leftOuter.x,t.leftOuter.y,0,-1,t.distance),t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.outbound.x,t.outbound.y,t.rightOuter.x,t.rightOuter.y,0,-1,t.distance)):t.exit0=t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.bisector.x/t.cosine,t.bisector.y/t.cosine,0,-1,t.distance))):0<t.sign?(t.exit0=t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,t.inbound.x,t.inbound.y,t.bisector.x/t.cosine,t.bisector.y/t.cosine,0,-1,t.distance),t.cosine<e?(i=!t.isCap,t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x,-t.prevNormal.y,0,1,t.distance),t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.nextNormal.x,-t.nextNormal.y,0,1,t.distance)):t.entry2=t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.bisector.x/t.cosine,-t.bisector.y/t.cosine,0,1,t.distance)):(t.exit2=t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.bisector.x/t.cosine,-t.bisector.y/t.cosine,0,1,t.distance),t.cosine<e?(i=!t.isCap,t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x,t.prevNormal.y,0,-1,t.distance),t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.nextNormal.x,t.nextNormal.y,0,-1,t.distance)):t.exit0=t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.bisector.x/t.cosine,t.bisector.y/t.cosine,0,-1,t.distance));var n,x=t.canSplit&&(t.splitInner||t.splitOuter);if(n=t.entry1=t.exit1=x||i||r?this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,0,0,0,0,t.distance):null,i&&this.joinType!==w.JoinType.ROUND)this.writeTriangle(n,0<t.sign?t.exit2:t.entry0,0<t.sign?t.entry2:t.exit0);else if(r&&this.capType===w.CapType.ROUND||i&&this.joinType===w.JoinType.ROUND){var o,s=void 0,u=void 0,l=void 0,c=void 0,y=void 0,a=void 0;if(t.isCap)a=(o=Math.PI)/(y=Math.ceil(o/this.radsPerSlice)),t.isFirstVertex?(s=t.prevNormal.x,u=t.prevNormal.y,l=t.entry0,c=t.entry2):t.isLastVertex&&(s=-t.nextNormal.x,u=-t.nextNormal.y,l=t.exit2,c=t.exit0);else a=(o=2*Math.acos(t.cosine))/(y=Math.ceil(o/this.radsPerSlice)),s=0<t.sign?-t.prevNormal.x:t.nextNormal.x,u=0<t.sign?-t.prevNormal.y:t.nextNormal.y,l=0<t.sign?t.entry2:t.exit0,c=0<t.sign?t.exit2:t.entry0;var d,h=Math.cos(a),b=Math.sin(a),p=b*s+h*u;s=h*s-b*u,u=p;for(var V=void 0,g=0;g<y;++g){if(d=V,g<y-1)if(t.isCap){var f=t.isFirstVertex?-1:1;V=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,s,u,f,0,t.distance)}else V=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,s,u,0,t.sign,t.distance);this.writeTriangle(0===g?l:d,n,g===y-1?c:V);var E=b*s+h*u;s=h*s-b*u,u=E}}else if(r&&this.capType===w.CapType.SQUARE){var v=t.isFirstVertex?1:-1,m=void 0,N=void 0;N=this.textured?(m=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x-v*t.inbound.x,t.prevNormal.y-v*t.inbound.y,-v,-1,t.distance),this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x-v*t.inbound.x,-t.prevNormal.y-v*t.inbound.y,-v,1,t.distance)):(m=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x-v*t.inbound.x,t.prevNormal.y-v*t.inbound.y,0,-1,t.distance),this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x-v*t.inbound.x,-t.prevNormal.y-v*t.inbound.y,0,1,t.distance)),0<v?(this.writeTriangle(n,t.entry2,N),this.writeTriangle(n,N,m),this.writeTriangle(n,m,t.entry0)):(this.writeTriangle(n,N,t.exit2),this.writeTriangle(n,m,N),this.writeTriangle(n,t.exit0,m))}},t.prototype.bridge=function(t){this.writeTriangle(t.leftExit0,t.rightEntry0,null!=t.leftExit1?t.leftExit1:t.leftExit2),this.writeTriangle(t.rightEntry0,null!=t.rightEntry1?t.rightEntry1:t.rightEntry2,null!=t.leftExit1?t.leftExit1:t.leftExit2),null!=t.leftExit1&&null!=t.rightEntry1?(this.writeTriangle(t.leftExit1,t.rightEntry1,t.leftExit2),this.writeTriangle(t.rightEntry1,t.rightEntry2,t.leftExit2)):null!=t.leftExit1?this.writeTriangle(t.leftExit1,t.rightEntry2,t.leftExit2):null!=t.rightEntry1&&this.writeTriangle(t.rightEntry1,t.rightEntry2,t.leftExit2)},t}();e.StandardTessellationCallbacks=n;var E=function(){function t(t,e){this.writeVertex=t,this.writeTriangle=e}return t.prototype.vertex=function(t){t.entry0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.prevNormal.x,t.prevNormal.y,0,-1,t.distance),t.entry2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.prevNormal.x,-t.prevNormal.y,0,1,t.distance),t.exit0=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,t.nextNormal.x,t.nextNormal.y,0,-1,t.distance),t.exit2=this.writeVertex(t.currentVertex.x,t.currentVertex.y,0,0,-t.nextNormal.x,-t.nextNormal.y,0,1,t.distance)},t.prototype.bridge=function(t){this.writeTriangle(t.leftExit0,t.rightEntry0,t.leftExit2),this.writeTriangle(t.rightEntry0,t.rightEntry2,t.leftExit2)},t}();e.ThinTessellationCallbacks=E});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/Error\",\"../../../../core/Logger\",\"../../../../core/mathUtils\",\"../../../../core/screenUtils\",\"../../../../symbols/cim/enums\",\"../../../webgl\",\"./color\",\"./enums\",\"./SymbolProperties\"],function(e,t,o,n,r,a,i,s,u,c,E,_){var T;Object.defineProperty(t,\"__esModule\",{value:!0});u.enums.Usage,u.enums.DataType,u.enums.TextureType,u.enums.PixelFormat,u.enums.PixelType,u.enums.TextureWrapMode,u.enums.TextureSamplingMode;var p=r.getLogger(\"esri.views.2d.engine.webgl.Utils\");function l(e){for(var r={},t=0,n=e;t<n.length;t++){var a=n[t];r[a.name]=a.strideInBytes}return r}t.C_VBO_GEOMETRY=\"geometry\",t.C_VBO_PERINSTANCE=\"per_instance\",t.C_VBO_PERINSTANCE_VV=\"per_instance_vv\",t.C_ICON_VERTEX_DEF=[{name:t.C_VBO_GEOMETRY,strideInBytes:32,divisor:0}],t.C_FILL_VERTEX_DEF=[{name:t.C_VBO_GEOMETRY,strideInBytes:32,divisor:0}],t.C_FILL_VERTEX_DEF_DD=[{name:t.C_VBO_GEOMETRY,strideInBytes:12,divisor:0}],t.C_LINE_VERTEX_DEF=[{name:t.C_VBO_GEOMETRY,strideInBytes:36,divisor:0}],t.C_TEXT_VERTEX_DEF=[{name:t.C_VBO_GEOMETRY,strideInBytes:24,divisor:0}],t.C_LABEL_VERTEX_DEF=[{name:t.C_VBO_GEOMETRY,strideInBytes:28,divisor:0}],t.C_ICON_STRIDE_SPEC=l(t.C_ICON_VERTEX_DEF),t.C_FILL_STRIDE_SPEC=l(t.C_FILL_VERTEX_DEF),t.C_FILL_STRIDE_SPEC_DD=l(t.C_FILL_VERTEX_DEF_DD),t.C_LINE_STRIDE_SPEC=l(t.C_LINE_VERTEX_DEF),t.C_TEXT_STRIDE_SPEC=l(t.C_TEXT_VERTEX_DEF),t.C_LABEL_STRIDE_SPEC=l(t.C_LABEL_VERTEX_DEF),t.getStrides=function(e,r){switch(e){case E.WGLGeometryType.MARKER:return t.C_ICON_STRIDE_SPEC;case E.WGLGeometryType.FILL:return r?t.C_FILL_STRIDE_SPEC_DD:t.C_FILL_STRIDE_SPEC;case E.WGLGeometryType.LINE:return t.C_LINE_STRIDE_SPEC;case E.WGLGeometryType.TEXT:return t.C_TEXT_STRIDE_SPEC;case E.WGLGeometryType.LABEL:return t.C_LABEL_STRIDE_SPEC}return null};var y=[t.C_VBO_GEOMETRY],f=[t.C_VBO_GEOMETRY],C=[t.C_VBO_GEOMETRY],m=[t.C_VBO_GEOMETRY],d=[t.C_VBO_GEOMETRY];function v(e){switch(e){case E.WGLGeometryType.MARKER:return y;case E.WGLGeometryType.FILL:return f;case E.WGLGeometryType.LINE:return C;case E.WGLGeometryType.TEXT:return m;case E.WGLGeometryType.LABEL:return d}return null}function L(e){switch(e%4){case 0:case 2:return 4;case 1:case 3:return 1}}function R(e){return\"string\"==typeof e}function g(e){switch(e){case 5120:case 5121:return 1;case 5122:case 5123:return 2;case 5126:case 5124:case 5125:return 4}}t.getNamedBuffers=v,t.strideToPackingFactor=L,t.allocateTypedArrayBuffer=function(e,r){switch(r%4){case 0:case 2:return new Uint32Array(Math.floor(e*r/4));case 1:case 3:return new Uint8Array(e*r)}},t.allocateTypedArrayBufferwithData=function(e,r){switch(r%4){case 0:case 2:return new Uint32Array(e);case 1:case 3:return new Uint8Array(e)}},t.getTextProperties=function(e){return _.TextProperties.pool.acquire(e.color?c.copyAndPremultiply(e.color):[255,255,255,255],e.haloColor?c.copyAndPremultiply(e.haloColor):[255,255,255,255],i.pt2px(e.haloSize),i.pt2px(e.font.size),e.angle*Math.PI/180,e.xoffset/e.font.size,e.yoffset/e.font.size,\"left\"===e.horizontalAlignment?0:\"right\"===e.horizontalAlignment?1:.5,\"top\"===e.verticalAlignment?0:\"bottom\"===e.verticalAlignment?1:.5)},t.isDefined=function(e){return null!=e},t.isNumber=function(e){return\"number\"==typeof e},t.isString=R,t.isStringOrNull=function(e){return null==e||R(e)},t.getCapType=function(e,r){switch(e){case\"butt\":return s.CapType.BUTT;case\"round\":return r?s.CapType.SQUARE:s.CapType.ROUND;case\"square\":return s.CapType.SQUARE;default:return p.error(new n(\"mapview-invalid-type\",\"Cap type \"+e+\" is not a valid option. Defaulting to round\")),s.CapType.ROUND}},t.getJoinType=function(e){switch(e){case\"miter\":return s.JoinType.MITER;case\"bevel\":return s.JoinType.BEVEL;case\"round\":return s.JoinType.ROUND;default:return p.error(new n(\"mapview-invalid-type\",\"Join type \"+e+\" is not a valid option. Defaulting to round\")),s.JoinType.ROUND}},t.getVVType=function(e){switch(e){case\"opacity\":return E.VVType.OPACITY;case\"color\":return E.VVType.COLOR;case\"rotation\":return E.VVType.ROTATION;case\"size\":return E.VVType.SIZE;default:return p.error(\"Cannot interpret unknown vv: \"+e),null}},t.getTransformParams=function(e){return{transform:e.transform,hasZ:e.hasZ,hasM:e.hasM}},t.copyMeshData=function(e,r,t,n,a,o,i){for(var s in o)for(var u=o[s].stride,c=L(u),E=o[s].data,_=t[s].data,T=u*a.vertexCount/c,p=u*e/c,l=u*a.vertexFrom/c,y=0;y<T;++y)_[y+p]=E[y+l];var f=a.indexCount;for(y=0;y<f;++y)n[y+r]=i[y+a.indexFrom]-a.vertexFrom+e},t.C_VBO_INFO=((T={})[t.C_VBO_GEOMETRY]=35044,T),t.createGeometryData=function(e,r){for(var t=[],n=0;n<5;++n){for(var a={},o=0,i=v(n);o<i.length;o++){var s=i[o];a[s]={data:r(n,s)}}t.push({data:e(n),buffers:a})}return t},t.createTextureFromTexelData=function(e,r){var t,n;return n=a.isPowerOfTwo(r.width)&&a.isPowerOfTwo(r.height)?(t=!0,9987):(t=!1,9729),new u.Texture(e,{target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,hasMipmap:t,samplingMode:n,wrapMode:33071,flipped:!0},r)},t.geometryToMappedGeometry=function(e){return{vertexFrom:void 0,vertexTo:void 0,geometry:e}},t.getBytes=g,t.getPixelBytes=function(e){switch(e){case 5121:return 1;case 32819:return 2;case 5126:return 4;default:return void p.error(new n(\"webgl-utils\",\"Unable to handle type \"+e))}},t.getPixelArrayCtor=function(e){switch(e){case 5121:return Uint8Array;case 32819:return Uint16Array;case 5126:return Float32Array;default:return void p.error(new n(\"webgl-utils\",\"Unable to handle type \"+e))}};var I=new Map;t.createProgramDescriptor=function(e,r){if(!I.has(e)){var t=function(n){var a={},e=function(e){var r=n[e],t=0;a[e]=r.map(function(e){var r=o({},e,{normalized:e.normalized||!1,divisor:e.divisor||0,offset:t,stride:0});return t+=e.count*g(e.type),r}),a[e].forEach(function(e){return e.stride=t})};for(var r in n)e(r);return a}(r),n={strides:function(e){var r={};for(var t in e){var n=e[t];r[t]=n.length?n[0].stride:0}return r}(t),bufferLayouts:t,attributes:function(e){var r={};for(var t in e)for(var n=0,a=e[t];n<a.length;n++){var o=a[n];r[o.name]=o.location}return r}(r)};I.set(e,n)}return I.get(e)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/declareExtendsHelper\",\"../../../webgl\"],function(e,t,r,i){i.enums.Usage,i.enums.DataType,i.enums.PrimitiveType;return function(){function e(e,t){this.rctx=e,this._vertexBuffer=i.BufferObject.createVertex(e,35044,new Uint16Array(t)),this._vao=new i.VertexArrayObject(e,{a_position:0},{geometry:[{name:\"a_position\",count:2,type:5123,offset:0,stride:4,normalized:!1}]},{geometry:this._vertexBuffer})}return e.prototype.bind=function(){this._vao.bind()},e.prototype.unbind=function(){this._vao.unbind()},e.prototype.dispose=function(){this._vao.dispose(!1),this._vertexBuffer.dispose()},e.prototype.draw=function(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(5,0,4)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../webgl\",\"./Utils\"],function(e,t,a,f){Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(r){this.geometryMap=f.createGeometryData(function(){return{indexBuffer:a.BufferObject.createIndex(r,35044),vao:null}},function(e,t){return{vertexBuffer:a.BufferObject.createVertex(r,f.C_VBO_INFO[t])}})}return e.prototype.dispose=function(){for(var e=0;e<5;e++){var t=this.geometryMap[e];if(t)for(var r in t.data.vao&&t.data.vao.dispose(!1),t.data.indexBuffer&&t.data.indexBuffer.dispose(),t.buffers)t.buffers[r]&&t.buffers[r].data.vertexBuffer.dispose()}},e.prototype.get=function(e){var t=this.geometryMap[e],r={};for(var a in t.buffers)r[a]=t.buffers[a].data.vertexBuffer;return{indexBuffer:t.data.indexBuffer,get vao(){return t.data.vao},set vao(e){t.data.vao=e},vertexBufferMap:r}},e.prototype.has=function(e){return null!=this.geometryMap[e]},e.prototype.upload=function(r,e){var a=this;e.forEach(function(e,t){a._upload(e,t,r)})},e.prototype._upload=function(e,t,r){if(e.indices&&(e.indices.allDirty?this._uploadIndices(r,t):null!=e.indices.from&&null!=e.indices.count&&this._uploadIndices(r,t,e.indices.from,e.indices.count)),e.vertices){var a=e.vertices;for(var f in a){var u=a[f];u.allDirty?this._uploadVertices(r,t,f):null!=u.from&&null!=u.count&&this._uploadVertices(r,t,f,u.from,u.count)}}},e.prototype._uploadVertices=function(e,t,r,a,f){var u=this.geometryMap[t];if(u){var i=e.geometries[t].vertexBuffer[r];if(i){var n=i.stride,o=i.data.buffer;u.buffers[r]&&0<o.byteLength&&(null!=a&&null!=f?u.buffers[r].data.vertexBuffer.setSubData(o,a*n,a*n,(a+f)*n):u.buffers[r].data.vertexBuffer.setData(o))}}},e.prototype._uploadIndices=function(e,t,r,a){var f=this.geometryMap[t];if(f){var u=e.geometries[t].indexBuffer.buffer;f.data.indexBuffer&&0<u.byteLength&&(null!=r&&null!=a?f.data.indexBuffer.setSubData(u,4*r,4*r,4*(r+a)):f.data.indexBuffer.setData(u))}},e}();t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/maybe\",\"../../engine\",\"../Container\",\"./ClippingInfo\",\"./enums\"],function(e,t,s,n,i,a,r,o,p){Object.defineProperty(t,\"__esModule\",{value:!0});var h=function(r){function e(e){var t=r.call(this)||this;return t.name=t.constructor.name,t._lastTime=null,t.setClips(e),t}return s(e,r),e.prototype.setClips=function(e){var t=this;i.isSome(this._clippingInfos)&&(this._clippingInfos.forEach(function(e){return e.destroy()}),this._clippingInfos=null),i.isSome(e)&&e.length&&(this._clippingInfos=e.items.map(function(e){return o.default.fromClipArea(t,e)})),this.requestRender()},e.prototype.doRender=function(e){this.attachChildren(),this.detachChildren();var t=this.createRenderParams(e),r=t.context,s=t.painter,n=t.globalOpacity,i=t.profiler,a=t.drawPhase===p.WGLDrawPhase.LABEL?1:n*this.opacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(t),s.compositeLayer(r,a),i.recordContainerEnd()},e.prototype.renderChildren=function(e){i.isNone(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(this.stage.painter));for(var t=0,r=this._renderPasses;t<r.length;t++){r[t].render(e)}},e.prototype.createRenderParams=function(e){var t=Date.now(),r=(i.isSome(this._lastTime)?t-this._lastTime:0)/1e3;return this._lastTime=t,n({},e,{context:this.stage.context,painter:this.stage.painter,profiler:this.stage.profiler,renderingOptions:this.stage.renderingOptions,driverTestResult:this.stage.driverTestResult,timeDelta:r,timeline:this.stage.timeline})},e.prototype.prepareRenderPasses=function(e){var t=this;return[e.registerRenderPass({name:\"clip\",brushes:[a.brushes.Clip],target:function(){return t._clippingInfos},drawPhase:p.WGLDrawPhase.MAP|p.WGLDrawPhase.LABEL|p.WGLDrawPhase.LABEL_ALPHA|p.WGLDrawPhase.DEBUG})]},e.prototype.updateTransforms=function(e){for(var t=0,r=this.children;t<r.length;t++){r[t].setTransform(e)}},e}(r.Container);t.default=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/generatorHelper\",\"../../../../core/Logger\",\"./enums\"],function(e,t,r,n,u){var i=n.getLogger(\"esri.views.2d.engine.webgl.WGLDisplayList\");function p(e,t,r){for(var n=[],o=3;o<arguments.length;o++)n[o-3]=arguments[o];t<e.length?e.splice.apply(e,[t,r].concat(n)):e.push.apply(e,n)}var o=new Map;o.set(u.WGLDrawPhase.MAP,[u.WGLGeometryType.FILL,u.WGLGeometryType.LINE,u.WGLGeometryType.MARKER,u.WGLGeometryType.TEXT]),o.set(u.WGLDrawPhase.LABEL,[u.WGLGeometryType.LABEL]),o.set(u.WGLDrawPhase.LABEL_ALPHA,[u.WGLGeometryType.LABEL]);var l=function(){function o(e){void 0===e&&(e=!1),this.symbolLevels=[],this.unified=e}return o.prototype.replay=function(e,t,r){if(this.unified)for(var n=0,o=this.symbolLevels;n<o.length;n++)for(var i=0,l=o[n].zLevels;i<l.length;i++){var y=l[i].geometryDPInfo;for(var s in y)if(y[s])for(var m=0,u=y[s];m<u.length;m++){var a=u[m],f=e.painter.getGeometryBrush(a.geometryType),p=t.getGeometry(a.geometryType);f.prepareState(e,t),f.drawGeometry(e,t,a,p,r)}}},Object.defineProperty(o.prototype,\"empty\",{get:function(){return!this.symbolLevels||0===this.symbolLevels.length},enumerable:!0,configurable:!0}),o.prototype.clear=function(){this.symbolLevels.length=0},o.prototype.addToList=function(e,t){if(Array.isArray(e))for(var r=0,n=e;r<n.length;r++){var o=n[r];this._addToList(o,t)}else this._addToList(e,t)},o.prototype.removeFromList=function(e){Array.isArray(e)||(e=[e]);for(var t=null,r=0,n=e;r<n.length;r++){var o=n[r];t=this._removeFromList(o)}return t},o.prototype.byType=function(e,t){for(var r=0,n=this.symbolLevels;r<n.length;r++)for(var o=0,i=n[r].zLevels;o<i.length;o++){var l=i[o].geometryDPInfo,y=this.getDPInfoType(e);if(l[y])for(var s=0,m=l[y];s<m.length;s++){t(m[s])}}},o.prototype.clone=function(){for(var e=new o(this.unified),t=0,r=this.symbolLevels;t<r.length;t++){var n=r[t];e.symbolLevels.push(n.clone())}return e},o.prototype.splitAfter=function(e){for(var t=this._getDisplayList(e.symbolLevel,e.zOrder,e.geometryType),r=t.length,n=e.indexFrom+e.indexCount,o=0;o<r;++o){var i=t[o];if(i.geometryType===e.geometryType&&n>i.indexFrom&&n<=i.indexFrom+i.indexCount){if(n<i.indexFrom+i.indexCount){var l=new d;l.geometryType=i.geometryType,l.materialKey=i.materialKey,l.indexFrom=n,l.indexCount=i.indexFrom+i.indexCount-n,t.splice(o+1,0,l),i.indexCount=n-i.indexFrom}return o}}},o.prototype._addToList=function(e,t){var r=e.symbolLevel,n=e.zOrder,o=this._getDisplayList(r,n,e.geometryType),i=null!=t?t:o.length-1,l=0<=i&&i<o.length?o[i]:null;if(null===l||l.materialKey!==e.materialKey||l.indexFrom+l.indexCount!==e.indexFrom||this.unified&&l.geometryType!==e.geometryType){var y=new d;y.indexFrom=e.indexFrom,y.indexCount=e.indexCount,y.materialKey=e.materialKey,y.geometryType=e.geometryType,p(o,i+1,0,y)}else l.indexCount+=e.indexCount},o.prototype._removeFromList=function(e){for(var t=e.symbolLevel,r=e.zOrder,n=this._getDisplayList(t,r,e.geometryType),o=n.length,i=void 0,l=0;l<o;++l){var y=n[l];if(e.indexFrom+e.indexCount>y.indexFrom&&e.indexFrom<y.indexFrom+y.indexCount&&(!this.unified||y.geometryType===e.geometryType)){i=l;break}}if(void 0===i)return null;y=n[i];if(e.indexFrom===y.indexFrom)return y.indexCount-=e.indexCount,y.indexFrom+=e.indexCount,0===y.indexCount&&p(n,i,1),i-1;if(e.indexFrom+e.indexCount===y.indexFrom+y.indexCount)return y.indexCount-=e.indexCount,0===y.indexCount?(p(n,i,1),i-1):i;var s=y.indexFrom,m=e.indexFrom-y.indexFrom,u=e.indexCount,a=y.indexFrom+y.indexCount-(e.indexFrom+e.indexCount);y.indexCount=m;var f=new d;return f.geometryType=y.geometryType,f.materialKey=y.materialKey,f.indexFrom=s+m+u,f.indexCount=a,p(n,i+1,0,f),i},o.prototype._getDisplayList=function(e,t,r){for(var n,o,i=this.symbolLevels.length,l=0;l<i;l++)if(this.symbolLevels[l].symbolLevel===e){n=this.symbolLevels[l];break}n||((n=new L).symbolLevel=e,this.symbolLevels.push(n));for(var y,s=n.zLevels.length,m=0;m<s;m++)if(n.zLevels[m].zLevel===t){o=n.zLevels[m];break}if(o||((o=new f).geometryDPInfo=new a,o.zLevel=t,n.zLevels.push(o)),this.unified)o.geometryDPInfo.unified||(o.geometryDPInfo.unified=[]),y=o.geometryDPInfo.unified;else switch(r){case u.WGLGeometryType.FILL:o.geometryDPInfo.fill||(o.geometryDPInfo.fill=[]),y=o.geometryDPInfo.fill;break;case u.WGLGeometryType.LINE:o.geometryDPInfo.line||(o.geometryDPInfo.line=[]),y=o.geometryDPInfo.line;break;case u.WGLGeometryType.MARKER:o.geometryDPInfo.marker||(o.geometryDPInfo.marker=[]),y=o.geometryDPInfo.marker;break;case u.WGLGeometryType.TEXT:o.geometryDPInfo.text||(o.geometryDPInfo.text=[]),y=o.geometryDPInfo.text;break;case u.WGLGeometryType.LABEL:o.geometryDPInfo.label||(o.geometryDPInfo.label=[]),y=o.geometryDPInfo.label;break;default:console.error(\"Trying to add a record with geometry type '\"+r+\"'.\")}return y},o.prototype.getDPInfoType=function(e){if(this.unified)return\"unified\";switch(e){case u.WGLGeometryType.FILL:return\"fill\";case u.WGLGeometryType.LINE:return\"line\";case u.WGLGeometryType.MARKER:return\"marker\";case u.WGLGeometryType.TEXT:return\"text\";case u.WGLGeometryType.LABEL:return\"label\";default:return void i.error(\"DisplayList: Tried to convert unknown geometryType: \"+e)}},o}(),d=function(){function t(){this.materialKey=null,this.indexFrom=0,this.indexCount=0}return t.prototype.clone=function(){var e=new t;return e.geometryType=this.geometryType,e.materialKey=this.materialKey,e.indexFrom=this.indexFrom,e.indexCount=this.indexCount,e},t}(),a=function(){function t(){this.fill=null,this.line=null,this.marker=null,this.text=null,this.label=null,this.unified=null}return t.prototype.clone=function(){var e=new t;return e.fill=this.fill&&this.fill.map(function(e){return e.clone()}),e.line=this.line&&this.line.map(function(e){return e.clone()}),e.marker=this.marker&&this.marker.map(function(e){return e.clone()}),e.text=this.text&&this.text.map(function(e){return e.clone()}),e.label=this.label&&this.label.map(function(e){return e.clone()}),e.unified=this.unified&&this.unified.map(function(e){return e.clone()}),e},t}(),f=function(){function t(){this.geometryDPInfo=new a}return t.prototype.clone=function(){var e=new t;return e.zLevel=this.zLevel,e.geometryDPInfo=this.geometryDPInfo.clone(),e},t}(),L=function(){function o(){this.zLevels=[]}return o.prototype.clone=function(){var e=new o;e.symbolLevel=this.symbolLevel;for(var t=0,r=this.zLevels;t<r.length;t++){var n=r[t];e.zLevels.push(n.clone())}return e},o}();return l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./WGLDisplayRecord\",\"./collisions/Metric\",\"./util/serializationUtils\"],function(i,t,o,c,d){return function(){function n(i){this.insertAfter=null,this.id=i,this.displayRecords=[],this.metrics=[]}return n.prototype.copy=function(){var i=new n(this.id);return i.set(this),i},n.prototype.clone=function(){var i=new n(this.id);return i.displayRecords=this.displayRecords.map(function(i){return i.clone()}),i.metrics=this.metrics.map(function(i){return i.clone()}),i.insertAfter=this.insertAfter,i},n.prototype.set=function(i){this.id=i.id,this.displayRecords=i.displayRecords,this.metrics=i.metrics,this.insertAfter=i.insertAfter},n.prototype.serialize=function(i){return i.push(this.id),d.serializeList(i,this.metrics),d.serializeList(i,this.displayRecords),i},n.deserialize=function(i){var t=i.readInt32(),e=new n(t),s={id:t},r=d.deserializeList(i,c.default);return r.length&&(e.metrics=r),e.displayRecords=d.deserializeList(i,o,s),e},n}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./MeshData\",\"./Utils\"],function(t,e,u,d){return function(){function s(t,e,r,i,o){void 0===i&&(i=0),void 0===o&&(o=0),this.id=t,this.geometryType=e,this.materialKey=r,this.minZoom=i,this.maxZoom=o,this.meshData=null,this.symbolLevel=0,this.zOrder=0,this.vertexFrom=0,this.vertexCount=0,this.indexFrom=0,this.indexCount=0}return Object.defineProperty(s.prototype,\"sortKey\",{get:function(){return void 0===this._sortKey&&this._computeSortKey(),this._sortKey},enumerable:!0,configurable:!0}),s.prototype.clone=function(){return this.copy()},s.prototype.copy=function(){var t=new s(this.id,this.geometryType,this.materialKey);return t.vertexFrom=this.vertexFrom,t.vertexCount=this.vertexCount,t.indexFrom=this.indexFrom,t.indexCount=this.indexCount,t.zOrder=this.zOrder,t.symbolLevel=this.symbolLevel,t.meshData=this.meshData,t.minZoom=this.minZoom,t.maxZoom=this.maxZoom,t},s.prototype.setMeshDataFromBuffers=function(t,e,r){var i=new u;for(var o in e){for(var s=e[o].stride,n=e[o].data,a=[],h=d.strideToPackingFactor(s),m=0;m<s*t.vertexCount/h;++m)a[m]=n[m+s*t.vertexFrom/h];i.vertexData.set(o,a)}for(m=i.indexData.length=0;m<t.indexCount;++m)i.indexData[m]=r[m+t.indexFrom]-t.vertexFrom;i.vertexCount=t.vertexCount,this.meshData=i},s.prototype.readMeshDataFromBuffers=function(t,e){for(var r in this.meshData?this.meshData.clear():this.meshData=new u,t){for(var i=t[r].stride,o=t[r].data,s=[],n=d.strideToPackingFactor(i),a=0;a<i*this.vertexCount/n;++a)s[a]=o[a+i*this.vertexFrom/n];this.meshData.vertexData.set(r,s)}for(a=this.meshData.indexData.length=0;a<this.indexCount;++a)this.meshData.indexData[a]=e[a+this.indexFrom]-this.vertexFrom;this.meshData.vertexCount=this.vertexCount},s.prototype.writeMeshDataToBuffers=function(t,e,r,i){for(var o in e)for(var s=e[o].stride,n=this.meshData.vertexData.get(o),a=e[o].data,h=d.strideToPackingFactor(s),m=0;m<s*this.meshData.vertexCount/h;++m)a[m+s*t/h]=n[m];for(m=0;m<this.meshData.indexData.length;++m)i[m+r]=this.meshData.indexData[m]+t;this.vertexFrom=t,this.vertexCount=this.meshData.vertexCount,this.indexFrom=r,this.indexCount=this.meshData.indexData.length},s.writeAllMeshDataToBuffers=function(t,e,r){for(var i=0,o=0,s=0,n=t;s<n.length;s++){var a=n[s];a.writeMeshDataToBuffers(i,e,o,r),i+=a.vertexCount,o+=a.indexCount}},s.prototype._computeSortKey=function(){this._sortKey=(31&this.symbolLevel)<<12|(127&this.zOrder)<<4|7&this.geometryType},s.prototype.serialize=function(t){return t.push(this.geometryType),t.push(this.materialKey),t.push(this.symbolLevel),t.push(this.zOrder),t.push(this.vertexFrom),t.push(this.vertexCount),t.push(this.indexFrom),t.push(this.indexCount),t.push(this.minZoom),t.push(this.maxZoom),t},s.deserialize=function(t,e){var r=t.readInt32(),i=t.readInt32(),o=new s(e.id,r,i);return o.symbolLevel=t.readInt32(),o.zOrder=t.readInt32(),o.vertexFrom=t.readInt32(),o.vertexCount=t.readInt32(),o.indexFrom=t.readInt32(),o.indexCount=t.readInt32(),o.minZoom=t.readInt32(),o.maxZoom=t.readInt32(),o},s}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/assignHelper\",\"../../../../Color\",\"../../../../core/has\",\"../../../../core/maybe\",\"../../../../core/screenUtils\",\"../../../../core/unitUtils\",\"../../../../core/libs/gl-matrix-2/mat4f32\",\"../../../../renderers/support/utils\",\"./definitions\",\"./Utils\"],function(e,t,i,a,s,d,f,c,o,p,r,h){function y(e,t){var i=t.length;if(e<t[0].value||1===i)return t[0].size;for(var s=1;s<i;s++)if(e<t[s].value){var a=(e-t[s-1].value)/(t[s].value-t[s-1].value);return t[s-1].size+a*(t[s].size-t[s-1].size)}return t[i-1].size}function n(e,t,i){if(void 0===i&&(i=0),d.isNone(t))return e[i+0]=0,e[i+1]=0,e[i+2]=0,void(e[i+3]=0);var s=t.r,a=t.g,o=t.b,r=t.a;e[i+0]=s*r/255,e[i+1]=a*r/255,e[i+2]=o*r/255,e[i+3]=r}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(e,t,i){for(var s=16*i,a=s,o=0;a<Math.min(s+16,e.length);a++,o++)e[a]=t[o]},u=o.mat4f32.create(),v=function(){function e(){this.symbolLevels=[],this.vvColorValues=new Float32Array(8),this.vvColors=new Float32Array(32),this.vvOpacityValues=new Float32Array(8),this.vvOpacities=new Float32Array(8),this.vvSizeMinMaxValue=new Float32Array(4),this.ddColors=new Float32Array(32),this.ddBackgroundColor=new Float32Array(4),this.ddActiveDots=new Float32Array(8),this.insideEffect=new Float32Array(16*r.MAX_FILTERS),this.insideOpacity=1,this.outsideEffect=new Float32Array(16*r.MAX_FILTERS),this.outsideOpacity=1,this.effectCount=0,this._vvMaterialParameters={vvSizeEnabled:!1,vvColorEnabled:!1,vvRotationEnabled:!1,vvRotationType:\"geographic\",vvOpacityEnabled:!1},this._buf0=new Float32Array(2),this._buf1=new Float32Array(2),this.symbolLevels.push(0);for(var e=0;e<r.MAX_FILTERS;e++)l(this.insideEffect,u,e),l(this.outsideEffect,u,e)}return Object.defineProperty(e.prototype,\"insideOpacities\",{get:function(){return this._buf0[0]=1,this._buf0[1]=this.insideOpacity,this._buf0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outsideOpacities\",{get:function(){return this._buf1[0]=0,this._buf1[1]=this.outsideOpacity,this._buf1},enumerable:!0,configurable:!0}),e.prototype.getSizeVVFieldStops=function(u){var v=this._vvSizeFieldStops;switch(v.type){case\"static\":return v;case\"level-dependent\":return d.unwrapOr(v.levels[u],function(){var e=1/0,t=0;for(var i in v.levels){var s=parseFloat(i),a=Math.abs(u-s);a<e&&(e=a,t=s)}if(e===1/0)return{sizes:new Float32Array([0,0,0,0,0,0]),values:new Float32Array([0,0,0,0,0,0])};var o=u-t,r=Math.pow(2,o/2),n=d.expect(v.levels[t]),l=new Float32Array(n.values);return l[2]*=r,l[3]*=r,{sizes:d.unwrap(n.sizes),values:l}})}},Object.defineProperty(e.prototype,\"vvMaterialParameters\",{get:function(){return this._vvMaterialParameters},enumerable:!0,configurable:!0}),e.prototype.update=function(e){d.isSome(this._vvInfo)&&this._updateVisualVariables(this._vvInfo.vvRanges,e)},e.prototype.setInfo=function(e,t,i){var s=this;switch(d.isSome(i)?(i.forEach(function(e,t){return s._updateEffects(t,e)}),this.effectCount=i.length):this.effectCount=0,this._vvInfo=t,e.type){case\"dot-density\":this._updateDotDensityInfo(e)}},e.prototype.getVariation=function(){return{ddDotBlending:this.ddDotBlending,outsideLabelsVisible:this.outsideLabelsVisible,effectCount:this.effectCount,oesTextureFloat:s(\"esri-webgl-texture-float\")}},e.prototype.getVariationHash=function(){return(this.ddDotBlending?1:0)|(this.outsideLabelsVisible?1:0)<<1|this.effectCount<<2},e.prototype._updateEffects=function(e,t){var i=e+1;if(d.isSome(t)&&t.filter&&t.filter.enabled){this.outsideLabelsVisible=t.excludedLabelsVisible;var s=t.parsedIncludedEffect,a=t.parsedExcludedEffect;d.isSome(s)?(l(this.insideEffect,s.getColorMatrix(),i),this.insideOpacity=s.getOpacity()):(l(this.insideEffect,u,i),this.insideOpacity=1),d.isSome(a)?(l(this.outsideEffect,a.getColorMatrix(),i),this.outsideOpacity=a.getOpacity()):(l(this.outsideEffect,u,i),this.outsideOpacity=1)}else l(this.insideEffect,u,i),l(this.outsideEffect,u,i),this.insideOpacity=1,this.outsideOpacity=1},e.prototype._updateVisualVariables=function(e,t){var i=this._vvMaterialParameters;if(i.vvOpacityEnabled=!1,i.vvSizeEnabled=!1,i.vvColorEnabled=!1,i.vvRotationEnabled=!1,e){var s=e.size;if(s){if(i.vvSizeEnabled=!0,s.minMaxValue){var a=s.minMaxValue,o=void 0,r=void 0;if(h.isDefined(a.minSize)&&h.isDefined(a.maxSize))if(h.isNumber(a.minSize)&&h.isNumber(a.maxSize))o=f.pt2px(a.minSize),r=f.pt2px(a.maxSize);else{var n=t.scale;o=f.pt2px(y(n,a.minSize.stops)),r=f.pt2px(y(n,a.maxSize.stops))}this.vvSizeMinMaxValue.set([a.minDataValue,a.maxDataValue,o,r])}if(s.scaleStops&&(this.vvSizeScaleStopsValue=f.pt2px(y(t.scale,s.scaleStops.stops))),s.unitValue){var l=c.getMetersPerUnitForSR(t.spatialReference)/p.meterIn[s.unitValue.unit];this.vvSizeUnitValueToPixelsRatio=l/t.resolution}s.fieldStops&&(this._vvSizeFieldStops=s.fieldStops)}var u=e.color;u&&(i.vvColorEnabled=!0,this.vvColorValues.set(u.values),this.vvColors.set(u.colors));var v=e.opacity;v&&(i.vvOpacityEnabled=!0,this.vvOpacityValues.set(v.values),this.vvOpacities.set(v.opacities));var d=e.rotation;d&&(i.vvRotationEnabled=!0,i.vvRotationType=d.type)}},e.prototype._updateDotDensityInfo=function(e){var t=e.attributes;this.ddDotValue=e.dotValue,this.ddDotScale=e.referenceScale,this.ddDotSize=e.dotSize,this.ddDotBlending=e.dotBlendingEnabled,this.ddSeed=e.seed;for(var i=0;i<r.DOT_DENSITY_MAX_FIELDS;i++){var s=i>=t.length?new a([0,0,0,0]):t[i].color;n(this.ddColors,s,4*i)}for(i=0;i<8;i++)this.ddActiveDots[i]=i<e.attributes.length?1:0;n(this.ddBackgroundColor,e.backgroundColor)},e}();t.WGLRendererInfo=v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../core/libs/gl-matrix-2/mat2df32\",\"../../../../core/libs/gl-matrix-2/vec2\",\"../../../../core/libs/gl-matrix-2/vec2f32\",\"./definitions\",\"./DirtyMap\",\"./DisplayRecordStore\",\"./Fader\",\"./TiledDisplayObject\",\"./WGLBuffers\"],function(t,e,a,l,s,d,o,p,n,y,h,i,c){Object.defineProperty(e,\"__esModule\",{value:!0});var F=new Set,r=function(r){function t(t,e,a){void 0===a&&(a=!1);var i=r.call(this,t,e,[p.TILE_SIZE,p.TILE_SIZE])||this;return i._data=null,i._displayList=null,i._wglBuffers=null,i._dirtyMap=new n.default,i._labelIndex=null,i._dirty=!0,i.fader=new h.default,i._ensureCorrectZOrder=a,i.transforms.labelMat2d=s.mat2df32.create(),i}return a(t,r),t.prototype.destroy=function(){this.clear()},Object.defineProperty(t.prototype,\"displayObjects\",{get:function(){return this._data.tileDisplayData.displayObjects},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"canDisplay\",{get:function(){return!!this.attached},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isDirty\",{get:function(){return this._dirty},set:function(t){(this._dirty=t)||this.isReady||this.ready(),this.requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hasData\",{get:function(){return!!this._data},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"labelIndex\",{get:function(){return this._labelIndex},enumerable:!0,configurable:!0}),t.prototype.getGeometry=function(t){return this._wglBuffers&&this._wglBuffers.has(t)?this._wglBuffers.get(t):null},t.prototype.getDisplayList=function(){return this._data&&this._displayList},Object.defineProperty(t.prototype,\"data\",{get:function(){return this._data},enumerable:!0,configurable:!0}),t.prototype.setTransform=function(t,e){r.prototype.setTransform.call(this,t,e);var a=this.transforms.labelMat2d,i=t.getScreenTransform(a,e),s=o.vec2f32.create();d.vec2.transformMat2d(s,this.coords,i),l.mat2d.identity(a),l.mat2d.translate(a,a,s),l.mat2d.multiply(a,t.viewMat2d,a)},t.prototype.setData=function(t,e,a){var i=t.addOrUpdate,s=t.remove;if((t.clear||!this.hasData)&&!t.addOrUpdate)return this.clear(),this.ready(),void this.emit(\"change\");!t.clear&&this.hasData||!t.addOrUpdate?this.hasData&&this._doPatchData({addOrUpdate:i,remove:s},e,a):(i.tileDisplayData.computeDisplayList(this._ensureCorrectZOrder),this._dirtyMap=new n.default,this._dispRecStore=y.default.fromTileData(i,this._dirtyMap),this._data=i,this._readyTileIfNoLabels(e,a),this._dirtyMap.markAllDirty(),this._displayList||(this._displayList=i.tileDisplayData.displayList.clone())),this.emit(\"change\")},t.prototype.commitChanges=function(){this.fader.step()||this.requestRender(),this._wglBuffers||(this._wglBuffers=new c.default(this.stage.context)),this._wglBuffers.upload(this._data.tileBufferData,this._dirtyMap),this._displayList=this._data.tileDisplayData.displayList.clone(),this._dirtyMap.markAllClean()},t.prototype.clear=function(){this._data=null,this._displayList=null,this._dispRecStore=null,this._wglBuffers&&(this._wglBuffers.dispose(),this._wglBuffers=null)},t.prototype.attach=function(){return!0},t.prototype._readyTileIfNoLabels=function(t,e){t&&this._rebuildLabelIndex(),this.isDirty=!(!t||!e)},t.prototype._doPatchData=function(t,e,a){this._patchData(t)||(this._dirtyMap.markAllDirty(),this._data.reshuffle(),this._dispRecStore=y.default.fromTileData(this._data,this._dirtyMap)),this._readyTileIfNoLabels(e,a),this.requestRender()},t.prototype._rebuildLabelIndex=function(){this._labelIndex=this._initLabelIndex();for(var t=0,e=this.displayObjects;t<e.length;t++)for(var a=0,i=e[t].metrics;a<i.length;a++){var s=i[a];this._insertIntoLabelIndex(s)}},t.prototype._insertIntoLabelIndex=function(t){-1!==t.xBucket&&this.labelIndex[t.yBucket][t.xBucket].push(t)},t.prototype._initLabelIndex=function(){for(var t=[],e=0;e<p.TILE_SIZE/p.COLLISION_BUCKET_SIZE;e++){t.push([]);for(var a=0;a<p.TILE_SIZE/p.COLLISION_BUCKET_SIZE;a++)t[e].push([])}return t},t.prototype._patchData=function(t){for(var e=!0,a=t.addOrUpdate&&t.addOrUpdate.tileDisplayData&&t.addOrUpdate.tileDisplayData.displayObjects||[],i=(t.remove||[]).slice(),s=0,r=a;s<r.length;s++){null!=(_=r[s]).insertAfter&&i.push(_.id)}for(var l=0,d=i;l<d.length;l++){var o=d[l];if(u=this._data.tileDisplayData.displayObjectRegistry.get(o)){this._data.tileDisplayData.displayList.removeFromList(u.displayRecords);for(var p=0,n=u.displayRecords;p<n.length;p++){var y=n[p];this._dispRecStore.delete(y)}this._data.tileDisplayData.displayObjectRegistry.delete(o);var h=this._data.tileDisplayData.displayObjects.indexOf(u);this._data.tileDisplayData.displayObjects.splice(h,1)}}for(var c=0,f=a;c<f.length;c++){var u,_=f[c],D=void 0;if(u=this._data.tileDisplayData.displayObjectRegistry.get(_.id)){var g=u.displayRecords;u.set(_),u.displayRecords=g;for(var m=u.displayRecords.length,b=0;b<m;++b){var v=u.displayRecords[b],O=_.displayRecords[b];(b>=_.displayRecords.length||v.geometryType!==O.geometryType||v.symbolLevel!==O.symbolLevel||v.zOrder!==O.zOrder||v.materialKey!==O.materialKey)&&(this._dispRecStore.delete(u.displayRecords[b]),b<_.displayRecords.length&&(u.displayRecords[b]=void 0))}u.displayRecords.length=_.displayRecords.length,u.metrics=_.metrics}else{(u=_.copy()).displayRecords=[],this._data.tileDisplayData.displayObjectRegistry.set(_.id,u);var L=void 0,R=this._data.tileDisplayData.displayObjects;if(null!=u.insertAfter)if(D={},0<=u.insertAfter){var I=this._data.tileDisplayData.displayObjectRegistry.get(u.insertAfter);I&&(L=R.indexOf(I)+1)<R.length?R.splice(L,0,u):(R.push(u),L=R.length)}else R.unshift(u),L=0;else R.push(u),L=R.length;if(D){var x=void 0;if(this._data.tileDisplayData.displayList.unified)x=0<_.displayRecords.length?1:0;else{F.clear();for(var T=0,j=_.displayRecords;T<j.length;T++){var B=j[T],S=this._data.tileDisplayData.displayList.getDPInfoType(B.geometryType);F.add(S)}x=F.size}var w=0;for(b=L-1;0<=b&&w<x;--b)for(var M=R[b].displayRecords.length-1;0<=M&&w<x;--M){var E=R[b].displayRecords[M];D[S=this._data.tileDisplayData.displayList.getDPInfoType(E.geometryType)]||(D[S]=E,++w)}}}var P=_.displayRecords.length;for(b=0;b<P;++b){O=_.displayRecords[b];(v=u.displayRecords[b])?(v.meshData=O.meshData,v.materialKey=O.materialKey):((v=O.copy()).vertexFrom=void 0,v.indexFrom=void 0,u.displayRecords[b]=v);var U=O.geometryType,A=(S=this._data.tileDisplayData.displayList.getDPInfoType(U),t.addOrUpdate.tileBufferData.geometries[U]),C=A.vertexBuffer,Z=A.indexBuffer,k=void 0;D&&(k=D[S]?this._data.tileDisplayData.displayList.splitAfter(D[S]):-1),e=this._dispRecStore.setMeshData(v,O,C,Z,k)&&e,D&&null!=v.indexFrom&&null!=v.indexFrom&&(D[S]=v)}}return e},t}(i.TiledDisplayObject);e.WGLTile=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/Logger\",\"../../../../core/maybe\",\"../../../webgl\",\"./VertexStream\"],function(e,r,t,n,g,d){Object.defineProperty(r,\"__esModule\",{value:!0});var m=t.getLogger(\"esri.views.2d.engine.webgl.WebGLDriverTest\"),i=function(){function e(e){this._ignoresSamplerPrecision=null,this._context=e}return Object.defineProperty(e.prototype,\"ignoresSamplerPrecision\",{get:function(){return n.isNone(this._ignoresSamplerPrecision)&&(this._ignoresSamplerPrecision=r.testSamplerPrecision(this._context)),this._ignoresSamplerPrecision},enumerable:!0,configurable:!0}),e}();r.testWebGLDriver=function(e){return new i(e)},r.testSamplerPrecision=function(e){var r=new g.FramebufferObject(e,{colorTarget:0,depthStencilTarget:0},{target:3553,wrapMode:33071,pixelFormat:6408,dataType:5121,samplingMode:9728,width:1,height:1}),t=new Uint8Array(4),n=new d(e,[0,0,1,0,0,1,1,1]),i=new g.Program(e,\"\\nprecision highp float;\\n\\nattribute vec2 a_pos;\\n\\nuniform highp sampler2D u_texture;\\nvarying vec4 v_color;\\n\\nfloat getBit(in float bitset, in int bitIndex) {\\n float offset = pow(2.0, float(bitIndex));\\n\\n return mod(floor(bitset / offset), 2.0);\\n}\\n\\nvoid main() {\\n vec4 value = texture2D(u_texture, vec2(0.0));\\n\\n float bit = getBit(value.x * 255.0, 1);\\n\\n v_color = bit * vec4(1.0);\\n\\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\\n\",\"\\nprecision highp float;\\n\\nvarying vec4 v_color;\\n\\nvoid main() {\\n gl_FragColor = v_color;\\n}\\n\",{a_pos:0}),o=new g.Texture(e,{target:3553,wrapMode:33071,pixelFormat:6408,dataType:5121,samplingMode:9728,width:1,height:1},new Uint8Array([2,255,0,0]));i.setUniform1i(\"u_texture\",0),e.bindTexture(o,0),e.bindFramebuffer(r),e.bindProgram(i);var a=e.getViewport(),s=a.x,l=a.y,p=a.width,c=a.height;e.setViewport(0,0,1,1),n.draw(),e.setViewport(s,l,p,c),r.readPixels(0,0,1,1,6408,5121,t),i.dispose(),n.dispose(),r.dispose();var u=255!==t[0]||255!==t[1]||255!==t[2]||255!==t[3];return u&&m.warn(\"A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [\"+t[0]+\".\"+t[1]+\".\"+t[2]+\".\"+t[3]+\"]\"),u}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getXAnchorDirection=function(e){switch(e){case\"left\":return 1;case\"right\":return-1;case\"center\":case\"justify\":return 0}},t.getYAnchorDirection=function(e){switch(e){case\"top\":return-1;case\"middle\":return 0;case\"baseline\":case\"bottom\":return 1}},t.getJustification=function(e){switch(e){case\"left\":return 0;case\"right\":return 1;case\"center\":case\"justify\":return.5}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../definitions\",\"../VertexStream\",\"./WGLBrush\"],function(e,t,i,o,d,n){Object.defineProperty(t,\"__esModule\",{value:!0});var l={nearest:{defines:[],samplingMode:9728,mips:!1},bilinear:{defines:[],samplingMode:9729,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:9729,mips:!1},trilinear:{defines:[],samplingMode:9987,mips:!0}},r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._desc={path:\"raster/bitmap\",attributes:{a_position:0,a_texcoord:1}},e}return i(e,t),e.prototype.dispose=function(){this._quad&&this._quad.dispose()},e.prototype.prepareState=function(e,t){var i=e.context;i.setBlendingEnabled(!0),i.setBlendFunctionSeparate(1,771,1,771),i.setColorMask(!0,!0,!0,!0),i.setStencilWriteMask(0),i.setStencilTestEnabled(!0),i.setStencilFunction(514,t.stencilRef,255)},e.prototype.draw=function(e,t){var i=e.context,n=e.renderingOptions,r=e.painter;if(t.source){e.timeline.begin(this.name),this._quad||(this._quad=new d(i,[0,0,1,0,0,1,1,1]));var a=function(e,t,i){if(\"dynamic\"!==i.samplingMode)return l[i.samplingMode];var n=e.state,r=t.resolution/t.pixelRatio/n.resolution,a=Math.round(e.pixelRatio)!==e.pixelRatio,s=1.05<r||r<.95;return n.rotation||s||a||t.isSourceScaled||t.rotation?l.bilinear:l.nearest}(e,t,n),s=r.materialManager.getProgram(e,this._desc,a.defines);t.setSamplingProfile(a),t.bind(o.TEXTURE_BINDING_BITMAP),i.bindProgram(s),s.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),s.setUniform1i(\"u_texture\",o.TEXTURE_BINDING_BITMAP),s.setUniform2fv(\"u_coordScale\",t.coordScale),this._quad.draw(),e.timeline.end(this.name)}},e}(n.default);t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../Utils\",\"./WGLBrush\",\"../shaders/BackgroundPrograms\",\"../../../../webgl/programUtils\"],function(e,t,r,o,n,a,l,c){Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=o.vec4f32.fromValues(0,1,0,1),e}return r(e,t),e.prototype.dispose=function(){this._program&&this._program.dispose()},e.prototype.prepareState=function(e){var t=e.context;t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setFaceCullingEnabled(!1),t.setColorMask(!1,!1,!1,!1),t.setStencilOp(7680,7680,7681),t.setStencilWriteMask(255),t.setStencilFunction(519,0,255)},e.prototype.draw=function(e,t){var r=e.context,o=e.state;this._program||(this._program=c.createProgram(r,l.background));var a=this._program,s=n.createProgramDescriptor(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:5122}]}),i=t.getVAO(r,o,s.attributes,s.bufferLayouts);r.bindProgram(this._program),a.setUniform2fv(\"u_coord_range\",[1,1]),a.setUniform4fv(\"u_color\",this._color),a.setUniformMatrix3fv(\"u_dvsMat3\",o.displayMat3),r.bindVAO(i),r.drawElements(4,i.indexBuffer.size,5125,0),r.bindVAO()},e}(a.default);t.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this.name=this.constructor.name||\"UnnamedBrush\"}return t.prototype.prepareState=function(t,e,n){},t.prototype.draw=function(t,e,n){},t.prototype.drawMany=function(t,e,n){for(var r=0,o=e;r<o.length;r++){var a=o[r];this.draw(t,a,n)}},t}();e.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"./WGLBrush\",\"../shaders/BackgroundPrograms\",\"../shaders/TileInfoPrograms\"],function(e,t,r,i,c,o,f,d){Object.defineProperty(t,\"__esModule\",{value:!0});c.enums.DataType,c.enums.PrimitiveType,c.enums.TextureSamplingMode,c.enums.Usage,c.enums.TextureType,c.enums.TextureWrapMode,c.enums.PixelFormat,c.enums.PixelType;var s=300,n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=i.vec4f32.fromValues(1,0,0,1),e}return r(e,t),e.prototype.dispose=function(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null},e.prototype.prepareState=function(e){var t=e.context;t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(1,771,1,771),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)},e.prototype.draw=function(e,t){var r=e.context;if(t.isReady){this._loadWGLResources(r),r.bindVAO(this._outlineVertexArrayObject),r.bindProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",t.coordRange[0],t.coordRange[1]),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),r.drawArrays(3,0,4),r.bindVAO();var i=this._getTexture(r,t);i&&(r.bindVAO(this._tileInfoVertexArrayObject),r.bindProgram(this._tileInfoProgram),r.bindTexture(i,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",t.coordRange[0]/t.size[0],t.coordRange[1]/t.size[1]),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",i.descriptor.width,i.descriptor.height),r.drawArrays(5,0,4),r.bindVAO())}},e.prototype._loadWGLResources=function(e){if(!this._outlineProgram||!this._tileInfoProgram){var t=c.createProgram(e,f.background),r=c.createProgram(e,d.tileInfo),i={geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},o=new Int8Array([0,0,1,0,1,1,0,1]),n=c.BufferObject.createVertex(e,35044,o),s=new c.VertexArrayObject(e,f.background.attributes,i,{geometry:n}),a=new Int8Array([0,0,1,0,0,1,1,1]),l=c.BufferObject.createVertex(e,35044,a),u=new c.VertexArrayObject(e,d.tileInfo.attributes,i,{geometry:l});this._outlineProgram=t,this._tileInfoProgram=r,this._outlineVertexArrayObject=s,this._tileInfoVertexArrayObject=u}},e.prototype._getTexture=function(e,t){if(t.texture)return t.texture;this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",\"\"+s),this._canvas.setAttribute(\"height\",\"32\"),this._canvas.setAttribute(\"style\",\"display:none\"));var r=t.triangleCount,i=t.key.id;0<t.triangleCount&&(i+=\", \"+r);var o=this._canvas,n=o.getContext(\"2d\");return n.font=\"24px sans-serif\",n.textAlign=\"left\",n.textBaseline=\"top\",n.clearRect(0,0,s,32),n.fillStyle=1e5<r?(n.fillStyle=\"red\",n.fillRect(0,0,s,32),\"black\"):(n.clearRect(0,0,s,32),\"blue\"),n.fillText(i,0,0),t.texture=new c.Texture(e,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071},o),t.texture},e}(o.default);t.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"./WGLBrush\",\"../shaders/BackgroundPrograms\"],function(e,t,r,i,o,s,n){Object.defineProperty(t,\"__esModule\",{value:!0});o.enums.DataType,o.enums.Usage,o.enums.PrimitiveType,o.enums.CompareFunction,o.enums.Face;var a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=i.vec4f32.fromValues(1,0,0,1),e._initialized=!1,e}return r(e,t),e.prototype.dispose=function(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)},e.prototype.prepareState=function(e,t){var r=e.context;r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(7680,7680,7681),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(1032,516,t.stencilRef,255)},e.prototype.draw=function(e,t){var r=e.context;this._initialized||this._initialize(r),r.bindVAO(this._solidVertexArrayObject),r.bindProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",t.coordRange),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),r.drawArrays(5,0,4),r.bindVAO()},e.prototype._initialize=function(e){if(this._initialized)return!0;var t=o.createProgram(e,n.background);if(!t)return!1;var r=new Int8Array([0,0,1,0,0,1,1,1]),i=o.BufferObject.createVertex(e,35044,r),s=new o.VertexArrayObject(e,n.background.attributes,{geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},{geometry:i});return this._solidProgram=t,this._solidVertexArrayObject=s,this._initialized=!0},e}(s.default);t.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/mat3f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../../vectorTiles/shaders/Programs\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],function(t,r,e,o,a,i,s,V,w,R,n){Object.defineProperty(r,\"__esModule\",{value:!0});i.enums.DataType,i.enums.Usage,i.enums.PrimitiveType,i.enums.TextureSamplingMode;var u=function(r){function t(){var t=null!==r&&r.apply(this,arguments)||this;return t._color=a.vec4f32.fromValues(1,0,0,1),t._patternMatrix=o.mat3f32.create(),t._programOptions={id:!1,pattern:!1},t}return e(t,r),t.prototype.dispose=function(){this._program&&(this._program.dispose(),this._program=null),this._vao&&(this._vao.dispose(),this._vao=null)},t.prototype.drawMany=function(t,r){var e=t.context,o=t.styleLayerId;this._loadWGLResources(e);var a,i=t.displayLevel,s=t.styleLayer,n=t.painter.getVectorTileProgramCach(),u=s.getPaintValue(\"background-color\",i),_=s.getPaintValue(\"background-opacity\",i),c=s.getPaintValue(\"background-pattern\",i),l=void 0!==c,p=u[3]*_,f=1|window.devicePixelRatio,m=t.spriteMosaic,d=f>V.VTL_HIGH_RES_CUTOFF?2:1,g=t.drawPhase===w.WGLDrawPhase.HITTEST,h=(g?1:0)<<1|(l?1:0),v=this._programOptions;v.id=g,v.pattern=l;var y=n.getProgram(0,h,v);if(e.bindVAO(this._vao),e.bindProgram(y),l){if(!(a=m.getMosaicItemPosition(c,!0)))return;y.setUniform1f(\"u_opacity\",_),y.setUniform2f(\"u_pattern_tl\",a.tl[0],a.tl[1]),y.setUniform2f(\"u_pattern_br\",a.br[0],a.br[1]),y.setUniform1i(\"u_texture\",V.VTL_TEXTURE_BINDING_UNIT_SPRITES),m.bind(e,9729,a.page,V.VTL_TEXTURE_BINDING_UNIT_SPRITES)}else this._color[0]=p*u[0],this._color[1]=p*u[1],this._color[2]=p*u[2],this._color[3]=p,y.setUniform4fv(\"u_color\",this._color);if(y.setUniform1f(\"u_depth\",s.z||0),g){var T=R.u32to4Xu8(o);y.setUniform4f(\"u_id\",T[0],T[1],T[2],T[3])}for(var b=0,x=r;b<x.length;b++){var P=x[b];if(y.setUniform1f(\"u_coord_range\",P.coordRange[0]),y.setUniformMatrix3fv(\"u_dvsMat3\",P.transforms.dvs),l){var U=Math.max(Math.pow(2,Math.round(i)-P.key.level),1),M=d*P.size[0]*U,I=M/a.size[0],L=M/a.size[1];this._patternMatrix[0]=I,this._patternMatrix[4]=L,y.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}e.setStencilFunction(514,P.stencilRef,255),e.drawArrays(5,0,4)}},t.prototype._loadWGLResources=function(t){if(!this._program||!this._vao){var r=i.createProgram(t,s.background);if(r){var e=new Int8Array([0,0,1,0,0,1,1,1]),o=i.BufferObject.createVertex(t,35044,e),a=new i.VertexArrayObject(t,s.background.attributes,{geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},{geometry:o});this._program=r,this._vao=a}}},t}(n.default);r.WGLBrushVTLBackground=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../enums\",\"../number\",\"./WGLBrush\"],function(e,t,r,i,o,U,w,a){Object.defineProperty(t,\"__esModule\",{value:!0});o.enums.DataType,o.enums.PrimitiveType;var M=[1,1,1,1],s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=i.vec4f32.create(),e._strokeColor=i.vec4f32.create(),e._programOptions={id:!1},e._vertexAttributes={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:16,normalized:!1,divisor:0},{name:\"a_color\",count:4,type:5121,offset:4,stride:16,normalized:!0,divisor:0},{name:\"a_stroke_color\",count:4,type:5121,offset:8,stride:16,normalized:!0,divisor:0},{name:\"a_data\",count:4,type:5121,offset:12,stride:16,normalized:!1,divisor:0}]},e}return r(e,t),e.prototype.dispose=function(){},e.prototype.drawMany=function(e,t){var r=e.context,i=e.state,a=e.drawPhase,o=e.styleLayerId,s=e.displayLevel,n=e.styleLayer,l=e.painter.getVectorTileProgramCach(),c=n.hasDataDrivenRadius?1:n.getPaintValue(\"circle-radius\",s),u=n.hasDataDrivenColor?M:n.getPaintValue(\"circle-color\",s),f=n.hasDataDrivenOpacity?1:n.getPaintValue(\"circle-opacity\",s),d=n.hasDataDrivenStrokeWidth?1:n.getPaintValue(\"circle-stroke-width\",s),m=n.hasDataDrivenStrokeColor?M:n.getPaintValue(\"circle-stroke-color\",s),_=n.hasDataDrivenStrokeOpacity?1:n.getPaintValue(\"circle-stroke-opacity\",s),v=n.hasDataDrivenBlur?0:n.getPaintValue(\"circle-blur\",s),p=f*u[3];this._color[0]=p*u[0],this._color[1]=p*u[1],this._color[2]=p*u[2],this._color[3]=p,p=_*m[3],this._strokeColor[0]=p*m[0],this._strokeColor[1]=p*m[1],this._strokeColor[2]=p*m[2],this._strokeColor[3]=p;var h=n.getPaintValue(\"circle-translate\",s),y=n.getPaintValue(\"circle-translate-anchor\",s),g=a===U.WGLDrawPhase.HITTEST,V=g?1:0,D=this._programOptions;D.id=g;var P=l.getProgram(5,V,D);if(r.bindProgram(P),P.setUniformMatrix3fv(\"u_displayMat3\",1===y?i.displayMat3:i.displayViewMat3),P.setUniform2fv(\"u_circleTranslation\",h),P.setUniform1f(\"u_depth\",n.z),P.setUniform1f(\"u_radius\",c),P.setUniform4fv(\"u_color\",this._color),P.setUniform1f(\"u_blur\",v),P.setUniform1f(\"u_stroke_width\",d),P.setUniform4fv(\"u_stroke_color\",this._strokeColor),P.setUniform1f(\"u_antialiasingWidth\",1.2),g){var b=w.u32to4Xu8(o);P.setUniform4f(\"u_id\",b[0],b[1],b[2],b[3])}for(var k=0,x=t;k<x.length;k++){var C=x[k];if(C.layerData[o]){var O=C.layerData[o],A=this._getCircleVAO(r,C,l);A&&(r.bindVAO(A),P.setUniformMatrix3fv(\"u_dvsMat3\",C.transforms.dvs),r.setStencilFunction(514,C.stencilRef,255),r.drawElements(4,O.triangleElementCount,5125,12*O.triangleElementStart),C.triangleCount+=O.triangleElementCount/3)}}},e.prototype._getCircleVAO=function(e,t,r){if(t.circleVertexArrayObject)return t.circleVertexArrayObject;var i=t.circleVertexBuffer,a=t.circleIndexBuffer;return i&&a?(t.circleVertexArrayObject=new o.VertexArrayObject(e,r.getProgramAttributes(5),this._vertexAttributes,{geometry:i},a),t.circleVertexArrayObject):null},e}(a.default);t.WGLBrushVTLCircle=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/mat3f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],function(t,e,r,i,a,s,I,z,p,o){Object.defineProperty(e,\"__esModule\",{value:!0});s.enums.DataType,s.enums.PrimitiveType,s.enums.TextureSamplingMode;var L=1/65536,U=[1,1,1,1],l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._fillVertexAttributes={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:4,normalized:!1,divisor:0}]},t._fillVertexAttributesDD={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:8,normalized:!1,divisor:0},{name:\"a_color\",count:4,type:5121,offset:4,stride:8,normalized:!0,divisor:0}]},t._outlineVertexAttributes={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:8,normalized:!1,divisor:0},{name:\"a_offset\",count:2,type:5120,offset:4,stride:8,normalized:!1,divisor:0},{name:\"a_xnormal\",count:2,type:5120,offset:6,stride:8,normalized:!1,divisor:0}]},t._outlineVertexAttributesDD={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:12,normalized:!1,divisor:0},{name:\"a_offset\",count:2,type:5120,offset:4,stride:12,normalized:!1,divisor:0},{name:\"a_xnormal\",count:2,type:5120,offset:6,stride:12,normalized:!1,divisor:0},{name:\"a_color\",count:4,type:5121,offset:8,stride:12,normalized:!0,divisor:0}]},t._color=a.vec4f32.create(),t._outlineColor=a.vec4f32.create(),t._fillProgramOptions={id:!1,dd:!1,pattern:!1},t._outlineProgramOptions={id:!1,dd:!1},t._patternMatrix=i.mat3f32.create(),t}return r(t,e),t.prototype.dispose=function(){},t.prototype.drawMany=function(t,e){var r=t.displayLevel,i=t.drawPhase,a=t.renderPass,o=t.styleLayerId,l=t.styleLayer,n=l.getPaintValue(\"fill-pattern\",r),s=l.hasDataDrivenColor?U:l.getPaintValue(\"fill-color\",r),u=l.hasDataDrivenOpacity?1:l.getPaintValue(\"fill-opacity\",r),f=u*s[3],d=void 0!==n||f<1||l.hasDataDrivenFill;if(!d||\"opaque\"!==a){var _;this._color[0]=f*s[0],this._color[1]=f*s[1],this._color[2]=f*s[2],this._color[3]=f,i===z.WGLDrawPhase.HITTEST&&(_=p.u32to4Xu8(o));var m=l.getPaintValue(\"fill-translate\",r),c=l.getPaintValue(\"fill-translate-anchor\",r);this._drawFill(t,o,l,e,m,c,n,d,_),this._drawOutline(t,o,l,e,m,c,n,_,u)}},t.prototype._drawFill=function(t,e,r,i,a,o,l,n,s){var u=t.context,f=t.displayLevel,d=t.drawPhase,_=t.pixelRatio,m=t.renderPass,c=t.spriteMosaic,p=t.state;if(n||\"translucent\"!==m){var v,y=void 0!==l,h=_>I.VTL_HIGH_RES_CUTOFF?2:1,x=r.hasDataDrivenFill,g=t.painter.getVectorTileProgramCach(),V=d===z.WGLDrawPhase.HITTEST,D=(V?1:0)<<2|(x?1:0)<<1|(y?1:0),b=this._fillProgramOptions;b.id=V,b.dd=x,b.pattern=y;var O=g.getProgram(1,D,b);if(u.bindProgram(O),y){if(!(v=c.getMosaicItemPosition(l,!0)))return void u.bindProgram();O.setUniform2f(\"u_pattern_tl\",v.tl[0],v.tl[1]),O.setUniform2f(\"u_pattern_br\",v.br[0],v.br[1]),O.setUniform1i(\"u_texture\",I.VTL_TEXTURE_BINDING_UNIT_SPRITES),c.bind(u,9729,v.page,I.VTL_TEXTURE_BINDING_UNIT_SPRITES)}O.setUniformMatrix3fv(\"u_displayMat3\",1===o?p.displayMat3:p.displayViewMat3),O.setUniform2fv(\"u_fillTranslation\",a),O.setUniform1f(\"u_depth\",r.z+L),O.setUniform4fv(\"u_color\",this._color),V&&O.setUniform4f(\"u_id\",s[0],s[1],s[2],s[3]);for(var A=0,P=i;A<P.length;A++){var T=P[A];if(T.layerData[e]){var M=this._getFillVAO(u,T,x,g);if(M){var C=T.layerData[e];if(u.bindVAO(M),O.setUniformMatrix3fv(\"u_dvsMat3\",T.transforms.dvs),y){var U=Math.max(Math.pow(2,Math.round(f)-T.key.level),1),w=T.coordRange[0]/(h*T.size[0]*U),j=1/(v.size[0]*w),E=1/(v.size[1]*w);this._patternMatrix[0]=j,this._patternMatrix[4]=E,O.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}u.setStencilFunction(514,T.stencilRef,255),u.drawElements(4,C.triangleElementCount,5125,12*C.triangleElementStart),T.triangleCount+=C.triangleElementCount/3}}}}},t.prototype._drawOutline=function(t,e,r,i,a,o,l,n,s){var u=t.context,f=t.displayLevel,d=t.drawPhase,_=t.renderPass,m=t.pixelRatio,c=t.state;if(\"opaque\"!==_){var p=void 0!==l;if(r.getPaintValue(\"fill-antialias\",f)&&!p||r.hasDataDrivenOutlineColor){var v=t.painter.getVectorTileProgramCach(),y=r.hasDataDrivenOutline;if(r.outlineUsesFillColor){if(1!==this._color[3])return;this._outlineColor[0]=this._color[0],this._outlineColor[1]=this._color[1],this._outlineColor[2]=this._color[2],this._outlineColor[3]=this._color[3]}else{var h=r.hasDataDrivenOutlineColor?U:r.getPaintValue(\"fill-outline-color\",f),x=s*h[3];this._outlineColor[0]=x*h[0],this._outlineColor[1]=x*h[1],this._outlineColor[2]=x*h[2],this._outlineColor[3]=x}var g=.75/m,V=d===z.WGLDrawPhase.HITTEST,D=(V?1:0)<<1|(y?1:0),b=this._outlineProgramOptions;b.id=V,b.dd=y;var O=v.getProgram(2,D,b);u.bindProgram(O),O.setUniformMatrix3fv(\"u_displayMat3\",1===o?c.displayMat3:c.displayViewMat3),O.setUniform2fv(\"u_fillTranslation\",a),O.setUniform1f(\"u_depth\",r.z+L),O.setUniform1f(\"u_outline_width\",g),O.setUniform4fv(\"u_color\",this._outlineColor),V&&O.setUniform4f(\"u_id\",n[0],n[1],n[2],n[3]);for(var A=0,P=i;A<P.length;A++){var T=P[A];if(T.layerData[e]){var M=T.layerData[e],C=this._getOutlineVAO(u,T,y,v);if(!C)return;u.bindVAO(C),O.setUniformMatrix3fv(\"u_dvsMat3\",T.transforms.dvs),u.setStencilFunction(514,T.stencilRef,255),u.drawElements(4,M.outlineElementCount,5125,12*M.outlineElementStart),T.triangleCount+=M.outlineElementCount/3}}}}},t.prototype._getFillVAO=function(t,e,r,i){if(r){if(e.fillDDVertexArrayObject)return e.fillDDVertexArrayObject;var a=e.fillDDVertexBuffer,o=e.fillIndexBuffer;return a&&o?(e.fillDDVertexArrayObject=new s.VertexArrayObject(t,i.getProgramAttributes(1),this._fillVertexAttributesDD,{geometry:a},o),e.fillDDVertexArrayObject):null}if(e.fillVertexArrayObject)return e.fillVertexArrayObject;var l=e.fillVertexBuffer,n=e.fillIndexBuffer;return l&&n?(e.fillVertexArrayObject=new s.VertexArrayObject(t,i.getProgramAttributes(1),this._fillVertexAttributes,{geometry:l},n),e.fillVertexArrayObject):null},t.prototype._getOutlineVAO=function(t,e,r,i){if(r){if(e.outlineDDVertexArrayObject)return e.outlineDDVertexArrayObject;var a=e.outlineDDVertexBuffer,o=e.outlineIndexBuffer;return a&&o?(e.outlineDDVertexArrayObject=new s.VertexArrayObject(t,i.getProgramAttributes(2),this._outlineVertexAttributesDD,{geometry:a},o),e.outlineDDVertexArrayObject):null}if(e.outlineVertexArrayObject)return e.outlineVertexArrayObject;var l=e.outlineVertexBuffer,n=e.outlineIndexBuffer;return l&&n?(e.outlineVertexArrayObject=new s.VertexArrayObject(t,i.getProgramAttributes(2),this._outlineVertexAttributes,{geometry:l},n),e.outlineVertexArrayObject):null},t}(o.default);e.WGLBrushVTLFill=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],function(e,t,r,i,a,l,z,E,j,n){Object.defineProperty(t,\"__esModule\",{value:!0});l.enums.DataType,l.enums.PrimitiveType,l.enums.TextureSamplingMode;t.C_DEG_TO_RAD=Math.PI/180;var S=[1,1,1,1],o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=a.vec4f32.create(),e._dashArray=i.vec2f32.create(),e._programOptions={id:!1,dd:!1,pattern:!1},e._vertexAttributes={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:12,normalized:!1,divisor:0},{name:\"a_offsetAndNormal\",count:4,type:5120,offset:4,stride:12,normalized:!1,divisor:0},{name:\"a_accumulatedDistance\",count:2,type:5123,offset:8,stride:12,normalized:!1,divisor:0}]},e._vertexAttributesDD={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:20,normalized:!1,divisor:0},{name:\"a_offsetAndNormal\",count:4,type:5120,offset:4,stride:20,normalized:!1,divisor:0},{name:\"a_accumulatedDistance\",count:2,type:5122,offset:8,stride:20,normalized:!1,divisor:0},{name:\"a_color\",count:4,type:5121,offset:12,stride:20,normalized:!0,divisor:0},{name:\"a_width\",count:1,type:5126,offset:16,stride:20,normalized:!1,divisor:0}]},e}return r(e,t),e.prototype.dispose=function(){},e.prototype.drawMany=function(e,t){var r=e.context,i=e.displayLevel,a=e.state,n=e.drawPhase,o=e.styleLayerId,s=e.styleLayer,l=e.painter.getVectorTileProgramCach(),u=s.getPaintValue(\"line-translate\",i),f=s.getPaintValue(\"line-translate-anchor\",i),d=s.getPaintValue(\"line-pattern\",i),m=void 0!==d,c=1/e.pixelRatio,_=s.getPaintValue(\"line-blur\",i),p=s.hasDataDrivenColor?S:s.getPaintValue(\"line-color\",i),y=s.hasDataDrivenOpacity?1:s.getPaintValue(\"line-opacity\",i),v=s.hasDataDrivenWidth?1:s.getPaintValue(\"line-width\",i),g=y*p[3];this._color[0]=g*p[0],this._color[1]=g*p[1],this._color[2]=g*p[2],this._color[3]=g;var h,D=s.hasDataDrivenLine,V=n===E.WGLDrawPhase.HITTEST;V&&(h=j.u32to4Xu8(o));var b=(V?1:0)<<2|(D?1:0)<<1|(m?1:0),x=this._programOptions;x.id=V,x.dd=D,x.pattern=m;var A=l.getProgram(3,b,x);if(r.bindProgram(A),A.setUniformMatrix3fv(\"u_displayViewMat3\",a.displayViewMat3),A.setUniformMatrix3fv(\"u_displayMat3\",1===f?a.displayMat3:a.displayViewMat3),A.setUniform2fv(\"u_lineTranslation\",u),A.setUniform1f(\"u_depth\",s.z),A.setUniform1f(\"u_blur\",_),A.setUniform1f(\"u_antialiasing\",c),A.setUniform4fv(\"u_color\",this._color),A.setUniform1f(\"u_width\",v),V&&A.setUniform4f(\"u_id\",h[0],h[1],h[2],h[3]),m){var P=e.spriteMosaic,T=P.getMosaicItemPosition(d,!0);T&&(P.bind(r,9729,T.page,z.VTL_TEXTURE_BINDING_UNIT_SPRITES),A.setUniform2f(\"u_pattern_tl\",T.tl[0],T.br[1]),A.setUniform2f(\"u_pattern_br\",T.br[0],T.tl[1]),A.setUniform2f(\"u_spriteSize\",8*T.size[0],T.size[1]),A.setUniform1i(\"u_texture\",z.VTL_TEXTURE_BINDING_UNIT_SPRITES))}else{var U=s.getPaintValue(\"line-dasharray\",i);U.length<2&&(U=[1,-1]);this._dashArray[0]=8*U[0],this._dashArray[1]=8*U[1],A.setUniform2fv(\"u_dasharray\",this._dashArray)}for(var O=0,M=t;O<M.length;O++){var I=M[O];if(I.layerData[o]){var w=I.layerData[o],L=this._getLineVAO(r,I,D,l);L&&(r.bindVAO(L),A.setUniformMatrix3fv(\"u_dvsMat3\",I.transforms.dvs),r.setStencilFunction(514,I.stencilRef,255),r.drawElements(4,w.triangleElementCount,5125,12*w.triangleElementStart),I.triangleCount+=w.triangleElementCount/3)}}},e.prototype._getLineVAO=function(e,t,r,i){if(r){if(t.lineDDVertexArrayObject)return t.lineDDVertexArrayObject;var a=t.lineDDVertexBuffer,n=t.lineIndexBuffer;return a&&n?(t.lineDDVertexArrayObject=new l.VertexArrayObject(e,i.getProgramAttributes(3),this._vertexAttributesDD,{geometry:a},n),t.lineDDVertexArrayObject):null}if(t.lineVertexArrayObject)return t.lineVertexArrayObject;var o=t.lineVertexBuffer,s=t.lineIndexBuffer;return o&&s?(t.lineVertexArrayObject=new l.VertexArrayObject(e,i.getProgramAttributes(3),this._vertexAttributes,{geometry:o},s),t.lineVertexArrayObject):null},e}(n.default);t.WGLBrushVTLLine=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../definitions\",\"../enums\",\"../GeometryUtils\",\"../number\",\"./WGLBrush\"],function(e,t,r,X,a,f,q,Y,J,s,i){Object.defineProperty(t,\"__esModule\",{value:!0});f.enums.DataType,f.enums.PrimitiveType,f.enums.TextureSamplingMode;var K=[1,1,1,1],o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._vertexAttributes={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:16,normalized:!1,divisor:0},{name:\"a_vertexOffset\",count:2,type:5122,offset:4,stride:16,normalized:!1,divisor:0},{name:\"a_tex\",count:4,type:5121,offset:8,stride:16,normalized:!1,divisor:0},{name:\"a_levelInfo\",count:4,type:5121,offset:12,stride:16,normalized:!1,divisor:0}]},e._vertexAttributesDD={geometry:[{name:\"a_pos\",count:2,type:5122,offset:0,stride:24,normalized:!1,divisor:0},{name:\"a_vertexOffset\",count:2,type:5122,offset:4,stride:24,normalized:!1,divisor:0},{name:\"a_tex\",count:4,type:5121,offset:8,stride:24,normalized:!1,divisor:0},{name:\"a_levelInfo\",count:4,type:5121,offset:12,stride:24,normalized:!1,divisor:0},{name:\"a_color\",count:4,type:5121,offset:16,stride:24,normalized:!0,divisor:0},{name:\"a_size\",count:1,type:5126,offset:20,stride:24,normalized:!1,divisor:0}]},e._iconProgramOptions={id:!1,dd:!1,sdf:!1},e._sdfProgramOptions={id:!1,dd:!1},e._spritesTextureSize=X.vec2f32.create(),e._haloColor=a.vec4f32.create(),e._sdfColor=a.vec4f32.create(),e._color=a.vec4f32.create(),e}return r(e,t),e.prototype.dispose=function(){},e.prototype.drawMany=function(e,t){var r,a=e.drawPhase,i=e.styleLayerId,o=e.styleLayer,n=e.fadeRecorder.getFadeValues();a===Y.WGLDrawPhase.HITTEST&&(r=s.u32to4Xu8(i)),this._drawIcons(e,o,t,n,r),this._drawText(e,o,t,n,r)},e.prototype._drawIcons=function(a,e,t,r,i){for(var o,n=this,s=a.context,f=a.displayLevel,l=a.drawPhase,u=a.painter,d=a.state,c=a.styleLayerId,m=!1,_=0,y=t;_<y.length;_++){if((E=y[_]).layerData[c]&&0<(o=E.layerData[c]).iconPerPageElementsMap.size){m=!0;break}}if(m){var p=e.hasDataDrivenIconSize?1:e.getLayoutValue(\"icon-size\",f),g=e.hasDataDrivenIconColor?K:e.getPaintValue(\"icon-color\",f),h=e.hasDataDrivenIconOpacity?1:e.getPaintValue(\"icon-opacity\",f),v=e.getPaintValue(\"icon-translate\",f),x=e.getPaintValue(\"icon-translate-anchor\",f),V=u.getVectorTileProgramCach(),D=g[3]*h;this._color[0]=D*g[0],this._color[1]=D*g[1],this._color[2]=D*g[2],this._color[3]=D;var U=e.getLayoutValue(\"icon-rotation-alignment\",f);2===U&&(U=1===e.getLayoutValue(\"symbol-placement\",f)?0:1);var T=o.isSDF,P=e.hasDataDrivenIcon,b=l===Y.WGLDrawPhase.HITTEST,A=(b?1:0)<<2|(P?1:0)<<1|(T?1:0),I=this._iconProgramOptions;I.id=b,I.dd=P,I.sdf=T;var L=V.getProgram(4,A,I);if(s.bindProgram(L),T){var O=e.getPaintValue(\"icon-halo-color\",f),S=e.getPaintValue(\"icon-halo-width\",f);L.setUniform4f(\"u_outlineColor\",O[0],O[1],O[2],O[3]),L.setUniform1f(\"u_outlineSize\",S)}L.setUniformMatrix3fv(\"u_displayViewMat3\",0===U?d.displayViewMat3:d.displayMat3),L.setUniformMatrix3fv(\"u_displayMat3\",1===x?d.displayMat3:d.displayViewMat3),L.setUniform2fv(\"u_iconTranslation\",v),L.setUniform1f(\"u_depth\",e.z),L.setUniform1f(\"u_mapRotation\",J.degToByte(d.rotation)),L.setUniform1f(\"u_keepUpright\",0),L.setUniform1f(\"u_level\",10*f),L.setUniform1f(\"u_fadeSpeed\",10*r.fadeSpeed),L.setUniform1f(\"u_minfadeLevel\",10*r.minfadeLevel),L.setUniform1f(\"u_maxfadeLevel\",10*r.maxfadeLevel),L.setUniform1f(\"u_fadeChange\",10*(f+r.fadeChange)),L.setUniform1i(\"u_texture\",q.VTL_TEXTURE_BINDING_UNIT_SPRITES),L.setUniform1f(\"u_size\",p),L.setUniform4fv(\"u_color\",this._color),b&&L.setUniform4fv(\"u_id\",i);for(var z=function(r){if(!r.layerData[c])return\"continue\";if(0===(o=r.layerData[c]).iconPerPageElementsMap.size)return\"continue\";var e=M._getIconVAO(s,r,P,V);if(!e)return\"continue\";s.bindVAO(e),L.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),o.iconPerPageElementsMap.forEach(function(e,t){n._renderIconRange(a,L,e,t,r)})},M=this,w=0,C=t;w<C.length;w++){var E;z(E=C[w])}}},e.prototype._renderIconRange=function(e,t,r,a,i){var o=e.context,n=e.hasClipping,s=e.requiredLevel,f=e.spriteMosaic;this._spritesTextureSize[0]=f.getWidth(a)/4,this._spritesTextureSize[1]=f.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),f.bind(o,9729,a,q.VTL_TEXTURE_BINDING_UNIT_SPRITES);var l=!0;s!==i.key.level||n?o.setStencilFunction(514,i.stencilRef,255):l=!1,o.setStencilTestEnabled(l),o.drawElements(4,r[1],5125,12*r[0]),i.triangleCount+=r[1]/3},e.prototype._drawText=function(e,t,r,a,i){for(var o,n=this,s=e.context,f=e.displayLevel,l=e.drawPhase,u=e.glyphMosaic,d=e.hasClipping,c=e.painter,m=e.pixelRatio,_=e.requiredLevel,y=e.state,p=e.styleLayerId,g=!1,h=0,v=r;h<v.length;h++){if((F=v[h]).layerData[p]&&0<(o=F.layerData[p]).glyphPerPageElementsMap.size){g=!0;break}}if(g){var x=t.getLayoutValue(\"text-rotation-alignment\",f);2===x&&(x=1===t.getLayoutValue(\"symbol-placement\",f)?0:1);var V=0===x,D=t.getLayoutValue(\"text-keep-upright\",f)&&V,U=l===Y.WGLDrawPhase.HITTEST,T=.8*3/m,P=t.hasDataDrivenTextSize?1:t.getLayoutValue(\"text-size\",f),b=t.hasDataDrivenTextColor?K:t.getPaintValue(\"text-color\",f),A=t.hasDataDrivenTextOpacity?1:t.getPaintValue(\"text-opacity\",f),I=t.getPaintValue(\"text-halo-color\",f),L=t.getPaintValue(\"text-halo-width\",f),O=3*t.getPaintValue(\"text-halo-blur\",f),S=3*L,z=c.getVectorTileProgramCach(),M=b[3]*A;this._sdfColor[0]=M*b[0],this._sdfColor[1]=M*b[1],this._sdfColor[2]=M*b[2],this._sdfColor[3]=M;var w=I[3]*A;this._haloColor[0]=w*I[0],this._haloColor[1]=w*I[1],this._haloColor[2]=w*I[2],this._haloColor[3]=w,this._glyphTextureSize||(this._glyphTextureSize=X.vec2f32.fromValues(u.width/4,u.height/4));var C=t.getPaintValue(\"text-translate\",f),E=t.getPaintValue(\"text-translate-anchor\",f),j=t.hasDataDrivenText,B=(U?1:0)<<1|(j?1:0),R=this._sdfProgramOptions;R.id=U,R.dd=j;var G=z.getProgram(6,B,R);s.bindProgram(G),G.setUniformMatrix3fv(\"u_displayViewMat3\",0===x?y.displayViewMat3:y.displayMat3),G.setUniformMatrix3fv(\"u_displayMat3\",1===E?y.displayMat3:y.displayViewMat3),G.setUniform2fv(\"u_textTranslation\",C),G.setUniform1f(\"u_depth\",t.z+1/65536),G.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),G.setUniform1f(\"u_mapRotation\",J.degToByte(y.rotation)),G.setUniform1f(\"u_keepUpright\",D?1:0),G.setUniform1f(\"u_level\",10*f),G.setUniform1f(\"u_fadeSpeed\",10*a.fadeSpeed),G.setUniform1f(\"u_minfadeLevel\",10*a.minfadeLevel),G.setUniform1f(\"u_maxfadeLevel\",10*a.maxfadeLevel),G.setUniform1f(\"u_fadeChange\",10*(f+a.fadeChange)),G.setUniform1i(\"u_texture\",q.VTL_TEXTURE_BINDING_UNIT_GLYPHS),G.setUniform1f(\"u_size\",P),G.setUniform1f(\"u_antialiasingWidth\",T),U&&G.setUniform4f(\"u_id\",i[0],i[1],i[2],i[3]);for(var N=function(r){if(!r.layerData[p])return\"continue\";if(0===(o=r.layerData[p]).glyphPerPageElementsMap.size)return\"continue\";var e=k._getSDFVAO(s,r,j,z);if(!e)return\"continue\";s.bindVAO(e),G.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs);var t=!0;_!==r.key.level||d?s.setStencilFunction(514,r.stencilRef,255):t=!1,s.setStencilTestEnabled(t),o.glyphPerPageElementsMap.forEach(function(e,t){n._renderGlyphRange(s,e,t,u,G,I[3],L,O,S,r)})},k=this,H=0,W=r;H<W.length;H++){var F;N(F=W[H])}}},e.prototype._renderGlyphRange=function(e,t,r,a,i,o,n,s,f,l){a.bind(e,9729,r,q.VTL_TEXTURE_BINDING_UNIT_GLYPHS),0<o&&0<n&&(i.setUniform4fv(\"u_color\",this._haloColor),i.setUniform1f(\"u_halo\",1),i.setUniform1f(\"u_edgeDistance\",f),i.setUniform1f(\"u_edgeBlur\",s),e.drawElements(4,t[1],5125,12*t[0]),l.triangleCount+=t[1]/3),0<this._sdfColor[3]&&(i.setUniform4fv(\"u_color\",this._sdfColor),i.setUniform1f(\"u_halo\",0),i.setUniform1f(\"u_edgeDistance\",0),i.setUniform1f(\"u_edgeBlur\",0),e.drawElements(4,t[1],5125,12*t[0]),l.triangleCount+=t[1]/3)},e.prototype._getIconVAO=function(e,t,r,a){if(r){if(t.iconDDVertexArrayObject)return t.iconDDVertexArrayObject;var i=t.iconDDVertexBuffer,o=t.iconIndexBuffer;return i&&o?(t.iconDDVertexArrayObject=new f.VertexArrayObject(e,a.getProgramAttributes(4),this._vertexAttributesDD,{geometry:i},o),t.iconDDVertexArrayObject):null}if(t.iconVertexArrayObject)return t.iconVertexArrayObject;var n=t.iconVertexBuffer,s=t.iconIndexBuffer;return n&&s?(t.iconVertexArrayObject=new f.VertexArrayObject(e,a.getProgramAttributes(4),this._vertexAttributes,{geometry:n},s),t.iconVertexArrayObject):null},e.prototype._getSDFVAO=function(e,t,r,a){if(r){if(t.textDDVertexArrayObject)return t.textDDVertexArrayObject;var i=t.textDDVertexBuffer,o=t.textIndexBuffer;return i&&o?(t.textDDVertexArrayObject=new f.VertexArrayObject(e,a.getProgramAttributes(6),this._vertexAttributesDD,{geometry:i},o),t.textDDVertexArrayObject):null}if(t.textVertexArrayObject)return t.textVertexArrayObject;var n=t.textVertexBuffer,s=t.textIndexBuffer;return n&&s?(t.textVertexArrayObject=new f.VertexArrayObject(e,a.getProgramAttributes(6),this._vertexAttributes,{geometry:n},s),t.textVertexArrayObject):null},e}(i.default);t.WGLBrushVTLSymbol=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../webgl\",\"../definitions\",\"./WGLBrush\"],function(e,t,i,n,r,a){Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.prepareState=function(e,t,i){var r=e.context,n=i&&-1!==i.indexOf(\"id\");r.setBlendingEnabled(!n),r.setBlendFunctionSeparate(1,771,1,771),r.setColorMask(!0,!0,!0,!0),r.setStencilWriteMask(0),r.setStencilTestEnabled(!0),r.setStencilFunction(514,t.stencilRef,255)},t.prototype.draw=function(t,i,r){var n=this;if(i.isReady&&i.hasData){i.commitChanges();var e=this.getGeometryType(),a=i.getDisplayList(),s=i.getGeometry(e);s&&a&&(t.timeline.begin(this.name),a.byType(e,function(e){n.drawGeometry(t,i,e,s,r)}),t.timeline.end(this.name))}},t.prototype._getVAO=function(e,t,i,r){return r.vao||(r.vao=new n.VertexArrayObject(e,i,t,r.vertexBufferMap,r.indexBuffer)),r.vao},t.prototype._setSharedUniforms=function(e,t,i){e.setUniform1f(\"u_pixelRatio\",t.pixelRatio),e.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),e.setUniformMatrix3fv(\"u_displayViewMat3\",t.state.displayViewMat3),e.setUniformMatrix4fv(\"u_insideEffectMat4\",t.rendererInfo.insideEffect),e.setUniformMatrix4fv(\"u_outsideEffectMat4\",t.rendererInfo.outsideEffect),e.setUniform1fv(\"u_insideOpacities\",t.rendererInfo.insideOpacities),e.setUniform1fv(\"u_outsideOpacities\",t.rendererInfo.outsideOpacities),e.setUniform1i(\"u_attributeTextureSize\",t.attributeView.size),e.setUniform1i(\"u_attributeData0\",r.TEXTURE_BINDING_ATTRIBUTE_DATA_0),e.setUniform1i(\"u_attributeData1\",r.TEXTURE_BINDING_ATTRIBUTE_DATA_1),e.setUniform1i(\"u_attributeData2\",r.TEXTURE_BINDING_ATTRIBUTE_DATA_2),e.setUniform1i(\"u_attributeData3\",r.TEXTURE_BINDING_ATTRIBUTE_DATA_3)},t}(a.default);t.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/tsSupport/assignHelper\",\"../../../../../core/RandomLCG\",\"../../../../webgl\",\"../definitions\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],function(e,t,o,r,i,a,E,n,S,s,U){Object.defineProperty(t,\"__esModule\",{value:!0});a.enums.DataType,a.enums.PrimitiveType,a.enums.TextureSamplingMode,a.enums.PixelFormat,a.enums.PixelType,a.enums.TextureWrapMode;var u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._dotTextureSize=0,e._dotTextures=null,e._dotSamplers=new Int32Array([E.TEXTURE_BINDING_RENDERER_0,E.TEXTURE_BINDING_RENDERER_1]),e}return o(e,t),e.prototype.dispose=function(){this._disposeTextures()},e.prototype.getGeometryType=function(){return n.WGLGeometryType.FILL},e.prototype.drawGeometry=function(e,t,o,r,i){var a,n=e.context,s=e.painter,u=e.rendererInfo,l=e.requiredLevel,d=o.indexCount,p=o.indexFrom,c=o.materialKey,_=U.FillMaterialKey.load(c),m=(a=_,S.createProgramDescriptor(a.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121}].concat(a.dotDensity?[]:[{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_tlbr\",count:4,type:5123},{location:4,name:\"a_aux1\",count:4,type:5121},{location:5,name:\"a_aux2\",count:2,type:5123},{location:6,name:\"a_aux3\",count:4,type:5121}],a.dotDensity?[{location:2,name:\"a_inverseArea\",count:1,type:5126}]:[])})),v=m.bufferLayouts,f=m.attributes,y=s.materialManager.getMaterialProgram(e,_,\"materials/fill\",f,i),x=this._getVAO(n,v,f,r);if(n.bindProgram(y),n.bindVAO(x),this._setSharedUniforms(y,e,t),_.textureBinding){s.textureManager.bindTextures(n,y,_);var T=1/Math.pow(2,l-t.key.level)/e.pixelRatio;y.setUniform1f(\"u_zoomFactor\",T)}if(_.vvColor&&(y.setUniform1fv(\"u_vvColorValues\",u.vvColorValues),y.setUniform4fv(\"u_vvColors\",u.vvColors)),_.vvOpacity&&(y.setUniform1fv(\"u_vvOpacityValues\",u.vvOpacityValues),y.setUniform1fv(\"u_vvOpacities\",u.vvOpacities)),_.dotDensity){var h=E.TILE_SIZE/u.ddDotSize,D=h*window.devicePixelRatio*h*window.devicePixelRatio,g=1/(T=1/Math.pow(2,l-t.key.level))*(1/T),w=u.ddDotScale?e.state.scale/u.ddDotScale:1;y.setUniform1f(\"u_tileZoomFactor\",T),y.setUniform1f(\"u_tileDotsOverArea\",D/(E.TILE_SIZE*window.devicePixelRatio*E.TILE_SIZE*window.devicePixelRatio)),y.setUniformMatrix4fv(\"u_dotColors\",u.ddColors),y.setUniform4fv(\"u_isActive\",u.ddActiveDots),y.setUniform4fv(\"u_dotBackgroundColor\",u.ddBackgroundColor),y.setUniform1f(\"u_dotValue\",Math.max(1,u.ddDotValue*w*g)),this._bindDotDensityTextures(n,y,u,h)}n.drawElements(4,d,5125,4*p),n.bindVAO(null)},e.prototype._disposeTextures=function(){if(this._dotTextures){for(var e=0;e<this._dotTextures.length;e++)this._dotTextures[e].dispose();this._dotTextures=null}},e.prototype._bindDotDensityTextures=function(e,t,o,r){var i=this._createDotDensityTextures(e,r,o.ddSeed);t.setUniform1iv(\"u_dotTextures\",this._dotSamplers);for(var a=0;a<i.length;a++)e.bindTexture(i[a],this._dotSamplers[a])},e.prototype._createDotDensityTextures=function(e,t,o){if(this._dotTextureSize===t&&this._seed===o||(this._disposeTextures(),this._dotTextureSize=t,this._seed=o),null===this._dotTextures){var r=new i(o);this._dotTextures=[this._allocDotDensityTexture(e,t,r),this._allocDotDensityTexture(e,t,r)]}return this._dotTextures},e.prototype._allocDotDensityTexture=function(e,t,o){for(var r=new Float32Array(t*t*4),i=0;i<r.length;i++)r[i]=o.getFloat();return new a.Texture(e,{wrapMode:10497,pixelFormat:6408,dataType:5126,samplingMode:9728,width:t,height:t},r)},e}(s.default);t.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../webgl\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],function(e,t,a,i,n,U,o,g){Object.defineProperty(t,\"__esModule\",{value:!0});i.enums.DataType,i.enums.PrimitiveType;var r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return n.WGLGeometryType.LABEL},t.prototype.drawGeometry=function(e,t,a,i,n){var o=e.context,r=e.painter,l=e.state,s=e.rendererInfo,u=a.indexCount,m=a.indexFrom,p=a.materialKey,f=g.LabelMaterialKey.load(p),v=f.mapAligned?1:0;if(v||!(1<=Math.abs(t.key.level-Math.round(100*e.displayLevel)/100))){var d,c=(d=f,U.createProgramDescriptor(d.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_vertexOffset\",count:2,type:5122},{location:4,name:\"a_texAndSize\",count:4,type:5121},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:5121},{location:6,name:\"a_zoomRangeAndEmpty\",count:4,type:5121}]})),y=c.bufferLayouts,S=c.attributes,_=r.materialManager.getMaterialProgram(e,f,\"materials/label\",S,n),z=this._getVAO(o,y,S,i);e.context.setStencilFunction(514,0,255),o.bindProgram(_),o.bindVAO(z),this._setSharedUniforms(_,e,t),r.textureManager.bindTextures(o,_,f,4);var M=1===v?l.displayViewMat3:l.displayMat3;if(f.vvSizeMinMaxValue&&_.setUniform4fv(\"u_vvSizeMinMaxValue\",s.vvSizeMinMaxValue),f.vvSizeScaleStops&&_.setUniform1f(\"u_vvSizeScaleStopsValue\",s.vvSizeScaleStopsValue),f.vvSizeFieldStops){var x=s.getSizeVVFieldStops(t.key.level);_.setUniform1fv(\"u_vvSizeFieldStopsValues\",x.values),_.setUniform1fv(\"u_vvSizeFieldStopsSizes\",x.sizes)}f.vvSizeUnitValue&&_.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",s.vvSizeUnitValueToPixelsRatio),_.setUniform1f(\"u_mapRotation\",Math.floor(l.rotation/360*254)),_.setUniform1f(\"u_mapAligned\",v),_.setUniformMatrix3fv(\"u_displayMat3\",M),_.setUniform1f(\"u_opacity\",1),_.setUniform1f(\"u_zoomLevel\",Math.round(10*e.displayLevel)),_.setUniform2fv(\"u_screenSize\",e.state.size),o.drawElements(4,u,5125,4*m),o.bindVAO(null),o.setStencilTestEnabled(!0),o.setBlendingEnabled(!0)}},t}(o.default);t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../webgl\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],function(e,t,a,i,o,g,n,x){Object.defineProperty(t,\"__esModule\",{value:!0});i.enums.DataType,i.enums.PrimitiveType,i.enums.Face,i.enums.CullMode;var r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return o.WGLGeometryType.LINE},t.prototype.drawGeometry=function(e,t,a,i,o){var n,r=e.context,l=e.painter,u=e.rendererInfo,s=e.requiredLevel,v=a.indexFrom,c=a.indexCount,m=a.materialKey,p=x.LineMaterialKey.load(m),f=(n=p,g.createProgramDescriptor(n.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:5120},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:5123},{location:5,name:\"a_tlbr\",count:4,type:5123},{location:6,name:\"a_segmentDirection\",count:4,type:5120},{location:7,name:\"a_aux\",count:2,type:5123}]})),d=f.bufferLayouts,y=f.attributes,S=l.materialManager.getMaterialProgram(e,p,\"materials/line\",y,o),_=this._getVAO(r,d,y,i),V=1/e.pixelRatio;r.bindProgram(S),r.bindVAO(_),this._setSharedUniforms(S,e,t),p.textureBinding&&l.textureManager.bindTextures(r,S,p);var z=Math.pow(2,s-t.key.level)/e.pixelRatio;if(S.setUniform1f(\"u_zoomFactor\",z),S.setUniform1f(\"u_blur\",0+V),S.setUniform1f(\"u_antialiasing\",V),p.vvSizeMinMaxValue&&S.setUniform4fv(\"u_vvSizeMinMaxValue\",u.vvSizeMinMaxValue),p.vvSizeScaleStops&&S.setUniform1f(\"u_vvSizeScaleStopsValue\",u.vvSizeScaleStopsValue),p.vvSizeFieldStops){var U=u.getSizeVVFieldStops(t.key.level);S.setUniform1fv(\"u_vvSizeFieldStopsValues\",U.values),S.setUniform1fv(\"u_vvSizeFieldStopsSizes\",U.sizes)}p.vvSizeUnitValue&&S.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",u.vvSizeUnitValueToPixelsRatio),p.vvColor&&(S.setUniform1fv(\"u_vvColorValues\",u.vvColorValues),S.setUniform4fv(\"u_vvColors\",u.vvColors)),p.vvOpacity&&(S.setUniform1fv(\"u_vvOpacityValues\",u.vvOpacityValues),S.setUniform1fv(\"u_vvOpacities\",u.vvOpacities)),r.setFaceCullingEnabled(!0),r.setFrontFace(2305),r.setCullFace(1029),r.drawElements(4,c,5125,4*v),r.setFaceCullingEnabled(!1),r.bindVAO(null)},t}(n.default);t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/tsSupport/assignHelper\",\"../../../../webgl\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],function(e,t,i,a,o,n,z,r,x){Object.defineProperty(t,\"__esModule\",{value:!0});o.enums.DataType,o.enums.PrimitiveType;var l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return n.WGLGeometryType.MARKER},t.prototype.drawGeometry=function(e,t,i,a,o){var n,r=e.context,l=e.painter,v=e.rendererInfo,s=e.state,u=i.indexCount,p=i.indexFrom,m=i.materialKey,c=x.MarkerMaterialKey.load(m),f=(n=c,z.createProgramDescriptor(n.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_vertexOffset\",count:2,type:5122},{location:2,name:\"a_texCoords\",count:2,type:5123},{location:3,name:\"a_bitSetAndDistRatio\",count:4,type:5121},{location:4,name:\"a_id\",count:4,type:5121},{location:5,name:\"a_color\",count:4,type:5121,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:5121,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:5121}]})),y=f.bufferLayouts,d=f.attributes,S=l.materialManager.getMaterialProgram(e,c,\"materials/icon\",d,o),_=this._getVAO(r,y,d,a);r.bindProgram(S),r.bindVAO(_),c.textureBinding&&l.textureManager.bindTextures(r,S,c,1),this._setSharedUniforms(S,e,t);var M=c.vvRotation?s.displayViewMat3:s.displayMat3;if(S.setUniformMatrix3fv(\"u_displayMat3\",M),c.vvSizeMinMaxValue&&S.setUniform4fv(\"u_vvSizeMinMaxValue\",v.vvSizeMinMaxValue),c.vvSizeScaleStops&&S.setUniform1f(\"u_vvSizeScaleStopsValue\",v.vvSizeScaleStopsValue),c.vvSizeFieldStops){var V=v.getSizeVVFieldStops(t.key.level);S.setUniform1fv(\"u_vvSizeFieldStopsValues\",V.values),S.setUniform1fv(\"u_vvSizeFieldStopsSizes\",V.sizes)}c.vvSizeUnitValue&&S.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",v.vvSizeUnitValueToPixelsRatio),c.vvColor&&(S.setUniform1fv(\"u_vvColorValues\",v.vvColorValues),S.setUniform4fv(\"u_vvColors\",v.vvColors)),c.vvOpacity&&(S.setUniform1fv(\"u_vvOpacityValues\",v.vvOpacityValues),S.setUniform1fv(\"u_vvOpacities\",v.vvOpacities)),c.vvRotation&&S.setUniform1f(\"u_vvRotationType\",\"geographic\"===v.vvMaterialParameters.vvRotationType?0:1),r.drawElements(4,u,5125,4*p),r.bindVAO(null)},t}(r.default);t.default=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../webgl\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],function(e,t,a,i,o,V,r,z){Object.defineProperty(t,\"__esModule\",{value:!0});i.enums.DataType,i.enums.PrimitiveType;var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return o.WGLGeometryType.TEXT},t.prototype.drawGeometry=function(e,t,a,i,o){var r,n=e.context,v=e.painter,l=e.rendererInfo,s=e.state,u=a.indexCount,p=a.indexFrom,f=a.materialKey,m=z.TextMaterialKey.load(f),c=(r=m,V.createProgramDescriptor(r.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_vertexOffset\",count:2,type:5122},{location:4,name:\"a_texFontSize\",count:4,type:5121},{location:5,name:\"a_aux\",count:4,type:5120}]})),y=c.bufferLayouts,d=c.attributes,S=v.materialManager.getMaterialProgram(e,m,\"materials/text\",d,o),_=this._getVAO(n,y,d,i);if(n.bindProgram(S),n.bindVAO(_),this._setSharedUniforms(S,e,t),v.textureManager.bindTextures(n,S,m,4),S.setUniformMatrix3fv(\"u_displayMat3\",s.displayMat3),m.vvSizeMinMaxValue&&S.setUniform4fv(\"u_vvSizeMinMaxValue\",l.vvSizeMinMaxValue),m.vvSizeScaleStops&&S.setUniform1f(\"u_vvSizeScaleStopsValue\",l.vvSizeScaleStopsValue),m.vvSizeFieldStops){var x=l.getSizeVVFieldStops(t.key.level);S.setUniform1fv(\"u_vvSizeFieldStopsValues\",x.values),S.setUniform1fv(\"u_vvSizeFieldStopsSizes\",x.sizes)}m.vvSizeUnitValue&&S.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",l.vvSizeUnitValueToPixelsRatio),m.vvColor&&(S.setUniform1fv(\"u_vvColorValues\",l.vvColorValues),S.setUniform4fv(\"u_vvColors\",l.vvColors)),m.vvOpacity&&(S.setUniform1fv(\"u_vvOpacityValues\",l.vvOpacityValues),S.setUniform1fv(\"u_vvOpacities\",l.vvOpacities)),m.vvRotation&&S.setUniform1f(\"u_vvRotationType\",\"geographic\"===l.vvMaterialParameters.vvRotationType?0:1),n.drawElements(4,u,5125,4*p),n.bindVAO(null)},t}(r.default);t.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/mathUtils\",\"../../../../../core/libs/gl-matrix-2/vec2f32\"],function(t,e,o,h){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function e(t,e,i,r){this.center=h.vec2f32.fromValues(t,e),this.centerT=h.vec2f32.create(),this.halfWidth=i/2,this.halfHeight=r/2,this.width=i,this.height=r}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this.center[0]},set:function(t){this.center[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this.center[1]},set:function(t){this.center[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"blX\",{get:function(){return this.center[0]-this.halfWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"blY\",{get:function(){return this.center[1]-this.halfHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"trX\",{get:function(){return this.center[0]+this.halfWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"trY\",{get:function(){return this.center[1]+this.halfHeight},enumerable:!0,configurable:!0}),e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.serialize=function(t){return t.writeF32(this.center[0]),t.writeF32(this.center[1]),t.push(this.width),t.push(this.height),t},e.prototype.findCollisionDelta=function(t){var e=Math.abs(t.centerT[0]-this.centerT[0]),i=Math.abs(t.centerT[1]-this.centerT[1]),r=(t.halfWidth+this.halfWidth)/e,h=(t.halfHeight+this.halfHeight)/i,n=Math.min(r,h);return o.log2(n)},e.prototype.extend=function(t){var e=Math.min(this.blX,t.blX),i=Math.min(this.blY,t.blY),r=Math.max(this.trX,t.trX),h=Math.max(this.trY,t.trY);this.width=r-e,this.height=h-i,this.halfWidth=this.width/2,this.halfHeight=this.height/2,this.x=e+this.halfWidth,this.y=i+this.halfHeight},e.deserialize=function(t){return new e(t.readF32(),t.readF32(),t.readInt32(),t.readInt32())},e}();e.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../tiling\",\"./CollisionBucketEntry\"],function(e,t,g,r){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){this.neighbors=new Array(9),this._tiles=new Array(t);for(var i=0;i<t;i++)this._tiles[i]=new r.default;this.key=e}return Object.defineProperty(e.prototype,\"isDirty\",{get:function(){for(var e=0,t=this._tiles;e<t.length;e++){if(t[e].dirty)return!0}return!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return this._tiles.length},enumerable:!0,configurable:!0}),e.prototype.getTile=function(e){return this._tiles[e]},e.prototype.getReference=function(e){var t=this._tiles[e];return t&&t.reference},e.prototype.onRegisterLayer=function(e){this.invalidateRange(e),this._add(e)},e.prototype.onUnregisterLayer=function(e){this.invalidateRange(e),this._remove(e)},e.prototype.onLabelsRendered=function(){},e.prototype.invalidateRange=function(e){for(var t=e;t<this._tiles.length;t++)this._tiles[t].dirty=!0},e.prototype.add=function(e){this._add(e)},e.prototype.remove=function(e){this._remove(e)},e.prototype.canDelete=function(){return 0===this._tiles.length},e.prototype.ready=function(){for(var e=0,t=this._tiles;e<t.length;e++){t[e].dirty=!1}},e.prototype.computeNeighbors=function(e){this.neighbors[0]=this._getNeighbor(e,-1,-1),this.neighbors[1]=this._getNeighbor(e,0,-1),this.neighbors[2]=this._getNeighbor(e,1,-1),this.neighbors[3]=this._getNeighbor(e,-1,0),(this.neighbors[4]=this).neighbors[5]=this._getNeighbor(e,1,0),this.neighbors[6]=this._getNeighbor(e,-1,1),this.neighbors[7]=this._getNeighbor(e,0,1),this.neighbors[8]=this._getNeighbor(e,1,1)},e.prototype.reset=function(e,t,i){for(var r=0,o=this._tiles;r<o.length;r++){var n=o[r];n&&n.reset(e,t,i)}},e.prototype._add=function(e){var t=[];if(e>=this._tiles.length)this._tiles.push(new r.default);else{for(var i=0;i<this._tiles.length;i++)i===e&&t.push(new r.default),t.push(this._tiles[i]);this._tiles=t}},e.prototype._remove=function(e){for(var t=[],i=0;i<this._tiles.length;i++)i!==e&&t.push(this._tiles[i]);this._tiles=t},e.prototype._getNeighbor=function(e,t,i){var r=this.key,o=r.col+t,n=r.row+i,s=r.level,h=r.world,l=g.TileKey.getId(s,n,o,h);return e.has(l)?e.get(l):null},e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/libs/gl-matrix-2/vec2\"],function(e,r,M){Object.defineProperty(r,\"__esModule\",{value:!0});var t=function(){function e(){this._reference=null}return Object.defineProperty(e.prototype,\"dirty\",{get:function(){return this.reference&&this.reference.isDirty},set:function(e){this.reference&&this.reference.hasData&&(e||this.reference.isDirty)&&(this.reference.isDirty=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"index\",{get:function(){return this._reference&&this._reference.labelIndex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"reference\",{get:function(){return this._reference},set:function(e){this._reference=e},enumerable:!0,configurable:!0}),e.prototype.reset=function(e,r,t){var n=e.state,i=t.layerView.tileRenderer,o=this.reference;if(!o||!o.hasData)return!1;r&&(o.isDirty=!0);for(var a=o.transforms.labelMat2d,c=a[4],f=a[5],s=0,u=o.displayObjects;s<u.length;s++)for(var l=u[s],d=i.featuresView.attributeView,h=t.hasVV()?d.getVVSize(l.id):0,b=0,v=l.metrics;b<v.length;b++){var y=v[b];t.hasVV()&&y.computeOffset(h,t.vvEval);var p=y.bounds.center,g=y.bounds.centerT;o.isDirty&&(y.minZoom=-1);var m=M.vec2.copy(g,y.anchor);if(n.rotation?M.vec2.transformMat2d(m,m,a):(g[0]=m[0]+c,g[1]=m[1]+f),M.vec2.add(g,m,p),g[0]+=y.offsetX,g[1]+=y.offsetY,y.boxes)for(var V=0,D=y.boxes;V<D.length;V++){var _=D[V],x=_.center,O=y.anchor,j=_.centerT;M.vec2.add(j,O,x),n.rotation?M.vec2.transformMat2d(j,j,a):(j[0]=j[0]+c,j[1]=j[1]+f)}}return!0},e}();r.default=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Error\",\"../../../../../core/iteratorUtils\",\"../../../../../core/Logger\",\"../../../../../core/mathUtils\",\"../definitions\",\"./CollisionBucket\",\"./LayerCollisionInfo\"],function(e,i,_,p,t,l,o,n,v){Object.defineProperty(i,\"__esModule\",{value:!0});var k=o.TILE_SIZE/o.COLLISION_BUCKET_SIZE,x=k,m=t.getLogger(\"esri.views.2d.engine.webgl.collisions.CollisionEngine\"),r=function(){function e(e){this._layers=new Map,this._collisionBuckets=new Map,this._didError=!1,this._tilingScheme=e}return Object.defineProperty(e.prototype,\"collisionInfos\",{get:function(){return p.valuesOfMap(this._layers)},enumerable:!0,configurable:!0}),e.prototype.registerLayerView=function(e,i){if(!this._layers.has(e)){var t=v.default.create(e,i,this.collisionInfos,this._tilingScheme);this._layers.set(e,t),this._collisionBuckets.forEach(function(e){return e.onRegisterLayer(t.index)})}},e.prototype.unregisterLayerView=function(e){var r=this;if(this._layers.has(e)){var o=this._layers.get(e);v.default.delete(o.index,this.collisionInfos),this._layers.delete(e),this._collisionBuckets.forEach(function(e,i){var t=e.getTile(o.index);t&&(e.onUnregisterLayer(o.index),e.canDelete()&&r._collisionBuckets.delete(i),t.reference&&(t.reference.isDirty=!1))})}},e.prototype.addTile=function(e,i){var t=i.key.id;if(this._layers.has(e)){this._collisionBuckets.has(t)||this._collisionBuckets.set(t,new n.default(i.key,this._layers.size));var r=this._getIndex(e);this._collisionBuckets.get(t).getTile(r).reference=i}},e.prototype.removeTile=function(e,i){if(this._layers.has(e)&&this._collisionBuckets.has(i)){var t=this._getIndex(e),r=this._collisionBuckets.get(i).getTile(t);r.dirty=!1,r.reference=null}},e.prototype.run=function(e,i){var t=p.valuesOfMap(this._collisionBuckets).sort(function(e,i){return e.key.compareRowMajor(i.key)}),r=!0,o=e.renderingOptions.labelCollisionsEnabled&&!this._didError,n=this.collisionInfos;try{for(var s=0,l=t;s<l.length;s++){var a=l[s];r=r||a.isDirty;for(var c=0;c<this._layers.size;c++){var f=v.default.find(c,n);a.computeNeighbors(this._collisionBuckets),a.reset(e,r,f)}}for(var u=0;u<this._layers.size;u++){f=v.default.find(u,n);for(var h=0,g=t;h<g.length;h++){a=g[h];this._run(o,a,f,i)}}}catch(e){m.error(new _(\"mapview-labeling\",\"Encountered an error during decluttering. Disabling collisions\",e)),this._didError=!0}for(var y=0,d=t;y<d.length;y++){(a=d[y]).ready()}},e.prototype._run=function(e,i,t,r){var o=i.getReference(t.index);o&&o.hasData&&(o.key.level!==r?this._resetLabelsMinZoom(i,t):this._runVisibility(e,i,o,t,r))},e.prototype._resetLabelsMinZoom=function(e,i){if(e&&\"polyline\"!==i.geometryType){var t=e.getReference(i.index);if(t&&t.hasData)for(var r=i.layerView.tileRenderer.featuresView.attributeView,o=0,n=t.displayObjects;o<n.length;o++){var s=n[o];r.setLabelMinZoom(s.id,255)}}},e.prototype._checkLabelsVisible=function(e,i){var t=!i.filter||!!(e&o.FILTER_FLAG_0),r=!i.effect||i.effect.excludedLabelsVisible||!!(e&o.EFFECT_FLAG_0);return t&&r},e.prototype._runVisibility=function(e,i,t,r,o){for(var n=r.layerView.tileRenderer.featuresView.attributeView,s=0,l=t.displayObjects.sort(function(e,i){return n.getLabelMinZoom(e.id)-n.getLabelMinZoom(i.id)});s<l.length;s++){var a=l[s];if(a.metrics.length){var c=\"polyline\"===r.geometryType?0:10*(o-1),f=n.getFilterFlags(a.id),u=this._checkLabelsVisible(f,r.layerView);if(e)for(var h=0;h<a.metrics.length;h++){var g=a.metrics[h],y=u?-1!==g.minZoom?g.minZoom:this._computeLabelVisibility(a,g,r.index,i,g.baseZoom,o):255;c=Math.max(y,c)}n.setLabelMinZoom(a.id,c);for(var d=0,_=a.metrics;d<_.length;d++){(g=_[d]).minZoom=c}}}},e.prototype._computeLabelVisibility=function(e,i,t,r,o,n){for(var s=o,l=i.xBucket,a=i.yBucket,c=i.xOverflow,f=i.yOverflow,u=l-c,h=l+c+1,g=a+f+1,y=a-f;y<g;y++)for(var d=u;d<h;d++)if(!(d<-k||y<-x||k<d||x<y))for(var _=0;_<=t;_++){var p=this._getRelativeSubBucket(_,r,d,y);if(p)for(var v=0,m=p;v<m.length;v++){var b=m[v];if(b.id!==e.id){var L=this._compareLabels(i,b,s,n);s=Math.max(L,s)}}}return s},e.prototype._compareLabels=function(e,i,t,r){var o=10*(r+1);if(-1===i.minZoom||i.minZoom>o)return t;var n=e.findCollisionDelta(i),s=l.clamp(Math.floor(10*(n+r)),0,255);return i.minZoom>=s?t:Math.max(t,s)},e.prototype._getNeighboringTile=function(e,i,t,r){var o=3*(1+r)+(1+t),n=i.neighbors[o];return n&&n.getTile(e)},e.prototype._getRelativeSubBucket=function(e,i,t,r){var o=l.sign(Math.floor(t/4)),n=l.sign(Math.floor(r/4)),s=this._getNeighboringTile(e,i,o,n);return s&&s.reference&&s.index&&s.reference.hasData?s.index[r-4*n][t-4*o]:null},e.prototype._getIndex=function(e){return this._layers.get(e).index},e}();i.CollisionEngine=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../definitions\"],function(t,i,e){Object.defineProperty(i,\"__esModule\",{value:!0});var r=function(){function t(t){this._bucketSize=t,this._rowsLength=e.TILE_SIZE/t,this._colsLength=e.TILE_SIZE/t,this._grid=this._initGrid()}return t.prototype.checkOverlap=function(t,i){var e=Math.floor(t/this._bucketSize),r=Math.floor(i/this._bucketSize);return e<0||e>=this._rowsLength||r<0||r>=this._colsLength||(!!this._grid[r][e]||!(this._grid[r][e]=!0))},t.prototype.reset=function(){this._grid=this._initGrid()},t.prototype._initGrid=function(){for(var t=[],i=0;i<this._rowsLength;i++)t.push(new Array(this._colsLength));return t},t}();i.CollisionGrid=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Logger\",\"../../../../../core/mathUtils\",\"../../../../../core/screenUtils\",\"./visualVariableSimpleUtils\"],function(e,r,n,c,t,i){Object.defineProperty(r,\"__esModule\",{value:!0});var f=function(e,r){return e.order-r.order},o=function(e,r){return e.index-r.index},a=n.getLogger(\"esri/views/2d/engine/webgl/collisions/CollisionEngine\");function l(r){return function(e){return t.pt2px(i.getSizeForValueSimple(e,r))}}function d(e){if(!e)return null;for(var r=0,n=e;r<n.length;r++){var t=n[r];if(\"size\"===t.type)return l(t)}return null}r.createLabelVVEvaluator=d;var s=function(){function v(e,r,n,l){var t=this;this._vvHandle=null;var i=e.layer,o=i.geometryType,a=i.labelingInfo,s=i.renderer;this.vvEval=d(\"visualVariables\"in s&&s.visualVariables),this._vvHandle=i.watch(\"visualVariables\",function(e){t.vvEval=d(e)});var u=a.map(function(e){return n=l,t=!!(r=e).minScale,i=!!r.maxScale,o=t&&n.scaleToZoom(r.minScale)||0,a=i&&n.scaleToZoom(r.maxScale)||255,{minZoom:c.clamp(Math.floor(10*o),0,255),maxZoom:c.clamp(Math.floor(10*a),0,255)};var r,n,t,i,o,a});this.layerView=e,this.geometryType=o,this.index=r,this.order=n,this.zoomRanges=u,this.layerView=e}return v.prototype.hasVV=function(){return!!this.vvEval},v.prototype.allOrNothing=function(){return!(\"polyline\"===this.geometryType)},v.prototype.destroy=function(){this._vvHandle.remove()},v.create=function(e,r,n,t){for(var i=n.sort(f),o=!1,a=-1,l=0,s=i;l<s.length;l++){var u=s[l];!o&&u.order>r&&(a=u.index,o=!0),o&&u.index++}return o||(a=i.length),new v(e,a,r,t)},v.delete=function(e,r){for(var n=r.sort(o),t=e+1;t<n.length;t++)r[t].index--;r[e].destroy(),r.splice(e,1)},v.find=function(e,r){for(var n=0,t=r;n<t.length;n++){var i=t[n];if(i.index===e)return i}return a.error(\"Tried to get a LayerCollisionInfo for an index that doesn't exist!\"),null},v}();r.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Error\",\"../../../../../core/Logger\"],function(e,r,t,i){Object.defineProperty(r,\"__esModule\",{value:!0});var a=i.getLogger(\"esri.views.2d.engine.collisions.LayerViewSorter\");function o(e){return\"esri.views.2d.layers.FeatureLayerView2D\"===e.declaredClass||\"esri.views.2d.layers.StreamLayerView2D\"===e.declaredClass}function l(e){if(!e.layer||!e.layer.renderer)return!1;switch(e.layer.renderer.type){case\"class-breaks\":case\"simple\":case\"unique-value\":case\"dictionary\":return!0;default:return a.error(new t(\"mapview-labeling\",\"Renderer of type \"+e.layer.renderer.type+\" does not currently support labeling\")),!1}}var n=function(){function e(e,r){this.registerLayer=e,this.unregisterLayer=r,this._layerViewState=new Map}return e.prototype.findIndex=function(r){return r.view.allLayerViews.findIndex(function(e){return e.uid===r.uid})},e.prototype.update=function(e){for(var r=e.added,t=0,i=e.removed;t<i.length;t++){o(s=i[t])&&this._layerViewState.has(s)&&this._deleteState(s)}for(var a=0,n=r;a<n.length;a++){var s;o(s=n[a])&&l(s)&&!this._layerViewState.has(s)&&this._createState(s)}this._recomputeOrder()},e.prototype.destroy=function(){this._layerViewState.forEach(function(e){return e.handle.remove()})},e.prototype._createState=function(e){var r={priority:-1,handle:null};return r.handle=e.watch(\"labelsVisible\",this._recomputeOrder.bind(this)),this._layerViewState.set(e,r),r},e.prototype._deleteState=function(e){if(this._layerViewState.has(e)){var r=this._layerViewState.get(e);r.handle.remove(),-1!==r.priority&&this.unregisterLayer(e),this._layerViewState.delete(e)}},e.prototype._recomputeOrder=function(){var n=this;this._layerViewState.forEach(function(e,r){var t=r.view.map.allLayers.findIndex(function(e){return e.uid===r.layer.uid}),i=r.layer,a=i.visible&&i.labelsVisible&&i.labelingInfo?4294967295-t:-1;a!==e.priority&&(e.priority=a,n.unregisterLayer(r),-1!==a&&n.registerLayer(r,a))})},e}();r.LayerViewSorter=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Logger\",\"../../../../../core/libs/gl-matrix-2/vec2f32\",\"../definitions\",\"./BoundingBox\",\"../util/serializationUtils\"],function(t,s,e,n,d,x,p){Object.defineProperty(s,\"__esModule\",{value:!0});var o=e.getLogger(\"esri/views/2d/engine/webgl/collisions/Metric\"),i=function(){function I(t,s,e,i,o){this.id=t,this.range=s,this.boxes=null,this.minZoom=-1,this.size=0,this.directionX=0,this.directionY=0,this.offsetX=0,this.offsetY=0,this.anchor=n.vec2f32.fromValues(e,i),this.baseZoom=o}return I.prototype.add=function(t){this.bounds?(this.boxes?this.boxes.push(t):(this.boxes=[this.bounds,t],this.bounds=this.bounds.clone()),this.bounds.extend(t)):this.bounds=t},I.prototype.computeIndex=function(){var t=this.bounds,s=this.anchor[0],e=this.anchor[1],i=Math.floor(s/d.COLLISION_BUCKET_SIZE),o=Math.floor(e/d.COLLISION_BUCKET_SIZE),n=0;(i>d.COLLISION_TILE_BOX_SIZE||o>d.COLLISION_TILE_BOX_SIZE)&&(i=d.COLLISION_TILE_BOX_SIZE,o=d.COLLISION_TILE_BOX_SIZE,n=1),(i<0||o<0)&&(o=i=0,n=1);var h=t.halfWidth+Math.abs(t.center[0]),r=t.halfHeight+Math.abs(t.center[1]),a=2*Math.max(h,r),u=a-s%d.COLLISION_BUCKET_SIZE,f=a-e%d.COLLISION_BUCKET_SIZE;this.xBucket=i,this.yBucket=o,this.xOverflow=Math.ceil(Math.abs(u/d.COLLISION_BUCKET_SIZE))+n,this.yOverflow=Math.ceil(Math.abs(f/d.COLLISION_BUCKET_SIZE))+n},I.prototype.findCollisionDelta=function(t){var s=this.bounds.findCollisionDelta(t.bounds),e=this.boxes&&this.boxes.length,i=t.boxes&&t.boxes.length;return Math.abs(s)>d.COLLISION_MAX_ZOOM_DELTA||!e&&!i?s:e&&i?this._boxesToBoxes(t):e?this._boxesToBox(t):this._boxToBoxes(t)},I.prototype.computeOffset=function(t,s){s||o.error(\"mapview-labeling\",\"Unable to compute label offset. Expected an evaluator function but found \"+s);var e=this.size;if(this.hasVV){var i=s(t);e=isNaN(i)||null==i||i===1/0?this.size:i}this.offsetX=this.directionX*(e/2+d.COLLISION_PLACEMENT_PADDING),this.offsetY=this.directionY*(e/2+d.COLLISION_PLACEMENT_PADDING)},I.prototype.setVV=function(t,s,e){this.hasVV=!0,this.size=t,this.directionX=s,this.directionY=e},I.prototype.clone=function(){var t=new I(this.id,this.range,this.anchor[0],this.anchor[1],this.baseZoom);return t.minZoom=this.minZoom,this.bounds&&(t.bounds=this.bounds.clone()),this.boxes&&(t.boxes=this.boxes.map(function(t){return t.clone()})),t.xBucket=this.xBucket,t.yBucket=this.yBucket,t.xOverflow=this.xOverflow,t.yOverflow=this.yOverflow,t.hasVV=this.hasVV,t.size=this.size,t.directionX=this.directionX,t.directionY=this.directionY,t.offsetX=this.offsetX,t.offsetY=this.offsetY,t},I.prototype._boxToBoxes=function(t){for(var s=-1/0,e=0,i=t.boxes;e<i.length;e++){var o=i[e],n=this.bounds.findCollisionDelta(o);s=Math.max(n,s)}return s},I.prototype._boxesToBox=function(t){for(var s=this.boxes[0].findCollisionDelta(t.bounds),e=1;e<this.boxes.length;e++){var i=this.boxes[e].findCollisionDelta(t.bounds);s=Math.max(i,s)}return s},I.prototype._boxesToBoxes=function(t){for(var s=-1/0,e=0;e<this.boxes.length;e++)for(var i=this.boxes[e],o=0,n=t.boxes;o<n.length;o++){var h=n[o],r=i.findCollisionDelta(h);s=Math.max(r,s)}return s},I.prototype.serialize=function(t){return t.push(this.id),this.bounds.serialize(t),t.push(this.range.from),t.push(this.range.count),t.push(this.anchor[0]),t.push(this.anchor[1]),t.push(this.baseZoom),t.push(this.hasVV?1:0),t.push(this.size),t.push(this.directionX),t.push(this.directionY),t.push(this.offsetX),t.push(this.offsetY),p.serializeList(t,this.boxes),t},I.deserialize=function(t){var s=t.readInt32(),e=x.default.deserialize(t),i={from:t.readInt32(),count:t.readInt32()},o=t.readInt32(),n=t.readInt32(),h=t.readInt32(),r=t.readInt32(),a=t.readInt32(),u=t.readInt32(),f=t.readInt32(),d=t.readInt32(),l=t.readInt32(),c=p.deserializeList(t,x.default),b=new I(s,i,o,n,h);return b.bounds=e,b.boxes=c,b.computeIndex(),r&&b.setVV(a,u,f),b.offsetX=d,b.offsetY=l,b},I}();s.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/mathUtils\",\"../../../../../renderers/support/utils\"],function(e,n,m,p){Object.defineProperty(n,\"__esModule\",{value:!0});var f=Math.PI;function r(e,n){switch(n.transformationType){case\"additive\":return l=e,c=z((o=n).minSize,l),l+(c||o.minDataValue);case\"constant\":return function(e,n){var r=e.stops,t=r&&r.length&&r[0].size;null==t&&(t=e.minSize);return z(t,n)}(n,e);case\"clamped-linear\":return function(e,n){var r=(e-n.minDataValue)/(n.maxDataValue-n.minDataValue),t=z(n.minSize,e),a=z(n.maxSize,e);if(e<=n.minDataValue)return t;if(e>=n.maxDataValue)return a;return t+r*(a-t)}(e,n);case\"proportional\":return a=(r=e)/(t=n).minDataValue,i=z(t.minSize,r),u=z(t.maxSize,r),s=null,s=a*i,m.clamp(s,i,u);case\"stops\":return function(e,n){var r=function(r,e){if(!e)return;var t=0,a=e.length-1;return e.some(function(e,n){return r<e?(a=n,!0):(t=n,!1)}),[t,a,(r-e[t])/(e[a]-e[t])]}(e,n.cache.ipData),t=r[0],a=r[1],i=r[2];if(t===a)return z(n.stops[t].size,e);var u=z(n.stops[t].size,e),s=z(n.stops[a].size,e);return u+(s-u)*i}(e,n);case\"real-world-size\":return function(e,n){var r=p.meterIn[n.valueUnit],t=z(n.minSize,e),a=z(n.maxSize,e),i=n.valueRepresentation,u=null;u=\"area\"===i?2*Math.sqrt(e/f)/r:\"radius\"===i||\"distance\"===i?2*e/r:e/r;return m.clamp(u,t,a)}(e,n);case\"identity\":return e;case\"unknown\":return null}var r,t,a,i,u,s,l,o,c}function z(e,n){return\"number\"==typeof e?e:r(n,e)}n.getSizeForValueSimple=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./number\"],function(r,e,a){Object.defineProperty(e,\"__esModule\",{value:!0}),e.white=[255,255,255,1];var n=[0,0,0,0];function t(r,e){return Array.isArray(e)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3]):(r[0]=e.r,r[1]=e.g,r[2]=e.b,r[3]=e.a),r}function i(r,e,n){void 0===e&&(e=0),void 0===n&&(n=!1);var t=r[e+3];return r[e+0]*=t,r[e+1]*=t,r[e+2]*=t,n||(r[e+3]*=255),r}e.premultiplyAlpha=i,e.copyAndPremultiply=function(r){return i(t([],r))},e.premultiplyAlphaUint32=function(r){return i(t(n,r)),a.i8888to32(n[0],n[1],n[2],n[3])},e.premultiplyAlphaRGBA=function(r){if(!r)return 0;var e=r.r,n=r.g,t=r.b,i=r.a,u=e*i,o=n*i,l=t*i,p=255*i;return a.i8888to32(u,o,l,p)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(_,T){Object.defineProperty(T,\"__esModule\",{value:!0}),T.WEBGL_MAX_STOPS=8,T.WEBGL_MAX_INNER_STOPS=T.WEBGL_MAX_STOPS-2,T.NAN_MAGIC_NUMBER=1e-30,T.EXTRUDE_SCALE=64,T.PICTURE_FILL_COLOR=4294967295,T.TILE_SIZE=512,T.RASTER_TILE_SIZE=256,T.ANGLE_FACTOR_256=256/360,T.DEBUG_LABELS=!1,T.COLLISION_BUCKET_SIZE=128,T.DOT_DENSITY_MAX_FIELDS=8,T.COLLISION_MAX_ZOOM_DELTA=3,T.COLLISION_EARLY_REJECT_BUCKET_SIZE=16,T.COLLISION_BOX_PADDING=16,T.COLLISION_TILE_BOX_SIZE=T.TILE_SIZE/T.COLLISION_BUCKET_SIZE,T.COLLISION_PLACEMENT_PADDING=8,T.HEURISTIC_GLYPHS_PER_LINE=50,T.HEURISTIC_GLYPHS_PER_FEATURE=10,T.GLYPH_SIZE=24,T.TEXT_LINE_HEIGHT=1.2*T.GLYPH_SIZE,T.TEXT_MAX_WIDTH=10*T.GLYPH_SIZE,T.TEXT_SPACING=0,T.AVERAGE_GLYPH_MOSAIC_ITEM={metrics:{width:15,height:17,left:0,top:-7,advance:14}},T.ATTRIBUTE_STORE_TEXTURE_SIZE=1024,T.TEXTURE_BINDING_SPRITE_ATLAS=0,T.TEXTURE_BINDING_GLYPH_ATLAS=0,T.TEXTURE_BINDING_BITMAP=0,T.TEXTURE_BINDING_ATTRIBUTE_DATA_0=1,T.TEXTURE_BINDING_ATTRIBUTE_DATA_1=2,T.TEXTURE_BINDING_ATTRIBUTE_DATA_2=3,T.TEXTURE_BINDING_ATTRIBUTE_DATA_3=4,T.TEXTURE_BINDING_HIGHLIGHT_0=5,T.TEXTURE_BINDING_HIGHLIGHT_1=6,T.TEXTURE_BINDING_RENDERER_0=5,T.TEXTURE_BINDING_RENDERER_1=6,T.ATTRIBUTE_DATA_FILTER_FLAGS=0,T.ATTRIBUTE_DATA_ANIMATION=1,T.ATTRIBUTE_DATA_VV=2,T.ATTRIBUTE_DATA_DD0=3,T.ATTRIBUTE_DATA_DD1=3,T.MAX_FILTERS=2,T.HIGHLIGHT_FLAG=1,T.FILTER_FLAG_0=2,T.EFFECT_FLAG_0=4,T.THIN_LINE_THRESHOLD=2.5,T.HITTEST_SEARCH_SIZE=24,T.MAX_ANIMATION_TIME_MS=2e3,T.VTL_TEXTURE_BINDING_UNIT_SPRITES=5,T.VTL_TEXTURE_BINDING_UNIT_GLYPHS=6,T.VTL_HIGH_RES_CUTOFF=1.15,T.MAX_GPU_UPLOADS_PER_FRAME=2});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/maybe\",\"../definitions\",\"../VertexStream\",\"./Effect\"],function(e,t,i,m,c,l,r){Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.defines=[],e._desc={path:\"fx/integrate\",attributes:{a_position:0}},e}return i(e,t),e.prototype.dispose=function(){this._quad&&this._quad.dispose()},e.prototype.bind=function(){},e.prototype.unbind=function(){},e.prototype.draw=function(e,t){if(t.size){var i=e.context,r=e.renderingOptions;this._quad||(this._quad=new l(i,[0,0,1,0,0,1,1,1]));var o=i.getBoundFramebufferObject(),n=i.getViewport(),a=n.x,u=n.y,s=n.width,f=n.height;t.bindTextures(i);var d=t.getBlock(c.ATTRIBUTE_DATA_ANIMATION);if(!m.isNone(d)){var _=d.getFBO(i),p=d.getFBO(i,1);i.setViewport(0,0,t.size,t.size),this._computeDelta(e,p,r.labelsAnimationTime),this._updateAnimationState(e,p,_),i.bindFramebuffer(o),i.setViewport(a,u,s,f)}}},e.prototype._computeDelta=function(e,t,i){var r=e.context,o=e.painter,n=e.displayLevel,a=o.materialManager.getProgram(e,this._desc,[\"delta\"]);r.bindFramebuffer(t),r.setClearColor(0,0,0,0),r.clear(r.gl.COLOR_BUFFER_BIT),r.bindProgram(a),a.setUniform1i(\"u_maskTexture\",c.TEXTURE_BINDING_ATTRIBUTE_DATA_0),a.setUniform1i(\"u_sourceTexture\",c.TEXTURE_BINDING_ATTRIBUTE_DATA_1),a.setUniform1f(\"u_timeDelta\",e.timeDelta),a.setUniform1f(\"u_animationTime\",i/1e3),a.setUniform1f(\"u_zoomLevel\",Math.round(10*n)),this._quad.draw()},e.prototype._updateAnimationState=function(e,t,i){var r=e.context,o=e.painter.materialManager.getProgram(e,this._desc,[\"update\"]);r.bindTexture(t.colorTexture,1),r.bindProgram(o),o.setUniform1i(\"u_sourceTexture\",1),r.bindFramebuffer(i),r.setClearColor(0,0,0,0),r.clear(r.gl.COLOR_BUFFER_BIT),this._quad.draw()},e}(r.Effect);t.AnimationEffect=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){this.name=this.constructor.name};t.Effect=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/has\",\"../BitBlitRenderer\",\"../effects/Effect\",\"./highlight/HighlightGradient\",\"./highlight/HighlightRenderer\",\"./highlight/HighlightSurfaces\"],function(e,t,r,i,h,s,l,d,n){Object.defineProperty(t,\"__esModule\",{value:!0});var u=.75,a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.defines=[\"highlight\"],e._hlRenderer=new d.default,e._hlGradient=new l.default,e._width=void 0,e._height=void 0,e._hlSurfaces=new n.default,e._adjustedWidth=void 0,e._adjustedHeight=void 0,e._blitRenderer=new h.BitBlitRenderer,e}return r(e,t),e.prototype.dispose=function(){this._hlSurfaces&&this._hlSurfaces.dispose(),this._hlRenderer&&this._hlRenderer.dispose(),this._hlGradient&&this._hlGradient.destroy(),this._boundFBO=null},e.prototype.bind=function(e){var t=e.context,r=e.painter,i=t.getViewport(),h=i.width,s=i.height,l=r.getFbos(h,s).effect0;this.setup(e,h,s),t.bindFramebuffer(l),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT)},e.prototype.unbind=function(){},e.prototype.setup=function(e,t,r){var i=e.context,h=(this._width=t)%4,s=(this._height=r)%4;t+=h<2?-h:4-h,r+=s<2?-s:4-s,this._adjustedWidth=t,this._adjustedHeight=r,this._boundFBO=i.getBoundFramebufferObject();var l=Math.round(t*u),d=Math.round(r*u);this._hlRenderer.setup(i,l,d),this._hlSurfaces.setup(i,l,d)},e.prototype.draw=function(e){var t=e.context,r=t.getBoundFramebufferObject();t.setViewport(0,0,this._adjustedWidth*u,this._adjustedHeight*u),t.bindFramebuffer(this._hlSurfaces.sharedBlur1Fbo),t.setStencilTestEnabled(!1),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT),this._blitRenderer.render(t,r.colorTexture,9728,1),t.setStencilTestEnabled(!1),t.setBlendingEnabled(!1),t.bindFramebuffer(this._hlSurfaces.sharedBlur2Fbo),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT),this._hlRenderer.preBlur(t,this._hlSurfaces.sharedBlur1Tex),i(\"esri-feature-highlight-debug\")?(t.bindFramebuffer(null),t.clear(t.gl.COLOR_BUFFER_BIT),this._hlRenderer.finalBlur(t,this._hlSurfaces.sharedBlur2Tex)):(t.bindFramebuffer(this._hlSurfaces.sharedBlur1Fbo),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT),this._hlRenderer.finalBlur(t,this._hlSurfaces.sharedBlur2Tex),t.bindFramebuffer(this._boundFBO),t.setBlendingEnabled(!0),t.setViewport(0,0,this._width,this._height),this._hlRenderer.renderHighlight(t,this._hlSurfaces.sharedBlur1Tex,this._hlGradient),this._boundFBO=null)},e.prototype.setHighlightOptions=function(e){this._hlGradient.setHighlightOptions(e)},e}(s.Effect);t.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/iteratorUtils\",\"../../../../../core/maybe\",\"../definitions\",\"./Effect\"],function(e,t,r,T,o,n,i){Object.defineProperty(t,\"__esModule\",{value:!0});var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name=e.constructor.name,e.defines=[\"id\"],e._buf=new Uint8Array(4*n.HITTEST_SEARCH_SIZE*n.HITTEST_SEARCH_SIZE),e._buf32=new Uint32Array(e._buf.buffer),e}return r(e,t),e.prototype.dispose=function(){o.isSome(this._fbo)&&this._fbo.dispose()},e.prototype.bind=function(e){var t=e.context,r=e.painter,o=t.getViewport(),n=o.width,i=o.height,f=r.getFbos(n,i).effect0;t.bindFramebuffer(f),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT)},e.prototype.unbind=function(){},e.prototype.draw=function(e,l,b){var d=this,t=e.context,r=e.state,_=e.pixelRatio;void 0===b&&(b=n.HITTEST_SEARCH_SIZE);var h=t.getBoundFramebufferObject(),E=r.size[1],v=b/2,S=b/2;l.forEach(function(e,t){var r=new Map,o=Math.floor((t[0]-b/2)*_),n=Math.floor((E-t[1]-b/2)*_);h.readPixels(o,n,b,b,6408,5121,d._buf);for(var i=0;i<d._buf32.length;i++){var f=d._buf32[i];if(4294967295!==f&&0!==f){var a=i%b,u=b-Math.floor(i/b),s=(v-a)*(v-a)+(S-u)*(S-u),c=r.has(f)?r.get(f):4294967295;r.set(f,Math.min(s,c))}}var p=T.pairsOfMap(r).sort(function(e,t){return e[1]-t[1]}).map(function(e){return e[0]});e.resolve(p),l.delete(t)})},e}(i.Effect);t.HittestEffect=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/Logger\",\"../../../../../webgl\",\"../../definitions\",\"./parameters\"],function(o,i,t,e,l,p){Object.defineProperty(i,\"__esModule\",{value:!0});var G=t.getLogger(\"esri.views.2d.engine.webgl.painter.highlight.HighlightGradient\");var c=[0,0,0,0],r=function(){function o(){this._convertedHighlightOptions={fillColor:[.2*.75,.6*.75,.675,.75],outlineColor:[.2*.9,.54,.81,.9],outlinePosition:p.HIGHLIGHT_SIZING.outlinePosition,outlineWidth:p.HIGHLIGHT_SIZING.outlineWidth,innerHaloWidth:p.HIGHLIGHT_SIZING.innerHaloWidth,outerHaloWidth:p.HIGHLIGHT_SIZING.outerHaloWidth},this.shadeTexChanged=!0,this.texelData=new Uint8Array(4*p.SHADE_TEXTURE_SIZE),this.minMaxDistance=[0,0]}return o.prototype.setHighlightOptions=function(o){var i,t,e,l,r=this._convertedHighlightOptions;e=o,(l=r).fillColor[0]=e.color.r/255,l.fillColor[1]=e.color.g/255,l.fillColor[2]=e.color.b/255,l.fillColor[3]=e.color.a,e.haloColor?(l.outlineColor[0]=e.haloColor.r/255,l.outlineColor[1]=e.haloColor.g/255,l.outlineColor[2]=e.haloColor.b/255,l.outlineColor[3]=e.haloColor.a):(l.outlineColor[0]=l.fillColor[0],l.outlineColor[1]=l.fillColor[1],l.outlineColor[2]=l.fillColor[2],l.outlineColor[3]=l.fillColor[3]),l.fillColor[3]*=e.fillOpacity,l.outlineColor[3]*=e.haloOpacity,l.fillColor[0]*=l.fillColor[3],l.fillColor[1]*=l.fillColor[3],l.fillColor[2]*=l.fillColor[3],l.outlineColor[0]*=l.outlineColor[3],l.outlineColor[1]*=l.outlineColor[3],l.outlineColor[2]*=l.outlineColor[3],l.outlineWidth=p.HIGHLIGHT_SIZING.outlineWidth,l.outerHaloWidth=p.HIGHLIGHT_SIZING.outerHaloWidth,l.innerHaloWidth=p.HIGHLIGHT_SIZING.innerHaloWidth,l.outlinePosition=p.HIGHLIGHT_SIZING.outlinePosition;var n,h=r.outlinePosition-r.outlineWidth/2-r.outerHaloWidth,a=r.outlinePosition-r.outlineWidth/2,s=r.outlinePosition+r.outlineWidth/2,u=r.outlinePosition+r.outlineWidth/2+r.innerHaloWidth,d=Math.sqrt(Math.PI/2)*p.SIGMAS[3],H=Math.abs(h)>d?Math.round(10*(Math.abs(h)-d))/10:0,f=Math.abs(u)>d?Math.round(10*(Math.abs(u)-d))/10:0;H&&!f?G.error(\"The outer rim of the highlight is \"+H+\"px away from the edge of the feature; consider reducing some width values or shifting the outline position towards positive values (inwards).\"):!H&&f?G.error(\"The inner rim of the highlight is \"+f+\"px away from the edge of the feature; consider reducing some width values or shifting the outline position towards negative values (outwards).\"):H&&f&&G.error(\"The highlight is \"+Math.max(H,f)+\"px away from the edge of the feature; consider reducing some width values.\");var C=[void 0,void 0,void 0,void 0];function g(o,i,t){C[0]=(1-t)*o[0]+t*i[0],C[1]=(1-t)*o[1]+t*i[1],C[2]=(1-t)*o[2]+t*i[2],C[3]=(1-t)*o[3]+t*i[3]}for(var I=this.texelData,T=0;T<p.SHADE_TEXTURE_SIZE;++T)(n=h+T/(p.SHADE_TEXTURE_SIZE-1)*(u-h))<h?(C[4*T+0]=0,C[4*T+1]=0,C[4*T+2]=0,C[4*T+3]=0):n<a?g(c,r.outlineColor,(n-h)/(a-h)):n<s?(i=r.outlineColor,C[0]=i[0],C[1]=i[1],C[2]=i[2],C[3]=i[3]):n<u?g(r.outlineColor,r.fillColor,(n-s)/(u-s)):(t=r.fillColor,C[4*T+0]=t[0],C[4*T+1]=t[1],C[4*T+2]=t[2],C[4*T+3]=t[3]),I[4*T+0]=255*C[0],I[4*T+1]=255*C[1],I[4*T+2]=255*C[2],I[4*T+3]=255*C[3];this.minMaxDistance[0]=h,this.minMaxDistance[1]=u,this.shadeTexChanged=!0},o.prototype.applyHighlightOptions=function(o,i){this.shadeTex||(this.shadeTex=new e.Texture(o,{target:3553,pixelFormat:6408,dataType:5121,wrapMode:33071,width:p.SHADE_TEXTURE_SIZE,height:1,samplingMode:9729})),this.shadeTexChanged&&(this.shadeTex.updateData(0,0,0,p.SHADE_TEXTURE_SIZE,1,this.texelData),this.shadeTexChanged=!1),o.bindTexture(this.shadeTex,l.TEXTURE_BINDING_HIGHLIGHT_1),i.setUniform2fv(\"u_minMaxDistance\",this.minMaxDistance)},o.prototype.destroy=function(){this.shadeTex&&(this.shadeTex.dispose(),this.shadeTex=null)},o}();i.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\",\"../../definitions\",\"./parameters\",\"../../shaders/HighlightPrograms\"],function(r,e,u,_,h,a){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function r(){this._width=void 0,this._height=void 0,this._resources=null}return r.prototype.dispose=function(){this._resources&&(this._resources.quadGeometry.dispose(),this._resources.quadVAO.dispose(),this._resources.highlightProgram.dispose(),this._resources.blurProgram.dispose(),this._resources=null)},r.prototype.preBlur=function(r,e){r.bindTexture(e,_.TEXTURE_BINDING_HIGHLIGHT_0),r.bindProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv(\"u_direction\",[1,0,1/this._width,0]),this._resources.blurProgram.setUniformMatrix4fv(\"u_channelSelector\",h.ALPHA_TO_RGBA_CHANNEL_SELECTOR_MATRIX),r.bindVAO(this._resources.quadVAO),r.drawArrays(5,0,4),r.bindVAO()},r.prototype.finalBlur=function(r,e){r.bindTexture(e,_.TEXTURE_BINDING_HIGHLIGHT_0),r.bindProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv(\"u_direction\",[0,1,0,1/this._height]),this._resources.blurProgram.setUniformMatrix4fv(\"u_channelSelector\",h.RGBA_TO_RGBA_CHANNEL_SELECTOR_MATRIX),r.bindVAO(this._resources.quadVAO),r.drawArrays(5,0,4),r.bindVAO()},r.prototype.renderHighlight=function(r,e,i){r.bindTexture(e,_.TEXTURE_BINDING_HIGHLIGHT_0),r.bindProgram(this._resources.highlightProgram),i.applyHighlightOptions(r,this._resources.highlightProgram),r.bindVAO(this._resources.quadVAO),r.setBlendingEnabled(!0),r.setBlendFunction(1,771),r.drawArrays(5,0,4),r.bindVAO()},r.prototype._initialize=function(r,e,i){this._width=e,this._height=i;var t=new u.BufferObject(r,34962,35044,new Int8Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]).buffer),s=new u.VertexArrayObject(r,{a_position:0,a_texcoord:1},{geometry:[{name:\"a_position\",count:2,type:5120,offset:0,stride:4,normalized:!1},{name:\"a_texcoord\",count:2,type:5121,offset:2,stride:4,normalized:!1}]},{geometry:t}),o=u.createProgram(r,a.highlight),n=u.createProgram(r,a.blur);o.setUniform1i(\"u_texture\",_.TEXTURE_BINDING_HIGHLIGHT_0),o.setUniform1i(\"u_shade\",_.TEXTURE_BINDING_HIGHLIGHT_1),o.setUniform4fv(\"u_sigmas\",h.SIGMAS),n.setUniform1i(\"u_texture\",_.TEXTURE_BINDING_HIGHLIGHT_0),n.setUniform4fv(\"u_sigmas\",h.SIGMAS),this._resources={quadGeometry:t,quadVAO:s,highlightProgram:o,blurProgram:n}},r.prototype.setup=function(r,e,i){this._resources?(this._width=e,this._height=i):this._initialize(r,e,i)},r}();e.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\"],function(e,r,i){Object.defineProperty(r,\"__esModule\",{value:!0});i.enums.TargetType,i.enums.DepthStencilTargetType,i.enums.TextureType,i.enums.PixelFormat,i.enums.PixelType,i.enums.TextureSamplingMode,i.enums.TextureWrapMode;function a(e,r,t){var s=new i.Texture(e,{target:3553,pixelFormat:6408,dataType:5121,wrapMode:33071,width:r,height:t,samplingMode:9729});return[s,new i.FramebufferObject(e,{colorTarget:0,depthStencilTarget:2},s)]}var t=function(){function e(){this._width=void 0,this._height=void 0,this._resources=null}return e.prototype.dispose=function(){this._resources&&(this._resources.sharedBlur1Tex.dispose(),this._resources.sharedBlur1Fbo.dispose(),this._resources.sharedBlur2Tex.dispose(),this._resources.sharedBlur2Fbo.dispose(),this._resources=null)},e.prototype._initialize=function(e,r,t){var s=a(e,this._width=r,this._height=t),i=s[0],o=s[1],u=a(e,r,t),n=u[0],h=u[1];this._resources={sharedBlur1Tex:i,sharedBlur1Fbo:o,sharedBlur2Tex:n,sharedBlur2Fbo:h}},e.prototype.setup=function(e,r,t){!this._resources||this._width===r&&this._height===t||this.dispose(),this._resources||this._initialize(e,r,t)},Object.defineProperty(e.prototype,\"sharedBlur1Tex\",{get:function(){return this._resources.sharedBlur1Tex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"sharedBlur1Fbo\",{get:function(){return this._resources.sharedBlur1Fbo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"sharedBlur2Tex\",{get:function(){return this._resources.sharedBlur2Tex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"sharedBlur2Fbo\",{get:function(){return this._resources.sharedBlur2Fbo},enumerable:!0,configurable:!0}),e}();r.default=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.SIGMAS=[void 0,void 0,void 0,1],i.ALPHA_TO_RGBA_CHANNEL_SELECTOR_MATRIX=[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1],i.RGBA_TO_RGBA_CHANNEL_SELECTOR_MATRIX=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],i.SHADE_TEXTURE_SIZE=256,i.HIGHLIGHT_SIZING={outlineWidth:.7,outerHaloWidth:.7,innerHaloWidth:.7,outlinePosition:0}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(E,T){var L,I,A,_,O,S,N;Object.defineProperty(T,\"__esModule\",{value:!0}),(L=T.WGLGeometryType||(T.WGLGeometryType={}))[L.FILL=0]=\"FILL\",L[L.LINE=1]=\"LINE\",L[L.MARKER=2]=\"MARKER\",L[L.TEXT=3]=\"TEXT\",L[L.LABEL=4]=\"LABEL\",(I=T.WGLGeometryTransactionStatus||(T.WGLGeometryTransactionStatus={}))[I.SUCCEEDED=0]=\"SUCCEEDED\",I[I.FAILED_OUT_OF_MEMORY=1]=\"FAILED_OUT_OF_MEMORY\",(A=T.WGLDrawPhase||(T.WGLDrawPhase={}))[A.NONE=0]=\"NONE\",A[A.MAP=1]=\"MAP\",A[A.LABEL=2]=\"LABEL\",A[A.LABEL_ALPHA=4]=\"LABEL_ALPHA\",A[A.HITTEST=8]=\"HITTEST\",A[A.HIGHLIGHT=16]=\"HIGHLIGHT\",A[A.CLIP=32]=\"CLIP\",A[A.DEBUG=64]=\"DEBUG\",A[A.NUM_DRAW_PHASES=9]=\"NUM_DRAW_PHASES\",(_=T.VVType||(T.VVType={}))[_.SIZE=0]=\"SIZE\",_[_.COLOR=1]=\"COLOR\",_[_.OPACITY=2]=\"OPACITY\",_[_.ROTATION=3]=\"ROTATION\",(O=T.WGLVVFlag||(T.WGLVVFlag={}))[O.NONE=0]=\"NONE\",O[O.OPACITY=1]=\"OPACITY\",O[O.COLOR=2]=\"COLOR\",O[O.ROTATION=4]=\"ROTATION\",O[O.SIZE_MINMAX_VALUE=8]=\"SIZE_MINMAX_VALUE\",O[O.SIZE_SCALE_STOPS=16]=\"SIZE_SCALE_STOPS\",O[O.SIZE_FIELD_STOPS=32]=\"SIZE_FIELD_STOPS\",O[O.SIZE_UNIT_VALUE=64]=\"SIZE_UNIT_VALUE\",(S=T.WGLVVTarget||(T.WGLVVTarget={}))[S.MINMAX_TARGETS_OUTLINE=128]=\"MINMAX_TARGETS_OUTLINE\",S[S.SCALE_TARGETS_OUTLINE=256]=\"SCALE_TARGETS_OUTLINE\",S[S.FIELD_TARGETS_OUTLINE=512]=\"FIELD_TARGETS_OUTLINE\",S[S.UNIT_TARGETS_OUTLINE=1024]=\"UNIT_TARGETS_OUTLINE\",(N=T.MosaicType||(T.MosaicType={}))[N.SPRITE=0]=\"SPRITE\",N[N.GLYPH=1]=\"GLYPH\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0});r.getFullyQualifiedFontName=function(e){var r=function(e){if(!e.weight)return\"\";switch(e.weight.toLowerCase()){case\"bold\":case\"bolder\":return\"-bold\"}return\"\"}(e)+function(e){if(!e.style)return\"\";switch(e.style.toLowerCase()){case\"italic\":case\"oblic\":return\"-italic\"}return\"\"}(e);return function(e){var r=e.toLowerCase().split(\" \").join(\"-\");switch(r){case\"serif\":return\"noto-serif\";case\"sans-serif\":return\"arial-unicode-ms\";case\"monospace\":return\"ubuntu-mono\";case\"fantasy\":return\"cabin-sketch\";case\"cursive\":return\"redressed\";default:return r}}(e.family)+(0<r.length?r:\"-regular\")},r.getFontDecorationTop=function(e){switch(e){case\"underline\":return-26;case\"line-through\":return-18}return NaN}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/tsSupport/assignHelper\",\"../../../../../renderers\",\"../../../../../core/Error\",\"../../../../../core/maybe\",\"../enums\",\"../mesh/templates/WGLLabelTemplate\",\"../util/vvFlagUtils\"],function(t,e,o,r,n,i,a,s,u,p){Object.defineProperty(e,\"__esModule\",{value:!0});e.createMaterialKey=function(t,e,r,n){if(a.isSome(e))return function(t,e,r,n){if(\"heatmap\"===r.type)throw new Error(\"Symbol processor does not support heatmap renderer\");switch(t){case s.WGLGeometryType.FILL:return V.from(r);case s.WGLGeometryType.LINE:return m.from(r,e);case s.WGLGeometryType.MARKER:if(\"dot-density\"===r.type)throw new Error(\"Dot Density renderer does not support Marker GeometryTypes\");return d.from(r);case s.WGLGeometryType.TEXT:if(\"dot-density\"===r.type)throw new Error(\"Dot Density renderer does not support Text GeometryTypes\");return g.from(r);case s.WGLGeometryType.LABEL:if(\"dot-density\"===r.type)throw new Error(\"Dot Density renderer does not support Label GeometryTypes\");return b.from(r,n);default:throw new Error(\"Unable to createMaterialKey for unknown geometryType \"+t)}}(t,r,e,n);switch(t){case s.WGLGeometryType.FILL:return V.from(null);case s.WGLGeometryType.LINE:return m.from(null,r);case s.WGLGeometryType.MARKER:return d.from(null);case s.WGLGeometryType.TEXT:return g.from(null);case s.WGLGeometryType.LABEL:return b.from(null,n);default:throw new Error(\"Unable to createMaterialKey for unknown geometryType \"+t)}};var l=function(){function t(t){this._data=0,this._data=t}return t.load=function(t){var e=this.shared;return e.data=t,e},Object.defineProperty(t.prototype,\"data\",{get:function(){return this._data},set:function(t){this._data=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"geometryType\",{get:function(){return this.bits(5,8)},set:function(t){this.setBits(t,5,8)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"mapAligned\",{get:function(){return!!this.bit(17)},set:function(t){this.setBit(17,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"sdf\",{get:function(){return!!this.bit(8)},set:function(t){this.setBit(8,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"pattern\",{get:function(){return!!this.bit(9)},set:function(t){this.setBit(9,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"textureBinding\",{get:function(){return this.bits(0,5)},set:function(t){this.setBits(t,0,5)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"geometryTypeString\",{get:function(){switch(this.geometryType){case s.WGLGeometryType.FILL:return\"fill\";case s.WGLGeometryType.MARKER:return\"marker\";case s.WGLGeometryType.LINE:return\"line\";case s.WGLGeometryType.TEXT:return\"text\";case s.WGLGeometryType.LABEL:return\"label\";default:throw new i(\"Unable to handle unknown geometryType: \"+this.geometryType)}},enumerable:!0,configurable:!0}),t.prototype.setBit=function(t,e){var r=1<<t;e?this._data|=r:this._data&=~r},t.prototype.bit=function(t){return(this._data&1<<t)>>t},t.prototype.setBits=function(t,e,r){for(var n=e,o=0;n<r;n++,o++)this.setBit(n,0!=(t&1<<o))},t.prototype.bits=function(t,e){for(var r=0,n=t,o=0;n<e;n++,o++)r|=this.bit(n)<<o;return r},t.prototype.hasVV=function(){return!1},t.prototype.setVV=function(t,e){},t.prototype.getVariation=function(){var t={};for(var e in this)\"boolean\"==typeof this[e]&&(t[e]=this[e]);return t},t.prototype.getVariationHash=function(){return this._data&~(4&this.textureBinding)},t.shared=new t(0),t}(),y=function(t){return function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return o(t,n),Object.defineProperty(t.prototype,\"vvSizeMinMaxValue\",{get:function(){return 0!==this.bit(13)},set:function(t){this.setBit(13,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vvSizeScaleStops\",{get:function(){return 0!==this.bit(14)},set:function(t){this.setBit(14,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vvSizeFieldStops\",{get:function(){return 0!==this.bit(15)},set:function(t){this.setBit(15,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vvSizeUnitValue\",{get:function(){return 0!==this.bit(16)},set:function(t){this.setBit(16,t)},enumerable:!0,configurable:!0}),t.prototype.hasVV=function(){return n.prototype.hasVV.call(this)||this.vvSizeMinMaxValue||this.vvSizeScaleStops||this.vvSizeFieldStops||this.vvSizeUnitValue},t.prototype.setVV=function(t,e){n.prototype.setVV.call(this,t,e);var r=p.getSizeFlagsMask(t,e)&t;this.vvSizeMinMaxValue=!!(r&s.WGLVVFlag.SIZE_MINMAX_VALUE),this.vvSizeFieldStops=!!(r&s.WGLVVFlag.SIZE_FIELD_STOPS),this.vvSizeUnitValue=!!(r&s.WGLVVFlag.SIZE_UNIT_VALUE),this.vvSizeScaleStops=!!(r&s.WGLVVFlag.SIZE_SCALE_STOPS)},t}(t)},c=function(t){return function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return o(t,r),Object.defineProperty(t.prototype,\"vvRotation\",{get:function(){return 0!==this.bit(12)},set:function(t){this.setBit(12,t)},enumerable:!0,configurable:!0}),t.prototype.hasVV=function(){return r.prototype.hasVV.call(this)||this.vvRotation},t.prototype.setVV=function(t,e){r.prototype.setVV.call(this,t,e),this.vvRotation=!e&&!!(t&s.WGLVVFlag.ROTATION)},t}(t)},f=function(t){return function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return o(t,r),Object.defineProperty(t.prototype,\"vvColor\",{get:function(){return 0!==this.bit(10)},set:function(t){this.setBit(10,t)},enumerable:!0,configurable:!0}),t.prototype.hasVV=function(){return r.prototype.hasVV.call(this)||this.vvColor},t.prototype.setVV=function(t,e){r.prototype.setVV.call(this,t,e),this.vvColor=!e&&!!(t&s.WGLVVFlag.COLOR)},t}(t)},h=function(t){return function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return o(t,r),Object.defineProperty(t.prototype,\"vvOpacity\",{get:function(){return 0!==this.bit(11)},set:function(t){this.setBit(11,t)},enumerable:!0,configurable:!0}),t.prototype.hasVV=function(){return r.prototype.hasVV.call(this)||this.vvOpacity},t.prototype.setVV=function(t,e){r.prototype.setVV.call(this,t,e),this.vvOpacity=!e&&!!(t&s.WGLVVFlag.OPACITY)},t}(t)},V=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.load=function(t){var e=this.shared;return e.data=t,e},e.from=function(t){var e=this.load(0);if(e.geometryType=s.WGLGeometryType.FILL,a.isSome(t))if(t instanceof n.DotDensityRenderer)e.dotDensity=!0;else{var r=p.getVVFlags(t.visualVariables);e.setVV(r,!1)}return e.data},e.prototype.getVariation=function(){return t.prototype.getVariation.call(this)},Object.defineProperty(e.prototype,\"dotDensity\",{get:function(){return!!this.bit(12)},set:function(t){this.setBit(12,t)},enumerable:!0,configurable:!0}),e.shared=new e(0),e}(f(h(e.MaterialKeyBase=l)));e.FillMaterialKey=V;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.load=function(t){var e=this.shared;return e.data=t,e},e.from=function(t){var e=this.load(0);if(e.geometryType=s.WGLGeometryType.MARKER,a.isSome(t)){var r=p.getVVFlags(t.visualVariables);e.setVV(r,!1)}return e.data},e.prototype.getVariation=function(){return t.prototype.getVariation.call(this)},e.shared=new e(0),e}(f(h(c(y(l)))));e.MarkerMaterialKey=d;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.load=function(t){var e=this.shared;return e.data=t,e},e.from=function(t,e){var r=this.load(0);if(r.geometryType=s.WGLGeometryType.LINE,a.isSome(t)){var n=p.getVVFlags(t.visualVariables);r.setVV(n,e)}return r.data},e.prototype.getVariation=function(){return t.prototype.getVariation.call(this)},e.shared=new e(0),e}(f(h(y(l))));e.LineMaterialKey=m;var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.load=function(t){var e=this.shared;return e.data=t,e},e.from=function(t){var e=this.load(0);if(e.geometryType=s.WGLGeometryType.TEXT,a.isSome(t)){var r=p.getVVFlags(t.visualVariables);e.setVV(r,!1)}return e.data},e.prototype.getVariation=function(){return t.prototype.getVariation.call(this)},e.shared=new e(0),e}(f(h(c(y(l)))));e.TextMaterialKey=g;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.load=function(t){var e=this.shared;return e.data=t,e},e.from=function(t,e){var r=this.load(0);if(r.geometryType=s.WGLGeometryType.LABEL,a.isSome(t)){var n=p.getVVFlags(t.visualVariables);r.setVV(n,!1)}return r.mapAligned=!!u.isMapAligned(e.labelPlacement),r.data},e.prototype.getVariation=function(){return t.prototype.getVariation.call(this)},e.shared=new e(0),e}(y(l));e.LabelMaterialKey=b});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../util/serializationUtils\",\"../util/Writer\"],function(e,t,o,a){Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){this.displayObjects=e,this.vertexVectorsMap=t}return Object.defineProperty(e.prototype,\"vertexBuffersMap\",{get:function(){if(!this._vertexBuffersMap){this._vertexBuffersMap={};for(var e=0;e<this.vertexVectorsMap.length;e++)this._vertexBuffersMap[e]=this.vertexVectorsMap[e].intoBuffers();this.vertexVectorsMap=null}return this._vertexBuffersMap},enumerable:!0,configurable:!0}),e.prototype.get=function(e){return this.vertexVectorsMap[e]},e.prototype.pushDisplayObject=function(e){this.displayObjects.push(e)},e.prototype.encode=function(e,t){var r=o.serializeList(new a.default(Uint32Array,this._guessSize()),this.displayObjects).buffer(),s={};t.push(r);for(var i=0;i<this.vertexVectorsMap.length;i++){var n=this.vertexVectorsMap[i];s[i]={},n.transfer(s[i],t)}e.displayObjects=r,e.vertexBuffersMap=s,this.destroy()},e.prototype.destroy=function(){this.vertexVectorsMap=null,this.displayObjects=null},e.prototype._guessSize=function(){for(var e=this.displayObjects,t=Math.min(e.length,4),r=0,s=0;s<t;s++)r=Math.max(r,e[s].displayRecords.length);return 2*(12*e.length+e.length*r*40)},e}();t.MeshData=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Logger\",\"../../../../../core/libs/libtess/libtess\"],function(e,t,n,i){Object.defineProperty(t,\"__esModule\",{value:!0});var s=n.getLogger(\"esri.views.2d.engine.webgl.mesh.templates.Tesselator\"),l=function(){function e(){this._currentVertexIndex=0,this._indexCounter=0,this._triangleIndices=[-1,-1,-1],this.glu=new i.GluTesselator,this.glu.gluTessCallback(i.gluEnum.GLU_TESS_BEGIN,this._begincallback.bind(this)),this.glu.gluTessCallback(i.gluEnum.GLU_TESS_VERTEX_DATA,this._vertexCallback.bind(this)),this.glu.gluTessCallback(i.gluEnum.GLU_TESS_END,this._endcallback.bind(this)),this.glu.gluTessCallback(i.gluEnum.GLU_TESS_COMBINE,this._combinecallback.bind(this)),this.glu.gluTessCallback(i.gluEnum.GLU_TESS_ERROR,this._errorcallback.bind(this)),this.glu.gluTessCallback(i.gluEnum.GLU_TESS_EDGE_FLAG,this._edgeCallback.bind(this)),this.glu.gluTessProperty(i.gluEnum.GLU_TESS_WINDING_RULE,i.windingRule.GLU_TESS_WINDING_ODD)}return e.prototype.beginPolygon=function(e,t){this._triangleIndices[0]=-1,this._triangleIndices[1]=-1,this._triangleIndices[2]=-1,this._currentVertexIndex=0,this._indexCounter=0,this.glu.gluTessBeginPolygon(e),this._indices=t},e.prototype.endPolygon=function(){this.glu.gluTessEndPolygon()},e.prototype.beginContour=function(){this.glu.gluTessBeginContour()},e.prototype.endContour=function(){this.glu.gluTessEndContour()},e.prototype.addVertex=function(e,t){this.glu.gluTessVertex(e,t)},e.prototype._vertexCallback=function(e,t){if(t[t.length]=e[0],t[t.length]=e[1],this._triangleIndices[this._currentVertexIndex]=-1,2<=this._currentVertexIndex){for(var n=0;n<3;n++)-1===this._triangleIndices[n]&&(this._triangleIndices[n]=this._indexCounter++),this._indices[this._indices.length]=this._triangleIndices[n];this._currentVertexIndex=0}else this._currentVertexIndex++},e.prototype._begincallback=function(){this._triangleIndices[0]=-1,this._triangleIndices[1]=-1,this._triangleIndices[2]=-1,this._currentVertexIndex=0},e.prototype._endcallback=function(){this._currentVertexIndex=0},e.prototype._errorcallback=function(e){s.error(\"Encountered error during tesselation: \"+e)},e.prototype._combinecallback=function(e){return[e[0],e[1],e[2]]},e.prototype._edgeCallback=function(){},e}();t.default=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Utils\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0});var i=function(){function r(e,r,t){this.data=e,this.stride=r,this.vertexCount=t}return r.decode=function(e){return new r(t.allocateTypedArrayBufferwithData(e.data,e.stride),e.stride,e.vertexCount)},r.fromVertexVector=function(e){return new r(t.allocateTypedArrayBufferwithData(e.data.buffer(),e.stride),e.stride,e.vertexCount)},r}();r.default=i;var n=function(){function o(e,r,t){this.geometryType=e,this.indexBuffer=new Uint32Array(r),this.namedBuffers=t}return o.decode=function(e){var r=e.geometryType,t=e.indexBuffer,n={};for(var f in e.namedBuffers)n[f]=i.decode(e.namedBuffers[f]);return new o(r,t,n)},o.fromVertexVectors=function(e){var r=e.geometryType,t=e.indexVector.buffer(),n={};for(var f in e.namedVectors)n[f]=i.fromVertexVector(e.namedVectors[f]);return new o(r,t,n)},o}();r.VertexBuffers=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../Utils\",\"./VertexBuffer\",\"../util/Writer\"],function(e,t,a,r,u){Object.defineProperty(t,\"__esModule\",{value:!0});var f=function(){function e(e,t){this.data=e,this.stride=t}return Object.defineProperty(e.prototype,\"vertexCount\",{get:function(){var e=this.stride/4;return this.data.length/e},enumerable:!0,configurable:!0}),e.prototype.transfer=function(e,t){var r=this.data.buffer();e.vertexCount=this.vertexCount,e.data=r,e.stride=this.stride,t.push(r)},e}();t.default=f;var n=function(){function e(e,t,r){void 0===r&&(r=!1),this.geometryType=e,this.indexVector=new u.default(Uint32Array,t),this.namedVectors={};var n=a.getStrides(e,r);for(var i in n){var o=n[i],s=void 0;switch(o%4){case 0:case 2:s=new u.default(Uint32Array,o/4*t);break;case 1:case 3:s=new u.default(Uint8Array,o*t)}this.namedVectors[i]=new f(s,o)}}return e.prototype.get=function(e){return this.namedVectors[e].data},e.prototype.getVector=function(e){return this.namedVectors[e]},e.prototype.transfer=function(e,t){var r=this.indexVector.buffer(),n={};for(var i in t.push(r),this.namedVectors){var o=this.namedVectors[i];n[i]={},o.transfer(n[i],t)}e.geometryType=this.geometryType,e.indexBuffer=r,e.namedBuffers=n,this.destroy()},e.prototype.intoBuffers=function(){var e=r.VertexBuffers.fromVertexVectors(this);return this.destroy(),e},e.prototype.destroy=function(){this.indexVector=null,this.namedVectors=null},e}();t.VertexVectors=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/tsSupport/generatorHelper\",\"../../../../../../core/tsSupport/awaiterHelper\",\"../../../../../../core/Error\",\"../../../../../../core/has\",\"../../../../../../core/Logger\",\"../../../../../../core/maybe\",\"../../../../../../core/promiseUtils\",\"../../../../../../geometry/SpatialReference\",\"../../../../../../geometry/support/jsonUtils\",\"../../../../../../symbols/SimpleLineSymbol\",\"../../definitions\",\"../../enums\",\"../../WGLDisplayObject\",\"../MeshData\",\"../VertexVector\",\"../templates/WGLLabelTemplate\",\"../templates/WGLLineTemplate\",\"../templates/WGLMarkerTemplate\",\"../templates/WGLTemplateStore\"],function(e,t,r,T,o,a,v,l,_,G,w,D,i,L,s,S,n,p,y,m,u,I){Object.defineProperty(t,\"__esModule\",{value:!0});var c=l.getLogger(\"esri.views.2d.engine.webgl.WGLMeshFactory\"),b={esriGeometryPoint:[\"above-right\",\"above-center\",\"above-left\",\"center-center\",\"center-left\",\"center-right\",\"below-center\",\"below-left\",\"below-right\"],esriGeometryPolygon:[\"always-horizontal\"],esriGeometryPolyline:[\"center-along\"],esriGeometryMultipoint:null,esriGeometryEnvelope:null};var h=function(){function e(e,t,r,o,l,a){this._isDD=!1,this._labelsDebugTemplate=null,this._isDD=_.isSome(r)&&\"dot-density\"===r.type,this._geometryType=e,this._idField=t,this._templateStore=o,this._setLabelTemplates(l,r,a)}return e.prototype.update=function(e,t,r){this._isDD=_.isSome(t)&&\"dot-density\"===t.type,this._setLabelTemplates(e,t,r)},e.prototype._setLabelTemplates=function(e,t,r){e&&this._validateLabelingInfo(e)&&(this._labelTemplates=e.map(function(e){return y.default.fromLabelClass(t,e,r)}))},Object.defineProperty(e.prototype,\"templates\",{get:function(){return this._templateStore},enumerable:!0,configurable:!0}),e.prototype.createMeshData=function(e){var t=new Array(5),r=new Array,o=this._labelTemplates&&0<this._labelTemplates.length,l=\"esriGeometryPolyline\"===this._geometryType?L.HEURISTIC_GLYPHS_PER_LINE:L.HEURISTIC_GLYPHS_PER_FEATURE;return t[s.WGLGeometryType.MARKER]=new p.VertexVectors(s.WGLGeometryType.MARKER,e),t[s.WGLGeometryType.FILL]=new p.VertexVectors(s.WGLGeometryType.FILL,e,this._isDD),t[s.WGLGeometryType.LINE]=new p.VertexVectors(s.WGLGeometryType.LINE,e),t[s.WGLGeometryType.TEXT]=new p.VertexVectors(s.WGLGeometryType.TEXT,e),t[s.WGLGeometryType.LABEL]=new p.VertexVectors(s.WGLGeometryType.LABEL,o?l:0),new n.MeshData(r,t)},e.prototype.analyze=function(b,h,g,f,d,L){return o(this,void 0,void 0,function(){var o,l,a,i,s,n,p,y,m,u,c;return T(this,function(e){switch(e.label){case 0:return o=b,G.isAborted(L)?[2,[]]:_.isSome(g)?[4,g.analyze(this._idField,b,d,L)]:[3,2];case 1:e.sent(),e.label=2;case 2:l=0,a=o,e.label=3;case 3:return l<a.length?(i=a[l],s=-1,h?null==(n=i).symbol?[3,5]:(p=null,\"cim\"===n.symbol.type&&(r=((t=i).attributes?Object.keys(t.attributes):[]).map(function(e){return{name:e,alias:e,type:\"string\"==typeof t.attributes[e]?\"esriFieldTypeString\":\"esriFieldTypeDouble\"}}),p={geometryType:null!=t.centroid?\"esriGeometryPolygon\":D.getJsonType(t.geometry),spatialReference:w.fromJSON(t.geometry.spatialReference),fields:r}),[4,this._templateStore.createTemplateGroup(n.symbol,null,null,p)]):[3,7]):[3,10];case 4:return s=e.sent(),[3,6];case 5:_.isSome(g)&&(s=g.match(this._idField,i,null,null,d)),e.label=6;case 6:return[3,8];case 7:_.isSome(g)&&(s=g.match(this._idField,i,this._geometryType,f,d)),e.label=8;case 8:if(I.isDynamicId(s))for(y=this._templateStore.getDynamicTemplateGroup(s),m=0,u=y;m<u.length;m++)(c=u[m])&&c.analyze&&c.analyze(this._templateStore,i,f,d);i.groupId=s,e.label=9;case 9:return l++,[3,3];case 10:return[2,this._templateStore.finalize(L).then(function(){return o})]}var t,r})})},e.prototype.write=function(e,t,r,o,l,a,i){var s=this._templateStore.getTemplateGroup(t.groupId),n=e,p=t.localId;if(null!=p){var y=new S(p),m=!!a&&!!this._labelTemplates&&a.has(p);if(I.isDynamicId(t.groupId))for(var u=0,c=s;u<c.length;u++){(L=c[u]).bindFeature(t,r,o)}if(s&&(t.geometry||t.centroid)){var b=y.displayRecords,h=t.insertAfter;void 0!==h&&(y.insertAfter=h);var g=this._geometryType;g||(g=null!=t.centroid?\"esriGeometryPolygon\":D.getJsonType(t.geometry));for(var f=0,d=s;f<d.length;f++){var L=d[f],T=n.get(L.geometryType);L.writeMesh(b,T,g,p,t)}if(m){var _=this._getLabelReference(s),G=a.get(p);this._writeLabelMesh(y,n,p,t,i,G,_,l,g)}n.pushDisplayObject(y)}}else v(\"esri-2d-debug\")&&console.debug(\"Got null id for feature\")},e.prototype._hasBadLabelClass=function(e,t){var r=e.labelPlacement,o=b[t];if(!e.symbol)return c.warn(\"No LabelClass symbol specified.\"),!0;if(!o)return c.error(new a(\"mapview-labeling:unsupported-geometry-type\",\"Unable to create labels for Feature Layer, \"+t+\" is not supported\")),!0;if(!o.some(function(e){return e===r})){var l=o[0];r&&c.warn(\"Found invalid label placement type \"+r+\" for \"+t+\". Defaulting to \"+l),e.labelPlacement=l}return!1},e.prototype._validateLabelingInfo=function(e){var t=this;return!e.some(function(e){return t._hasBadLabelClass(e,t._geometryType)})},e.prototype._getLabelReference=function(e){for(var t=0,r=e;t<r.length;t++){var o=r[t];if(o instanceof u.default)return o}return null},e.prototype._writeLabelMesh=function(e,t,r,o,l,a,i,s,n){for(var p=e.displayRecords,y=[],m=0;m<a.length;m++){var u=a[m],c=u.id,b=u.text,h=u.rtl,g=this._labelTemplates[c],f=t.get(g.geometryType),d=l.get(g.symbolId).glyphMosaicItems;g.bindReferenceTemplate(i),g.bindTextInfo(d,b,h),g.writeMesh(p,f,n,r,o,s,y)}e.metrics=y,L.DEBUG_LABELS&&this._debugLabels(e,t)},e.prototype._debugLabels=function(e,t){for(var r=e.displayRecords,o=e.id,l=0,a=e.metrics;l<a.length;l++)for(var i=a[l],s=0,n=i.boxes?i.boxes.concat([i.bounds]):[i.bounds];s<n.length;s++){var p=n[s],y=i.anchor[0]+i.offsetX+p.center[0],m=i.anchor[1]+i.offsetY+p.center[1],u={geometry:{paths:[[[y-p.width/2,m+p.height/2],[0,-p.height],[p.width,0],[0,p.height],[-p.width,0]]]},attributes:{}},c=this._getLabelDebugTemplate(),b=t.get(c.geometryType);c.writeMesh(r,b,\"esriGeometryPolyline\",o,u)}},e.prototype._getLabelDebugTemplate=function(){return this._labelsDebugTemplate||(this._labelsDebugTemplate=this._createLabelsDebugTemplate()),this._labelsDebugTemplate},e.prototype._createLabelsDebugTemplate=function(){var e=new i({style:\"solid\",width:1,color:[255,0,0,1]});return m.default.fromSimpleLine(null,!1,e,null,!1)},e}();t.WGLMeshFactory=h});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/generatorHelper\",\"../../../../../../core/tsSupport/awaiterHelper\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../util/Matcher\"],function(e,r,a,i,o,t,c){Object.defineProperty(r,\"__esModule\",{value:!0});var u=t.getLogger(\"esri/views/2d/engine/webgl/mesh/factories/matcherUtils\");r.createMatcher=function(r,t,n){return i(this,void 0,void 0,function(){return a(this,function(e){switch(r.type){case\"simple\":case\"dot-density\":return[2,c.FeatureMatcher.fromBasicRenderer(r,t,n)];case\"unique-value\":return[2,c.MapMatcher.fromUVRenderer(r,t,n)];case\"class-breaks\":return[2,c.IntervalMatcher.fromCBRenderer(r,t,n)];case\"dictionary\":return[2,c.DictionaryMatcher.fromDictionaryRenderer(r,t,n)];default:return u.error(new o(\"mapview-mesh:invalid-renderer\",\"Unable to handle unknown renderer type\")),[2,null]}return[2]})})}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../definitions\",\"../../number\",\"../../collisions/BoundingBox\"],function(t,e,q,i,K,Y,k){Object.defineProperty(e,\"__esModule\",{value:!0});var E=i.vec2f32.create(),o=function(){function j(t,e,i,o,r,h,n,s,a,f,c,d,v,u,l){this.anchorX=t,this.anchorY=e,this.angle=i,this.bounds=o,this.minZoom=r,this.maxZoom=h,this.materialKey=n,this.vertexOffsetUpperLeft=s,this.vertexOffsetUpperRight=a,this.vertexOffsetLowerLeft=f,this.vertexOffsetLowerRight=c,this.texFontSizeUpperLeft=d,this.texFontSizeUpperRight=v,this.texFontSizeLowerLeft=u,this.texFontSizeLowerRight=l}return j.from=function(t,e,i,o,r,h,n,s,a,f,c,d,v,u,l){void 0===u&&(u=!1),void 0===l&&(l=!1);var m=s.rect,x=s.metrics,g=-1===r?255:Math.floor(180*r/Math.PI/360*254),p=Math.round(m.x/4),L=Math.round(m.y/4),M=p+Math.round(m.width/4),w=L+Math.round(m.height/4),O=-24-x.top,I=x.left,S=-x.top,_=m.width,b=m.height;!a&&(l||(O=0),I=4,_=x.width);var z=t+I,B=l?e+S:e+O,D=z+_,F=B,N=z,P=B+b,R=D,U=P,y=N+x.width,X=P-x.height,A=x.width*d/24,C=x.height*d/24;if(c){var G=E,Z=c;q.vec2.transformMat2d(G,q.vec2.set(G,z,B),Z),z=G[0],B=G[1],q.vec2.transformMat2d(G,q.vec2.set(G,D,F),Z),D=G[0],F=G[1],q.vec2.transformMat2d(G,q.vec2.set(G,N,P),Z),N=G[0],P=G[1],q.vec2.transformMat2d(G,q.vec2.set(G,R,U),Z),R=G[0],U=G[1],q.vec2.transformMat2d(G,q.vec2.set(G,y,X),Z),y=G[0],X=G[1]}return new j(0|i,0|o,g,u?new k.default(y,X,A+K.COLLISION_BOX_PADDING,C+K.COLLISION_BOX_PADDING):null,h,n,f,Y.i1616to32(8*z,8*B),Y.i1616to32(8*D,8*F),Y.i1616to32(8*N,8*P),Y.i1616to32(8*R,8*U),Y.i8888to32(p,L,d,v),Y.i8888to32(M,L,d,v),Y.i8888to32(p,w,d,v),Y.i8888to32(M,w,d,v))},j}();e.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../../../../../core/mathUtils\",\"../../../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../../../core/libs/gl-matrix-2/mat2df32\",\"../../definitions\",\"../../materialKey/MaterialKey\",\"./ComputedGlyph\",\"./util\"],function(t,e,x,i,V,W,$,tt,_,et,it){Object.defineProperty(e,\"__esModule\",{value:!0});var b=i.getLogger(\"esri.views.2d.engine.webgl.GlyphGroup\"),o=function(){function t(t,e,i,o,a,r,s,h,n,l){void 0===i&&(i=0),void 0===o&&(o=-1),void 0===a&&(a=-1),void 0===r&&(r=-1),void 0===s&&(s=-1),void 0===h&&(h=-1),void 0===n&&(n=0),void 0===l&&(l=-1),this.x=t,this.y=e,this.t=i,this.i=o,this.j=a,this.segmentPosX=r,this.segmentPosY=s,this.segmentLen=h,this.pathLen=n,this.order=l,this._glyphs=new Map,this.minZoom=0}return Object.defineProperty(t.prototype,\"glyphs\",{get:function(){return this._glyphs},enumerable:!0,configurable:!0}),t.prototype.add=function(t,e){var i=this._glyphs.get(e);i?i.push(t):this._glyphs.set(e,[t])},t.prototype.clear=function(){this._glyphs.clear()},t.prototype.place=function(t,e,i,o,a,r,s,h,n,l,d){var p,m,g=t.x,y=t.y,c=t.codePoint,u=t.glyphMosaicItem,f=_.MaterialKeyBase.load(a);switch(f.textureBinding=t.glyphMosaicItem.textureBinding,e){case\"esriGeometryPoint\":case\"esriGeometryPolygon\":var v=et.default.from(g,y,this.x,this.y,-1,l,d,u,c,f.data,o,r,s);return void this.add(v,0);case\"esriGeometryPolyline\":var M=i.geometry;return this._placeGlyphAlongLine(t,f.data,M,o,h,r,s,n,l,d,-1),void this._placeGlyphAlongLine(t,f.data,M,o,h,r,s,n,l,d,1);case\"esriGeometryMultipoint\":case\"esriGeometryEnvelope\":return p=\"Cannot place for unsupported geometryType: \"+e,void 0===m&&(m=\"mapview-labeling\"),void b.error(new x(m,p))}},t.prototype._findLabelTheta=function(t,e,i,o){var a=o*e,r=(0*a+-1*(o*-t))/(1*i),s=Math.acos(r);return 0<a&&(s=2*Math.PI-s),s},t.prototype._placeGlyphAlongLine=function(t,e,i,o,a,r,s,h,n,l,d){var p=i.paths[this.i],m=p[this.j],g=m[0],y=m[1],c=t.x,u=t.y,f=t.glyphMosaicItem,v=t.codePoint,M=t.glyphMosaicItem.metrics,x=(t.x+M.left+M.width/2)*r/24,_=d*V.sign(x)||1,b=Math.abs(x),L=it.len(g,y),P=this._findLabelTheta(g,y,L,d),G=(_+1)/2,w=-_*(-1*G+this.t)*L,I=W.mat2d.rotate($.mat2df32.create(),o,-P),j=l,O=48<a.height,A=0===w?j:Math.max(Math.max(h+V.log2(Math.abs(b/w)),0),n);O&&(A=n);var T=O||A<=h&&h<=j&&1===d,Z=et.default.from(c,u,this.x,this.y,P,A,j,f,v,e,I,r,s,T);if(this.add(Z,this.j),!O)for(var B=this.segmentPosX+G*g,C=this.segmentPosY+G*y,E=A,K=this.j+_;0<K&&K<p.length;K+=_){var X=B,Y=C,k=p[K],q=k[0],D=k[1],N=it.len(q,D),S=this._findLabelTheta(q,D,N,d),U=W.mat2d.rotate($.mat2df32.create(),o,-S),z=X+-_*q/N*w,F=Y+-_*D/N*w,H=E-.1,J=0===(w+=N)?H:Math.max(Math.max(h+V.log2(Math.abs(b/w)),0),n),Q=J<=h&&h<=H&&1===d,R=et.default.from(c,u,z,F,P,J,H,f,v,e,U,r,s,Q);if(this.add(R,K),J<h-tt.COLLISION_MAX_ZOOM_DELTA){this.minZoom=Math.max(J,this.minZoom);break}B+=_*q,C+=_*D,E=J}},t}();e.default=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/has\",\"../../../../../../core/Logger\",\"../../definitions\",\"../../enums\",\"../../number\",\"../../TileClipper\",\"../../TurboLine\",\"../../WGLDisplayRecord\",\"../../materialKey/MaterialKey\"],function(e,t,i,f,r,n,o,p,s,d,_,l){Object.defineProperty(t,\"__esModule\",{value:!0});var c=r.getLogger(\"esri.views.2d.engine.webgl.WGLLineTemplateBase\"),x=-16,y=n.TILE_SIZE+16,v=31,m=new s.TileClipper(0,0,0,1,16);m.setExtent(n.TILE_SIZE);var g=0,C=0,b=0;f(\"esri-tiles-performance\")&&setInterval(function(){console.log(\"New (FL)\",\"feat=\"+b,\"secs=\"+g,\"tris=\"+C,\"tris/sec=\"+Math.round(C/g))},1e4);var M=new Uint32Array(9),a=new Uint32Array(36),h=new Uint32Array(3),u=new Uint32Array(6),T=function(n){return function(e){e.entry0=n.offset+n.vertexCount++;var t=p.i1616to32(e.distance,v*n._halfWidth),i=p.i8888to32(Math.round(v*e.prevNormal.x),Math.round(v*e.prevNormal.y),Math.round(0),Math.round(-31)),r=p.i8888to32(0,0,0,n._bitset);a[0]=p.i1616to32(e.currentVertex.x,e.currentVertex.y),a[1]=n.id,a[2]=n._fillColor,a[3]=i,a[4]=t,a[5]=n._tl,a[6]=n._br,a[7]=r,a[8]=p.i1616to32(v*n._halfReferenceWidth,0),e.entry2=n.offset+n.vertexCount++;t=p.i1616to32(e.distance,v*n._halfWidth),i=p.i8888to32(Math.round(v*-e.prevNormal.x),Math.round(v*-e.prevNormal.y),Math.round(0),Math.round(31)),r=p.i8888to32(0,0,0,n._bitset);a[9]=p.i1616to32(e.currentVertex.x,e.currentVertex.y),a[10]=n.id,a[11]=n._fillColor,a[12]=i,a[13]=t,a[14]=n._tl,a[15]=n._br,a[16]=r,a[17]=p.i1616to32(v*n._halfReferenceWidth,0),e.exit0=n.offset+n.vertexCount++;t=p.i1616to32(e.distance,v*n._halfWidth),i=p.i8888to32(Math.round(v*e.nextNormal.x),Math.round(v*e.nextNormal.y),Math.round(0),Math.round(-31)),r=p.i8888to32(0,0,0,n._bitset);a[18]=p.i1616to32(e.currentVertex.x,e.currentVertex.y),a[19]=n.id,a[20]=n._fillColor,a[21]=i,a[22]=t,a[23]=n._tl,a[24]=n._br,a[25]=r,a[26]=p.i1616to32(v*n._halfReferenceWidth,0),e.exit2=n.offset+n.vertexCount++;t=p.i1616to32(e.distance,v*n._halfWidth),i=p.i8888to32(Math.round(v*-e.nextNormal.x),Math.round(v*-e.nextNormal.y),Math.round(0),Math.round(31)),r=p.i8888to32(0,0,0,n._bitset);a[27]=p.i1616to32(e.currentVertex.x,e.currentVertex.y),a[28]=n.id,a[29]=n._fillColor,a[30]=i,a[31]=t,a[32]=n._tl,a[33]=n._br,a[34]=r,a[35]=p.i1616to32(v*n._halfReferenceWidth,0),n.geometryBuf.writeRegion(a)}},w=function(t){return function(e){u[0]=e.leftExit0,u[1]=e.rightEntry0,u[2]=e.leftExit2,u[3]=e.rightEntry0,u[4]=e.rightEntry2,u[5]=e.leftExit2,t.indexCount+=6,t.indexBuf.writeRegion(u)}},P=function(d){return function(e,t,i,r,n,o,s,l,a){var h=p.i1616to32(a,v*d._halfWidth),u=p.i8888to32(Math.round(v*n),Math.round(v*o),Math.round(v*s),Math.round(v*l)),f=p.i8888to32(v*i,v*r,0,d._bitset);return M[0]=p.i1616to32(e,t),M[1]=d.id,M[2]=d._fillColor,M[3]=u,M[4]=h,M[5]=d._tl,M[6]=d._br,M[7]=f,M[8]=p.i1616to32(v*d._halfReferenceWidth,0),d.geometryBuf.writeRegion(M),d.offset+d.vertexCount++}},L=function(r){return function(e,t,i){h[0]=e,h[1]=t,h[2]=i,r.indexCount+=3,r.indexBuf.writeRegion(h)}};t.default=function(e){return function(r){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=r.apply(this,e)||this;return i.tessellationProperties={_fillColor:null,_tl:null,_br:null,_halfWidth:null,_bitset:null,_halfReferenceWidth:null,id:null,indexBuf:null,indexCount:null,geometryBuf:null,vertexCount:null,offset:null},i._tessellationOptions={},i.geometryType=o.WGLGeometryType.LINE,i}return i(e,r),e.prototype.writeMesh=function(e,t,i,r,n){var o=t.indexVector,s=t.get(\"geometry\"),l=new _(r,this.geometryType,this._materialKey),a=t.getVector(\"geometry\").vertexCount;switch(l.vertexFrom=a,l.indexFrom=o.length,i){case\"esriGeometryPolyline\":var h=n.geometry.paths;if(0===(u=this._clipLines(h)).length)return;return this._write(l,o,s,a,r,u),void e.push(l);case\"esriGeometryPolygon\":var u,f=n.geometry.rings;if(0===(u=this._clipLines(f)).length)return;return this._write(l,o,s,a,r,u),void e.push(l);default:c.error(\"Unable to handle geometryType: \"+i)}},e.prototype._clipLines=function(e){for(var t=[],i=!1,r=0;r<e.length;){var n=[],o=e[r];m.reset(2);var s=o[0],l=s[0],a=s[1];if(i)m.moveTo(l,a);else{if(l<x||y<l||a<x||y<a){i=!0;continue}n.push({x:l,y:a})}for(var h=!1,u=o.length,f=1;f<u;++f)if(l+=o[f][0],a+=o[f][1],i)m.lineTo(l,a);else{if(l<x||y<l||a<x||y<a){h=!0;break}n.push({x:l,y:a})}if(h)i=!0;else{if(i){var d=m.resultWithStarts();if(d)for(var p=0,_=d;p<_.length;p++){var c=_[p];t.push(c)}}else t.push({line:n,start:0});r++,i=!1}}return t},e.prototype._write=function(e,t,i,r,n,o){var s;f(\"esri-tiles-performance\")&&(s=performance.now()),this.tessellationProperties.id=n,this.tessellationProperties.indexBuf=t,this.tessellationProperties.indexCount=0,this.tessellationProperties.geometryBuf=i,this.tessellationProperties.vertexCount=0,this.tessellationProperties.offset=r;for(var l=0,a=o;l<a.length;l++){var h=a[l],u=h.line;u.length<2||(this._tessellationOptions.initialDistance=h.start%65535,this._tessellationCallbacks instanceof d.StandardTessellationCallbacks&&(this._tessellationCallbacks.capType=this._capType,this._tessellationCallbacks.joinType=this._joinType),d.tessellate(u,this._tessellationOptions,this._tessellationCallbacks),d.cleanup(),f(\"esri-tiles-performance\")&&b++)}e.vertexCount=this.tessellationProperties.vertexCount,e.indexCount=this.tessellationProperties.indexCount,e.zOrder=this._zOrder,f(\"esri-tiles-performance\")&&(g+=(performance.now()-s)/1e3,C+=e.indexCount/3)},e.prototype._initializeTessellator=function(e){var t=l.LineMaterialKey.load(this._materialKey);if(this._tessellationOptions.trackDistance=this._isDashed||this._hasPattern,this._tessellationOptions.thin=!e&&this.tessellationProperties._halfWidth<n.THIN_LINE_THRESHOLD/2&&!(t.vvSizeFieldStops||t.vvSizeMinMaxValue||t.vvSizeScaleStops||t.vvSizeUnitValue),this._tessellationOptions.wrapDistance=65535,this._tessellationOptions.outerBisectorAutoSplitThreshold=1/3.8,this._tessellationOptions.enableOuterBisectorSplit=this._isDashed||this._hasPattern,this._tessellationOptions.innerBisectorAutoSplitThreshold=1/3.8,this._tessellationOptions.enableInnerBisectorSplit=this._isDashed||this._hasPattern,this._tessellationOptions.thin)this._tessellationCallbacks={vertex:T(this.tessellationProperties),bridge:w(this.tessellationProperties)};else{var i=new d.StandardTessellationCallbacks(P(this.tessellationProperties),L(this.tessellationProperties));i.miterLimitCosine=this._miterLimitCosine,i.textured=this._isDashed||this._hasPattern,i.joinOnUTurn=this._joinOnUTurn,this._tessellationCallbacks=i}},e}(e)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Logger\",\"../../enums\",\"../../number\",\"../../WGLDisplayRecord\"],function(t,e,i,s,r,o,d){Object.defineProperty(e,\"__esModule\",{value:!0});var g=s.getLogger(\"esri.views.2d.engine.webgl.WGLMarkerTemplateBase\");e.default=function(t){return function(s){function t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=s.apply(this,t)||this;return i.xOffset=0,i.yOffset=0,i.width=0,i.height=0,i.geometryType=r.WGLGeometryType.MARKER,i}return i(t,s),t.prototype.writeMesh=function(t,e,i,s,r){var o=e.indexVector,h=e.get(\"geometry\"),u=new d(s,this.geometryType,this._materialKey),n=e.getVector(\"geometry\").vertexCount;switch(t.push(u),u.vertexFrom=n,u.indexFrom=o.length,i){case\"esriGeometryPoint\":var p=r.geometry,l=p.x,_=p.y;return this._writeVertices(u,h,s,this._getPos(l,_)),void this._writeIndices(u,o,n);case\"esriGeometryPolyline\":var a=r.geometry.paths;return void this._writeMany(u,o,h,n,s,a[0]);case\"esriGeometryPolygon\":var f=r.centroid;return void(f?(l=f.x,_=f.y,this._writeVertices(u,h,s,this._getPos(l,_)),this._writeIndices(u,o,n)):g.error(\"Tried to render polygon geometries as markers, but found no centroid!\"));case\"esriGeometryMultipoint\":var y=r.geometry.points;return void this._writeMany(u,o,h,n,s,y);case\"esriGeometryEnvelope\":default:g.error(\"Unable to handle geometryType: \"+i)}},t.prototype._getPos=function(t,e){return o.i1616to32(t,e)},t.prototype._writeMany=function(t,e,i,s,r,o){for(var h=0,u=0,n=0,p=0,l=o;p<l.length;p++){var _=l[p],a=_[0],f=_[1],y=this._getPos(a+h,f+u);this._writeVertices(t,i,r,y),this._writeIndices(t,e,s+n),h+=a,u+=f,n+=4}},t.prototype._writeVertices=function(t,e,i,s){e.push(s),e.push(this._offsetUpperLeft),e.push(this._texUpperLeft),e.push(this._bitestAndDistRatio),e.push(i),e.push(this._fillColor),e.push(this._outlineColor),e.push(this._sizeOutlineWidth),e.push(s),e.push(this._offsetUpperRight),e.push(this._texUpperRight),e.push(this._bitestAndDistRatio),e.push(i),e.push(this._fillColor),e.push(this._outlineColor),e.push(this._sizeOutlineWidth),e.push(s),e.push(this._offsetBottomLeft),e.push(this._texBottomLeft),e.push(this._bitestAndDistRatio),e.push(i),e.push(this._fillColor),e.push(this._outlineColor),e.push(this._sizeOutlineWidth),e.push(s),e.push(this._offsetBottomRight),e.push(this._texBottomRight),e.push(this._bitestAndDistRatio),e.push(i),e.push(this._fillColor),e.push(this._outlineColor),e.push(this._sizeOutlineWidth),t.vertexCount+=4},t.prototype._writeIndices=function(t,e,i){var s=i;e.push(s+0),e.push(s+1),e.push(s+2),e.push(s+1),e.push(s+3),e.push(s+2),t.indexCount+=6},t}(t)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../../../core/libs/gl-matrix-2/mat2df32\",\"../../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../definitions\",\"../../enums\",\"../../number\",\"../../TextShapingNew\",\"../../WGLDisplayRecord\",\"../../collisions/BoundingBox\",\"../../materialKey/MaterialKey\",\"./ComputedGlyph\"],function(e,t,r,G,o,s,i,w,T,L,n,M,a,d,S,c,l){Object.defineProperty(t,\"__esModule\",{value:!0});var I=o.getLogger(\"esri.views.2d.engine.webgl.WGLTextTemplate\"),h=Math.PI/180,p=i.mat2df32.create(),u=T.vec2f32.create();t.default=function(e){return function(o){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=o.apply(this,e)||this;return r.geometryType=n.WGLGeometryType.TEXT,r}return r(e,o),e.prototype.bindTextInfo=function(e,t,r){var o=this._computeShaping(e,this._justify).getShaping(t,r);isNaN(this._decorationTop)||a.TextShaping.addDecoration(o,this._decorationTop),this._shapedGlyphs=o,this._shapedBox=a.TextShaping.getBox(o)},e.prototype.writeMesh=function(e,t,r,o,i){var s=this._computedGlyphs;if(s){var n,a,h=M.i8888to32(0,0,this._referenceSize,this._bitset);switch(r){case\"esriGeometryPoint\":for(var p=i.geometry,u=p.x,c=p.y,l=0,f=s;l<f.length;l++)(T=f[l]).anchorX=u,T.anchorY=c;return void this._writeVertices(e,t,o,s,h,0,0);case\"esriGeometryPolygon\":if(i.centroid){for(var m=i.centroid,g=(u=m.x,c=m.y,0),d=s;g<d.length;g++)(T=d[g]).anchorX=u,T.anchorY=c;return void this._writeVertices(e,t,o,s,h,0,0)}case\"esriGeometryMultipoint\":for(var v=c=u=0,y=i.geometry.points;v<y.length;v++){var _=y[v];u+=_[0],c+=_[1];for(var x=0,w=s;x<w.length;x++){var T;(T=w[x]).anchorX=u,T.anchorY=c}this._writeVertices(e,t,o,s,h,0,0)}return;default:n=\"Unable to handle geometryType: \"+r,void 0===a&&(a=\"mapview-processing\"),I.error(new G(a,n))}}},e.prototype._computeGlyphs=function(e,t){if(e&&0!==e.length){for(var r=new Array(e.length),o=this._computeGlyphTransform(t),i=c.MaterialKeyBase.load(this._materialKey),s=0;s<e.length;s++){var n=e[s],a=n.x,h=n.y,p=n.codePoint,u=n.glyphMosaicItem;i.textureBinding=u.textureBinding,r[s]=l.default.from(a,h,0,0,-1,0,25,u,p,i.data,o,this._size,this._haloSize,!1,!0)}this._computedGlyphs=r}},e.prototype._createBounds=function(e,t){var r,o,i=e.width/2,s=e.height/2,n=t[4],a=t[5];if(this._angle){var h=T.vec2f32.fromValues(-i,-s),p=T.vec2f32.fromValues(i,-s),u=T.vec2f32.fromValues(-i,s),c=T.vec2f32.fromValues(i,s);w.vec2.transformMat2d(h,h,t),w.vec2.transformMat2d(p,p,t),w.vec2.transformMat2d(u,u,t),w.vec2.transformMat2d(c,c,t);for(var l=1/0,f=1/0,m=0,g=0,d=0,v=[h,p,u,c];d<v.length;d++){var y=v[d];l=Math.min(y[0],l),m=Math.max(y[0],m),f=Math.min(y[1],f),g=Math.max(y[1],g)}r=m-l,o=g-f}else r=e.width*this._scale,o=e.height*this._scale;var _=r+L.COLLISION_BOX_PADDING,x=o+L.COLLISION_BOX_PADDING;return new S.default(n,a,_,x)},e.prototype._computeShaping=function(e,t){return new a.TextShaping([e],512,L.TEXT_LINE_HEIGHT,L.TEXT_SPACING,[0,.5*-L.TEXT_LINE_HEIGHT],.5*(1-this._xAlignD),0,t)},e.prototype._computeGlyphTransform=function(e){var t=this._scale,r=this._angle*h,o=s.mat2d.identity(p);s.mat2d.rotate(o,o,r),s.mat2d.translate(o,o,w.vec2.set(u,this._xOffset,-this._yOffset)),s.mat2d.scale(o,o,w.vec2.set(u,t,t));var i=this._baseline?25:e.y+(1-this._yAlignD)*e.height*.5;return s.mat2d.translate(o,o,w.vec2.set(u,-4,-4-i)),o},e.prototype._writeVertices=function(e,t,r,o,i,s,n){this._writeHalos(e,t,r,o,i,s,n),this._writeText(e,t,r,o,i,s,n)},e.prototype._writeHalos=function(e,t,r,o,i,s,n){var a=t.indexVector,h=t.getVector(\"geometry\").vertexCount,p=0;if(this._haloSize)for(var u=0;u<o.length;u++,p+=4){var c=o[u],l=M.i1616to32(2*c.anchorX+1,2*c.anchorY),f=null==s?Math.floor(10*c.minZoom):s,m=null==n?Math.floor(10*c.maxZoom):n,g=new d(r,this.geometryType,c.materialKey,f,m);g.vertexFrom=h+p,g.indexFrom=a.length,this._writeVertex(g,t,r,l,this._haloColor,c,i,f,m),this._writeIndices(g,a,h+p),e.push(g)}},e.prototype._writeText=function(e,t,r,o,i,s,n){for(var a=t.indexVector,h=t.getVector(\"geometry\").vertexCount,p=0,u=0;u<o.length;u++,p+=4){var c=o[u],l=M.i1616to32(2*c.anchorX,2*c.anchorY),f=null==s?Math.floor(10*c.minZoom):s,m=null==n?Math.floor(10*c.maxZoom):n,g=new d(r,this.geometryType,c.materialKey,f,m);g.vertexFrom=h+p,g.indexFrom=a.length,this._writeVertex(g,t,r,l,this._color,c,i,f,m),this._writeIndices(g,a,h+p),e.push(g)}},e.prototype._writeVertex=function(e,t,r,o,i,s,n,a,h){var p=t.get(\"geometry\");p.push(o),p.push(r),p.push(i),p.push(s.vertexOffsetUpperLeft),p.push(s.texFontSizeUpperLeft),p.push(n),p.push(o),p.push(r),p.push(i),p.push(s.vertexOffsetUpperRight),p.push(s.texFontSizeUpperRight),p.push(n),p.push(o),p.push(r),p.push(i),p.push(s.vertexOffsetLowerLeft),p.push(s.texFontSizeLowerLeft),p.push(n),p.push(o),p.push(r),p.push(i),p.push(s.vertexOffsetLowerRight),p.push(s.texFontSizeLowerRight),p.push(n),e.vertexCount+=4},e.prototype._writeIndices=function(e,t,r){t.push(r+0),t.push(r+1),t.push(r+2),t.push(r+1),t.push(r+3),t.push(r+2),e.indexCount+=6},e}(e)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/screenUtils\",\"../../../../../../symbols/cim/enums\",\"../../color\",\"../../number\",\"../../materialKey/MaterialKey\",\"./util\",\"./WGLBaseLineTemplate\",\"./WGLDynamicMeshTemplate\",\"../../util/Result\"],function(t,i,e,h,m,y,f,L,_,r,n,P){Object.defineProperty(i,\"__esModule\",{value:!0});var a=function(u){function r(t,n,r){var i=u.call(this,n)||this;i._cimLineLayer=n;var a=0;_.isFunction(n.width)||(a=.5*h.pt2px(n.width));i._dynamicPropertyMap.set(\"_halfWidth\",function(t,i,e){return _.isFunction(n.width)?.5*h.pt2px(n.width(t,i,e)):a});var s=m.CapType.ROUND;_.isFunction(n.cap)||(s=n.cap);var o;i._dynamicPropertyMap.set(\"_capType\",function(t,i,e){return _.isFunction(n.cap)?n.cap(t,i,e):s}),_.isFunction(n.join)||(o=n.join);var l;if(i._dynamicPropertyMap.set(\"_joinType\",function(t,i,e){return _.isFunction(n.join)?n.join(t,i,e):o}),!_.isFunction(n.color)){var e=n.color;l=e&&y.premultiplyAlphaRGBA(e)||0}var c;i._dynamicPropertyMap.set(\"_fillColor\",function(t,i,e){if(_.isFunction(n.color)){var r=n.color(t,i,e);return r&&y.premultiplyAlphaRGBA(r)||0}return l}),_.isFunction(n.miterLimit)||(c=_.getLimitCosine(n.miterLimit));i._dynamicPropertyMap.set(\"_miterLimitCosine\",function(t,i,e){return _.isFunction(n.miterLimit)?_.getLimitCosine(n.miterLimit(t,i,e)):c});var p=1;_.isFunction(r)||(p=r);return i._dynamicPropertyMap.set(\"_scaleFactor\",function(t,i,e){return _.isFunction(r)?r(t,i,e):p}),i._isDashed=n.isDashed,i.tessellationProperties._bitset=n.colorLocked?1:0,i._materialKey=L.createMaterialKey(i.geometryType,t,n.isOutline),i._initializeTessellator(!0),i}return e(r,u),r.fromCIMLine=function(t,i,e){return new r(t,i,e)},r.prototype.bindFeature=function(e,r,n){var a=this,t=this._dynamicPropertyMap;t&&t.forEach(function(t,i){a[i]=t(e,r,n)}),this._halfWidth*=this._scaleFactor;var i=this._materialCache,s=(0,this._cimLineLayer.materialHash)(e,r,n),o=i.get(s),l=null;if(o&&P.ok(o.spriteMosaicItem)&&(l=o.spriteMosaicItem),l){this._hasPattern=!0;var c=l.rect,p=l.width,u=l.height,h=c.x+1,m=c.y+1,y=c.x+1+p,_=c.y+1+u;this.tessellationProperties._tl=f.i1616to32(h,m),this.tessellationProperties._br=f.i1616to32(y,_)}else this._hasPattern=!1,this.tessellationProperties._tl=0,this.tessellationProperties._br=0;this.tessellationProperties._halfReferenceWidth=this.tessellationProperties._halfWidth;var d=L.LineMaterialKey.load(this._materialKey);l&&(d.sdf=l.sdf,d.pattern=!0,d.textureBinding=l.textureBinding),this._materialKey=d.data},r}(r.default(n.default));i.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../../../../../core/screenUtils\",\"../../../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../../../core/libs/gl-matrix-2/mat2df32\",\"../../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../../symbols/cim/enums\",\"../../color\",\"../../number\",\"../../materialKey/MaterialKey\",\"./util\",\"./WGLBaseMarkerTemplate\",\"./WGLDynamicMeshTemplate\",\"../../util/Result\"],function(t,e,o,B,i,R,W,r,X,C,m,y,G,K,d,a,s,O){Object.defineProperty(e,\"__esModule\",{value:!0});var S=C.vec2f32.create(),q=r.mat2df32.create(),U=i.getLogger(\"esri.views.2d.engine.webgl.WGLDynamicMarkerTemplate\"),n=function(i){function r(t,r,o){var e=i.call(this,r)||this;e._cimMarkerLayer=r;var a=0;d.isFunction(r.color)||(a=y.premultiplyAlphaRGBA(r.color));e._dynamicPropertyMap.set(\"_fillColor\",function(t,e,i){return d.isFunction(r.color)?y.premultiplyAlphaRGBA(r.color(t,e,i)):a});var s=0;d.isFunction(r.outlineColor)||(s=y.premultiplyAlphaRGBA(r.outlineColor));var n;e._dynamicPropertyMap.set(\"_outlineColor\",function(t,e,i){return d.isFunction(r.outlineColor)?y.premultiplyAlphaRGBA(r.outlineColor(t,e,i)):s}),d.isFunction(r.size)||(n=R.pt2px(r.size));var c;e._dynamicPropertyMap.set(\"_size\",function(t,e,i){return d.isFunction(r.size)?R.pt2px(r.size(t,e,i)):n}),d.isFunction(r.scaleX)||(c=r.scaleX);var l;e._dynamicPropertyMap.set(\"_scaleX\",function(t,e,i){return d.isFunction(r.scaleX)?r.scaleX(t,e,i):c}),d.isFunction(r.offsetX)||(l=R.pt2px(r.offsetX));var h;e._dynamicPropertyMap.set(\"xOffset\",function(t,e,i){return d.isFunction(r.offsetX)?R.pt2px(r.offsetX(t,e,i)):l}),d.isFunction(r.offsetY)||(h=R.pt2px(r.offsetY));var u;e._dynamicPropertyMap.set(\"yOffset\",function(t,e,i){return d.isFunction(r.offsetY)?R.pt2px(r.offsetY(t,e,i)):h}),d.isFunction(r.outlineWidth)||(u=R.pt2px(r.outlineWidth));var p;e._dynamicPropertyMap.set(\"_outlineWidth\",function(t,e,i){return d.isFunction(r.outlineWidth)?R.pt2px(r.outlineWidth(t,e,i)):u}),d.isFunction(r.rotation)||(p=r.rotation);e._dynamicPropertyMap.set(\"_angle\",function(t,e,i){return d.isFunction(r.rotation)?r.rotation(t,e,i):p});var f=1;d.isFunction(o)||(f=o);return e._dynamicPropertyMap.set(\"_scaleFactor\",function(t,e,i){return d.isFunction(o)?o(t,e,i):f}),e._bitSet=(r.alignment===m.Alignment.MAP?1:0)|(r.colorLocked?1:0)<<1|(r.scaleSymbolsProportionally?1:0)<<3,e._materialKey=K.createMaterialKey(e.geometryType,t,!1),e}return o(r,i),r.fromCIMMarker=function(t,e,i){return new r(t,e,i)},r.prototype.bindFeature=function(i,r,o){var a=this,t=this._dynamicPropertyMap;t&&t.forEach(function(t,e){a[e]=t(i,r,o)});var e=this._cimMarkerLayer.materialHash,s=\"function\"==typeof e?e(i,r,o):e,n=this._materialCache.get(s);if(n&&O.ok(n.spriteMosaicItem)&&n.spriteMosaicItem){var c=n.spriteMosaicItem,l=this._cimMarkerLayer.sizeRatio,h=c.width/c.height*this._scaleX,u=this._cimMarkerLayer.rotateClockwise?this._angle:-this._angle,p=this._size,f=p*h,m=this.xOffset*this._scaleFactor,y=this.yOffset*this._scaleFactor,d=this._cimMarkerLayer.scaleSymbolsProportionally&&this._cimMarkerLayer.frameHeight?this._size/R.pt2px(this._cimMarkerLayer.frameHeight):1,_=this._outlineWidth*d,M=R.pt2px(this._cimMarkerLayer.referenceSize),g=0,v=0,x=this._cimMarkerLayer.anchorPoint;x&&(this._cimMarkerLayer.isAbsoluteAnchorPoint?this._size&&(g=-x.x/(this._size*h),v=x.y/this._size):(g=x.x,v=x.y)),this._sizeOutlineWidth=G.i8888to32(Math.round(Math.sqrt(256*f)),Math.round(Math.sqrt(256*p)),Math.round(Math.sqrt(256*_)),Math.round(Math.sqrt(256*M))),W.mat2d.identity(q),W.mat2d.translate(q,q,C.vec2f32.fromValues(m,-y)),u&&W.mat2d.rotate(q,q,3.14159265359/180*u);var F=c.rect.x,L=c.rect.y,k=F+c.rect.width,b=L+c.rect.height;g=.5-((.5+g)*c.width+1)/c.rect.width,v=.5-((.5+v)*c.height+1)/c.rect.height,f*=l,p*=l,f*=this._scaleFactor,p*=this._scaleFactor;var P=Math.round(64*l),w=(g-.5)*(f*=c.rect.width/c.width),z=(v-.5)*(p*=c.rect.height/c.height);this._bitestAndDistRatio=G.i8888to32(0,0,this._bitSet,P),X.vec2.set(S,w,z),X.vec2.transformMat2d(S,S,q),this._offsetUpperLeft=G.i1616to32(16*S[0],16*S[1]),this._texUpperLeft=G.i1616to32(F,L),X.vec2.set(S,w+f,z),X.vec2.transformMat2d(S,S,q),this._offsetUpperRight=G.i1616to32(16*S[0],16*S[1]),this._texUpperRight=G.i1616to32(k,L),X.vec2.set(S,w,z+p),X.vec2.transformMat2d(S,S,q),this._offsetBottomLeft=G.i1616to32(16*S[0],16*S[1]),this._texBottomLeft=G.i1616to32(F,b),X.vec2.set(S,w+f,z+p),X.vec2.transformMat2d(S,S,q),this._offsetBottomRight=G.i1616to32(16*S[0],16*S[1]),this._texBottomRight=G.i1616to32(k,b);var A=K.MarkerMaterialKey.load(this._materialKey);A.sdf=c.sdf,A.pattern=!0,A.textureBinding=c.textureBinding,this._materialKey=A.data}else U.error(new B(\"mapview-cim\",\"Encountered an error when binding feature\"))},r}(a.default(s.default));e.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Logger\",\"../../../../../../core/promiseUtils\",\"../../../../../../symbols/cim/cimAnalyzer\",\"./WGLMeshTemplate\"],function(e,a,r,t,m,h,i){Object.defineProperty(a,\"__esModule\",{value:!0});var g=t.getLogger(\"esri.views.2d.engine.webgl.WGLDynamicMeshTemplate\"),n=function(t){function e(e){var a=t.call(this)||this;return a._ongoingMaterialRequestMap=new Map,a._materialCache=new Map,a._dynamicPropertyMap=new Map,a._cimLayer=e,a}return r(e,t),e.prototype.analyze=function(e,a,t,r){var i=this,n=this._materialCache,s=this._cimLayer.materialHash;if(!s)return g.error(\"A Dynamic mesh template must have a material hash value or function!\"),m.reject(null);var o=\"function\"==typeof s?s(a,t,r):s;if(n.has(o)){var l=n.get(o);return m.resolve(l)}if(this._ongoingMaterialRequestMap.has(o))return this._ongoingMaterialRequestMap.get(o);var u=h.analyzeCIMResource(this._cimLayer.cim,this._cimLayer.materialOverrides);u.mosaicHash=o;var c=e.getCIMMosaicItem(u).then(function(e){return i._ongoingMaterialRequestMap.delete(o),n.set(o,e),e}).catch(function(e){return i._ongoingMaterialRequestMap.delete(o),g.error(\".analyze()\",e.message),null});return this._ongoingMaterialRequestMap.set(o,c),c},e}(i.default);a.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/screenUtils\",\"../../alignmentUtils\",\"../../color\",\"../../fontUtils\",\"../../materialKey/MaterialKey\",\"./util\",\"./WGLBaseTextTemplate\",\"./WGLDynamicMeshTemplate\",\"../../util/BidiText\"],function(t,e,i,g,h,M,x,v,z,n,o,p){Object.defineProperty(e,\"__esModule\",{value:!0});var f=new Set;var r=function(d){function n(t,n,o){var e=d.call(this,n)||this;e._horizontalAlignment=\"center\",e._verticalAlignment=\"middle\",e._glyphs=[],e._cimTextLayer=n;var r=0;z.isFunction(n.color)||(r=M.premultiplyAlphaRGBA(n.color));e._dynamicPropertyMap.set(\"_color\",function(t,e,i){return z.isFunction(n.color)?M.premultiplyAlphaRGBA(n.color(t,e,i)):r});var a=0;z.isFunction(n.color)||(a=M.premultiplyAlphaRGBA(n.outlineColor));var s;e._dynamicPropertyMap.set(\"_haloColor\",function(t,e,i){return z.isFunction(n.outlineColor)?M.premultiplyAlphaRGBA(n.outlineColor(t,e,i)):a}),z.isFunction(n.size)||(s=Math.min(Math.round(g.pt2px(n.size*n.sizeRatio)),127));var l;e._dynamicPropertyMap.set(\"_size\",function(t,e,i){return z.isFunction(n.size)?Math.min(Math.round(g.pt2px(n.size(t,e,i)*n.sizeRatio)),127):s}),z.isFunction(n.outlineSize)||(l=Math.min(Math.floor(5*g.pt2px(n.outlineSize*n.sizeRatio)),127));var c;e._dynamicPropertyMap.set(\"_haloSize\",function(t,e,i){return z.isFunction(n.outlineSize)?Math.min(Math.floor(5*g.pt2px(n.outlineSize(t,e,i)*n.sizeRatio)),127):l}),z.isFunction(n.offsetX)||(c=Math.round(g.pt2px(n.offsetX*n.sizeRatio)));var u;e._dynamicPropertyMap.set(\"_xOffset\",function(t,e,i){return z.isFunction(n.offsetX)?Math.round(g.pt2px(n.offsetX(t,e,i)*n.sizeRatio)):c}),z.isFunction(n.offsetY)||(u=Math.round(g.pt2px(n.offsetY*n.sizeRatio)));var h;e._dynamicPropertyMap.set(\"_yOffset\",function(t,e,i){return z.isFunction(n.offsetY)?Math.round(g.pt2px(n.offsetY(t,e,i)*n.sizeRatio)):u}),z.isFunction(n.decoration)||(h=x.getFontDecorationTop(n.decoration));var p;e._dynamicPropertyMap.set(\"_decorationTop\",function(t,e,i){return z.isFunction(n.decoration)?x.getFontDecorationTop(n.decoration(t,e,i)):h}),z.isFunction(n.angle)||(p=n.angle);var f;e._dynamicPropertyMap.set(\"_angle\",function(t,e,i){return z.isFunction(n.angle)?n.angle(t,e,i):p}),z.isFunction(n.horizontalAlignment)||(f=n.horizontalAlignment);var _;e._dynamicPropertyMap.set(\"_horizontalAlignment\",function(t,e,i){return z.isFunction(n.horizontalAlignment)?n.horizontalAlignment(t,e,i):f}),z.isFunction(n.verticalAlignment)||(_=n.verticalAlignment);e._dynamicPropertyMap.set(\"_verticalAlignment\",function(t,e,i){return z.isFunction(n.verticalAlignment)?n.verticalAlignment(t,e,i):_});var y;e._dynamicPropertyMap.set(\"_scaleFactor\",function(t,e,i){return z.isFunction(o)?o(t,e,i):o}),z.isFunction(n.text)||(y=n.text);e._dynamicPropertyMap.set(\"_text\",function(t,e,i){return z.isFunction(n.text)?n.text(t,e,i):y});var i=Math.min(Math.round(g.pt2px(n.referenceSize*n.sizeRatio)),127);e._referenceSize=Math.round(Math.sqrt(256*i)),e._materialKey=v.createMaterialKey(e.geometryType,t,!1);var m=v.TextMaterialKey.load(e._materialKey);return m.sdf=!0,e._bitset=n.colorLocked?1:0,e._materialKey=m.data,e}return i(n,d),n.fromCIMText=function(t,e,i){return new n(t,e,i)},n.prototype.analyze=function(t,e,i,n){var o,r,a,s,l=this._cimTextLayer,c=(r=e,a=i,s=n,\"string\"==typeof(o=l).text?o.text:\"function\"==typeof o.text?o.text(r,a,s):\"\"),u=this._glyphs;f.clear();for(var h=0;h<c.length;h++)f.add(c.charCodeAt(h));var p=[];return f.forEach(function(t){(u.length<t||void 0===u[t])&&(p[t]=t)}),t.getCIMMosaicItem(l.cim,p).then(function(t){if(t.glyphMosaicItems&&0<t.glyphMosaicItems.length)for(var e=t.glyphMosaicItems,i=0;i<e.length;i++)void 0!==e[i]&&(u[i]=e[i]);return t})},n.prototype.bindFeature=function(i,n,o){var r=this,t=this._dynamicPropertyMap;if(t&&t.forEach(function(t,e){r[e]=t(i,n,o)}),!this._text||0===this._text.length)return this._computedGlyphs=null,this._shapedGlyphs=null,void(this._shapedBox=null);this._size*=this._scaleFactor,this._scale=this._size/24,this._xOffset*=this._scaleFactor,this._yOffset*=this._scaleFactor,this._justify=h.getJustification(this._horizontalAlignment||\"center\"),this._xAlignD=h.getXAnchorDirection(this._horizontalAlignment||\"center\"),this._yAlignD=-h.getYAnchorDirection(this._verticalAlignment||\"baseline\"),this._baseline=\"baseline\"===(this._verticalAlignment||\"baseline\");for(var e=this._glyphs,a=p.bidiText(this._text),s=a[0],l=a[1],c=[],u=0;u<s.length;u++)c[s.charCodeAt(u)]=e[s.charCodeAt(u)];this.bindTextInfo(c,s,l),this._computeGlyphs(this._shapedGlyphs,this._shapedBox)},n}(n.default(o.default));e.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Logger\",\"../../../../../../core/mathUtils\",\"../../../../../../core/screenUtils\",\"../../../../../../core/libs/earcut/earcut\",\"../../color\",\"../../definitions\",\"../../enums\",\"../../number\",\"../../TileClipper\",\"../../WGLDisplayRecord\",\"../../materialKey/MaterialKey\",\"../Tesselator\",\"./WGLMeshTemplate\"],function(e,t,r,i,_,m,d,T,x,f,C,g,P,v,c,o){Object.defineProperty(t,\"__esModule\",{value:!0});var p=i.getLogger(\"esri.views.2d.engine.webgl.mesh.templates.WGLFillTemplate\"),M=[],I=[],L=128;var s=function(u){function w(e,t,r,i,o,s,n,a,l){var h=u.call(this)||this;h.fillColor=r,h.tl=i,h.br=o,h.aux1=s,h.aux2=n,h.aux3=a,h.isBFS=l,h.geometryType=f.WGLGeometryType.FILL,h.forceLibtess=!1;var p=v.FillMaterialKey.load(v.createMaterialKey(h.geometryType,e,!1));return t&&(p.sdf=t.sdf,p.pattern=!0,p.textureBinding=t.textureBinding),h._materialKey=p.data,h._tesselator=new c.default,h._tileClipper=new g.TileClipper(0,0,0,1,8),h._tileClipper.setExtent(x.TILE_SIZE),h}return r(w,u),w.fromCIMFill=function(e,t,r,i){void 0===i&&(i=!1);var o=t.color,s=o&&T.premultiplyAlphaRGBA(o)||0,n=C.i8888to32(0,0,0,t.colorLocked?1:0);if(!r)return new w(e,null,s,0,0,0,0,n,i);var a=r.rect,l=r.width,h=r.height,p=a.x+1,u=a.y+1,f=p+l,d=u+h,g=_.nextHighestPowerOfTwo(m.pt2px(t.height||0));255<g?g=255:g<=0&&(g=_.nextHighestPowerOfTwo(d-u));var v=_.nextHighestPowerOfTwo(m.pt2px(t.height/h*l||0));255<v?v=255:v<=0&&(v=_.nextHighestPowerOfTwo(f-p));var c=m.pt2px(t.offsetX||0)+L;255<c&&(c=255);var y=m.pt2px(-t.offsetY||0)+L;255<y&&(y=255);var x=t.scaleX||1;return new w(e,r,s,C.i1616to32(p,u),C.i1616to32(f,d),C.i8888to32(v,g,c,y),C.i1616to32(L*x,128),0,i)},w.fromSimpleFill=function(e,t,r,i){void 0===i&&(i=!1);var o=t.color,s=o&&\"none\"!==t.style&&T.premultiplyAlphaRGBA(o)||0,n=C.i8888to32(0,0,0,i?255:0);if(!r)return new w(e,null,s,0,0,0,0,n,i);var a=r.rect,l=r.width,h=r.height,p=a.x+1,u=a.y+1,f=a.x+1+l,d=a.y+1+h;return new w(e,r,s,C.i1616to32(p,u),C.i1616to32(f,d),C.i8888to32(_.nextHighestPowerOfTwo(f-p),_.nextHighestPowerOfTwo(d-u),0,0),C.i1616to32(L,L),n,i)},w.fromPictureFill=function(e,t,r,i){void 0===i&&(i=!1);var o=x.PICTURE_FILL_COLOR,s=r.rect,n=r.width,a=r.height,l=s.x+1,h=s.y+1,p=l+n,u=h+a,f=C.i1616to32(l,h),d=C.i1616to32(p,u),g=_.nextHighestPowerOfTwo(m.pt2px(t.width));255<g&&(g=255);var v=_.nextHighestPowerOfTwo(m.pt2px(t.height));255<v&&(v=255);var c=m.pt2px(t.xoffset)+L;255<c&&(c=255);var y=m.pt2px(-t.yoffset)+L;return 255<y&&(y=255),new w(e,r,o,f,d,C.i8888to32(g,v,c,y),C.i1616to32(L*t.xscale,L*t.yscale),C.i8888to32(0,0,0,i?255:0),i)},w.prototype.writeMesh=function(e,t,r,i,o){if(M.length=0,\"esriGeometryPolygon\"===r){var s=o.geometry,n=v.FillMaterialKey.load(this._materialKey),a=this._isClippingRequired(s),l=a?this._clip(s,!1):s.rings,h=n.dotDensity?function(e){for(var t=0,r=0;r<e.length;r++)for(var i=e[r],o=i[0],s=o[0],n=o[1],a=1;a<i.length;a++){var l=i[a],h=s+l[0],p=n+l[1];t-=(h-s)*(p+n)/2,s=h,n=p}return t}(s.rings):0;this.forceLibtess?this._writeMeshLibtess(e,t,i,l,a,n,h):this._writeMeshEarcut(e,t,i,l,a,n,h)||this._writeMeshLibtess(e,t,i,l,a,n,h)}else\"esriGeometryPolyline\"!==r&&p.error(\"Unable to handle geometryType: \"+r)},w.prototype._isClippingRequired=function(e){for(var t=x.TILE_SIZE+8,r=0,i=e.rings;r<i.length;r++){var o=i[r],s=o.length;if(!(s<3)){var n=o[0][0],a=o[0][1];if(n<-8||t<n||a<-8||t<a)return!0;for(var l=1;l<s;++l)if(n+=o[l][0],a+=o[l][1],n<-8||t<n||a<-8||t<a)return!0}}return!1},w.prototype._clip=function(e,t){var r,i;this._tileClipper.reset(3);for(var o=0,s=e.rings;o<s.length;o++){var n=s[o],a=n.length;if(!(a<3)){r=n[0][0],i=n[0][1],this._tileClipper.moveTo(r,i);for(var l=1;l<a;++l)r+=n[l][0],i+=n[l][1],this._tileClipper.lineTo(r,i);this._tileClipper.close()}}return this._tileClipper.result(t)},w.prototype._writeMeshLibtess=function(e,t,r,i,o,s,n){if(i&&i.length){var a=[],l=t.indexVector,h=t.getVector(\"geometry\"),p=new P(r,this.geometryType,this._materialKey),u=h.vertexCount;p.vertexFrom=u,p.indexFrom=l.length,this._tesselator.beginPolygon(M,a);for(var f=0,d=i;f<d.length;f++){var g=d[f];if(!(g.length<3)){this._tesselator.beginContour();var v=void 0,c=void 0;c=o?(v=g[0].x,g[0].y):(v=g[0][0],g[0][1]);var y=[v,c,0];this._tesselator.addVertex(y,y);for(var x=1;x<g.length-1;x++){o?(v=g[x].x,c=g[x].y):(v+=g[x][0],c+=g[x][1]);var w=[v,c,0];this._tesselator.addVertex(w,w)}this._tesselator.endContour()}}this._tesselator.endPolygon(),this._writeVerticesLibTess(p,h,r,M,s,n),this._writeIndicesLibTess(p,l,u,a),0<p.indexCount&&e.push(p)}},w.prototype._writeMeshEarcut=function(e,t,r,i,o,s,n){if(i&&i.length){var a=t.indexVector,l=t.getVector(\"geometry\"),h=new P(r,this.geometryType,this._materialKey),p=l.vertexCount,u=a.length,f=l.data.length;h.vertexFrom=p,h.indexFrom=a.length;for(var d=0,g=0,v=0,c=i;v<c.length;v++){var y=c[v],x=g,w=void 0,_=void 0;_=o?(w=y[0].x,y[0].y):(w=y[0][0],y[0][1]),M[g++]=w,M[g++]=_;for(var m=0,T=1;T<y.length;++T){var C=void 0,L=void 0;if(o){var b=w,F=_;C=(w=y[T].x)-b,L=(_=y[T].y)-F}else w+=C=y[T][0],_+=L=y[T][1];m-=C*(_+_-L),M[g++]=w,M[g++]=_}if(0<m){if(0<x-d){if(!this._write(h,a,l,r,M,I,d,x,s,n))return a.seek(u),l.data.seek(f),M.length=I.length=0,!1;d=x}I.length=0}else m<0&&0<x-d?I.push(.5*(x-d)):g=x}return 0<g-d&&!this._write(h,a,l,r,M,I,d,g,s,n)?(a.seek(u),l.data.seek(f),M.length=I.length=0,!1):(M.length=I.length=0,e.push(h),!0)}},w.prototype._write=function(e,t,r,i,o,s,n,a,l,h){var p=o.slice(n,a),u=d(p,s,2);if(d.deviation(p,s,2,u))return!1;if(u.length){var f=r.vertexCount;return this._writeVertices(e,r,i,p,l,h),this._writeIndices(e,t,f,u),!0}},w.prototype._writeVertices=function(e,t,r,i,o,s){for(var n=0;n<i.length;n+=2){var a=C.i1616to32(i[n],i[n+1]);t.data.push(a),t.data.push(r),o.dotDensity?t.data.writeF32(1/s):(t.data.push(this.fillColor),t.data.push(this.tl),t.data.push(this.br),t.data.push(this.aux1),t.data.push(this.aux2),t.data.push(this.aux3)),e.vertexCount++}},w.prototype._writeIndices=function(e,t,r,i){for(var o=r,s=0;s<i.length;s+=3)t.push(o+i[s]),t.push(o+i[s+1]),t.push(o+i[s+2]),e.indexCount+=3},w.prototype._writeVerticesLibTess=function(e,t,r,i,o,s){for(var n=0;n<i.length;n+=2){var a=C.i1616to32(i[n],i[n+1]);t.data.push(a),t.data.push(r),o.dotDensity?t.data.writeF32(1/s):(t.data.push(this.fillColor),t.data.push(this.tl),t.data.push(this.br),t.data.push(this.aux1),t.data.push(this.aux2),t.data.push(this.aux3)),e.vertexCount++}},w.prototype._writeIndicesLibTess=function(e,t,r,i){for(var o=r,s=0;s<i.length;s++)t.push(o+i[s]),e.indexCount++},w}(o.default);t.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../../../../../core/mathUtils\",\"../../../../../../core/mathUtils\",\"../../../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../../../core/libs/gl-matrix-2/mat2df32\",\"../../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../vectorTiles/GeometryUtils\",\"../../color\",\"../../definitions\",\"../../enums\",\"../../number\",\"../../TextShaping\",\"../../collisions/Metric\",\"../../materialKey/MaterialKey\",\"./GlyphGroup\",\"./util\",\"./WGLTextTemplate\"],function(e,t,r,o,a,x,M,m,i,_,s,d,b,A,T,P,n,I,E,pe,w,h){Object.defineProperty(t,\"__esModule\",{value:!0});var l=a.getLogger(\"esri.views.2d.engine.webgl.WGLLabelTemplate\"),v=s.vec2f32.create(),g=i.mat2df32.create();var L={xOffset:0,yOffset:0,width:0,height:0},S=function(e,t){return void 0===t&&(t=\"mapview-labeling\"),l.error(new o(t,e))};t.isMapAligned=function(e){switch(e){case\"above-along\":case\"below-along\":case\"center-along\":return 1;default:return 0}};var u=function(y){function o(e,t,r,o){var a=y.call(this,e,r.font.size,r.haloSize||0,r.color&&b.premultiplyAlphaRGBA(r.color)||0,r.haloColor&&b.premultiplyAlphaRGBA(r.haloColor)||0,r.horizontalAlignment,r.verticalAlignment,r.font.decoration,!1,r.angle||0,r.xoffset,r.yoffset,r.id)||this;a._refTemplate=L,a.geometryType=T.WGLGeometryType.LABEL;var i,s,n,h,l,u,p=t.symbol,f=(s=o,n=!!(i=t).minScale&&s.scaleToZoom(i.minScale)||0,x.clamp(n,0,25.5)),c=(l=o,u=!!(h=t).maxScale&&l.scaleToZoom(h.maxScale)||255,x.clamp(u,0,25.5)),m=function(e){switch(e){case\"above-left\":return[-1,-1];case\"above-center\":case\"above-along\":return[0,-1];case\"above-right\":return[1,-1];case\"center-left\":return[-1,0];case\"center-center\":case\"center-along\":return[0,0];case\"center-right\":return[1,0];case\"below-left\":return[-1,1];case\"below-center\":case\"below-along\":return[0,1];case\"below-right\":return[1,1];case\"always-horizontal\":return[0,0];default:return void S(\"Found invalid placement type \"+e)}}(t.labelPlacement),_=m[0],d=m[1];a._justify=(-1*_+1)/2,a._xAlignD=_,a._yAlignD=d,a._xPlacementD=_,a._yPlacementD=d,a._minZoom=f,a._maxZoom=c;var v=E.LabelMaterialKey.load(E.createMaterialKey(a.geometryType,e,!1,t));v.sdf=!0,a._materialKey=v.data;var g=p.font.decoration.toLowerCase();return\"underline\"===g?a._decorationTop=6:\"line-through\"===g&&(a._decorationTop=-5),a}return r(o,y),o.fromLabelClass=function(e,t,r){return new o(e,t,t.symbol,r)},o.prototype.bindTextInfo=function(e,t,r){var o=this._computeShaping(e,this._justify).getShaping(t,r);isNaN(this._decorationTop)||n.TextShaping.addDecoration(o,this._decorationTop),this._shapedGlyphs=o,this._shapedBox=n.TextShaping.getBox(o)},o.prototype._computeShaping=function(e,t){return new n.TextShaping([e],A.TEXT_MAX_WIDTH,A.TEXT_LINE_HEIGHT,A.TEXT_SPACING,[0,0],.5,.5,t)},Object.defineProperty(o.prototype,\"bounds\",{get:function(){return this._bounds},enumerable:!0,configurable:!0}),o.prototype.bindReferenceTemplate=function(e){this._refTemplate=e||L},o.prototype._placeGlyphs=function(e,t,r,o){var a=this._size,i=this._haloSize,s=this._shapedBox,n=this._shapedGlyphs,h=this._computeGlyphTransform(s);if(\"esriGeometryPolyline\"===e)for(var l=0;l<r.length;l++){T=r[l];for(var u=this._shapedBox.width*this._scale,p=function(e){return!(e%2)},f=T.order,c=f-(f-1)/2-1,m=c-(c-1)/2-1,_=m-(m-1)/2-1,d=-1===f?0:p(f)?o-.1:p(c)?o-1.1:p(m)?o-2.1:p(_)?o-3.1:0,v=Math.max(o+M.log2((u+48)/T.pathLen),Math.max(d,this._minZoom)),g=0,y=n;g<y.length;g++){S=y[g];T.place(S,e,t,h,this._materialKey,a,i,s,o,v,this._maxZoom)}}else for(var x=0,b=r;x<b.length;x++)for(var T=b[x],L=0,w=n;L<w.length;L++){var S=w[L];T.place(S,e,t,h,this._materialKey,a,i,s,o,this._minZoom,this._maxZoom)}},o.prototype.writeMesh=function(u,p,e,f,t,r,o){var c=this,a=this._computeAnchors(e,t),m=P.i8888to32(0,0,0,this._bitset);if(a.length&&this._shapedGlyphs.length){this._placeGlyphs(e,t,a,r);var i=E.LabelMaterialKey.load(this._materialKey);if(\"esriGeometryPolyline\"!==e){var s=a[0],n=this._shapedBox,h=this._computeGlyphTransform(n),l=this._createBounds(this._shapedBox,h),_=s.glyphs.get(0),d=_[0],v=d.anchorX,g=d.anchorY,y=Math.floor(10*d.minZoom),x=Math.floor(10*d.maxZoom),b=u.length;_.forEach(function(e){e.minZoom=25.5,e.maxZoom=25.5});var T={from:b,count:u.length-b},L=new I.default(f,T,v,g,y),w=Math.floor(v/A.COLLISION_BUCKET_SIZE),S=Math.floor(g/A.COLLISION_BUCKET_SIZE);if(w>=A.COLLISION_TILE_BOX_SIZE||S>=A.COLLISION_TILE_BOX_SIZE||w<0||S<0)return;this._writeVertices(u,p,f,_,m,y,x);var M=Math.max(this._refTemplate.height,this._refTemplate.width);return i.vvSizeFieldStops||i.vvSizeMinMaxValue||i.vvSizeScaleStops||i.vvSizeUnitValue?L.setVV(M,this._xPlacementD,this._yPlacementD):(L.offsetX=(M/2+A.COLLISION_PLACEMENT_PADDING)*this._xPlacementD,L.offsetY=(M/2+A.COLLISION_PLACEMENT_PADDING)*this._yPlacementD),L.bounds=l,o.push(L),void s.clear()}for(var O=function(e){var s=a[e],n=s.x,h=s.y,t=u.length,l=new I.default(f,{from:t,count:-1},n,h,25.5);s.glyphs.forEach(function(e){for(var t=0,r=e;t<r.length;t++){var o=r[t];if(o.minZoom=Math.max(s.minZoom,o.minZoom),o.bounds){var a=o.anchorX-n,i=o.anchorY-h;o.bounds.center[0]+=a,o.bounds.center[1]+=i,l.add(o.bounds)}}l.bounds&&c._writeHalos(u,p,f,e,m)}),s.glyphs.forEach(function(e){l.bounds&&c._writeText(u,p,f,e,m)}),l.range.count=u.length-t,l.bounds&&o.push(l),s.clear()},G=0;G<a.length;G++)O(G);this._computedGlyphs=[]}},o.prototype._outsideTile=function(e,t){return e<0||512<=e||t<0||512<=t},o.prototype._smoothVertices=function(e,t){if(!(t<=0)){var r=e.length;if(!(r<3)){var o=[],a=0;o.push(0);for(var i=1;i<r;i++)a+=w.dist(e[i],e[i-1]),o.push(a);t=Math.min(t,.2*a);var s=[];s.push(e[0][0]),s.push(e[0][1]);var n=e[r-1][0],h=e[r-1][1],l=w.sub([0,0],e[0],e[1]);w.normalize(l),e[0][0]+=t*l[0],e[0][1]+=t*l[1],w.sub(l,e[r-1],e[r-2]),w.normalize(l),e[r-1][0]+=t*l[0],e[r-1][1]+=t*l[1];for(i=1;i<r;i++)o[i]+=t;o[r-1]+=t;var u=.5*t;for(i=1;i<r-1;i++){for(var p=0,f=0,c=0,m=i-1;0<=m&&!(o[m+1]<o[i]-u);m--){var _=u+o[m+1]-o[i],d=o[m+1]-o[m],v=o[i]-o[m]<u?1:_/d;if(Math.abs(v)<1e-6)break;var g=v*_-.5*(L=v*v)*d,y=v*d/t,x=e[m+1],b=e[m][0]-x[0],T=e[m][1]-x[1];p+=y/g*(x[0]*v*_+.5*L*(_*b-d*x[0])-L*v*d*b/3),f+=y/g*(x[1]*v*_+.5*L*(_*T-d*x[1])-L*v*d*T/3),c+=y}for(m=i+1;m<r&&!(o[m-1]>o[i]+u);m++){_=u-o[m-1]+o[i],d=o[m]-o[m-1],v=o[m]-o[i]<u?1:_/d;if(Math.abs(v)<1e-6)break;var L;g=v*_-.5*(L=v*v)*d,y=v*d/t,x=e[m-1],b=e[m][0]-x[0],T=e[m][1]-x[1];p+=y/g*(x[0]*v*_+.5*L*(_*b-d*x[0])-L*v*d*b/3),f+=y/g*(x[1]*v*_+.5*L*(_*T-d*x[1])-L*v*d*T/3),c+=y}s.push(p/c),s.push(f/c)}s.push(n),s.push(h);for(i=0,m=0;i<r;i++)e[i][0]=s[m++],e[i][1]=s[m++]}}},o.prototype._computeLineAnchors=function(e,t,r){for(var o=t.paths,a=this._scale*this._shapedBox.width,i=a/2+r,s=a/2+16,n=this._shapedBox.width*this._scale,h=0;h<o.length;h++){var l=o[h],u=[];u.push(l[0]);for(var p=1;p<l.length;p++){var f=u[p-1],c=f[0],m=f[1];c+=l[p][0],m+=l[p][1],u.push([c,m])}this._smoothVertices(u,n);var _=[];_.push(u[0]);for(var d=1;d<u.length;d++){var v=u[d-1],g=v[0],y=v[1],x=u[d],b=x[0],T=x[1],L=Math.round(b-g),w=Math.round(T-y);_.push([L,w])}l=o[h]=_;var S=this._getPathLength(l);if(!(S<2*s))for(var M=S/2,O=0,G=l[0][0],A=l[0][1],P=1;P<l.length;P++){L=l[P][0],w=l[P][1];var I=Math.sqrt(L*L+w*w);if(0<=(O+=I)-M){var E=O-M,D=I-E,Z=D/I,C=G+L*Z,z=A+w*Z;if(!this._outsideTile(C,z)){var B=new pe.default(C,z,Z,h,P,G,A,I,S,-1);e.push(B)}var N=-1,K=0;for(K=D-i;0<=K;K-=i){var U=K/I,X=G+L*U,R=A+w*U;if(N++,!this._outsideTile(X,R)){B=new pe.default(X,R,U,h,P,G,A,I,S,N);e.push(B)}}O=K+i;for(var V=I-E,F=G,q=A,H=P-1;0!==H;H--){var j=l[H][0],W=l[H][1],k=Math.sqrt(j*j+W*W);if(i<=O+k){for(var Y=i-O;Y<k;Y+=i){var J=Y/k,Q=F-j*J,$=q-W*J;if(N++,Y+V+s<M&&!this._outsideTile(Q,$)){B=new pe.default(Q,$,1-J,h,H,F-j,q-W,k,S,N);e.push(B)}}O=k-(Y-i)}else O+=k;V+=k,F-=j,q-=W}var ee=-1;for(K=D+i;K<=I;K+=i){var te=K/I,re=G+L*te,oe=A+w*te;if(ee++,!this._outsideTile(re,oe)){B=new pe.default(re,oe,te,h,P,G,A,I,S,ee);e.push(B)}}F=G+L,q=A+w,O=I-(K-i),V=E;for(H=P+1;H<l.length;H++){var ae=l[H][0],ie=l[H][1],se=Math.sqrt(ae*ae+ie*ie);if(i<=O+se){for(var ne=i-O;ne<se;ne+=i){var he=ne/se,le=F+ae*he,ue=q+ie*he;if(ee++,ne+V+s<M&&!this._outsideTile(le,ue)){B=new pe.default(le,ue,he,h,H,F,q,se,S,ee);e.push(B)}}O=se-(ne-i)}else O+=se;V+=se,F+=ae,q+=ie}break}G+=L,A+=w}}return e},o.prototype._computeAnchors=function(e,t){var r=[];switch(e){case\"esriGeometryPoint\":var o=t.geometry,a=o.x,i=o.y,s=new pe.default(a,i);return r.push(s),r;case\"esriGeometryPolygon\":if(t.centroid){var n=t.centroid;a=n.x,i=n.y,s=new pe.default(a,i);return r.push(s),r}return void S(\"Non-centroid polygon anchor placement not supported\");case\"esriGeometryPolyline\":return this._computeLineAnchors(r,t.geometry,376);case\"esriGeometryMultipoint\":default:return S(\"Unable to handle geometryType: \"+e),r}},o.prototype._getPathLength=function(e){for(var t=0,r=1;r<e.length;r++){var o=e[r][0],a=e[r][1];t+=Math.sqrt(o*o+a*a)}return t},o.prototype._computeGlyphTransform=function(e){var t=this._scale,r=this._angle*d.C_DEG_TO_RAD,o=e.x,a=e.y,i=e.width/2,s=e.height/2,n=o+i,h=a+s,l=this._xAlignD*(i*t),u=this._yAlignD*(s*t),p=l+(this._xOffset+this._refTemplate.xOffset)+n,f=u-(this._yOffset+this._refTemplate.yOffset)-h,c=m.mat2d.identity(g);return m.mat2d.translate(c,c,_.vec2.set(v,p,f)),m.mat2d.scale(c,c,_.vec2.set(v,t,t)),m.mat2d.rotate(c,c,r),c},o.prototype._writeVertex=function(e,t,r,o,a,i,s,n,h){var l=t.get(\"geometry\"),u=Math.min(Math.floor(Math.max(this._refTemplate.width,this._refTemplate.height)),255),p=this._xPlacementD+1,f=this._yPlacementD+1,c=P.i8888to32(n,h,0,0);this._refSymbolAndPlacementOffset=P.i8888to32(i.angle,u,p,f),l.push(o),l.push(r),l.push(a),l.push(i.vertexOffsetUpperLeft),l.push(i.texFontSizeUpperLeft),l.push(this._refSymbolAndPlacementOffset),l.push(c),l.push(o),l.push(r),l.push(a),l.push(i.vertexOffsetUpperRight),l.push(i.texFontSizeUpperRight),l.push(this._refSymbolAndPlacementOffset),l.push(c),l.push(o),l.push(r),l.push(a),l.push(i.vertexOffsetLowerLeft),l.push(i.texFontSizeLowerLeft),l.push(this._refSymbolAndPlacementOffset),l.push(c),l.push(o),l.push(r),l.push(a),l.push(i.vertexOffsetLowerRight),l.push(i.texFontSizeLowerRight),l.push(this._refSymbolAndPlacementOffset),l.push(c),e.vertexCount+=4},o}(h.default);t.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/Logger\",\"../../../../../../core/screenUtils\",\"../../../../../../symbols/cim/enums\",\"../../color\",\"../../number\",\"../../Utils\",\"../../materialKey/MaterialKey\",\"./util\",\"./WGLBaseLineTemplate\",\"./WGLMeshTemplate\"],function(e,t,i,r,v,w,P,b,g,x,C,o,n){Object.defineProperty(t,\"__esModule\",{value:!0});var l=r.getLogger(\"esri.views.2d.engine.webgl.WGLLineTemplate\"),s=function(_){function T(e,t,i,r,o,n,l,s,a,p,u,d,c,y,m,f){var h=_.call(this)||this,L=x.LineMaterialKey.load(x.createMaterialKey(h.geometryType,e,c));return t&&(L.sdf=t.sdf,L.pattern=!0,L.textureBinding=t.textureBinding),h._capType=r,h._joinType=o,h._miterLimitCosine=C.getLimitCosine(n),h.tessellationProperties._fillColor=l,h.tessellationProperties._tl=s,h.tessellationProperties._br=a,h._hasPattern=p,h._isDashed=u,h._joinOnUTurn=f,h._isColorLocked=d,h._isOutline=c,h._zOrder=m,h._materialKey=L.data,h.tessellationProperties._bitset=d?1:0,h.tessellationProperties._halfWidth=.5*i,h.tessellationProperties._halfReferenceWidth=.5*y,h._initializeTessellator(!1),h}return i(T,_),T.fromCIMLine=function(e,t,i,r,o,n){var l=t.color,s=t.isDashed,a=t.cap;s&&a===w.CapType.ROUND&&(a=w.CapType.SQUARE);var p=t.join,u=v.pt2px(t.width)*n,d=v.pt2px(t.referenceWidth),c=v.pt2px(t.miterLimit),y=l&&P.premultiplyAlphaRGBA(l)||0;if(!i)return new T(e,i,u,a,p,c,y,0,0,!1,s,t.colorLocked,r,d,t.zOrder,o);var m=i.rect,f=i.width,h=i.height,L=m.x+1,_=m.y+1,g=m.x+1+f,x=m.y+1+h;return new T(e,i,u,a,p,c,y,b.i1616to32(L,_),b.i1616to32(g,x),!0,s,t.colorLocked,r,d,t.zOrder,o)},T.fromSimpleLine=function(e,t,i,r,o){var n=i.color,l=\"solid\"!==i.style&&\"none\"!==i.style,s=g.getCapType(i.cap||\"round\",l),a=g.getJoinType(i.join||\"round\"),p=n&&\"none\"!==i.style&&P.premultiplyAlphaRGBA(n)||0;\"none\"===i.style&&(p=0);var u=v.pt2px(i.width),d=i.miterLimit;if(!r)return new T(e,r,u,s,a,d,p,0,0,!1,l,!1,t,u,0,o);var c=r.rect,y=r.width,m=r.height,f=c.x+1,h=c.y+1,L=c.x+1+y,_=c.y+1+m;return new T(e,r,u,s,a,d,p,b.i1616to32(f,h),b.i1616to32(L,_),!0,l,!1,t,u,0,o)},T.fromPictureLineSymbol=function(e,t,i,r){return l.error(\"PictureLineSymbol support does not exist!\"),null},T}(o.default(n.default));t.default=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/screenUtils\",\"../../../../../../core/libs/gl-matrix-2/mat2d\",\"../../../../../../core/libs/gl-matrix-2/mat2df32\",\"../../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../../symbols/cim/enums\",\"../../color\",\"../../definitions\",\"../../number\",\"../../materialKey/MaterialKey\",\"./WGLBaseMarkerTemplate\",\"./WGLMeshTemplate\"],function(t,e,r,R,E,G,U,q,z,w,n,K,T,o,i){Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(k){function A(t,e,r,o,i,a,n,l,s,f,h,p,c,d,u,m,M,x,g){var y=k.call(this)||this;y.height=n,y.width=a,y.xOffset=e*g,y.yOffset=r*g;var v=q.vec2f32.create(),_=G.mat2df32.create(),A=(d===z.Alignment.MAP?1:0)|(h?1:0)<<1|(c?1:0)<<2|(p?1:0)<<3,R=u&&u.sdf;if(E.mat2d.translate(_,_,q.vec2f32.fromValues(y.xOffset,-y.yOffset)),o){E.mat2d.rotate(_,_,3.14159265359/180*o)}var w=T.MarkerMaterialKey.load(T.createMaterialKey(y.geometryType,t,!1));w.sdf=R,w.pattern=!0,w.textureBinding=u.textureBinding,y._materialKey=w.data,y._fillColor=i,y._outlineColor=s,y._sizeOutlineWidth=K.i8888to32(Math.round(Math.sqrt(256*a)),Math.round(Math.sqrt(256*n)),Math.round(Math.sqrt(256*f)),Math.round(Math.sqrt(256*l)));var b=u.rect.x,B=u.rect.y,C=b+u.rect.width,L=B+u.rect.height;m=.5-((.5+m)*u.width+1)/u.rect.width,M=.5-((.5+M)*u.height+1)/u.rect.height,a*=x,n*=x,a*=g,n*=g;var O=Math.round(Math.min(64*x,255)),P=(m-.5)*(a*=u.rect.width/u.width),S=(M-.5)*(n*=u.rect.height/u.height);return y._bitestAndDistRatio=K.i8888to32(0,0,A,O),U.vec2.set(v,P,S),U.vec2.transformMat2d(v,v,_),y._offsetUpperLeft=K.i1616to32(16*v[0],16*v[1]),y._texUpperLeft=K.i1616to32(b,B),U.vec2.set(v,P+a,S),U.vec2.transformMat2d(v,v,_),y._offsetUpperRight=K.i1616to32(16*v[0],16*v[1]),y._texUpperRight=K.i1616to32(C,B),U.vec2.set(v,P,S+n),U.vec2.transformMat2d(v,v,_),y._offsetBottomLeft=K.i1616to32(16*v[0],16*v[1]),y._texBottomLeft=K.i1616to32(b,L),U.vec2.set(v,P+a,S+n),U.vec2.transformMat2d(v,v,_),y._offsetBottomRight=K.i1616to32(16*v[0],16*v[1]),y._texBottomRight=K.i1616to32(C,L),y}return r(A,k),A.fromCIMMarker=function(t,e,r,o){var i=r&&r.width||1,a=r&&r.height||1,n=e.size,l=i/a*e.scaleX,s=e.scaleSymbolsProportionally&&e.frameHeight?n/e.frameHeight:1,f=w.premultiplyAlphaRGBA(e.color),h=w.premultiplyAlphaRGBA(e.outlineColor),p=R.pt2px(n),c=p*l,d=R.pt2px(e.offsetX||0),u=R.pt2px(e.offsetY||0),m=R.pt2px(e.outlineWidth||0)*s,M=e.alignment||z.Alignment.SCREEN,x=R.pt2px(e.referenceSize),g=e.rotation||0;e.rotateClockwise||(g=-g);var y=0,v=0,_=e.anchorPoint;return _&&(e.isAbsoluteAnchorPoint?n&&(y=-_.x/(n*l),v=_.y/n):(y=_.x,v=_.y)),new A(t,d,u,g,f,c,p,x,h,m,e.colorLocked,e.scaleSymbolsProportionally,!1,M,r,y,v,e.sizeRatio,o)},A.fromPictureMarker=function(t,e,r){var o=Math.round(R.pt2px(e.width)),i=Math.round(R.pt2px(e.height)),a=n.PICTURE_FILL_COLOR;return new A(t,Math.round(R.pt2px(e.xoffset||0)),Math.round(R.pt2px(e.yoffset||0)),e.angle,a,o,i,i,0,0,!1,!1,!1,z.Alignment.SCREEN,r,0,0,1,1)},A.fromSimpleMarker=function(t,e,r){var o=w.premultiplyAlphaRGBA(e.color),i=Math.round(R.pt2px(e.size)),a=i,n=Math.round(R.pt2px(e.xoffset||0)),l=Math.round(R.pt2px(e.yoffset||0)),s=e.style,f=e.outline,h=0|(f&&f.color&&w.premultiplyAlphaRGBA(f.color)),p=0|(f&&f.width&&Math.round(R.pt2px(f.width)));return new A(t,n,l,e.angle,o,i,a,a,h,p,!1,!1,\"cross\"===s||\"x\"===s,z.Alignment.SCREEN,r,0,0,126/64,1)},A}(o.default(i.default));e.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\"],function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(){}return e.prototype.writeMesh=function(e,t,n,r,o){},e.prototype.bindFeature=function(e,t,n){},e}();t.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/awaiterHelper\",\"../../../../../../core/tsSupport/generatorHelper\",\"../../../../../../core/Error\",\"../../../../../../core/Logger\",\"../../../../../../core/promiseUtils\",\"../../../../../../support/arcadeOnDemand\",\"../../../../../../symbols/cim/cimAnalyzer\",\"../../../../../../symbols/support/defaults\",\"../../../../arcade/utils\",\"./WGLDynamicLineTemplate\",\"./WGLDynamicMarkerTemplate\",\"./WGLDynamicTextTemplate\",\"./WGLFillTemplate\",\"./WGLLineTemplate\",\"./WGLMarkerTemplate\",\"./WGLTextTemplate\",\"../../util/BidiText\",\"../../util/Lock\",\"../../util/Result\"],function(e,t,l,d,i,r,h,y,o,s,M,a,c,p,u,m,f,_,n,T,v){Object.defineProperty(t,\"__esModule\",{value:!0});var I=r.getLogger(\"esri.views.2d.engine.webgl.mesh.templates.WGLTemplateStore\"),b=new Array;function g(t,e){var r=t.length;return t.push(null),e.then(function(e){return t[r]=e}),t}function C(e){return!!(1&e)}t.isDynamicId=C;var S=function(){function e(e,t){this._idCounter=0,this._templateIdCounter=0,this._idToTemplateGroup=new Map,this._symbolToTemplate=new Map,this._fetchQueue=[],this._idToResolver=new Map,this._cimTemplateCache=new Map,this._cimAnalyses=[],this._lock=new T.default,this._fetchResource=e,this._joinOnUTurn=t}return Object.defineProperty(e.prototype,\"_markerError\",{get:function(){return this._errorTemplates.marker[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"_fillError\",{get:function(){return this._errorTemplates.fill[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"_lineError\",{get:function(){return this._errorTemplates.line[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"_textError\",{get:function(){return this._errorTemplates.line[0]},enumerable:!0,configurable:!0}),e.prototype.createTemplateGroup=function(n,s,o,a){return l(this,void 0,void 0,function(){var t,r,i;return d(this,function(e){switch(e.label){case 0:return[4,this._initErrorTemplates()];case 1:return e.sent(),t=JSON.stringify(n),this._symbolToTemplate.has(t)?[2,this._symbolToTemplate.get(t)]:(r=new Array,s?[4,this._createMeshTemplates(r,s,o,a,!0)]:[3,3]);case 2:e.sent(),e.label=3;case 3:return[4,this._createMeshTemplates(r,n,o,a,!1)];case 4:return e.sent(),i=this._createGroupId(\"cim\"===n.type),this._idToTemplateGroup.set(i,r),this._symbolToTemplate.set(t,i),[2,i]}})})},e.prototype.getCIMMosaicItem=function(e,t){var r=this,i=this._createTemplateId(),n=h.create(function(e){return r._idToResolver.set(i,e)});return this._fetchQueue.push({symbol:e,id:i,glyphIds:t}),n},e.prototype.getTemplateGroup=function(e){return this._idToTemplateGroup.has(e)?this._idToTemplateGroup.get(e):b},e.prototype.getDynamicTemplateGroup=function(e){return this._idToTemplateGroup.has(e)?(C(e)||I.error(\"mapview-template-store\",\"Id \"+e+\" does not refer to a dynamic template\"),this._idToTemplateGroup.get(e)):b},e.prototype.finalize=function(e){return this._fetchQueue.length||this._lock.isHeld()?T.withLock(this._lock,this._fetchAllQueuedResources.bind(this),e):h.resolve()},e.prototype._initErrorTemplates=function(){return l(this,void 0,void 0,function(){var t,r,i,n;return d(this,function(e){switch(e.label){case 0:return this._errorTemplates?[2]:(t=this._createMeshTemplates([],s.errorPolygonSymbol2D,null,null,!1),r=this._createMeshTemplates([],s.errorPointSymbol2D,null,null,!1),i=this._createMeshTemplates([],s.errorPolylineSymbol2D,null,null,!1),[4,h.all([t,r,i])]);case 1:return n=e.sent(),this._errorTemplates={fill:n[0],marker:n[1],line:n[2]},[2]}})})},e.prototype._fetchAllQueuedResources=function(e){var o=this;if(!this._fetchQueue.length)return h.resolve();var t=this._fetchQueue,r=this._cimAnalyses;return this._fetchQueue=[],this._cimAnalyses=[],h.all(r).then(function(){return o._fetchResource(t,e).then(function(e){for(var t=0,r=e;t<r.length;t++){var i=r[t],n=i.id,s=i.mosaicItem;o._idToResolver.get(n)(s),o._idToResolver.delete(n)}})}).catch(function(e){h.isAbortError(e)?o._fetchQueue=o._fetchQueue.concat(t):I.error(new i(\"mapview-template-store\",\"Unable to fetch requested texture resources\",e))})},e.prototype._createGroupId=function(e){return this._idCounter++<<1|(e?1:0)},e.prototype._createTemplateId=function(){return this._templateIdCounter++},e.prototype._getCodepoints=function(e){for(var t=n.bidiText(e.text)[0],r=[],i=0;i<t.length;i++)r.push(t.charCodeAt(i));return r},e.prototype._getMosaicItem=function(e){var t=this,r=this._createTemplateId(),i=\"text\"===e.type&&this._getCodepoints(e),n=h.create(function(e){return t._idToResolver.set(r,e)});return this._fetchQueue.push({symbol:e.toJSON(),id:r,glyphIds:i}),n},e.prototype._createSMS=function(r,i){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(r)];case 1:return t=e.sent().spriteMosaicItem,v.ok(t,I)?[2,f.default.fromSimpleMarker(i,r,t)]:[2,this._markerError]}})})},e.prototype._createPMS=function(r,i){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(r)];case 1:return t=e.sent().spriteMosaicItem,v.ok(t,I)?[2,f.default.fromPictureMarker(i,r,t)]:[2,this._markerError]}})})},e.prototype._createSFS=function(i,n,s){return l(this,void 0,void 0,function(){var t,r;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(i)];case 1:return t=e.sent().spriteMosaicItem,r=i,v.ok(t,I)?[2,u.default.fromSimpleFill(n,r,t,s)]:[2,this._fillError]}})})},e.prototype._createPFS=function(i,n,s){return l(this,void 0,void 0,function(){var t,r;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(i)];case 1:return t=e.sent().spriteMosaicItem,r=i,v.ok(t,I)?[2,u.default.fromPictureFill(n,r,t,s)]:[2,this._fillError]}})})},e.prototype._createSLS=function(i,n,s){return l(this,void 0,void 0,function(){var t,r;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(i)];case 1:return t=e.sent().spriteMosaicItem,r=i,v.ok(t,I)?[2,m.default.fromSimpleLine(n,s,r,t,this._joinOnUTurn)]:[2,this._lineError]}})})},e.prototype._createTS=function(r,i){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return[4,this._getMosaicItem(r)];case 1:return t=e.sent().glyphMosaicItems,[2,_.default.fromText(i,r,t)]}})})},e.prototype._createCIMText=function(a,c,u){return l(this,void 0,void 0,function(){var t,r,i,n,s,o;return d(this,function(e){switch(e.label){case 0:if(\"function\"==typeof a.materialHash||\"function\"==typeof u)return[2,h.resolve(p.default.fromCIMText(c,a,u))];if(t=[],r=a.text)for(i=r.length,n=0;n<i;n++)s=r.charCodeAt(n),t.push(s);return a.cim.mosaicHash=a.materialHash,[4,this.getCIMMosaicItem(a.cim,t)];case 1:return o=e.sent().glyphMosaicItems,v.ok(o,I)?[2,_.default.fromCIMText(c,a,u,o)]:[2,this._textError]}})})},e.prototype._createCIMFill=function(r,i){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return r.materialHash,r.cim.mosaicHash=r.materialHash,[4,this.getCIMMosaicItem(r.cim)];case 1:return t=e.sent().spriteMosaicItem,v.ok(t,I)?[2,u.default.fromCIMFill(i,r,t,!1)]:[2,this._fillError]}})})},e.prototype._createCIMLine=function(r,i,n){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return\"function\"==typeof r.materialHash||\"function\"==typeof n?[2,h.resolve(a.default.fromCIMLine(i,r,n))]:(r.cim.mosaicHash=r.materialHash,[4,this.getCIMMosaicItem(r.cim)]);case 1:return t=e.sent().spriteMosaicItem,v.ok(t,I)?[2,m.default.fromCIMLine(i,r,t,!1,this._joinOnUTurn,n)]:[2,this._lineError]}})})},e.prototype._createCIMMarker=function(r,i,n){return l(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return\"function\"==typeof r.materialHash||\"function\"==typeof n?[2,h.resolve(c.default.fromCIMMarker(i,r,n))]:(r.cim.mosaicHash=r.materialHash,[4,this.getCIMMosaicItem(r.cim)]);case 1:return t=e.sent().spriteMosaicItem,v.ok(t,I)?[2,f.default.fromCIMMarker(i,r,t,n)]:[2,this._markerError]}})})},e.prototype._createCIM=function(n,s,o){return l(this,void 0,void 0,function(){var t,r,i=this;return d(this,function(e){if(t=n.templateHash,this._cimTemplateCache.has(t))return[2,this._cimTemplateCache.get(t)];switch(n.type){case\"marker\":r=this._createCIMMarker(n,s,o);break;case\"line\":r=this._createCIMLine(n,s,o);break;case\"fill\":r=this._createCIMFill(n,s);break;case\"text\":r=this._createCIMText(n,s,o)}return r.then(function(e){return i._cimTemplateCache.set(t,e)}),[2,r]})})},e.prototype._getCIMSymbolLayers=function(i,n,s){return l(this,void 0,void 0,function(){var t,r;return d(this,function(e){switch(e.label){case 0:return r=[],(t=[]).push(o.analyzeCIMSymbol(i.data,n,s,r)),[4,h.all(t)];case 1:return e.sent(),[2,r]}})})},e.prototype._createCIMMeshTemplates=function(p,m,f,_){return l(this,void 0,void 0,function(){var t,r,i,n,s,o,a,c,u,l,h;return d(this,function(e){switch(e.label){case 0:return r=(t=f)?t.fieldMap:null,i=m,t&&t.scaleExpression?isNaN(t.scaleExpression)?(o=t.scaleExpression,[4,y.createRendererExpression(o,_.spatialReference,_.fields)]):[3,2]:[3,3];case 1:return a=e.sent(),n=function(e,t,r){var i=M.callWithFeature(a,e,{$view:r},_.geometryType,t);return null!==i?i:1},[3,3];case 2:s=Number(t.scaleExpression),e.label=3;case 3:return[4,this._getCIMSymbolLayers(i,r,_)];case 4:for(c=e.sent(),u=0,l=c;u<l.length;u++)h=l[u],g(p,this._createCIM(h,f,s||n||1));return[2]}})})},e.prototype._createMeshTemplates=function(i,n,s,o,a){return l(this,void 0,void 0,function(){var t,r;return d(this,function(e){switch(e.label){case 0:if(-1!==n.type.indexOf(\"3d\"))return I.error(\"3D symbols are not supported with MapView\"),[2,i];switch(n.type){case\"cim\":return[3,1];case\"simple-marker\":return[3,3];case\"picture-marker\":return[3,4];case\"simple-fill\":return[3,5];case\"picture-fill\":return[3,6];case\"simple-line\":return[3,7];case\"text\":return[3,8]}return[3,9];case 1:return[4,this._createCIMMeshTemplates(i,n,s,o)];case 2:return e.sent(),[2,i];case 3:return[2,g(i,this._createSMS(n,s))];case 4:return[2,g(i,this._createPMS(n,s))];case 5:return t=n,g(i,this._createSFS(t,s,a)),t.outline&&g(i,this._createSLS(t.outline,s,!0)),[2,i];case 6:return r=n,g(i,this._createPFS(r,s,a)),r.outline&&g(i,this._createSLS(r.outline,s,!0)),[2,i];case 7:return[2,g(i,this._createSLS(n,s,!1))];case 8:return[2,g(i,this._createTS(n,s))];case 9:return I.error(\"Unable to create mesh template for unknown symbol type {: $ }{symbol.type}\"),[2,i]}})})},e}();t.WGLTemplateStore=S});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../../core/tsSupport/extendsHelper\",\"../../../../../../core/screenUtils\",\"../../alignmentUtils\",\"../../color\",\"../../fontUtils\",\"../../materialKey/MaterialKey\",\"./WGLBaseTextTemplate\",\"./WGLMeshTemplate\",\"../../util/BidiText\"],function(e,t,o,x,y,p,A,g,i,a,c){Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(m){function s(e,t,o,i,a,l,n,r,s,p,c,f,h){var u=m.call(this)||this;u._xOffset=x.pt2px(c),u._yOffset=x.pt2px(f),u._decorationTop=A.getFontDecorationTop(r),u._color=i,u._haloColor=a,u._haloSize=Math.min(Math.floor(5*x.pt2px(x.toPt(o))),127),u._size=Math.min(Math.round(x.pt2px(t)),127);var d=Math.min(Math.round(x.pt2px(t)),127);u._referenceSize=Math.round(Math.sqrt(256*d)),u._scale=u._size/24,u._angle=p,u._justify=y.getJustification(l||\"center\"),u._xAlignD=y.getXAnchorDirection(l||\"center\"),u._yAlignD=-y.getYAnchorDirection(n||\"baseline\"),u._baseline=\"baseline\"===(n||\"baseline\"),u._bitset=s?1:0;var _=g.MaterialKeyBase.load(g.createMaterialKey(u.geometryType,e,!1));return _.sdf=!0,u._materialKey=_.data,u.symbolId=h,u}return o(s,m),s.fromText=function(e,t,o){var i=new s(e,t.font.size,t.haloSize||0,t.color&&p.premultiplyAlphaRGBA(t.color)||0,t.haloColor&&p.premultiplyAlphaRGBA(t.haloColor)||0,t.horizontalAlignment,t.verticalAlignment,t.font.decoration,!1,t.angle||0,t.xoffset,t.yoffset,t.id),a=c.bidiText(t.text),l=a[0],n=a[1];return i.bindTextInfo(o,l,n),i._computeGlyphs(i._shapedGlyphs,i._shapedBox),i},s.fromCIMText=function(e,t,o,i){var a=new s(e,t.size*t.sizeRatio*o,t.outlineSize*t.sizeRatio,p.premultiplyAlphaRGBA(t.color),p.premultiplyAlphaRGBA(t.outlineColor),t.horizontalAlignment,t.verticalAlignment,t.decoration,t.colorLocked,t.angle,t.offsetX*t.sizeRatio*o,t.offsetY*t.sizeRatio*o,t.materialHash),l=c.bidiText(t.text),n=l[0],r=l[1];return a.bindTextInfo(i,n,r),a._computeGlyphs(a._shapedGlyphs,a._shapedBox),a},s}(i.default(a.default));t.default=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){function e(n,t){return Math.sqrt(n*n+t*t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.sub=function(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n},t.len=e,t.normalize=function(n){var t=e(n[0],n[1]);n[0]/=t,n[1]/=t},t.dist=function(n,t){return e(n[0]-t[0],n[1]-t[1])},t.isFunction=function(n){return\"function\"==typeof n},t.getLimitCosine=function(n){return 1/Math.max(n,1)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){Object.defineProperty(t,\"__esModule\",{value:!0});var r=new Float32Array(1),u=new Uint32Array(r.buffer);function e(n,t,r){return Math.round(Math.max(Math.min(n,r),t))}t.i8=function(n){return e(n,-128,127)},t.i16=function(n){return e(n,-32768,32767)},t.i32=function(n){return e(n,-2147483648,2147483647)},t.u8=function(n){return e(n,0,255)},t.u16=function(n){return e(n,0,65535)},t.u32=function(n){return e(n,0,4294967295)},t.toUint32=function(n){return r[0]=n,u[0]},t.toFloat32=function(n){return u[0]=n,r[0]},t.u32to4Xu8=function(n){return[255&n,(65280&n)>>>8,(16711680&n)>>>16,(4278190080&n)>>>24]},t.i1616to32=function(n,t){return 65535&n|t<<16},t.i8888to32=function(n,t,r,u){return 255&n|(255&t)<<8|(255&r)<<16|u<<24},t.i8816to32=function(n,t,r){return 255&n|(255&t)<<8|r<<16},t.numTo32=function(n){return 0|n}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(r,e){Object.defineProperty(e,\"__esModule\",{value:!0});var v=[1,256,65536,16777216],n=[1/256,1/65536,1/16777216,1/4294967296],d=function(r,e){void 0===e&&(e=0);for(var o=0,a=0;a<4;a++)o+=r[e+a]*n[a];return o}(new Uint8ClampedArray([255,255,255,255]));e.packFloatRGBA=function(r,e,o){void 0===o&&(o=0);for(var a,n=(f=r,i=0,u=d,f<i?i:u<f?u:f),t=0;t<4;t++)e[o+t]=Math.floor(256*((a=n*v[t])-Math.floor(a)));var f,i,u}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/iterator\",\"../../../../../core/has\",\"../../../../../core/maybe\",\"../enums\"],function(r,e,u,b,c,t){Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(){function r(r,e){this.brushes=r,this.name=e.name,this.drawPhase=e.drawPhase||t.WGLDrawPhase.MAP,this._targetFn=e.target,this.effects=e.effects||[],this.has=e.has}return r.prototype.render=function(r){var e=r.context,t=r.profiler,a=this._targetFn(),s=this.drawPhase&r.drawPhase;if(t.recordPassStart(this.name),s&&(!this.has||b(this.has))){this._doRender(r,a),t.recordPassEnd();for(var i=0,n=this.effects;i<n.length;i++){var o=n[i];if(o.enable()){var h=o.apply;t.recordPassStart(this.name+\".\"+h.name),t.recordBrushStart(h.name);var d=o.args&&o.args(),f=e.getViewport(),u=f.x,c=f.y,p=f.width,l=f.height,m=e.getBoundFramebufferObject();h.bind(r,d),this._doRender(r,a,h.defines),h.draw(r,d),h.unbind(r,d),e.bindFramebuffer(m),e.setViewport(u,c,p,l),t.recordBrushEnd(),t.recordPassEnd()}}}},r.prototype._doRender=function(r,e,t){if(!c.isNone(e))if(u.isArrayLike(e))for(var a=0,s=e;a<s.length;a++){var i=s[a];if(i.isReady&&i.visible)for(var n=0,o=this.brushes;n<o.length;n++){var h=o[n];r.profiler.recordBrushStart(h.name),h.prepareState(r,i,t),h.draw(r,i,t),r.profiler.recordBrushEnd()}}else for(var d=0,f=this.brushes;d<f.length;d++){h=f[d];r.profiler.recordBrushStart(h.name),h.prepareState(r,e,t),h.draw(r,e,t),r.profiler.recordBrushEnd()}},r}();e.default=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./sources/resolver\"],function(e,r,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.background={name:\"background\",shaders:{vertexShader:a.resolveIncludes(\"background/background.vert\"),fragmentShader:a.resolveIncludes(\"background/background.frag\")},attributes:{a_pos:0}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./sources/resolver\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bitBlit={name:\"bitBlit\",shaders:{vertexShader:r.resolveIncludes(\"bitBlit/bitBlit.vert\"),fragmentShader:r.resolveIncludes(\"bitBlit/bitBlit.frag\")},attributes:{a_pos:0,a_tex:1}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./sources/resolver\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0}),r.highlight={name:\"highlight\",shaders:{vertexShader:t.resolveIncludes(\"highlight/textured.vert\"),fragmentShader:t.resolveIncludes(\"highlight/highlight.frag\")},attributes:{a_position:0,a_texcoord:1}},r.blur={name:\"blur\",shaders:{vertexShader:t.resolveIncludes(\"highlight/textured.vert\"),fragmentShader:t.resolveIncludes(\"highlight/blur.frag\")},attributes:{a_position:0,a_texcoord:1}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../webgl\",\"./sources/resolver\"],function(e,r,i,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.magnifier={name:\"magnifier\",shaders:{vertexShader:a.resolveIncludes(\"magnifier/magnifier.vert\"),fragmentShader:a.resolveIncludes(\"magnifier/magnifier.frag\")},attributes:{a_pos:0}},r.createMagnifierProgram=function(e){return i.createProgram(e,r.magnifier)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../webgl\",\"./sources/resolver\"],function(e,r,t,a){Object.defineProperty(r,\"__esModule\",{value:!0});var s=function(e){var r=\"\";r+=e[0].toUpperCase();for(var n=1;n<e.length;n++){var t=e[n];t===t.toUpperCase()?(r+=\"_\",r+=t):r+=t.toUpperCase()}return r},o=function(e){var r={};for(var n in e){r[s(n)]=e[n]}return t.glslifyDefineMap(r)};r.createProgramTemplate=function(e,r){var n=e+e.substring(e.lastIndexOf(\"/\"));return{name:name,attributes:r,shaders:function(e){return{vertexShader:o(e)+a.resolveIncludes(n+\".vert\"),fragmentShader:o(e)+a.resolveIncludes(n+\".frag\")}}}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./sources/resolver\"],function(e,s,r){Object.defineProperty(s,\"__esModule\",{value:!0}),s.stencil={name:\"stencil\",shaders:{vertexShader:r.resolveIncludes(\"stencil/stencil.vert\"),fragmentShader:r.resolveIncludes(\"stencil/stencil.frag\")},attributes:{a_pos:0}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./sources/resolver\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0}),r.tileInfo={name:\"tileInfo\",shaders:{vertexShader:t.resolveIncludes(\"tileInfo/tileInfo.vert\"),fragmentShader:t.resolveIncludes(\"tileInfo/tileInfo.frag\")},attributes:{a_pos:0}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\",\"./shaderRepository\"],function(e,r,n,o){Object.defineProperty(r,\"__esModule\",{value:!0});var t=new n.ShaderCompiler(function(e){var r=o;return e.split(\"/\").forEach(function(e){r&&(r=r[e])}),r});r.resolveIncludes=function(e){return t.resolveIncludes(e)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){return{background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\n gl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\n vec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\n gl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\n lowp vec4 color = texture2D(u_tex, v_uv);\\n gl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\n gl_Position = vec4(a_pos, 0.0, 1.0);\\n v_uv = a_tex;\\n}\"},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\n float b = 1.0 / 6.0;\\n float v2 = v * v;\\n float v3 = v2 * v;\\n float w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\n float w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\n float w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\n float w3 = b * v3;\\n return vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\n vec4 w = computeWeights(v);\\n float g0 = w.x + w.y;\\n float g1 = w.z + w.w;\\n float h0 = 1.0 - (w.y / g0) + v;\\n float h1 = 1.0 + (w.w / g1) - v;\\n return vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 eX = vec2(1.0 / texSize.x, 0.0);\\n vec2 eY = vec2(0.0, 1.0 / texSize.y);\\n vec2 texel = coords * texSize - 0.5;\\n vec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\n vec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\n vec2 coords10 = coords + hgX.x * eX;\\n vec2 coords00 = coords - hgX.y * eX;\\n vec2 coords11 = coords10 + hgY.x * eY;\\n vec2 coords01 = coords00 + hgY.x * eY;\\n coords10 = coords10 - hgY.y * eY;\\n coords00 = coords00 - hgY.y * eY;\\n vec4 color00 = texture2D(sampler, coords00);\\n vec4 color10 = texture2D(sampler, coords10);\\n vec4 color01 = texture2D(sampler, coords01);\\n vec4 color11 = texture2D(sampler, coords11);\\n color00 = mix(color00, color01, hgY.z);\\n color10 = mix(color10, color11, hgY.z);\\n color00 = mix(color00, color10, hgX.z);\\n return color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 texelStart = floor(coords * texSize);\\n vec2 coord0 = texelStart / texSize;\\n vec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\n vec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\n vec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\n vec4 color0 = texture2D(sampler, coord0);\\n vec4 color1 = texture2D(sampler, coord1);\\n vec4 color2 = texture2D(sampler, coord2);\\n vec4 color3 = texture2D(sampler, coord3);\\n vec2 blend = fract(coords * texSize);\\n vec4 color01 = mix(color0, color1, blend.x);\\n vec4 color23 = mix(color2, color3, blend.x);\\n return mix(color01, color23, blend.y);\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\n vec2 invSize = 1.0 / texSize;\\n vec2 texel = coords * texSize;\\n vec2 texel_i = floor(texel);\\n vec2 texel_frac = fract(texel);\\n vec4 colorP = texture2D(sampler, texel_i * invSize);\\n vec4 colorP1 = vec4(colorP);\\n vec4 colorP2 = vec4(colorP);\\n vec4 colorP3 = vec4(colorP);\\n vec4 colorP4 = vec4(colorP);\\n vec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\n vec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\n vec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\n vec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\n if (colorC == colorA && colorC != colorD && colorA != colorB) {\\n colorP1 = colorA;\\n }\\n if (colorA == colorB && colorA != colorC && colorB != colorD) {\\n colorP2 = colorB;\\n }\\n if (colorD == colorC && colorD != colorB && colorC != colorA) {\\n colorP3 = colorC;\\n }\\n if (colorB == colorD && colorB != colorA && colorD != colorC) {\\n colorP4 = colorD;\\n }\\n vec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\n vec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\n return mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include <materials/utils.glsl>\\nvoid main()\\n{\\n#ifdef DELTA\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n vec4 data0 = texture2D(u_maskTexture, v_texcoord);\\n float flags = data0.r * 255.0;\\n float groupMinZoom = data0.g * 255.0;\\n float isVisible = getFilterBit(flags, 0);\\n float wouldClip = step(groupMinZoom, u_zoomLevel);\\n float direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\n float dt = u_timeDelta / max(u_animationTime, 0.0001);\\n vec4 nextState = vec4(texel + direction * dt);\\n gl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n gl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_texture;\\nmediump vec4 gauss4(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas * u_sigmas));\\n}\\nmediump float gauss1(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas[3] * u_sigmas[3]));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\n return u_channelSelector * sample;\\n}\\nvoid accumGauss4(mediump float i, inout mediump vec4 tot, inout mediump vec4 weight) {\\n mediump vec4 w = gauss4(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw)) * w;\\n weight += w;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\n mediump float w = gauss1(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\n weight += w;\\n}\\nvoid main(void) {\\n mediump float tot = 0.0;\\n mediump float weight = 0.0;\\n accumGauss1(-4.0, tot, weight);\\n accumGauss1(-3.0, tot, weight);\\n accumGauss1(-2.0, tot, weight);\\n accumGauss1(-1.0, tot, weight);\\n accumGauss1(0.0, tot, weight);\\n accumGauss1(1.0, tot, weight);\\n accumGauss1(2.0, tot, weight);\\n accumGauss1(3.0, tot, weight);\\n accumGauss1(4.0, tot, weight);\\n gl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\n mediump float sigma = u_sigmas[3];\\n mediump float y = texture2D(u_texture, v_texcoord)[3];\\n const mediump float y0 = 0.5;\\n mediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * sigma);\\n mediump float d = (y - y0) / m0;\\n return d;\\n}\\nmediump vec4 shade(mediump float d) {\\n mediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\n mappedDistance = clamp(mappedDistance, 0.0, 1.0);\\n return texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\n mediump float d = estimateDistance();\\n gl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\n gl_Position = vec4(a_position, 0.0, 1.0);\\n v_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlyTexture;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\n lowp vec4 color = texture2D(u_readbackTexture, v_texCoord);\\n color = color + (1.0 - color.a) * u_background;\\n lowp vec4 mask_color = texture2D(u_maskTexture, v_texCoord);\\n lowp float gray = 1.0 - dot(mask_color, vec4(0.3, 0.59, 0.11, 0));\\n color *= gray;\\n lowp vec4 overley_color = texture2D(u_overlyTexture, v_texCoord);\\n overley_color.rgb *= overley_color.a;\\n gl_FragColor = overley_color + (1.0 - overley_color.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec2 u_drawPos;\\nuniform mediump float u_width;\\nuniform mediump float u_height;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\n v_texCoord = a_pos;\\n vec2 coord = u_drawPos + vec2(a_pos - 0.5) * vec2(u_width, u_height);\\n gl_Position = vec4(coord, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec4 id) {\\n highp vec4 texel = unpackLocalIdTexel(id);\\n highp float size = float(u_attributeTextureSize);\\n highp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256 + int(texel.a) * 256 * 256 * 256);\\n highp float col = mod(u32, size);\\n highp float row = (u32 - col) / size;\\n highp float u = col / size;\\n highp float v = row / size;\\n return vec2(u, v);\\n}\\nhighp vec4 getAttributeData0(in highp vec4 id) {\\n vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData3, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\n bool isMagic = v.x == 255.0 && v.y == 255.0;\\n if (isMagic) {\\n return NAN_MAGIC_NUMBER;\\n }\\n return (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float SIGNED_BYTE_TO_UNSIGNED = 128.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.0000001;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\",\"effects.glsl\":\"uniform highp mat4 u_insideEffectMat4[ MAX_FILTER_COUNT ];\\nuniform highp mat4 u_outsideEffectMat4[ MAX_FILTER_COUNT ];\\nuniform highp float u_insideOpacities[ MAX_FILTER_COUNT ];\\nuniform highp float u_outsideOpacities[ MAX_FILTER_COUNT ];\\nvec4 getEffectColor(in vec4 color, in float filterFlags) {\\n vec4 rgbw = vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n for (int i = 1; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n rgbw = u_insideEffectMat4[ i ] * (bit * rgbw) + u_outsideEffectMat4[ i ] * ((1.0 - bit) * rgbw);\\n a = u_insideOpacities[ i ] * (bit * a) + u_outsideOpacities[ i ] * ((1.0 - bit) * a);\\n }\\n return vec4(rgbw.rgb * a, a);\\n}\\nvec3 applyFilter(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n vec4 rgbw = vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n for (int i = 0; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n rgbw = u_insideEffectMat4[ i ] * (bit * rgbw) + u_outsideEffectMat4[ i ] * ((1.0 - bit) * rgbw);\\n a = u_insideOpacities[ i ] * (bit * a) + u_outsideOpacities[ i ] * ((1.0 - bit) * a);\\n }\\n color.rgb = rgbw.rgb * a;\\n color.a = a;\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef HIGHLIGHT\\n pos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n return pos;\\n}\\nvec3 applyFilterLabels(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n float bit = getFilterBit(filterFlags, 0);\\n pos.z += 2.0 * (1.0 - bit);\\n#ifndef OUTSIDE_LABELS_VISIBLE\\n for (int i = 1; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n pos.z += 2.0 * (1.0 - bit);\\n }\\n#endif\\n return pos;\\n}\",fill:{\"common.glsl\":\"#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying highp float v_flags;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef DOT_DENSITY\\nvarying vec2 v_dotTextureCoords;\\nvarying vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include <materials/constants.glsl>\\n#include <materials/utils.glsl>\\n#include <materials/fill/common.glsl>\\n#ifdef DOT_DENSITY\\n#include <materials/effects.glsl>\\n#endif\\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\nvoid main() {\\n#ifdef ID\\n gl_FragColor = v_id;\\n#elif defined(PATTERN)\\n mediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\n mediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = v_opacity * v_color * color;\\n#elif defined(DOT_DENSITY) && !defined(HIGHLIGHT)\\n vec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\n vec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\n vec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\n vec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\n vec4 isPositive0 = step(0.0, difference0);\\n vec4 isPositive1 = step(0.0, difference1);\\n float weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\n float lessThanEqZero = step(weightSum, 0.0);\\n float greaterThanZero = 1.0 - lessThanEqZero ;\\n float divisor = (weightSum + lessThanEqZero);\\n vec4 weights0 = difference0 * isPositive0 / divisor;\\n vec4 weights1 = difference1 * isPositive1 / divisor;\\n vec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\n vec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\n float diffMax = max(max4(difference0), max4(difference1));\\n float lessThanZero = step(diffMax, 0.0);\\n float greaterOrEqZero = 1.0 - lessThanZero;\\n vec4 isMax0 = step(diffMax, difference0);\\n vec4 isMax1 = step(diffMax, difference1);\\n vec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\n vec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\n gl_FragColor = getEffectColor(preEffectColor, v_flags);\\n#else\\n gl_FragColor = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = 1.0;\\n#endif\\n}\",\"fill.vert\":\"precision mediump float;\\n#ifdef DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec4 a_aux3 = vec4(0.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_aux1;\\nattribute vec2 a_aux2;\\nattribute vec4 a_aux3;\\n#endif\\n#include <materials/vcommon.glsl>\\n#include <materials/fill/common.glsl>\\n#ifdef DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\n return featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef PATTERN\\nmat3 getPatternMatrix() {\\n mat3 patternMatrix = mat3(1.0);\\n vec2 aux2 = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_aux2;\\n patternMatrix[0][0] = 1.0 / (u_zoomFactor * a_aux1.x * aux2.x);\\n patternMatrix[1][1] = 1.0 / (u_zoomFactor * a_aux1.y * aux2.y);\\n return patternMatrix;\\n}\\n#endif\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_aux3.a;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity(a_bitSet, 1);\\n v_id = norm(a_id);\\n v_pos = u_dvsMat3 * vec3(a_pos, 1.);\\n v_flags = getFilterFlags();\\n#ifdef PATTERN\\n vec2 symbolOffset = u_zoomFactor * (a_aux1.zw - SIGNED_BYTE_TO_UNSIGNED);\\n v_tileTextureCoord = (getPatternMatrix() * vec3(a_pos + symbolOffset, 1.0)).xy;\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n#elif defined(DOT_DENSITY)\\n vec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\n vec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\n float size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\n v_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\n v_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\n v_dotTextureCoords = (a_pos + 0.5) / size;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_flags), 1.0);\\n}\"},icon:{\"common.glsl\":\"uniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying vec4 v_sizeTex;\\nvarying vec3 v_pos;\\nvarying float v_filters;\\nvarying lowp float v_opacity;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying float v_overridingOutlineColor;\\nvarying float v_isThin;\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include <materials/constants.glsl>\\n#include <materials/utils.glsl>\\n#include <util/encoding.glsl>\\n#include <materials/effects.glsl>\\n#include <materials/constants.glsl>\\n#include <materials/icon/common.glsl>\\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n vec2 v_size = v_sizeTex.xy;\\n vec2 v_tex = v_sizeTex.zw;\\n#ifdef SDF\\n lowp vec4 fillPixelColor = v_color;\\n float d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\n float size = max(v_size.x, v_size.y);\\n float dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\n fillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\n float outlineWidth = v_outlineWidth;\\n #ifdef HIGHLIGHT\\n outlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n #endif\\n if (outlineWidth > 0.25) {\\n lowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\n float clampedOutlineSize = min(outlineWidth, size);\\n outlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\n gl_FragColor = v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n }\\n else {\\n gl_FragColor = v_opacity * fillPixelColor;\\n }\\n#else\\n lowp vec4 texColor = texture2D(u_texture, v_tex);\\n gl_FragColor = v_opacity * getEffectColor(texColor, v_filters);\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"icon.vert\":\"precision mediump float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec4 a_bitSetAndDistRatio;\\n#include <materials/vcommon.glsl>\\n#include <materials/icon/common.glsl>\\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\n#ifdef VV_SIZE\\n float r = getSize(baseSize.y) / referenceSize;\\n baseSize.xy *= r;\\n offset.xy *= r;\\n float scaleSymbolProportionally = getBit(bitSet, 3);\\n outlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\n return baseSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\n float isMapAligned = getBit(a_bitSet, 0);\\n vec3 offset = getRotation() * vec3(in_offset, 0.0);\\n return getMatrix(isMapAligned) * offset;\\n}\\nvoid main()\\n{\\n INIT;\\n vec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 256.0;\\n vec2 a_offset = a_vertexOffset / 16.0;\\n float a_outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 256.0;\\n float a_bitSet = a_bitSetAndDistRatio.z;\\n vec2 v_size = getMarkerSize(a_offset, a_size, a_outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 256.0, a_bitSet);\\n vec2 v_tex = a_texCoords / u_mosaicSize;\\n v_color = getColor(a_color, a_bitSet, 1);\\n v_opacity = getOpacity(a_bitSet, 1);\\n v_id = norm(a_id);\\n v_filters = getFilterFlags();\\n v_pos = u_dvsMat3 * vec3(a_pos, 1.0) + getOffset(a_offset, a_bitSet);\\n v_sizeTex = vec4(v_size.xy, v_tex.xy);\\n#ifdef SDF\\n v_isThin = getBit(a_bitSet, 2);\\n #ifdef VV_COLOR\\n v_overridingOutlineColor = v_isThin;\\n #else\\n v_overridingOutlineColor = 0.0;\\n #endif\\n v_outlineWidth = min(a_outlineSize, max(max(v_size.x, v_size.y) - 0.99, 0.0));\\n v_outlineColor = getEffectColor(a_outlineColor, v_filters);\\n v_distRatio = a_bitSetAndDistRatio.w / 126.0;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_filters), 1.0);\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nuniform vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"precision mediump float;\\n#include <materials/label/common.glsl>\\nuniform mediump vec2 u_screenSize;\\nuniform highp float u_pixelRatio;\\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n mediump vec2 refTextPos = gl_FragCoord.xy / (u_pixelRatio * u_screenSize.xy);\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n float glyphEdgeDistance = max(0.75 - v_edgeDistanceOffset, 0.25);\\n lowp float sdfAlpha = smoothstep(glyphEdgeDistance - v_antialiasingWidth, glyphEdgeDistance + v_antialiasingWidth, dist);\\n gl_FragColor = v_animation.r * sdfAlpha * v_color;\\n}\",\"label.vert\":\"precision mediump float;\\nattribute vec4 a_color;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_zoomRangeAndEmpty;\\n#include <materials/vcommon.glsl>\\n#include <materials/label/common.glsl>\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\n float glyphAngle = angle * 360.0 / 254.0;\\n float mapAngle = u_mapRotation * 360.0 / 254.0;\\n float diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\n float z = 0.0;\\n z += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_zoomLevel)));\\n z += u_mapAligned * 2.0 * step(90.0, diffAngle);\\n z += 2.0 * (1.0 - step(u_zoomLevel, maxZoom));\\n return z;\\n}\\nvoid main()\\n{\\n INIT;\\n float groupMinZoom = getMinZoom();\\n float glyphMinZoom = a_zoomRangeAndEmpty.x;\\n float a_minZoom = max(groupMinZoom, glyphMinZoom);\\n float a_maxZoom = a_zoomRangeAndEmpty.y;\\n vec2 a_placementDir = a_refSymbolAndPlacementOffset.zw - 1.0;\\n float a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\n float fontSize = a_texAndSize.z;\\n float isHalo = mod(a_pos, 2.0).x;\\n vec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\n vec3 pos = vec3(floor(a_pos * 0.5), 1.0);\\n float z = getZ(a_minZoom, a_maxZoom, a_refSymbolAndPlacementOffset.x);\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n float halfSize = getSize(a_refSymbolSize) / 2.0;\\n v_color = a_color;\\n v_tex = a_texAndSize.xy / u_mosaicSize;\\n v_animation = pow(getAnimationState(), vec4(2.0));\\n v_edgeDistanceOffset = isHalo * OUTLINE_SCALE * a_texAndSize.w / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.106 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n vec2 placementOffset = a_placementDir * (halfSize + PLACEMENT_PADDING);\\n vec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\n vec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\n gl_Position = vec4(applyFilterLabels(v_color, v_pos, getFilterFlags()), 1.0);\\n#ifdef DEBUG\\n v_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\nvarying vec3 v_pos;\\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include <util/encoding.glsl>\\n#include <materials/constants.glsl>\\n#include <materials/line/common.glsl>\\nuniform lowp float u_blur;\\nuniform mediump float u_zoomFactor;\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\n#endif\\n#ifdef SDF\\nconst float sdfPatternHalfWidth = 15.5;\\nconst float widthFactor = 2.0;\\n#endif\\nvoid main()\\n{\\n mediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(v_lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n mediump float fragDist = length(v_normal) * v_lineHalfWidth;\\n lowp float alpha = clamp(thinLineFactor * (v_lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n mediump float lineHalfWidth = widthFactor * v_lineHalfWidth;\\n mediump float lineWidthRatio = lineHalfWidth / sdfPatternHalfWidth;\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * lineHalfWidth) / (lineWidthRatio * v_patternSize.x), 1.0);\\n mediump float relativeTexY = 0.5 + 0.5 * v_normal.y;\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexX, relativeTexY));\\n mediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\n float dist = d * lineHalfWidth;\\n lowp vec4 fillPixelColor = v_opacity * alpha * clamp(0.5 - dist, 0.0, 1.0) * v_color;\\n gl_FragColor = fillPixelColor;\\n#elif defined(PATTERN) && !defined(HIGHLIGHT)\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * v_lineHalfWidth) / v_patternSize.x, 1.0);\\n mediump float relativeTexY = 0.5 + (v_normal.y * v_lineHalfWidth / v_patternSize.y);\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexX, relativeTexY));\\n lowp vec4 color = texture2D(u_texture, texCoord);\\n gl_FragColor = v_opacity * alpha * v_color * color;\\n#else\\n gl_FragColor = v_opacity * alpha * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"line.vert\":\"precision mediump float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\n#include <materials/vcommon.glsl>\\n#include <materials/line/common.glsl>\\nconst float SCALE = 1.0 / 31.0;\\nfloat getBaseLineHalfWidth(in float in_lineHalfWidth) {\\n#ifdef VV_SIZE\\n float referenceHalfWidth = a_aux.x * SCALE;\\n float lineWidth = 2.0 * in_lineHalfWidth;\\n return 0.5 * (in_lineHalfWidth / referenceHalfWidth) * getSize(lineWidth);\\n#else\\n return in_lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\n float halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\n halfWidth = max(halfWidth, 2.0);\\n#endif\\n return halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\n float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n thinLineFactor *= 2.0;\\n#endif\\n return thinLineFactor * halfWidth * offset * SCALE;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_segmentDirection.w;\\n float a_accumulatedDist = a_accumulatedDistanceAndHalfWidth.x;\\n float a_lineHalfWidth = a_accumulatedDistanceAndHalfWidth.y * SCALE;\\n float aa = 0.5 * u_antialiasing;\\n vec2 a_offset = a_offsetAndNormal.xy;\\n float baseWidth = getBaseLineHalfWidth(a_lineHalfWidth);\\n float halfWidth = getLineHalfWidth(baseWidth, aa);\\n float z = 2.0 * step(baseWidth, 0.0);\\n vec2 dist = getDist(a_offset, halfWidth);\\n vec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\n vec3 pos = u_dvsMat3 * vec3(a_pos.xy, 1.0) + offset;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity(a_bitSet, 0);\\n v_lineHalfWidth = halfWidth;\\n v_id = norm(a_id);\\n v_normal = a_offsetAndNormal.zw * SCALE;\\n v_pos = vec3(pos.xy, z);\\n#ifdef PATTERN\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n v_patternSize = vec2(a_tlbr.z - a_tlbr.x, a_tlbr.w - a_tlbr.y);\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\n v_accumulatedDistance = a_accumulatedDist + dot(SCALE * a_segmentDirection.xy, dist / u_zoomFactor);\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},text:{\"common.glsl\":\"uniform vec2 u_mosaicSize;\\nvarying highp vec4 v_id;\\nvarying vec3 v_pos;\\nvarying float v_opacity;\\nvarying vec4 v_color;\\nvarying vec2 v_tex;\\nvarying float v_antialiasingWidth;\\nvarying float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"text.frag\":\"precision mediump float;\\n#include <materials/text/common.glsl>\\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n float glyphEdgeDistance = max(0.75 - v_edgeDistanceOffset, 0.25);\\n #ifdef HIGHLIGHT\\n glyphEdgeDistance /= 2.0;\\n #endif\\n lowp float alpha = smoothstep(glyphEdgeDistance - v_antialiasingWidth, glyphEdgeDistance + v_antialiasingWidth, dist) * v_opacity;\\n gl_FragColor = alpha * v_color;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"text.vert\":\"precision mediump float;\\n#include <materials/vcommon.glsl>\\n#include <materials/text/common.glsl>\\nattribute vec4 a_color;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nfloat getTextSize(inout vec2 offset, in float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\n float ratio = baseSize / referenceSize;\\n baseSize = ratio * getSize(baseSize);\\n#endif\\n return baseSize;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_aux.w;\\n float a_fontSize = a_texFontSize.z;\\n vec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\n float a_isHalo = getBit(a_pos.x, 0);\\n vec3 in_pos = vec3(floor(a_pos * 0.5), 1.0);\\n float fontSize = getTextSize(a_offset, a_fontSize, a_aux.z * a_aux.z / 256.0);\\n float scaleFactor = fontSize / a_fontSize;\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n vec3 offset = getRotation() * vec3(scaleFactor * a_offset, 0.0);\\n v_color = a_isHalo * a_color + (1.0 - a_isHalo) * getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity(a_bitSet, 0);\\n v_id = norm(a_id);\\n v_tex = a_texFontSize.xy / u_mosaicSize;\\n v_pos = u_dvsMat3 * in_pos + u_displayMat3 * offset;\\n v_edgeDistanceOffset = a_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\n return floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\n float offset = pow(2.0, float(bitIndex));\\n return mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\n return getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\n return getBit(bitset, 0);\\n}\\nhighp vec4 unpackLocalIdTexel(in highp vec4 bitset) {\\n float isAggregate = getBit(bitset.a, 7);\\n return (1.0 - isAggregate) * bitset + isAggregate * (vec4(bitset.rgba) - vec4(0.0, 0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\n float r = mod(rshift(u32, 0), 255.0);\\n float g = mod(rshift(u32, 8), 255.0);\\n float b = mod(rshift(u32, 16), 255.0);\\n float a = mod(rshift(u32, 24), 255.0);\\n return vec4(r, g, b, a);\\n}\\nvec4 norm(in vec4 v) {\\n return v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\n return max(max(max(target.x, target.y), target.z), target.w);\\n}\",\"vcommon.glsl\":\"#include <materials/constants.glsl>\\n#include <materials/utils.glsl>\\n#include <materials/attributeData.glsl>\\n#include <materials/vv.glsl>\\n#include <materials/effects.glsl>\\nattribute vec2 a_pos;\\nattribute highp vec4 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef OES_TEXTURE_FLOAT\\n target.rgba = getAttributeData2(a_id);\\n#else\\n vec4 data0 = getAttributeData2(a_id);\\n vec4 data1 = getAttributeData3(a_id);\\n target.r = u88VVToFloat(data0.rg * 255.0);\\n target.g = u88VVToFloat(data0.ba * 255.0);\\n target.b = u88VVToFloat(data1.rg * 255.0);\\n target.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n #define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n #define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\n float isColorLocked = getBit(a_bitSet, index);\\n return getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\n return a_color;\\n#endif\\n}\\nfloat getOpacity(in float a_bitSet, in int index) {\\n#ifdef VV_OPACITY\\n float isOpacityLocked = getBit(a_bitSet, index);\\n return getVVOpacity(VV_ADATA[ATTR_VV_OPACITY], isOpacityLocked);\\n#else\\n return 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\n return getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\n return in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\n return getVVRotationMat3(VV_ADATA[ATTR_VV_ROTATION]);\\n#else\\n return mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\n return ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\n return getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\n return getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\n vec4 data0 = getAttributeData0(a_id) * 255.0;\\n return data0.g;\\n}\\nmat3 getMatrix(float isMapAligned) {\\n return isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n #define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n #define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\n return (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n float interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\n interpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\n return u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n if (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\n return u_vvSizeFieldStopsSizes[0];\\n }\\n for (int i = 1; i < VV_SIZE_N; ++i) {\\n if (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\n float f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\n return mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n }\\n }\\n return u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n return u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue, float isOpacityLocked) {\\n if (isNan(opacityValue) || isOpacityLocked == 1.0) {\\n return 1.0;\\n }\\n if (opacityValue <= u_vvOpacityValues[0]) {\\n return u_vvOpacities[0];\\n }\\n for (int i = 1; i < VV_OPACITY_N; ++i) {\\n if (u_vvOpacityValues[i] >= opacityValue) {\\n float f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\n return mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n }\\n }\\n return u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat4(1, 0, 0, 0,\\n 0, 1, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat4(cosA, sinA, 0, 0,\\n -sinA, cosA, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat3(1, 0, 0,\\n 0, 1, 0,\\n 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * -rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat3(cosA, -sinA, 0,\\n sinA, cosA, 0,\\n 0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\n if (isNan(colorValue) || isColorLocked == 1.0) {\\n return fallback;\\n }\\n if (colorValue <= u_vvColorValues[0]) {\\n return u_vvColors[0];\\n }\\n for (int i = 1; i < VV_COLOR_N; ++i) {\\n if (u_vvColorValues[i] >= colorValue) {\\n float f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\n return mix(u_vvColors[i-1], u_vvColors[i], f);\\n }\\n }\\n return u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\n return getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\n return u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\n float outSize = getVVStopsSize(vvSize, size);\\n return isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\n return getVVUnitValue(vvSize, size);\\n#else\\n return size;\\n#endif\\n}\"},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\n#include <filtering/bicubic.glsl>\\nvoid main() {\\n#ifdef BICUBIC\\n vec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\n vec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\n gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nvoid main() {\\n gl_Position = vec4(a_pos, 0.0, 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\n lowp vec4 color = texture2D(u_texture, v_tex);\\n gl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\n mediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\n vec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\n gl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n v_tex = a_pos;\\n}\"},util:{\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n 255.0 / (256.0),\\n 255.0 / (256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n );\\nfloat rgba2float(vec4 rgba) {\\n return dot(rgba, rgba2float_factors);\\n}\"}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojox/string/BidiEngine\"],function(e,i,r){Object.defineProperty(i,\"__esModule\",{value:!0});var n=new r;i.bidiText=function(e){return n.hasBidiChar(e)?(i=\"rtl\"===n.checkContextual(e)?\"IDNNN\":\"ICNNN\",[n.bidiTransform(e,i,\"VLYSN\"),!0]):[e,!1];var i}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/promiseUtils\"],function(e,r,t){Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(){function e(){this._resolver=null}return e.prototype.isHeld=function(){return!!this._resolver},e.prototype.acquire=function(){var e=this;return this._resolver?this._resolver.promise.then(function(){return e.acquire()}):(this._resolver=t.createResolver(),t.resolve())},e.prototype.release=function(){var e=this._resolver;this._resolver=null,e.resolve()},e}();r.default=n,r.withLock=function(r,e,t){return r.acquire().then(function(){return e(t)}).then(function(){return r.release()}).catch(function(e){throw r.release(),e})}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/tsSupport/extendsHelper\",\"../../../../../core/tsSupport/generatorHelper\",\"../../../../../core/tsSupport/awaiterHelper\",\"../../../../../core/Logger\",\"../../../../../core/promiseUtils\",\"../../../../../support/arcadeOnDemand\",\"../../../../../symbols/support/cimSymbolUtils\",\"../../../arcade/utils\"],function(e,t,r,R,u,n,p,T,w,l){Object.defineProperty(t,\"__esModule\",{value:!0});var s=n.getLogger(\"esri/views/2d/engine/webgl/util/Matcher\"),i=function(){function s(){this._defaultResult=null}return s.fromBasicRenderer=function(i,a,l){return u(this,void 0,void 0,function(){var t,r,n;return R(this,function(e){switch(e.label){case 0:return[4,w.expandSymbols(i.getSymbols())];case 1:return t=e.sent(),r=new s,t.length?[4,a.createTemplateGroup(t[0],null,i,l)]:[3,3];case 2:n=e.sent(),r.setDefault(n),e.label=3;case 3:return[2,r]}})})},s.prototype.size=function(){return 1},s.prototype.getDefault=function(){return this._defaultResult},s.prototype.setDefault=function(e){this._defaultResult=e},s.prototype.match=function(e,t,r,n,i){return this.getDefault()},s.prototype.analyze=function(e,t,r,n){return u(this,void 0,void 0,function(){return R(this,function(e){return[2]})})},s}(),a=function(a){function M(e,t,r,n){var i=a.call(this)||this;return i._intervals=[],i._isMaxInclusive=t,n?i._getValue=l.callWithFeature.bind(null,n):e&&e.length?i._getValue=\"function\"==typeof e?(i._field=null,e):(i._field=e,i._normalizationInfo=r,i._getValueFromField.bind(i)):i._field=null,i}return r(M,a),M.fromCBRenderer=function(g,y,z){return u(this,void 0,void 0,function(){var t,r,n,i,a,l,s,u,o,c,f,p,h,d,_,m,v,b;return R(this,function(e){switch(e.label){case 0:return t=g.isMaxInclusive,r=g.normalizationField,n=g.normalizationTotal,i=g.normalizationType,a=g.field,l={normalizationField:r,normalizationTotal:n,normalizationType:i},s=g.valueExpression,(u=s)?[4,T.createRendererExpression(s,z.spatialReference,z.fields)]:[3,2];case 1:u=e.sent(),e.label=2;case 2:return o=new M(a,t,l,u),[4,w.expandSymbol(g.backgroundFillSymbol)];case 3:c=e.sent(),f=0,p=g.classBreakInfos,e.label=4;case 4:return f<p.length?(h=p[f],[4,w.expandSymbol(h.symbol)]):[3,8];case 5:return d=e.sent(),[4,y.createTemplateGroup(d,c,g,z)];case 6:_=e.sent(),m={min:h.minValue,max:h.maxValue},o.add(m,_),e.label=7;case 7:return f++,[3,4];case 8:return[4,w.expandSymbol(g.defaultSymbol)];case 9:return(v=e.sent())?[4,y.createTemplateGroup(v,c,g,z)]:[3,11];case 10:b=e.sent(),o.setDefault(b),e.label=11;case 11:return[2,o]}})})},M.prototype.add=function(e,t){this._intervals.push({interval:e,result:t}),this._intervals.sort(function(e,t){return e.interval.min-t.interval.min})},M.prototype.size=function(){return a.prototype.size.call(this)+this._intervals.length},M.prototype.match=function(e,t,r,n,i){if(!this._getValue)return this.getDefault();var a=this._getValue(t,{$view:i},r,n);if(!a&&(null==a||isNaN(a)))return this.getDefault();for(var l=0;l<this._intervals.length;l++){var s=this._intervals[l],u=s.interval,o=s.result,c=a>=u.min,f=this._isMaxInclusive?a<=u.max:a<u.max;if(c&&f)return o}return this.getDefault()},M.prototype._needsNormalization=function(){var e=this._normalizationInfo;return e&&(e.normalizationField||e.normalizationTotal||e.normalizationType)},M.prototype._getValueFromField=function(e){var t=e.attributes[this._field];if(!this._needsNormalization())return t;var r=this._normalizationInfo,n=r.normalizationField,i=r.normalizationTotal,a=r.normalizationType,l=!!n&&e.attributes[n];if(a)switch(a){case\"field\":return l?t/l:void 0;case\"log\":return Math.log(t)*Math.LOG10E;case\"percent-of-total\":return t/i*100;default:return void s.error(\"Found unknown normalization type: \"+a)}else s.error(\"Normalization is required, but no type was set!\")},M}(t.FeatureMatcher=i);t.IntervalMatcher=a;var o=function(i){function v(e,t,r){var n=i.call(this)||this;return n._nullResult=null,n._resultsMap=new Map,r?n._getValue=l.callWithFeature.bind(null,r):e&&e.length?\"function\"==typeof e[0]?(n._fields=null,n._getValue=e[0]):(n._fields=e,n._seperator=t||\"\",n._getValue=n._getValueFromFields.bind(n)):n._fields=null,n}return r(v,i),v.fromUVRenderer=function(d,_,m){return u(this,void 0,void 0,function(){var t,r,n,i,a,l,s,u,o,c,f,p,h;return R(this,function(e){switch(e.label){case 0:return t=d.uniqueValueInfos,r=d.fieldDelimiter,n=[d.field],i=d.valueExpression,d.field2&&n.push(d.field2),d.field3&&n.push(d.field3),[4,w.expandSymbol(d.backgroundFillSymbol)];case 1:return a=e.sent(),(l=i)?[4,T.createRendererExpression(i,m.spatialReference,m.fields)]:[3,3];case 2:l=e.sent(),e.label=3;case 3:s=new v(n,r,l),u=0,o=t,e.label=4;case 4:return u<o.length?(c=o[u],[4,w.expandSymbol(c.symbol)]):[3,8];case 5:return f=e.sent(),[4,_.createTemplateGroup(f,a,d,m)];case 6:p=e.sent(),\"<Null>\"===c.value?s.setNullResult(p):s.add(c.value,p),e.label=7;case 7:return u++,[3,4];case 8:return[4,w.expandSymbol(d.defaultSymbol)];case 9:return e.sent()?[4,_.createTemplateGroup(d.defaultSymbol,a,d,m)]:[3,11];case 10:h=e.sent(),s.setDefault(h),e.label=11;case 11:return[2,s]}})})},v.prototype.setNullResult=function(e){this._nullResult=e},v.prototype.add=function(e,t){this._resultsMap.set(e.toString(),t)},v.prototype.size=function(){return i.prototype.size.call(this)+this._resultsMap.size},v.prototype.match=function(e,t,r,n,i){if(!this._getValue)return this.getDefault();var a=this._getValue(t,{$view:i},r,n);if(null!==this._nullResult&&(null==a||\"\"===a||\"<Null>\"===a))return this._nullResult;if(!a&&null==a)return this.getDefault();var l=a.toString();return this._resultsMap.has(l)?this._resultsMap.get(l):this.getDefault()},v.prototype._getValueFromFields=function(e){for(var t=[],r=0,n=this._fields;r<n.length;r++){var i=n[r],a=e.attributes[i];t.push(a)}return t.join(this._seperator)},v}(i);t.MapMatcher=o;var c=function(i){function a(e,t,r){var n=i.call(this)||this;return n._fidToAttributeHash=new Map,n._attributeHashToGroup=new Map,n._renderer=e,n._fieldMap=e.fieldMap,n._templates=t,n._info=r,n}return r(a,i),a.fromDictionaryRenderer=function(t,r,n){return u(this,void 0,void 0,function(){return R(this,function(e){return t.fetchResources({spatialReference:n.spatialReference,fields:n.fields}),[2,new a(t,r,n)]})})},a.prototype.analyze=function(o,a,c,f){return u(this,void 0,void 0,function(){var l,t,s,r,n,i,u=this;return R(this,function(e){switch(e.label){case 0:for(l=[],t=function(e){var t=e.attributes[o],r=s._fidToAttributeHash.get(t),n=s._hashAttributes(e);if(r===n)return\"continue\";if(s._fidToAttributeHash.set(t,n),!s._attributeHashToGroup.has(n)){var i={scale:c&&c.scale,viewingMode:c&&c.viewingMode,spatialReference:s._info.spatialReference,abortOptions:f,fields:s._info.fields},a=s._renderer.getSymbolAsync(e,i).then(function(e){return u._templates.createTemplateGroup(e,null,u._renderer,u._info).then(function(e){return u._attributeHashToGroup.set(n,e)})});l.push(a)}},s=this,r=0,n=a;r<n.length;r++)i=n[r],t(i);return[4,p.all(l)];case 1:return e.sent(),[2]}})})},a.prototype.match=function(e,t){var r=t.attributes[e],n=this._fidToAttributeHash.get(r);return this._attributeHashToGroup.get(n)},a.prototype._hashAttributes=function(e){var t=\"\";for(var r in this._fieldMap)t+=\". \"+e.attributes[this._fieldMap[r]];return t},a}(i);t.DictionaryMatcher=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e){this._pos=0,this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer)}return e.prototype.readInt32=function(){return this._i32View[this._pos++]},e.prototype.readF32=function(){return this._f32View[this._pos++]},e}();t.default=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../core/Error\"],function(e,r,o){Object.defineProperty(r,\"__esModule\",{value:!0}),r.ok=function(e,r){if(e&&\"name\"in e){var n=e;return r&&r.error(new o(n.name,n.message,n.details)),!1}return!0}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(){function t(t,e){this._pos=0;var r=e?this._roundToNearest(e,t.BYTES_PER_ELEMENT):40;this._array=new ArrayBuffer(r),this._buffer=new t(this._array),this._ctor=t}return Object.defineProperty(t.prototype,\"length\",{get:function(){return this._pos},enumerable:!0,configurable:!0}),t.prototype._roundToNearest=function(t,e){var r=Math.round(t);return r+(e-r%e)},t.prototype._ensureSize=function(t){if(this._pos+t>=this._buffer.length){var e=this._roundToNearest(1.5*(this._array.byteLength+t*this._buffer.BYTES_PER_ELEMENT),this._buffer.BYTES_PER_ELEMENT),r=new ArrayBuffer(e),s=new this._ctor(r);s.set(this._buffer,0),this._array=r,this._buffer=s}},t.prototype.writeF32=function(t){this._ensureSize(1);var e=this._pos;return new Float32Array(this._array,4*this._pos,1)[0]=t,this._pos++,e},t.prototype.push=function(t){this._ensureSize(1);var e=this._pos;return this._buffer[this._pos++]=t,e},t.prototype.writeRegion=function(t){this._ensureSize(t.length);var e=this._pos;return this._buffer.set(t,this._pos),this._pos+=t.length,e},t.prototype.buffer=function(){var t=this._array.slice(0,4*this._pos);return this.destroy(),t},t.prototype.seek=function(t){this._pos=t},t.prototype.destroy=function(){this._array=null,this._buffer=null},t}();e.default=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.createDebugLogger=function(e,r){return e&&function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return r.warn.apply(r,[\"DEBUG:\"].concat(e))}||function(){return null}},n.DEBUG_ATTR_UPDATES=!1});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.serializeList=function(e,r){if(null!==r){e.push(r.length);for(var i=0,n=r;i<n.length;i++)n[i].serialize(e);return e}e.push(0)},r.deserializeList=function(e,r,i){for(var n=e.readInt32(),t=new Array(n),l=0;l<t.length;l++)t[l]=r.deserialize(e,i);return t}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){function i(e){switch(e){case\"esriSMS\":return\"simple-marker\";case\"esriPMS\":return\"picture-marker\";case\"esriSLS\":return\"simple-line\";case\"esriPLS\":return\"picture-line\";case\"esriSFS\":return\"simple-fill\";case\"esriPFS\":return\"picture-fill\";case\"esriTS\":return\"text\"}return e}function t(e){var r=i(e.type);if(r){switch(r){case\"picture-marker\":case\"picture-line\":case\"picture-fill\":case\"CIMPictureMarker\":return!0}return!1}return!1}Object.defineProperty(r,\"__esModule\",{value:!0}),r.keyFromSymbol=function(e){if(e.type){switch(i(e.type)){case\"simple-marker\":return e.path?\"simple-marker\"+e.style+e.path:\"simple-marker\"+e.style;case\"simple-line\":return\"simple-line\"+e.style+e.cap;case\"simple-fill\":return\"simple-fill\"+e.style}if(e.mosaicHash)return e.mosaicHash;if(t(e))return e.imageData?e.imageData:e.url+\"\"+e.width+e.height}return JSON.stringify(e)},r.normalizeSymbolType=i,r.isMarkerSymbol=function(e){var r=i(e.type);if(r){switch(r){case\"simple-marker\":case\"picture-marker\":case\"CIMPointSymbol\":return!0;case\"CIMVectorMarker\":case\"CIMPictureMarker\":case\"CIMCharacterMarker\":return!0}return!1}},r.isFillSymbol=function(e){var r=i(e.type);if(r){switch(r){case\"simple-fill\":case\"picture-fill\":case\"CIMPolygonSymbol\":return!0}return!1}},r.isLineSymbol=function(e){var r=i(e.type);if(r){switch(r){case\"simple-line\":case\"picture-line\":case\"CIMLineSymbol\":return!0}return!1}},r.isPictureSymbol=t,r.isTextSymbol=function(e){var r=i(e.type);if(r){switch(r){case\"text\":case\"CIMTextSymbol\":return!0}return!1}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../enums\",\"../visualVariablesUtils\"],function(V,e,l,L){function t(V,e){void 0===e&&(e=!1);var a=l.WGLVVFlag.SIZE_FIELD_STOPS|l.WGLVVFlag.SIZE_MINMAX_VALUE|l.WGLVVFlag.SIZE_SCALE_STOPS|l.WGLVVFlag.SIZE_UNIT_VALUE,t=(V&(l.WGLVVTarget.FIELD_TARGETS_OUTLINE|l.WGLVVTarget.MINMAX_TARGETS_OUTLINE|l.WGLVVTarget.SCALE_TARGETS_OUTLINE|l.WGLVVTarget.UNIT_TARGETS_OUTLINE))>>>4;return e?a&t:a&~t}function a(V){var e=t(V,!1);return V&(l.WGLVVFlag.COLOR|l.WGLVVFlag.OPACITY|l.WGLVVFlag.ROTATION|e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.getVVFlags=function(V){if(!V)return l.WGLVVFlag.NONE;for(var e=0,a=0,t=V;a<t.length;a++){var r=t[a];if(\"size\"===r.type){var g=L.getTypeOfSizeVisualVariable(r);e|=g,\"outline\"===r.target&&(e|=g<<4)}else\"color\"===r.type?e|=l.WGLVVFlag.COLOR:\"opacity\"===r.type?e|=l.WGLVVFlag.OPACITY:\"rotation\"===r.type&&(e|=l.WGLVVFlag.ROTATION)}return e},e.getSizeFlagsMask=t,e.getMarkerVVFlags=a,e.getFillVVFlags=function(V){return V&(l.WGLVVFlag.COLOR|l.WGLVVFlag.OPACITY)},e.getLineVVFlags=function(V,e){if(e)return V&t(V,!0);var a=t(V,!1);return V&(l.WGLVVFlag.COLOR|l.WGLVVFlag.OPACITY|a)},e.getTextVVFlags=function(V){return a(V)},e.getLabelVVFlags=function(V){return V&t(V,!1)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/Error\",\"../../../../core/Logger\",\"./enums\",\"./Utils\"],function(e,s,i,l,r,a){Object.defineProperty(s,\"__esModule\",{value:!0});var n=l.getLogger(\"esri.views.2d.engine.webgl\");s.getTypeOfSizeVisualVariable=function(e){return a.isNumber(e.minDataValue)&&a.isNumber(e.maxDataValue)&&null!=e.minSize&&null!=e.maxSize?r.WGLVVFlag.SIZE_MINMAX_VALUE:(e.expression&&\"view.scale\"===e.expression||e.valueExpression&&\"$view.scale\"===e.valueExpression)&&Array.isArray(e.stops)?r.WGLVVFlag.SIZE_SCALE_STOPS:(null!=e.field||e.expression&&\"view.scale\"!==e.expression||e.valueExpression&&\"$view.scale\"!==e.valueExpression)&&(Array.isArray(e.stops)||\"levels\"in e&&e.levels)?r.WGLVVFlag.SIZE_FIELD_STOPS:(null!=e.field||e.expression&&\"view.scale\"!==e.expression||e.valueExpression&&\"$view.scale\"!==e.valueExpression)&&null!=e.valueUnit?r.WGLVVFlag.SIZE_UNIT_VALUE:(n.error(new i(\"mapview-bad-type\",\"Found invalid size VisualVariable\",e)),r.WGLVVFlag.NONE)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/Handles\",\"../../../core/watchUtils\",\"../../../core/accessorSupport/decorators\",\"./handlers/DoubleClickZoom\",\"./handlers/DoubleTapDragZoom\",\"./handlers/DragPan\",\"./handlers/DragRotate\",\"./handlers/GamepadNavigation\",\"./handlers/KeyPan\",\"./handlers/KeyRotate\",\"./handlers/KeyZoom\",\"./handlers/MouseWheelZoom\",\"./handlers/PinchAction\",\"../../input/BrowserEventSource\",\"../../input/InputManager\",\"../../input/handlers/PreventContextMenu\",\"../../input/recognizers/DoubleTapDrag\",\"../../input/recognizers/Drag\",\"../../input/recognizers/PointerClickHoldAndDrag\",\"../../input/recognizers/SingleAndDoubleClick\"],function(e,n,t,i,o,r,a,s,c,u,l,h,p,w,d,v,g,D,y,m,_,b,f,A,P){var M={counter:\"Ctrl\",pan:{left:\"ArrowLeft\",right:\"ArrowRight\",up:\"ArrowUp\",down:\"ArrowDown\"},zoom:{zoomIn:[\"=\",\"+\"],zoomOut:[\"-\",\"_\"]},rotate:{clockwiseOption1:\"a\",clockwiseOption2:\"A\",counterClockwiseOption1:\"d\",counterClockwiseOption2:\"D\",resetOption1:\"n\",resetOption2:\"N\"}};return function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n._handles=new r,n}return t(n,e),n.prototype.initialize=function(){var e=this;this._handles.add([a.whenNot(this.view,\"ready\",function(){return e._disconnect()}),a.when(this.view,\"ready\",function(){return e._connect()})])},n.prototype.destroy=function(){this._handles&&(this._handles.removeAll(),this._handles=null),this._disconnect()},n.prototype._disconnect=function(){this._inputManager&&(this.view.viewEvents.disconnect(),this._inputManager.destroy(),this._inputManager=null,this._source.destroy(),this._source=null)},n.prototype._connect=function(){var e=this,n=this.view.surface,t=new y.BrowserEventSource(n,this.view.input),i=[new A.PointerClickHoldAndDrag,new P.SingleAndDoubleClick,new f.Drag(this.view.navigation),new b.DoubleTapDrag],o=new m.InputManager({eventSource:t,recognizers:i});o.installHandlers(\"prevent-context-menu\",[new _.PreventContextMenu],m.ViewEventPriorities.INTERNAL),o.installHandlers(\"navigation\",[new D.PinchRotateAndZoom(this.view),new p.GamepadNavigation(this.view),new g.MouseWheelZoom(this.view),new c.DoubleClickZoom(this.view),new c.DoubleClickZoom(this.view,[M.counter]),new l.DragPan(this.view,\"primary\"),new w.KeyPan(this.view,M.pan),new v.KeyZoom(this.view,M.zoom),new d.KeyRotate(this.view,M.rotate),new h.DragRotate(this.view,\"secondary\"),new u.DoubleTapDragZoom(this.view,\"touch\")],m.ViewEventPriorities.INTERNAL),this.view.viewEvents.connect(o),this._source=t,this._inputManager=o,a.init(this.view.navigation,\"browserTouchPanEnabled\",function(n){e._source.browserTouchPanningEnabled=!n})},Object.defineProperty(n.prototype,\"test\",{get:function(){return{inputManager:this._inputManager}},enumerable:!0,configurable:!0}),i([s.property()],n.prototype,\"view\",void 0),n=i([s.subclass(\"esri.views.2d.input.MapViewInputManager\")],n)}(s.declared(o))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/InputHandler\",\"../../../input/handlers/support\"],function(e,t,n,i,o){Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(e){function t(t,n){var i=e.call(this,!0)||this;return i.view=t,i.registerIncoming(\"double-click\",n,function(e){return i._handleDoubleClick(e,n)}),i}return n(t,e),t.prototype._handleDoubleClick=function(e,t){o.eventMatchesPointerAction(e.data,\"primary\")&&(e.stopPropagation(),t?this.view.mapViewNavigation.zoomOut([e.data.x,e.data.y]):this.view.mapViewNavigation.zoomIn([e.data.x,e.data.y]))},t}(i.InputHandler);t.DoubleClickZoom=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/compilerUtils\",\"../../../input/InputHandler\"],function(e,t,a,r,i){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){function t(t,a,r){var i=e.call(this,!0)||this;return i.view=t,i.pointerType=a,i.registerIncoming(\"double-tap-drag\",r,function(e){return i._handleDoubleTapDrag(e)}),i}return a(t,e),t.prototype._handleDoubleTapDrag=function(e){var t=e.data;if(t.pointerType===this.pointerType){e.stopPropagation();var a=t.action,i=t.delta,n=this.view,o=n.mapViewNavigation;switch(a){case\"begin\":var s=n.scale;this._startScale=s,this._currentScale=s,this._previousDelta=i,o.begin();break;case\"update\":if(this._previousDelta.y===i.y)return;this._previousDelta=i;var c=Math.pow(1.015,i.y),p=this._startScale*c,l=p/this._currentScale;o.setViewpointImmediate(l),this._currentScale=p;break;case\"end\":var u=n.constraints,h=u.effectiveLODs;if(!u.snapToZoom||!h)return void o.end();var d=u.snapScale(this._currentScale),v=i.y>0?Math.max(d,u.snapToPreviousScale(this._startScale)):Math.min(d,u.snapToNextScale(this._startScale)),_=v/this._currentScale;o.zoom(_);break;default:r.neverReached(a)}}},t}(i.InputHandler);t.DoubleTapDragZoom=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/DragEventSeparator\",\"../../../input/InputHandler\",\"../../../input/handlers/support\"],function(t,n,e,a,i,o){Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(t){function n(n,e,i){var r=t.call(this,!0)||this;r.view=n,r.pointerAction=e,r.registerIncoming(\"drag\",i,function(t){return r._handleDrag(t)}),r.registerIncoming(\"pointer-down\",function(){return r.stopMomentumNavigation()});var p=r.view.mapViewNavigation;return r.dragEventSeparator=new a.DragEventSeparator({start:function(t,n){p.pan.begin(r.view,n.data),n.stopPropagation()},update:function(t,n){p.pan.update(r.view,n.data),n.stopPropagation()},end:function(t,n){p.pan.end(r.view,n.data),n.stopPropagation()},condition:function(t,n){return 1===t&&o.eventMatchesPointerAction(n.data,r.pointerAction)}}),r}return e(n,t),n.prototype._handleDrag=function(t){var n=this.view.mapViewNavigation;if(n.pinch.zoomMomentum||n.pinch.rotateMomentum)return void this.stopMomentumNavigation();this.dragEventSeparator.handle(t)},n.prototype.stopMomentumNavigation=function(){this.view.mapViewNavigation.pan.stopMomentumNavigation()},n}(i.InputHandler);n.DragPan=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/DragEventSeparator\",\"../../../input/InputHandler\",\"../../../input/handlers/support\"],function(t,e,n,r,a,o){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){function e(e,n,a){var i=t.call(this,!0)||this;i.view=e,i.pointerAction=n;var p=i.view.mapViewNavigation;return i.dragEventSeparator=new r.DragEventSeparator({start:function(t,e){p.rotate.begin(i.view,e.data),e.stopPropagation()},update:function(t,e){p.rotate.update(i.view,e.data),e.stopPropagation()},end:function(t,e){p.rotate.end(),e.stopPropagation()},condition:function(t,e){return 1===t&&o.eventMatchesPointerAction(e.data,i.pointerAction)}}),i.registerIncoming(\"drag\",a,function(t){return i.dragEventSeparator.handle(t)}),i}return n(e,t),e}(a.InputHandler);e.DragRotate=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/Handles\",\"../../../../core/scheduling\",\"../../../../core/watchUtils\",\"../../viewpointUtils\",\"../../../input/InputHandler\",\"../../../navigation/gamepadAndKeyboardUtils\"],function(t,e,a,n,i,r,o,s,l){Object.defineProperty(e,\"__esModule\",{value:!0});var d=function(t){function e(e){var a=t.call(this,!0)||this;return a.view=e,a.frameTask=null,a.watchHandles=new n,a.currentDevice=null,a.transformation={translation:[0,0,0],heading:0,tilt:0},a.handle=a.registerIncoming(\"gamepad\",function(t){return a.handleEvent(t)}),a.handle.pause(),a}return a(e,t),e.prototype.onInstall=function(e){var a=this;t.prototype.onInstall.call(this,e),this.watchHandles.add([r.init(this.view.navigation.gamepad,\"enabled\",function(t){t?(a.handle.resume(),a.frameTask||(a.frameTask=i.addFrameTask({update:function(t){return a.frameUpdate(t.deltaTime)}}))):(a.handle.pause(),a.frameTask&&(a.frameTask.remove(),a.frameTask=null))})])},e.prototype.onUninstall=function(){this.watchHandles.removeAll(),this.frameTask&&(this.frameTask.remove(),this.frameTask=null),t.prototype.onUninstall.call(this)},e.prototype.handleEvent=function(t){var e=this.view.navigation.gamepad.device;e&&t.data.device!==e||this.currentDevice&&this.currentDevice!==t.data.device||(\"end\"===t.data.action?(this.currentDevice=null,l.resetTransformation(this.transformation)):(this.currentDevice=t.data.device,l.extractTransformation(t.data,this.view.navigation.gamepad,this.transformation)))},e.prototype.frameUpdate=function(t){var e=this.transformation;if(!l.isZeroTransformation(e)){var a=this.view.viewpoint.clone(),n=this.view.navigation.gamepad.velocityFactor,i=v*n*t;o.translateBy(a,a,[e.translation[0]*i,-e.translation[1]*i]);var r=1+e.translation[2]*h*t,s=this.view.constraints.rotationEnabled?-e.heading*c*t:0,d=this.view.size,p=[d[0]/2,d[1]];o.scaleAndRotateBy(a,a,r,s,p,d);var u=this.view.constraints.constrain(a,this.view.viewpoint);this.view.viewpoint=u}},e}(s.InputHandler);e.GamepadNavigation=d;var c=.06,v=.7,h=6e-4});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/InputHandler\"],function(e,i,t,n){Object.defineProperty(i,\"__esModule\",{value:!0});var a=function(e){function i(i,t,n){var a,o=e.call(this,!0)||this;return o.view=i,o.keys=t,o._pressed=!1,o._keyMap=(a={},a[t.left]=\"left\",a[t.right]=\"right\",a[t.up]=\"up\",a[t.down]=\"down\",a),o.registerIncoming(\"key-down\",n,function(e){return o._handleKeyDown(e)}),o.registerIncoming(\"key-up\",n,function(e){return o._handleKeyUp(e)}),o.registerIncoming(\"blur\",n,function(){return o._handleBlur()}),o}return t(i,e),i.prototype._handleKeyDown=function(e){e.data.repeat||this._handleKey(e,!0)},i.prototype._handleKeyUp=function(e){this._handleKey(e,!1)},i.prototype._handleBlur=function(){this._pressed&&(this._pressed=!1,this.view.mapViewNavigation.stop())},i.prototype._handleKey=function(e,i){var t=this._keyMap[e.data.key];if(this._pressed=null!=t,this._pressed){if(i)switch(this.view.mapViewNavigation.begin(),t){case\"left\":this.view.mapViewNavigation.continousPanLeft();break;case\"right\":this.view.mapViewNavigation.continousPanRight();break;case\"up\":this.view.mapViewNavigation.continousPanUp();break;case\"down\":this.view.mapViewNavigation.continousPanDown()}else this._pressed=!1,this.view.mapViewNavigation.stop();e.stopPropagation()}},i}(n.InputHandler);i.KeyPan=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/InputHandler\"],function(e,t,i,n){Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(e){function t(t,i,n){var o,s=e.call(this,!0)||this;return s.view=t,s.keys=i,s._pressed=!1,s._keyToDirection=(o={},o[i.clockwiseOption1]=\"clockwise\",o[i.clockwiseOption2]=\"clockwise\",o[i.counterClockwiseOption1]=\"counterClockwise\",o[i.counterClockwiseOption2]=\"counterClockwise\",o[i.resetOption1]=\"reset\",o[i.resetOption2]=\"reset\",o),s.registerIncoming(\"key-down\",n,function(e){return s._handleKeyDown(e)}),s.registerIncoming(\"key-up\",n,function(e){return s._handleKeyUp(e)}),s.registerIncoming(\"blur\",n,function(){return s._handleBlur()}),s}return i(t,e),t.prototype._handleKeyDown=function(e){e.data.repeat||this._handleKey(e,!0)},t.prototype._handleKeyUp=function(e){this._handleKey(e,!1)},t.prototype._handleBlur=function(){this._pressed&&(this._pressed=!1,this.view.mapViewNavigation.stop())},t.prototype._handleKey=function(e,t){var i=e.modifiers;if(!(i.size>0&&!i.has(\"Shift\")||!this.view.constraints.rotationEnabled)){var n=this._keyToDirection[e.data.key];if(this._pressed=null!=n,this._pressed){if(t)switch(this.view.mapViewNavigation.begin(),n){case\"clockwise\":this.view.mapViewNavigation.continousRotateClockwise();break;case\"counterClockwise\":this.view.mapViewNavigation.continousRotateCounterclockwise();break;case\"reset\":this.view.mapViewNavigation.resetRotation()}else this._pressed=!1,this.view.mapViewNavigation.stop();e.stopPropagation()}}},t}(n.InputHandler);t.KeyRotate=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../../core/compilerUtils\",\"../../../input/InputHandler\"],function(e,o,n,t,i){Object.defineProperty(o,\"__esModule\",{value:!0});var r=function(e){function o(o,n,t){var i=e.call(this,!0)||this;return i.view=o,i.keys=n,i._keysToZoomAction={},i.registerIncoming(\"key-down\",t,function(e){return i._handleKeyDown(e)}),n.zoomIn.forEach(function(e){return i._keysToZoomAction[e]=0}),n.zoomOut.forEach(function(e){return i._keysToZoomAction[e]=1}),i}return n(o,e),o.prototype._handleKeyDown=function(e){this._handleKey(e)},o.prototype._handleKey=function(e){var o=e.modifiers;if(!(o.size>0)||o.has(\"Shift\")){var n=e.data.key;if(n in this._keysToZoomAction){var i=this._keysToZoomAction[n],r=this.view.mapViewNavigation,a=null;switch(i){case 0:a=r.zoomIn();break;case 1:a=r.zoomOut();break;default:return void t.neverReached(i)}r.begin(),a.then(function(){return r.end()}),e.stopPropagation()}}},o}(i.InputHandler);o.KeyZoom=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/InputHandler\"],function(e,n,o,t){Object.defineProperty(n,\"__esModule\",{value:!0});var i=function(e){function n(n,o){var t=e.call(this,!0)||this;return t.view=n,t._canZoom=!0,t.registerIncoming(\"mouse-wheel\",o,function(e){return t._handleMouseWheel(e)}),t}return o(n,e),n.prototype._handleMouseWheel=function(e){var n=this;if(this.view.navigation.mouseWheelZoomEnabled&&(e.preventDefault(),e.stopPropagation(),this._canZoom)){var o=this.view.mapViewNavigation,t=e.data,i=t.x,a=t.y,r=t.deltaY,u=1/Math.pow(.6,1/60*r),s=o.zoom(u,[i,a]);s&&(this._canZoom=!1,s.catch(function(){}).then(function(){n._canZoom=!0,o.end()}))}},n}(t.InputHandler);n.MouseWheelZoom=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/extendsHelper\",\"../../../input/DragEventSeparator\",\"../../../input/InputHandler\"],function(n,t,e,i,o){Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(n){function t(t){var e=n.call(this,!0)||this;e.view=t,e.registerIncoming(\"drag\",function(n){return e._handleDrag(n)}),e.registerIncoming(\"pointer-down\",function(){return e.stopMomentumNavigation()});var o=e.view.mapViewNavigation;return e.dragEventSeparator=new i.DragEventSeparator({start:function(n,t){o.pinch.begin(e.view,t.data),t.stopPropagation()},update:function(n,t){o.pinch.update(e.view,t.data),t.stopPropagation()},end:function(n,t){o.pinch.end(e.view),t.stopPropagation()},condition:function(n){return n>=2}}),e}return e(t,n),t.prototype._handleDrag=function(n){this.dragEventSeparator.handle(n)},t.prototype.stopMomentumNavigation=function(){this.view.mapViewNavigation.pinch.stopMomentumNavigation()},t}(o.InputHandler);t.PinchRotateAndZoom=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/maybe\",\"@dojo/framework/shim/Promise\"],function(e,n,r,t){function i(){return Promise.all([new Promise(function(n,r){e([\"../webgl\"],n,r)}),new Promise(function(n,r){e([\"./engine\"],n,r)})])}function o(e){var n=e.declaredClass?e.declaredClass.slice(e.declaredClass.lastIndexOf(\".\")+1):\"Unknown\",t=n.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase();return new r(t+\":view-not-supported\",n+\" is not supported in 2D\")}Object.defineProperty(n,\"__esModule\",{value:!0});var u=function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/TileLayerView2D\"],n,r)})})},a=function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/FeatureLayerView2D\"],n,r)})})},s={\"base-dynamic\":function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/BaseDynamicLayerView2D\"],n,r)})})},\"base-tile\":u,\"bing-maps\":u,csv:a,\"geo-rss\":function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/GeoRSSLayerView2D\"],n,r)})})},feature:a,geojson:a,graphics:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/GraphicsLayerView2D\"],n,r)})})},group:function(){return i().then(function(){return new Promise(function(n,r){e([\"../layers/GroupLayerView\"],n,r)})})},imagery:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/ImageryLayerView2D\"],n,r)})})},kml:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/KMLLayerView2D\"],n,r)})})},\"map-image\":function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/MapImageLayerView2D\"],n,r)})})},\"map-notes\":function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/MapNotesLayerView2D\"],n,r)})})},\"open-street-map\":u,stream:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/StreamLayerView2D\"],n,r)})})},tile:u,\"vector-tile\":function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/VectorTileLayerView2D\"],n,r)})})},\"web-tile\":u,wms:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/WMSLayerView2D\"],n,r)})})},wmts:function(){return i().then(function(){return new Promise(function(n,r){e([\"./layers/WMTSLayerView2D\"],n,r)})})},\"base-elevation\":null,\"building-scene\":null,elevation:null,\"integrated-mesh\":null,\"point-cloud\":null,scene:null,unknown:null,unsupported:null};n.layerView2DImporter={hasLayerViewModule:function(e){return t.isSome(s[e.type])},importLayerView:function(e){var n=s[e.type];if(!t.isSome(n))throw o(e);return n(e)}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/generatorHelper\",\"../../../../core/tsSupport/awaiterHelper\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/Error\",\"../../../../core/Logger\",\"../../../../core/maybe\",\"../../../../core/MD5\",\"../../../../renderers/visualVariables/SizeVariable\",\"../../../../renderers/visualVariables/support/SizeStop\",\"../../engine\"],function(e,r,i,t,n,a,l,s,u,o,c,d){function p(e,r,i){switch(e){case\"avg\":case\"avg_angle\":return\"cluster_avg_\"+r;case\"mode\":return\"cluster_type_\"+r;case\"norm\":var t=i,n=r.toLowerCase()+\",norm:field,\"+t.toLowerCase();return\"cluster_avg_\"+u.createMD5Hash(n)}}function f(e,r,i,t){var n=p(i,r,t);return e.some(function(e){return e.name===n})||(\"norm\"===i?e.push({name:n,outStatistic:{onStatisticField:r,onStatisticNormalizationField:t,statisticType:i}}):e.push({name:n,outStatistic:{onStatisticField:r,statisticType:i}})),n}var v=this;Object.defineProperty(r,\"__esModule\",{value:!0});var m=l.getLogger(\"esri.views.2d.layers.support.clusterUtils\");r.createClusterRenderer=function(e,n,a,l,u){return t(v,void 0,void 0,function(){var t,n,o;return i(this,function(i){if(t=a.clone(),!r.isClusterCompatibleRenderer(t))return[2,t];switch(n=\"visualVariables\"in t&&t.visualVariables||[],o=r.findSizeVV(n),n.forEach(function(r){\"rotation\"===r.type?r.field=f(e,r.field,\"avg_angle\"):r.normalizationField?(r.field=f(e,r.field,\"norm\",r.normalizationField),r.normalizationField=null):r.field&&(r.field=f(e,r.field,\"avg\"))}),s.isNone(o)&&n.push(r.createClusterCountSizeVariable(l,u)),t.type){case\"simple\":break;case\"unique-value\":t.field&&(t.field=f(e,t.field,\"mode\"));break;case\"class-breaks\":t.normalizationField?(t.field=f(e,t.field,\"norm\",t.normalizationField),t.normalizationField=null):t.field=f(e,t.field,\"avg\")}return t.visualVariables=n,[2,t]})})},r.findSizeVV=function(e){for(var r=0,i=e;r<i.length;r++){var t=i[r];if(\"size\"===t.type)return t}return null},r.getActiveSizeStops=function(e,r){var i=e.featuresTilingScheme.getClosestInfoForScale(e.scale),t=i.level;return r.levels?r.levels[t]:null},r.createClusterCountSizeVariable=function(e,r){var i=[new c({value:0,size:0}),new c({value:1})];if(s.isNone(r))return new o({field:\"cluster_count\",stops:i.concat([new c({value:2,size:0})])});var t=Object.keys(r).reduce(function(e,t){var a;return n({},e,(a={},a[t]=i.concat([new c({value:Math.max(2,r[t].minValue),size:\"12px\"}),new c({value:Math.max(3,r[t].maxValue),size:\"50px\"})]),a))},{});return new d.LevelDependentSizeVariable({field:\"cluster_count\",levels:t})},r.isClusterCompatibleRenderer=function(e){var r=function(r){return m.error(new a(\"Unsupported-renderer\",r,{renderer:e}))};if(\"valueExpression\"in e&&e.valueExpression)return r(\"FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release\"),!1;if(\"unique-value\"===e.type){if(e.field2||e.field3)return r(\"FeatureReductionCluster does not support multi-field UniqueValueRenderers\"),!1}else if(\"class-breaks\"===e.type){if(e.normalizationField){var i=e.normalizationType;if(\"field\"!==i)return r(\"FeatureReductionCluster does not support a normalizationType of \"+i),!1}}else if(\"simple\"!==e.type)return r(\"FeatureReductionCluster does not support renderers of type \"+e.type),!1;return!(\"visualVariables\"in e&&e.visualVariables||[]).some(function(e){return!!(\"valueExpression\"in e&&e.valueExpression)})||(r(\"FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release\"),!1)}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../Color\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\"],function(o,r,e,t,p,l,i){var c=0;return function(o){function r(){var r=null!==o&&o.apply(this,arguments)||this;return r.color=new p([0,255,255]),r.haloOpacity=1,r.fillOpacity=.25,r}return e(r,o),Object.defineProperty(r.prototype,\"version\",{get:function(){return c++},enumerable:!0,configurable:!0}),t([i.property({readOnly:!0,dependsOn:[\"color\",\"haloColor\",\"haloOpacity\",\"fillOpacity\"]})],r.prototype,\"version\",null),t([i.property({type:p})],r.prototype,\"color\",void 0),t([i.property({type:p})],r.prototype,\"haloColor\",void 0),t([i.property()],r.prototype,\"haloOpacity\",void 0),t([i.property()],r.prototype,\"fillOpacity\",void 0),r=t([i.subclass(\"esri.views.2d.support.HighlightOptions\")],r)}(i.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/accessorSupport/decorators\"],function(e,r,s,t,n){Object.defineProperty(r,\"__esModule\",{value:!0});var i=function(e){return-1!==e.indexOf(\"Brush\")},o=function(){function e(){this._names=new Map}return e.prototype.begin=function(e){this._names.has(e)||(this._names.set(e,!1),i(e)&&this.record(\"Esri.FirstDraw\"),performance.mark(\"Esri.\"+e+\".Start\"))},e.prototype.end=function(e){this._names.has(e)&&!this._names.get(e)&&(this._names.set(e,!0),performance.mark(\"Esri.\"+e+\".End\"))},e.prototype.record=function(e){this._names.has(e)||(this._names.set(e,!0),performance.mark(\"Esri.\"+e))},e=s([n.subclass(\"esri.views.2d.support.Timeline\")],e)}();r.Timeline=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./tiling/TileInfoView\",\"./tiling/TileKey\",\"./tiling/TileQueue\",\"./tiling/TileStrategy\"],function(e,i,l,t,n,u){Object.defineProperty(i,\"__esModule\",{value:!0}),i.TileInfoView=l,i.TileKey=t,i.TileQueue=n,i.TileStrategy=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../geometry/support/spatialReferenceUtils\",\"./TileKey\"],function(t,o,r,i){function e(t,o){return[t,o]}function n(t,o,r){return t[0]=o,t[1]=r,t}function s(t,o,r,i,e){return t[0]=o,t[1]=r,t[2]=i,t[3]=e,t}var l=new i(\"0/0/0/0\");return function(){function t(t,o,r,i,e,n,s,l,h,u,a,p){this.level=t,this.resolution=o,this.scale=r,this.origin=i,this.first=e,this.last=n,this.size=s,this.norm=l,this.worldStart=h,this.worldEnd=u,this.worldSize=a,this.wrap=p}return t.create=function(o,i,s){var l=r.getInfo(o.spatialReference),h=e(o.origin.x,o.origin.y),u=e(o.size[0]*i.resolution,o.size[1]*i.resolution),a=e(-1/0,-1/0),p=e(1/0,1/0),f=e(1/0,1/0);s&&(n(a,Math.max(0,Math.floor((s.xmin-h[0])/u[0])),Math.max(0,Math.floor((h[1]-s.ymax)/u[1]))),n(p,Math.max(0,Math.floor((s.xmax-h[0])/u[0])),Math.max(0,Math.floor((h[1]-s.ymin)/u[1]))),n(f,p[0]-a[0]+1,p[1]-a[1]+1));var c,g,m,w;return o.isWrappable?(c=e(Math.ceil(Math.round(2*l.origin[1]/i.resolution)/o.size[0]),f[1]),g=e(Math.floor((l.origin[0]-h[0])/u[0]),a[1]),m=e(c[0]+g[0]-1,p[1]),w=!0):(g=a,m=p,c=f,w=!1),new t(i.level,i.resolution,i.scale,h,a,p,f,u,g,m,c,w)},t.prototype.normalizeCol=function(t){if(!this.wrap)return t;var o=this.worldSize[0];return t<0?o-1-Math.abs((t+1)%o):t%o},t.prototype.denormalizeCol=function(t,o){return this.wrap?this.worldSize[0]*o+t:t},t.prototype.getWorldForColumn=function(t){return this.wrap?Math.floor(t/this.worldSize[0]):0},t.prototype.getFirstColumnForWorld=function(t){return t*this.worldSize[0]+this.first[0]},t.prototype.getLastColumnForWorld=function(t){return t*this.worldSize[0]+this.first[0]+this.size[0]-1},t.prototype.getColumnForX=function(t){return(t-this.origin[0])/this.norm[0]},t.prototype.getXForColumn=function(t){return this.origin[0]+t*this.norm[0]},t.prototype.getRowForY=function(t){return(this.origin[1]-t)/this.norm[1]},t.prototype.getYForRow=function(t){return this.origin[1]-t*this.norm[1]},t.prototype.getTileBounds=function(t,o,r){void 0===r&&(r=!1),l.set(o);var i=r?l.col:this.denormalizeCol(l.col,l.world),e=l.row;return s(t,this.getXForColumn(i),this.getYForRow(e+1),this.getXForColumn(i+1),this.getYForRow(e)),t},t.prototype.getTileCoords=function(t,o,r){void 0===r&&(r=!1),l.set(o);var i=r?l.col:this.denormalizeCol(l.col,l.world);return Array.isArray(t)?n(t,this.getXForColumn(i),this.getYForRow(l.row)):(t.x=this.getXForColumn(i),t.y=this.getYForRow(l.row)),t},t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/libs/gl-matrix-2/vec2\"],function(e,t,i){function r(e,t){e.delete(t)}Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(e,t,i){this.maxSize=e,this.tileInfoView=t,this.removedFunc=i,this._tilePerId=new Map,this._tileKeysPerLevel=[]}return e.prototype.has=function(e){return this._tilePerId.has(e)},e.prototype.get=function(e){return this._tilePerId.get(e)},e.prototype.pop=function(e){var t=this._tilePerId.get(e);if(!t)return null;var i=t.key.level,n=this._tileKeysPerLevel[i];r(this._tilePerId,e);for(var s=0;s<n.length;s++)if(n[s].id===e){n.splice(s,1);break}return t.visible=!0,t},e.prototype.add=function(e){e.visible=!1;var t=e.key,i=t.id;if(!this._tilePerId.has(i)){this._tilePerId.set(i,e);var r=t.level;this._tileKeysPerLevel[r]||(this._tileKeysPerLevel[r]=[]),this._tileKeysPerLevel[r].push(t)}},e.prototype.prune=function(e,t,i){var r=this._tilePerId.size;if(!(r<=this.maxSize)){for(var n=this._tileKeysPerLevel.length-1;r>this.maxSize&&n>=0;)n!==e&&(r=this._pruneAroundCenterTile(r,t,i,n)),n--;r>this.maxSize&&(r=this._pruneAroundCenterTile(r,t,i,e))}},e.prototype._pruneAroundCenterTile=function(e,t,r,n){var s=this._tileKeysPerLevel[n];if(!s||0===s.length)return e;var l=this.tileInfoView.tileInfo,o=l.size,h=l.origin,u=r*o[0],v=r*o[1],a=[0,0],d=[0,0];for(s.sort(function(e,r){return a[0]=h.x+u*(e.col+.5),a[1]=h.y-v*(e.row+.5),d[0]=h.x+u*(r.col+.5),d[1]=h.y-v*(r.row+.5),i.vec2.squaredDistance(a,t)-i.vec2.squaredDistance(d,t)});s.length>0;){var f=s.pop();if(this._removeTile(f.id),--e===this.maxSize)break}return e},e.prototype._removeTile=function(e){var t=this._tilePerId.get(e);this.removedFunc&&this.removedFunc(t),r(this._tilePerId,e)},e}();t.default=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/ObjectPool\"],function(o,n,r){return function(){function o(o){this.lodInfo=o,this.spans=[]}return o.prototype.release=function(){},o.prototype.forEach=function(o,n){var r=this,e=r.spans,t=r.lodInfo,l=t.level;if(0!==e.length)for(var f=0,i=e;f<i.length;f++)for(var c=i[f],a=c.row,s=c.colFrom,u=c.colTo,p=s;p<=u;p++)o.call(n,l,a,t.normalizeCol(p),t.getWorldForColumn(p))},o.pool=new r(o,!0),o}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../geometry/support/spatialReferenceUtils\",\"./LODInfo\",\"./TileCoverage\",\"./TileKey\",\"./TileSpan\"],function(e,t,o,r,i,n,l){var s=new n(\"0/0/0/0\"),a=function(){function e(e,t,o,r,i,n,l,s){this.x=e,this.ymin=t,this.ymax=o,this.invM=r,this.leftAdjust=i,this.rightAdjust=n,this.leftBound=l,this.rightBound=s}return e.create=function(t,o){var r;t[1]>o[1]&&(r=[o,t],t=r[0],o=r[1]);var i=t[0],n=t[1],l=o[0],s=o[1],a=l-i,f=s-n,u=0!==f?a/f:0,h=(Math.ceil(n)-n)*u,c=(Math.floor(n)-n)*u;return new e(i,Math.floor(n),Math.ceil(s),u,a<0?h:c,a<0?c:h,a<0?l:i,a<0?i:l)},e.prototype.incrRow=function(){this.x+=this.invM},e.prototype.getLeftCol=function(){return Math.max(this.x+this.leftAdjust,this.leftBound)},e.prototype.getRightCol=function(){return Math.min(this.x+this.rightAdjust,this.rightBound)},e}(),f=[[0,0],[0,0],[0,0],[0,0]];return function(){function e(e,t){var o=this;this.tileInfo=e,this.fullExtent=t,this.scales=[],this._lodInfos=null,this._infoByScale={},this._infoByLevel={};var i=e.lods.slice();i.sort(function(e,t){return t.scale-e.scale});var n=this._lodInfos=i.map(function(o){return r.create(e,o,t)});i.forEach(function(e,t){o._infoByLevel[e.level]=n[t],o._infoByScale[e.scale]=n[t],o.scales[t]=e.scale},this),this._wrap=e.isWrappable}return Object.defineProperty(e.prototype,\"spatialReference\",{get:function(){return this.tileInfo.spatialReference},enumerable:!0,configurable:!0}),e.prototype.getLODInfoAt=function(e){return this._infoByLevel[\"number\"==typeof e?e:e.level]},e.prototype.getTileBounds=function(e,t,o){void 0===o&&(o=!1),s.set(t);var r=this._infoByLevel[s.level];return r?r.getTileBounds(e,s,o):e},e.prototype.getTileCoords=function(e,t,o){void 0===o&&(o=!1),s.set(t);var r=this._infoByLevel[s.level];return r?r.getTileCoords(e,s,o):e},e.prototype.getTileCoverage=function(e,t,o){void 0===t&&(t=192),void 0===o&&(o=\"closest\");var r,n,s,u=\"closest\"===o?this.getClosestInfoForScale(e.scale):this.getSmallestInfoForScale(e.scale),h=i.pool.acquire(u),c=this._wrap,v=1/0,p=-1/0,y=h.spans;f[0][0]=f[0][1]=f[1][1]=f[3][0]=-t,f[1][0]=f[2][0]=e.size[0]+t,f[2][1]=f[3][1]=e.size[1]+t;for(var g=0,d=f;g<d.length;g++){var m=d[g];e.toMap(m,m),m[0]=u.getColumnForX(m[0]),m[1]=u.getRowForY(m[1])}for(var _=[],B=3,w=0;w<4;w++)if(f[w][1]!==f[B][1]){var M=a.create(f[w],f[B]);v=Math.min(M.ymin,v),p=Math.max(M.ymax,p),void 0===_[M.ymin]&&(_[M.ymin]=[]),_[M.ymin].push(M),B=w}else B=w;if(null==v||null==p||p-v>100)return null;var S=[];for(r=v;r<p;){null!=_[r]&&(S=S.concat(_[r])),n=1/0,s=-1/0;for(var w=S.length-1;w>=0;w--){var M=S[w];n=Math.min(n,M.getLeftCol()),s=Math.max(s,M.getRightCol())}if(n=Math.floor(n),s=Math.floor(s),r>=u.first[1]&&r<=u.last[1])if(c)if(u.size[0]<u.worldSize[0])for(var C=Math.floor(s/u.worldSize[0]),w=Math.floor(n/u.worldSize[0]);w<=C;w++)y.push(new l(r,Math.max(u.getFirstColumnForWorld(w),n),Math.min(u.getLastColumnForWorld(w),s)));else y.push(new l(r,n,s));else n>u.last[0]||s<u.first[0]||(n=Math.max(n,u.first[0]),s=Math.min(s,u.last[0]),y.push(new l(r,n,s)));r+=1;for(var w=S.length-1;w>=0;w--){var M=S[w];M.ymax>=r?M.incrRow():S.splice(w,1)}}return h},e.prototype.getTileParentId=function(e){s.set(e);var t=this._infoByLevel[s.level],o=this._lodInfos.indexOf(t)-1;return o<0?null:(this._getTileIdAtLOD(s,this._lodInfos[o],s),s.id)},e.prototype.getTileResolution=function(e){var t=this._infoByLevel[\"object\"==typeof e?e.level:e];return t?t.resolution:-1},e.prototype.getTileScale=function(e){var t=this._infoByLevel[e.level];return t?t.scale:-1},e.prototype.intersects=function(e,t){s.set(t);var o=this._infoByLevel[s.level],r=e.lodInfo;if(r.resolution>o.resolution){this._getTileIdAtLOD(s,r,s);for(var i=r.denormalizeCol(s.col,s.world),n=0,l=e.spans;n<l.length;n++){var a=l[n];if(a.row===s.row&&a.colFrom<=i&&a.colTo>=i)return!0}}if(r.resolution<o.resolution){var f=e.spans.reduce(function(e,t){return e[0]=Math.min(e[0],t.row),e[1]=Math.max(e[1],t.row),e[2]=Math.min(e[2],t.colFrom),e[3]=Math.max(e[3],t.colTo),e},[1/0,-1/0,1/0,-1/0]),u=f[0],h=f[1],c=f[2],v=f[3],p=o.denormalizeCol(s.col,s.world),y=r.getColumnForX(o.getXForColumn(p)),g=r.getRowForY(o.getYForRow(s.row)),d=r.getColumnForX(o.getXForColumn(p+1))-1,m=r.getRowForY(o.getYForRow(s.row+1))-1;return!(y>v||d<c||g>h||m<u)}var _=r.denormalizeCol(s.col,s.world);return e.spans.some(function(e){return e.row===s.row&&e.colFrom<=_&&e.colTo>=_})},e.prototype.normalizeBounds=function(e,t,r){if(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this._wrap){var i=o.getInfo(this.tileInfo.spatialReference),n=-r*(i.valid[1]-i.valid[0]);e[0]+=n,e[2]+=n}return e},e.prototype.getSmallestInfoForScale=function(e){var t=this.scales;if(this._infoByScale[e])return this._infoByScale[e];if(e>t[0])return this._infoByScale[t[0]];for(var o=1;o<t.length-1;o++)if(e>t[o]+1e-6)return this._infoByScale[t[o-1]];return this._infoByScale[t[t.length-1]]},e.prototype.getClosestInfoForScale=function(e){var t=this.scales;return this._infoByScale[e]?this._infoByScale[e]:(e=t.reduce(function(t,o){return Math.abs(o-e)<Math.abs(t-e)?o:t},t[0]),this._infoByScale[e])},e.prototype.scaleToLevel=function(e){var t=this.scales;if(this._infoByScale[e])return this._infoByScale[e].level;for(var o=t.length-1;o>=0;o--)if(e<t[o]){if(o===t.length-1)return this._infoByScale[t[t.length-1]].level;var r=this._infoByScale[t[o]].level;return r+(t[o]-e)/(t[o]-t[o+1])}return this._infoByScale[t[0]].level},e.prototype.scaleToZoom=function(e){return this.tileInfo.scaleToZoom(e)},e.prototype._getTileIdAtLOD=function(e,t,o){var r=this._infoByLevel[o.level];return e.set(o),t.resolution<r.resolution?null:t.resolution===r.resolution?e:(e.level=t.level,e.col=Math.floor(o.col*r.resolution/t.resolution+.01),e.row=Math.floor(o.row*r.resolution/t.resolution+.01),e)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/ObjectPool\"],function(t,e,o){return function(){function t(t,e,o,r){this.set(t,e,o,r)}return t.getId=function(t,e,o,r){return\"object\"==typeof t?t.level+\"/\"+t.row+\"/\"+t.col+\"/\"+t.world:t+\"/\"+e+\"/\"+o+\"/\"+r},Object.defineProperty(t.prototype,\"key\",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"id\",{get:function(){return this.toString()},enumerable:!0,configurable:!0}),t.prototype.equals=function(t){return this.level===t.level&&this.row===t.row&&this.col===t.col&&this.world===t.world},t.prototype.release=function(){this.level=0,this.row=0,this.col=0,this.world=0},t.prototype.set=function(t,e,o,r){if(null==t)this.level=0,this.row=0,this.col=0,this.world=0;else if(\"object\"==typeof t)this.level=t.level||0,this.row=t.row||0,this.col=t.col||0,this.world=t.world||0;else if(\"string\"==typeof t){var l=t.split(\"/\"),i=l[0],s=l[1],n=l[2],h=l[3];this.level=parseFloat(i),this.row=parseFloat(s),this.col=parseFloat(n),this.world=parseFloat(h)}else this.level=+t,this.row=+e,this.col=+o,this.world=+r||0;return this},t.prototype.toString=function(){return this.level+\"/\"+this.row+\"/\"+this.col+\"/\"+this.world},t.prototype.getChildKeys=function(){var e=this.level+1,o=this.row<<1,r=this.col<<1,l=this.world;return[new t(e,o,r,l),new t(e,o,r+1,l),new t(e,o+1,r,l),new t(e,o+1,r+1,l)]},t.prototype.compareRowMajor=function(t){return this.row<t.row?-1:this.row>t.row?1:this.col<t.col?-1:this.col>t.col?1:0},t.pool=new o(t,!0,null,25,50),t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/generatorHelper\",\"../../../core/tsSupport/awaiterHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\",\"../../../core/libs/gl-matrix-2/vec2\",\"../../support/QueueProcessor\"],function(e,t,r,o,n,i,s,u,p,a){function c(e,t){return e.length=0,t.forEach(function(t){return e.push(t)}),e}var h=new Set,y=[],l=new Map,f=[0,0];return function(e){function t(t){var r=e.call(this,t)||this;return r._keyToItem=new Map,r.concurrency=6,r.strategy=\"scale-first\",r.tileInfoView=null,r}return r(t,e),t.prototype.initialize=function(){var e=this,t=this,r=t.concurrency,o=t.process,n=t.strategy,i=\"scale-first\"===n?this._peekByScaleFirst.bind(this):this._peekByCenterFirst.bind(this);this._queue=new a.QueueProcessor({concurrency:r,process:function(t,r){var n=e._keyToItem.get(t);return o(n,{signal:r})},peeker:i})},t.prototype.destroy=function(){this.clear(),this._queue.destroy(),this._queue=null},Object.defineProperty(t.prototype,\"length\",{get:function(){return this._queue?this._queue.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"onGoingCount\",{get:function(){return this._keyToItem.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"updating\",{get:function(){return this.length>0||this.onGoingCount>0},enumerable:!0,configurable:!0}),t.prototype.abort=function(e){var t=\"string\"==typeof e?e:e.id;this._queue.abort(t)},t.prototype.clear=function(){this._queue.clear(),this._keyToItem.clear(),this.notifyChange(\"updating\")},t.prototype.get=function(e){var t=\"string\"==typeof e?e:e.id;return this._queue.get(t)},t.prototype.has=function(e){return\"string\"==typeof e?this._keyToItem.has(e):this._keyToItem.has(e.id)},t.prototype.isOngoing=function(e){var t=\"string\"==typeof e?e:e.id;return this.has(t)&&this._queue.isOngoing(t)},t.prototype.pause=function(){this._queue.pause()},t.prototype.push=function(e){return i(this,void 0,void 0,function(){var t,r,o,i=this;return n(this,function(n){return t=e.key.id,this.has(t)?[2,this.get(t)]:(r=this._queue.push(t),o=function(){i._keyToItem.delete(t),i.notifyChange(\"updating\")},this._keyToItem.set(t,e),r.then(o,o),this.notifyChange(\"updating\"),[2,r])})})},t.prototype.reset=function(){this._queue.reset(),this.notifyChange(\"updating\")},t.prototype.resume=function(){this._queue.resume()},t.prototype._peekByScaleFirst=function(e){if(!this.state)return e[0];for(var t=this.tileInfoView,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,n=0,i=e;n<i.length;n++){var s=i[n],u=this._keyToItem.get(s),p=this.tileInfoView.getTileScale(u.key);l.has(p)||(l.set(p,[]),r=Math.max(p,r),o=Math.min(p,o)),l.get(p).push(u.key),h.add(p)}var a=this.state.scale;l.has(a)||(c(y,h),y.sort(),a=y.reduce(function(e,t){return Math.abs(t-a)<Math.abs(e-a)?t:e},y[0])),a=Math.min(a,r),a=Math.max(a,o);var f=l.get(a),g=t.getClosestInfoForScale(a),d=g.getColumnForX(this.state.center[0]),I=g.getRowForY(this.state.center[1]);return f.sort(function(e,t){var r=g.denormalizeCol(e.col,e.world),o=g.denormalizeCol(t.col,t.world);return Math.sqrt((d-r)*(d-r)+(I-e.row)*(I-e.row))-Math.sqrt((d-o)*(d-o)+(I-t.row)*(I-t.row))}),h.clear(),l.clear(),f[0].id},t.prototype._peekByCenterFirst=function(e){if(!this.state)return e[0];for(var t=this.tileInfoView,r=this.state.center,o=Number.POSITIVE_INFINITY,n=null,i=0,s=e;i<s.length;i++){var u=s[i],a=this._keyToItem.get(u);t.getTileCoords(f,a.key);var c=p.vec2.distance(f,r);c<o&&(o=c,n=a.key)}return n.id},o([u.property({constructOnly:!0})],t.prototype,\"concurrency\",void 0),o([u.property({constructOnly:!0})],t.prototype,\"process\",void 0),o([u.property()],t.prototype,\"state\",void 0),o([u.property({constructOnly:!0})],t.prototype,\"strategy\",void 0),o([u.property({constructOnly:!0})],t.prototype,\"tileInfoView\",void 0),o([u.property({readOnly:!0})],t.prototype,\"updating\",null),t=o([u.subclass(\"esri.views.2d.tiling.TileQueue\")],t)}(u.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/ObjectPool\"],function(o,e,n){return function(){function o(o,e,n){this.row=o,this.colFrom=e,this.colTo=n}return o.pool=new n(o,!0),o}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"./TileCache\",\"./TileCoverage\",\"./TileKey\"],function(e,i,t,l,s,a){function r(e,i){e.delete(i)}var h=new a(0,0,0,0),n=new Map,o=[],c=[];return function(){function e(e){var i=this;this._previousScale=Number.POSITIVE_INFINITY,this.cachePolicy=\"keep\",this.coveragePolicy=\"closest\",this.resampling=!0,this.tileIndex=new Map,this.tiles=[],this.buffer=192,this.acquireTile=e.acquireTile,this.releaseTile=e.releaseTile,this.tileInfoView=e.tileInfoView,this.resampling=null==e.resampling||!!e.resampling,e.cachePolicy&&(this.cachePolicy=e.cachePolicy),e.coveragePolicy&&(this.coveragePolicy=e.coveragePolicy),null!=e.buffer&&(this.buffer=e.buffer),e.cacheSize&&(this._tileCache=new l.default(e.cacheSize,this.tileInfoView,function(e){i.releaseTile(e)}))}return e.prototype.destroy=function(){this.tileIndex.clear()},e.prototype.update=function(e){var i=this,t=this,l=t.resampling,a=t.tileIndex,f=this.tileInfoView.getTileCoverage(e.state,this.buffer,this.coveragePolicy);if(c.length=0,o.length=0,n.clear(),f){var u=this.tileInfoView.tileInfo,d=u.minScale,p=u.maxScale,v=f.spans,g=f.lodInfo,y=g.level,I=e.state,T=I.scale,_=I.center,C=I.resolution,P=!e.stationary&&T>this._previousScale;if(this._previousScale=T,this.tiles.length=0,!l&&(T>d||T<p))return this.tiles.length=0,n.clear(),a.forEach(function(e){i.releaseTile(e)}),a.clear(),c.length=0,o.length=0,n.clear(),s.pool.release(f),!0;a.forEach(function(e){return e.visible=!0});var w=0,x=0;if(v.length>0)for(var b=0,m=v;b<m.length;b++)for(var k=m[b],S=k.row,V=k.colFrom,E=k.colTo,R=V;R<=E;R++){w++;var q=h.set(y,S,g.normalizeCol(R),g.getWorldForColumn(R)).id;if(a.has(q)){var z=a.get(q);z.isReady?(n.set(q,z),x++):P||this._addParentTile(q,n)}else{var z=void 0;if(this._tileCache&&this._tileCache.has(q)){if(z=this._tileCache.pop(q),this.tileIndex.set(q,z),z.isReady){n.set(q,z),x++;continue}}else z=this.acquireTile(h),this.tileIndex.set(q,z);P||this._addParentTile(q,n)}}var F=x===w;a.forEach(function(e,t){if(h.set(t),!n.has(t)){var l=i.tileInfoView.intersects(f,h);if(!l||!P&&F)if(\"purge\"===i.cachePolicy){var s=h.level!==y;!s&&l||o.push(t)}else(h.level>y||!l)&&o.push(t);else e.isReady?c.push(t):h.level>y&&o.push(t)}});for(var N=0,M=c;N<M.length;N++){var q=M[N],z=a.get(q);z&&z.isReady&&n.set(q,z)}for(var H=0,K=o;H<K.length;H++){var q=K[H],z=a.get(q);this._tileCache?this._tileCache.add(z):this.releaseTile(z),r(a,q)}return n.forEach(function(e){return i.tiles.push(e)}),a.forEach(function(e){n.has(e.key.id)||(e.visible=!1)}),this._tileCache&&this._tileCache.prune(y,_,C),s.pool.release(f),F}},e.prototype.clear=function(e){var i=this;void 0===e&&(e=!0);var t=this.tileIndex;e&&t.forEach(function(e){i.releaseTile(e)}),t.clear()},e.prototype._addParentTile=function(e,i){for(var t=e,l=null;;){if(!(t=this.tileInfoView.getTileParentId(t)))break;if(this.tileIndex.has(t)){if((l=this.tileIndex.get(t))&&l.isReady){i.has(l.key.id)||i.set(l.key.id,l);break}}else if(this._tileCache&&this._tileCache.has(t)&&(l=this._tileCache.pop(t),this.tileIndex.set(t,l),l&&l.isReady)){i.has(l.key.id)||i.set(l.key.id,l);break}}},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/*\n * Copyright (C) 2008 Apple Inc. All Rights Reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\ndefine([],function(){var n=function(n,e,r,t){function u(n){return((c*n+s)*n+o)*n}function a(n){return((p*n+b)*n+l)*n}function i(n){return(3*c*n+2*s)*n+o}function f(n,e){var r,t,a,f,o,s;for(e=null==e?1e-6:e,a=n,s=0;s<8;s++){if(f=u(a)-n,Math.abs(f)<e)return a;if(o=i(a),Math.abs(o)<1e-6)break;a-=f/o}if(r=0,t=1,(a=n)<r)return r;if(a>t)return t;for(;r<t;){if(f=u(a),Math.abs(f-n)<e)return a;n>f?r=a:t=a,a=.5*(t-r)+r}return a}var o=3*n,s=3*(r-n)-o,c=1-o-s,l=3*e,b=3*(t-e)-l,p=1-l-b;return function(n,e){return a(f(n,e))}},e=/^cubic-bezier\\((.*)\\)/;return n.parse=function(r){var t=n[r]||null;if(!t){var u=e.exec(r);if(u){var a=u[1].split(\",\").map(function(n){return parseFloat(n.trim())});4!==a.length||a.some(function(n){return isNaN(n)})||(t=n.apply(n,a))}}return t},n.ease=n(.25,.1,.25,1),n.linear=n(0,0,1,1),n.easeIn=n[\"ease-in\"]=n(.42,0,1,1),n.easeOut=n[\"ease-out\"]=n(0,0,.58,1),n.easeInOut=n[\"ease-in-out\"]=n(.42,0,.58,1),n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../Viewpoint\",\"../../core/Collection\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../../core/unitUtils\",\"../../core/wgs84Constants\",\"../../core/libs/gl-matrix-2/common\",\"../../core/libs/gl-matrix-2/mat2d\",\"../../core/libs/gl-matrix-2/mat2df64\",\"../../core/libs/gl-matrix-2/vec2\",\"../../core/libs/gl-matrix-2/vec2f64\",\"../../geometry/Extent\",\"../../geometry/Geometry\",\"../../geometry/Point\",\"../../geometry/SpatialReference\",\"../../geometry/support/spatialReferenceUtils\",\"../../geometry/support/webMercatorUtils\",\"../../geometry/support/webMercatorUtils\"],function(e,t,r,n,a,c,o,i,s,u,l,f,m,v,y,g,d,p,x,b,h,M){function w(e,t,r){var n=l.common.toDegree(t[0]/X);return v.vec2.set(e,r?n:n-360*Math.floor((n+180)/360),l.common.toDegree(.5*Math.PI-2*Math.atan(Math.exp(-1*t[1]/X))))}function S(e,t){var r=t[1];return r>89.99999?r=89.99999:r<-89.99999&&(r=-89.99999),r=Math.sin(l.common.toRadian(r)),v.vec2.set(e,l.common.toRadian(t[0])*X,.5*X*Math.log((1+r)/(1-r)))}function R(e,t,r,n){return n&&r&&!n.equals(r)&&h.canProject(n,r)&&n.isWebMercator?n.isWebMercator?S(e,t):w(e,t):v.vec2.copy(e,t)}function A(e){return e.wkid?e:e.spatialReference||x.WGS84}function G(e,t){return t.type?v.vec2.set(e,t.x,t.y):v.vec2.copy(e,t)}function P(e){return s.getMetersPerUnitForSR(e)}function j(e,t){return Math.max(e.width/t[0],e.height/t[1])*E(e.spatialReference)}function T(e,t,a,s){return n(this,void 0,void 0,function(){var n,u,l,f,m,v,y,x,b,M,w,S,R,A,G,P,j,B,z,x,k,q,F,N,V,W,I,O,E;return r(this,function(r){switch(r.label){case 0:if(!e)return[2,null];if(Array.isArray(e)&&!e.length)return[2,null];if(c.isCollection(e)&&(e=e.toArray()),!Array.isArray(e)||!e.length||\"object\"!=typeof e[0])return[3,7];if(u=e.every(function(e){return\"attributes\"in e}),l=e.some(function(e){return!e.geometry}),f=e,!(u&&l&&t&&t.allLayerViews))return[3,2];for(m=new Map,v=0,y=e;v<y.length;v++)x=y[v],b=x.layer,M=m.get(b)||[],w=x.attributes[b.objectIdField],null!=w&&M.push(w),m.set(b,M);return S=[],m.forEach(function(e,r){var n=t.allLayerViews.find(function(e){return e.layer.id===r.id});if(\"queryFeatures\"in n){var a=r.createQuery();a.objectIds=e,a.returnGeometry=!0,S.push(n.queryFeatures(a))}}),[4,i.all(S)];case 1:for(R=r.sent(),A=[],G=0,P=R;G<P.length;G++)if((j=P[G])&&j.features&&j.features.length)for(B=0,z=j.features;B<z.length;B++)x=z[B],o.isSome(x.geometry)&&A.push(x.geometry);f=A,r.label=2;case 2:k=0,q=f,r.label=3;case 3:return k<q.length?(F=q[k],[4,T(F,t,a,s)]):[3,6];case 4:s=r.sent(),r.label=5;case 5:return k++,[3,3];case 6:return[2,s];case 7:return Array.isArray(e)&&2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]?(n=new p(e),[3,12]):[3,8];case 8:return e instanceof d?(n=e,[3,12]):[3,9];case 9:return\"geometry\"in e?e.geometry?(n=e.geometry,[3,12]):[3,10]:[3,12];case 10:return e.layer?(N=e.layer,\"queryFeatures\"in(V=t.allLayerViews.find(function(e){return e.layer.id===N.id}))?(W=N.createQuery(),W.objectIds=[e.attributes[N.objectIdField]],W.returnGeometry=!0,[4,V.queryFeatures(W)]):[3,12]):[3,12];case 11:I=r.sent(),n=o.get(I,\"features\",0,\"geometry\"),r.label=12;case 12:if(o.isNone(n))return[2,null];if(!(O=\"point\"===n.type?new g({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y,spatialReference:n.spatialReference}):n.extent))return[2,null];if(E=h.canProject(O,a),!O.spatialReference.equals(a)&&E)O=h.project(O,a);else if(!E)return[2,null];return s=s?s.union(O):O.clone(),[2,s]}})})}function B(e){if(e&&(!Array.isArray(e)||\"number\"!=typeof e[0])&&(\"object\"==typeof e||Array.isArray(e)&&\"object\"==typeof e[0])){if(\"layer\"in e&&e.layer&&e.layer.minScale&&e.layer.maxScale){var t=e.layer;return{min:t.minScale,max:t.maxScale}}if(Array.isArray(e)&&e.length&&e.every(function(e){return\"layer\"in e})){for(var r=0,n=0,a=0,c=e;a<c.length;a++){var o=c[a],t=o.layer;t&&t.minScale&&t.maxScale&&(r=t.minScale<r?t.minScale:r,n=t.maxScale>n?t.maxScale:n)}return r&&n?{min:r,max:n}:null}}}function z(e,t){return n(this,void 0,void 0,function(){var n,c,o,i,s,u,l,f,m,v,d,x,b,w,S,P;return r(this,function(r){switch(r.label){case 0:return e&&t?(n=t.spatialReference,c=t.size,o=t.viewpoint,i=t.constraints,s=null,e instanceof a?s=e:e.viewpoint?s=e.viewpoint:e.target&&\"esri.Viewpoint\"===e.target.declaredClass&&(s=e.target),u=null,s&&s.targetGeometry?(u=s.targetGeometry,[3,10]):[3,1]):[2,new a({targetGeometry:new p,scale:0,rotation:0})];case 1:return e instanceof g?(u=e,[3,10]):[3,2];case 2:return e||e&&(\"center\"in e||\"extent\"in e||\"target\"in e)?[4,T(e.center,t,n)]:[3,10];case 3:return m=r.sent(),m?[3,5]:[4,T(e.extent,t,n)];case 4:m=r.sent(),r.label=5;case 5:return f=m,f?[3,7]:[4,T(e.target,t,n)];case 6:f=r.sent(),r.label=7;case 7:return l=f,l?[3,9]:[4,T(e,t,n)];case 8:l=r.sent(),r.label=9;case 9:u=l,r.label=10;case 10:return!u&&o&&o.targetGeometry?u=o.targetGeometry:!u&&t.extent&&(u=t.extent),(v=A(u),n||(n=A(t.spatialReference||t.extent||u)),M.canProject(u,n)||!v||v.equals(n))?(d=G(y.vec2f64.create(),u.center?u.center:u),x=new p(R(d,d,v,n),n),b=null,b=s&&s.targetGeometry&&\"point\"===s.targetGeometry.type?s.scale:e.hasOwnProperty(\"scale\")&&e.scale?e.scale:e.hasOwnProperty(\"zoom\")&&-1!==e.zoom&&i&&i.effectiveLODs?i.zoomToScale(e.zoom):Array.isArray(u)||\"point\"===u.type||\"extent\"===u.type&&0===u.width&&0===u.height?t.extent&&h.canProject(t.extent,n)?j(h.project(t.extent,n),c):t.extent?j(t.extent,c):o.scale:h.canProject(u.extent,n)?j(h.project(u.extent,n),c):j(u.extent,c),w=B(e),w&&(w.min&&w.min>b?b=w.min:w.max&&w.max<b&&(b=w.max)),S=0,s?S=s.rotation:e.hasOwnProperty(\"rotation\")?S=e.rotation:o&&(S=o.rotation),P=new a({targetGeometry:x,scale:b,rotation:S}),i&&(P=i.fit(P),i.rotationEnabled||(P.rotation=S)),[2,P]):[2,null]}})})}function k(e,t){var r=e.targetGeometry,n=t.targetGeometry;return r.x=n.x,r.y=n.y,r.spatialReference=n.spatialReference,e.scale=t.scale,e.rotation=t.rotation,e}function q(e,t,r){return r?v.vec2.set(e,.5*(t[0]-r.right+r.left),.5*(t[1]-r.bottom+r.top)):v.vec2.scale(e,t,.5)}function F(e,r,n,a,c){return t.centerAt(e,r,n.center),e.scale=j(n,a),c&&c.constraints&&c.constraints.constrain(e),e}function N(e,r,n,a){return t.getTransform(e,r,n,a),f.mat2d.invert(e,e)}function V(e,t,r){var n=O(t),a=Math.abs(Math.cos(n)),c=Math.abs(Math.sin(n));return v.vec2.set(e,Math.round(r[1]*c+r[0]*a),Math.round(r[1]*a+r[0]*c))}function W(e){return e.scale*I(e.targetGeometry.spatialReference)}function I(e){return b.isValid(e)?1/(P(e)*K*96):1}function O(e){return l.common.toRadian(e.rotation)||0}function E(e){return b.isValid(e)?P(e)*K*96:1}function U(e,t){return v.vec2.scale(e,t,.5)}function C(e){if(e.isWrappable){var t=b.getInfo(e);return t.valid[1]-t.valid[0]}return 0}function L(e,t){return Math.round(C(e)/t)}function D(e,t){return z(e,t)}function H(e,t){return W(t)}function Q(e,t,r){return k(e,t),e.rotation+=r,e}function _(e,t,r){return k(e,t),e.rotation=r,e}function J(e,t,r){return k(e,t),e.scale=r,e}Object.defineProperty(t,\"__esModule\",{value:!0});var K=39.37,X=u.wgs84Radius,Y=180/Math.PI;t.extentToScale=j,t.create=z,t.copy=k,t.getAnchor=q,t.getExtent=function(){var e=y.vec2f64.create();return function(t,r,n){var a=r.targetGeometry;G(e,a);var c=.5*W(r);return t.xmin=e[0]-c*n[0],t.ymin=e[1]-c*n[1],t.xmax=e[0]+c*n[0],t.ymax=e[1]+c*n[1],t.spatialReference=a.spatialReference,t}}(),t.setExtent=F,t.getOuterExtent=function(){var e=y.vec2f64.create(),t=y.vec2f64.create();return function(r,n,a){G(e,n.targetGeometry),V(t,n,a);var c=.5*W(n),o=e[0]-c*t[0],i=e[1]-c*t[1],s=e[0]+c*t[0],u=e[1]+c*t[1],l=n.targetGeometry.spatialReference;return r.set({xmin:o,ymin:i,xmax:s,ymax:u,spatialReference:l}),r}}(),t.getOuterSize=V,t.getPaddingScreenTranslation=function(){var e=y.vec2f64.create();return function(t,r,n){return v.vec2.sub(t,U(t,r),q(e,r,n))}}(),t.getPaddingMapTranslation=function(){var e=m.mat2df64.create(),r=y.vec2f64.create();return function(n,a,c,o){var i=W(a),s=O(a);return v.vec2.set(r,i,i),f.mat2d.fromScaling(e,r),f.mat2d.rotate(e,e,s),f.mat2d.translate(e,e,t.getPaddingScreenTranslation(r,c,o)),f.mat2d.translate(e,e,[0,o.top-o.bottom]),v.vec2.set(n,e[4],e[5])}}(),t.getResolution=W,t.getResolutionToScaleFactor=E,t.getMatrix=function(){var e=y.vec2f64.create(),t=y.vec2f64.create(),r=y.vec2f64.create();return function(n,a,c,o,i,s){return v.vec2.negate(e,a),v.vec2.scale(t,c,.5*s),v.vec2.set(r,1/o*s,-1/o*s),f.mat2d.identity(n),f.mat2d.translate(n,n,t),i&&f.mat2d.rotate(n,n,i),f.mat2d.scale(n,n,r),f.mat2d.translate(n,n,e),n}}(),t.getTransform=function(){var e=y.vec2f64.create();return function(r,n,a,c){var o=W(n),i=O(n);return G(e,n.targetGeometry),t.getMatrix(r,e,a,o,i,c)}}(),t.getTransformNoRotation=function(){var e=y.vec2f64.create();return function(r,n,a,c){var o=W(n);return G(e,n.targetGeometry),t.getMatrix(r,e,a,o,0,c)}}(),t.getWorldWidth=C,t.getWorldScreenWidth=L,t.createAsync=D,t.angleBetween=function(){var e=y.vec2f64.create(),t=y.vec2f64.create(),r=[0,0,0];return function(n,a,c){v.vec2.subtract(e,n,a),v.vec2.normalize(e,e),v.vec2.subtract(t,n,c),v.vec2.normalize(t,t),v.vec2.cross(r,e,t);var o=Math.acos(v.vec2.dot(e,t)/(v.vec2.length(e)*v.vec2.length(t)))*Y;return r[2]<0&&(o=-o),isNaN(o)&&(o=0),o}}(),t.addPadding=function(){var e=y.vec2f64.create();return function(r,n,a,c){var o=r.targetGeometry;return k(r,n),t.getPaddingMapTranslation(e,n,a,c),o.x+=e[0],o.y+=e[1],r}}(),t.removePadding=function(){var e=y.vec2f64.create();return function(r,n,a,c){var o=r.targetGeometry;return k(r,n),t.getPaddingMapTranslation(e,n,a,c),o.x-=e[0],o.y-=e[1],r}}(),t.centerAt=function(){var e=y.vec2f64.create();return function(t,r,n){k(t,r);var a=t.targetGeometry,c=A(n),o=A(a);return G(e,n),R(e,e,c,o),a.x=e[0],a.y=e[1],t}}(),t.pixelSizeAt=H,t.resize=function(){var e=y.vec2f64.create();return function(r,n,a,c,o){o||(o=\"center\"),v.vec2.sub(e,a,c),v.vec2.scale(e,e,.5);var i=e[0],s=e[1];switch(o){case\"center\":v.vec2.set(e,0,0);break;case\"left\":v.vec2.set(e,-i,0);break;case\"top\":v.vec2.set(e,0,s);break;case\"right\":v.vec2.set(e,i,0);break;case\"bottom\":v.vec2.set(e,0,-s);break;case\"top-left\":v.vec2.set(e,-i,s);break;case\"bottom-left\":v.vec2.set(e,-i,-s);break;case\"top-right\":v.vec2.set(e,i,s);break;case\"bottom-right\":v.vec2.set(e,i,-s)}return t.translateBy(r,n,e),r}}(),t.rotateBy=Q,t.rotateTo=_,t.scaleBy=function(){var e=y.vec2f64.create();return function(r,n,a,c,o){return k(r,n),isNaN(a)||0===a||(t.toMap(e,c,n,o),r.scale=n.scale*a,t.toScreen(e,e,r,o),t.translateBy(r,r,v.vec2.set(e,e[0]-c[0],c[1]-e[1]))),r}}(),t.scaleTo=J,t.scaleAndRotateBy=function(){var e=y.vec2f64.create();return function(r,n,a,c,o,i){return k(r,n),isNaN(a)||0===a||(t.toMap(e,o,n,i),r.scale=n.scale*a,r.rotation+=c,t.toScreen(e,e,r,i),t.translateBy(r,r,v.vec2.set(e,e[0]-o[0],o[1]-e[1]))),r}}(),t.padAndScaleAndRotateBy=function(){var e=y.vec2f64.create(),r=y.vec2f64.create();return function(n,a,c,o,i,s,u){return t.getPaddingScreenTranslation(r,s,u),v.vec2.add(e,i,r),o?t.scaleAndRotateBy(n,a,c,o,e,s):t.scaleBy(n,a,c,e,s)}}(),t.toMap=function(){var e=m.mat2df64.create();return function(t,r,n,a){return v.vec2.transformMat2d(t,r,N(e,n,a,1))}}(),t.toScreen=function(){var e=m.mat2df64.create();return function(r,n,a,c){return v.vec2.transformMat2d(r,n,t.getTransform(e,a,c,1))}}(),t.translateBy=function(){var e=y.vec2f64.create(),t=m.mat2df64.create();return function(r,n,a){k(r,n);var c=W(n),o=r.targetGeometry;return f.mat2d.fromRotation(t,O(n)),f.mat2d.scale(t,t,y.vec2f64.fromValues(c,c)),v.vec2.transformMat2d(e,a,t),o.x+=e[0],o.y+=e[1],r}}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/mathUtils\",\"../../../core/libs/gl-matrix-2/vec3\",\"../../../core/libs/gl-matrix-2/vec3f64\"],function(t,n,e,r,i){function o(t,n){return t>n?Math.cos(n):Math.cos(t)}function a(t,n,e){return 2*Math.atan(e*Math.tan(.5*t)/n)}function c(t,n,e){return 2*Math.atan(n*Math.tan(.5*t)/e)}function s(t){var n=t[0]*t[0]+t[4]*t[4]+t[8]*t[8],e=t[1]*t[1]+t[5]*t[5]+t[9]*t[9],r=t[2]*t[2]+t[6]*t[6]+t[10]*t[10];return Math.sqrt(Math.max(Math.max(n,e),r))}function u(t,n){var e=Math.sqrt(n[0]*n[0]+n[4]*n[4]+n[8]*n[8]),i=Math.sqrt(n[1]*n[1]+n[5]*n[5]+n[9]*n[9]),o=Math.sqrt(n[2]*n[2]+n[6]*n[6]+n[10]*n[10]);return r.vec3.set(t,e,i,o),t}function v(t,n,e){e=e||t;var i=r.vec3.dot(t,n);r.vec3.set(e,t[0]-i*n[0],t[1]-i*n[1],t[2]-i*n[2]),r.vec3.normalize(e,e)}function f(t,n,e){Math.abs(t[0])>Math.abs(t[1])?r.vec3.set(n,0,1,0):r.vec3.set(n,1,0,0),r.vec3.cross(e,t,n),r.vec3.normalize(n,n),r.vec3.cross(n,e,t),r.vec3.normalize(e,e)}function h(t,n){return(t%n+n)%n}function l(t,n){var i=r.vec3.length(t),o=e.asinClamped(t[2]/i),a=Math.atan2(t[1]/i,t[0]/i);return r.vec3.set(n,i,o,a),n}function m(t,n){var e=t[0],i=t[1],o=t[2],a=Math.cos(i);r.vec3.set(n,e*a*Math.cos(o),e*a*Math.sin(o),e*Math.sin(i))}function M(t,n,e){var r=e[0]-n[0],i=e[1]-n[1],o=e[2]-n[2],a=r*r+i*i+o*o;return a?(a=1/Math.sqrt(a),t[0]=r*a,t[1]=i*a,t[2]=o*a,t):(t[0]=0,t[1]=0,t[2]=0,t)}function p(t,n,e,r,i,o){var a=t+(n-t)*i;return a+(e+(r-e)*i-a)*o}function d(t,n,e,o){void 0===o&&(o=i.vec3f64.create());var a=r.vec3.length(t),c=r.vec3.length(n),s=r.vec3.dot(t,n)/(a*c);if(s<.9999999999999999){var u=Math.acos(s),v=(1-e)*a+e*c,f=v/Math.sin(u),h=f/a*Math.sin((1-e)*u),l=f/c*Math.sin(e*u);return r.vec3.scale(I,t,h),r.vec3.scale(_,n,l),r.vec3.add(o,I,_)}return r.vec3.lerp(o,t,n,e)}function g(t,n,i){t=r.vec3.normalize(I,t),n=r.vec3.normalize(_,n);var o=e.acosClamped(r.vec3.dot(t,n));if(i){var a=r.vec3.cross(C,t,n);if(r.vec3.dot(a,i)<0)return-o}return o}function y(t){var n=t.length;return function(e){if(e<=t[0][0])return t[0][1];if(e>=t[n-1][0])return t[n-1][1];for(var r=1;e>t[r][0];)r++;var i=t[r-1][0],o=t[r][0],a=(o-e)/(o-i);return a*t[r-1][1]+(1-a)*t[r][1]}}function z(t,n){if(null==t||null==n)return t!==n;if(t.length!==n.length)return!1;for(var e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}function x(t,n,e,i){r.vec3.subtract(q,n,t),r.vec3.subtract(F,e,t),r.vec3.cross(i,q,F),r.vec3.normalize(i,i),i[3]=-r.vec3.dot(t,i)}function b(t){for(var n in t){var e=t[n];e instanceof Function&&(t[n]=e.bind(t))}return t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.cosCapped=o,n.fovx2fovy=a,n.fovy2fovx=c,n.maxScale=s,n.scaleFromMatrix=u,n.makeOrthonormal=v,n.tangentFrame=f,n.moduloPositive=h,n.cartesianToSpherical=l,n.sphericalToCartesian=m,n.directionFromTo=M,n.bilerp=p,n.slerp=d,n.angle=g,n.makePiecewiseLinearFunction=y,n.vectorEquals=z;var P=function(){function t(t,n){this.min=t,this.max=n,this.range=n-t}return t.prototype.ndiff=function(t,n){return void 0===n&&(n=0),Math.ceil((t-n)/this.range)*this.range+n},t.prototype._normalize=function(t,n,e,r){return void 0===r&&(r=0),e-=r,e<t?e+=this.ndiff(t-e):e>n&&(e-=this.ndiff(e-n)),e+r},t.prototype.normalize=function(t,n){return this._normalize(this.min,this.max,t,n)},t.prototype.clamp=function(t,n){return void 0===n&&(n=0),e.clamp(t-n,this.min,this.max)+n},t.prototype.monotonic=function(t,n,e){return t<n?n:n+this.ndiff(t-n,e)},t.prototype.minimalMonotonic=function(t,n,e){return this._normalize(t,t+this.range,n,e)},t.prototype.center=function(t,n,e){return n=this.monotonic(t,n,e),this.normalize((t+n)/2,e)},t.prototype.diff=function(t,n,e){return this.monotonic(t,n,e)-t},t.prototype.shortestSignedDiff=function(t,n){t=this.normalize(t),n=this.normalize(n);var e=n-t,r=n<t?this.minimalMonotonic(t,n)-t:n-this.minimalMonotonic(n,t);return Math.abs(e)<Math.abs(r)?e:r},t.prototype.contains=function(t,n,e){return n=this.minimalMonotonic(t,n),(e=this.minimalMonotonic(t,e))>t&&e<n},t}();n.Cyclical=P,n.planeFromPoints=x;var q=i.vec3f64.create(),F=i.vec3f64.create();n.cyclical2PI=b(new P(0,2*Math.PI)),n.cyclicalPI=b(new P(-Math.PI,Math.PI)),n.cyclicalDeg=b(new P(0,360));var C=i.vec3f64.create(),I=i.vec3f64.create(),_=i.vec3f64.create()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/Collection\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\"],function(e,r,t,o,n,i,p,s){Object.defineProperty(r,\"__esModule\",{value:!0});var a=function(e){function r(r){var t=e.call(this,r)||this;return t.view=null,t.baseLayerViews=new i,t.referenceLayerViews=new i,t._loadingHandle=p.init(t,\"view.map.basemap\",function(e){e&&e.load()}),t}return t(r,e),r.prototype.destroy=function(){this._set(\"view\",null),this._loadingHandle&&(this._loadingHandle.remove(),this._loadingHandle=null)},Object.defineProperty(r.prototype,\"suspended\",{get:function(){return!this.view||this.view.suspended},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"updating\",{get:function(){return(!this.view||!this.view.suspended)&&!(!(this.view&&this.view.map&&this.view.map.basemap)||this.view.map.basemap.loaded)},enumerable:!0,configurable:!0}),o([s.property({constructOnly:!0})],r.prototype,\"view\",void 0),o([s.property({readOnly:!0})],r.prototype,\"baseLayerViews\",void 0),o([s.property({readOnly:!0})],r.prototype,\"referenceLayerViews\",void 0),o([s.property({readOnly:!0,dependsOn:[\"view.suspended\"]})],r.prototype,\"suspended\",null),o([s.property({type:Boolean,readOnly:!0,dependsOn:[\"view.suspended\",\"view.map.basemap.loaded\"]})],r.prototype,\"updating\",null),r=o([s.subclass(\"esri.views.BasemapView\")],r)}(s.declared(n));r.BasemapView=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/ArrayPool\",\"../core/Handles\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\"],function(e,i,r,t,a,s,l,n,h){function o(e){var i=e;return i&&i.xsmall<i.small&&i.small<i.medium&&i.medium<i.large}function m(e,i){return i?g[e].valueToClassName[i].split(\" \"):[]}Object.defineProperty(i,\"__esModule\",{value:!0});var g={widthBreakpoint:{getValue:function(e){var i=e.viewSize[0],r=e.breakpoints,t=this.values;return i<=r.xsmall?t.xsmall:i<=r.small?t.small:i<=r.medium?t.medium:i<=r.large?t.large:t.xlarge},values:{xsmall:\"xsmall\",small:\"small\",medium:\"medium\",large:\"large\",xlarge:\"xlarge\"},valueToClassName:{xsmall:\"esri-view-width-xsmall esri-view-width-less-than-small esri-view-width-less-than-medium esri-view-width-less-than-large esri-view-width-less-than-xlarge\",small:\"esri-view-width-small esri-view-width-greater-than-xsmall esri-view-width-less-than-medium esri-view-width-less-than-large esri-view-width-less-than-xlarge\",medium:\"esri-view-width-medium esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-less-than-large esri-view-width-less-than-xlarge\",large:\"esri-view-width-large esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-greater-than-medium esri-view-width-less-than-xlarge\",xlarge:\"esri-view-width-xlarge esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-greater-than-medium esri-view-width-greater-than-large\"}},heightBreakpoint:{getValue:function(e){var i=e.viewSize[1],r=e.breakpoints,t=this.values;return i<=r.xsmall?t.xsmall:i<=r.small?t.small:i<=r.medium?t.medium:i<=r.large?t.large:t.xlarge},values:{xsmall:\"xsmall\",small:\"small\",medium:\"medium\",large:\"large\",xlarge:\"xlarge\"},valueToClassName:{xsmall:\"esri-view-height-xsmall esri-view-height-less-than-small esri-view-height-less-than-medium esri-view-height-less-than-large esri-view-height-less-than-xlarge\",small:\"esri-view-height-small esri-view-height-greater-than-xsmall esri-view-height-less-than-medium esri-view-height-less-than-large esri-view-height-less-than-xlarge\",medium:\"esri-view-height-medium esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-less-than-large esri-view-height-less-than-xlarge\",large:\"esri-view-height-large esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-greater-than-medium esri-view-height-less-than-xlarge\",xlarge:\"esri-view-height-xlarge esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-greater-than-medium esri-view-height-greater-than-large\"}},orientation:{getValue:function(e){var i=e.viewSize,r=i[0],t=i[1],a=this.values;return t>=r?a.portrait:a.landscape},values:{portrait:\"portrait\",landscape:\"landscape\"},valueToClassName:{portrait:\"esri-view-orientation-portrait\",landscape:\"esri-view-orientation-landscape\"}}},u={xsmall:544,small:768,medium:992,large:1200};i.BreakpointsOwner=function(e){return function(e){function i(){for(var i=[],r=0;r<arguments.length;r++)i[r]=arguments[r];var t=e.apply(this,i)||this;return t._breakpointsHandles=new l,t.orientation=null,t.widthBreakpoint=null,t.heightBreakpoint=null,t.breakpoints=u,t}return r(i,e),i.prototype.initialize=function(){this._breakpointsHandles.add(n.init(this,[\"breakpoints\",\"size\"],this._updateClassNames))},i.prototype.destroy=function(){this.destroyed||(this._removeActiveClassNames(),this._breakpointsHandles.destroy(),this._breakpointsHandles=null)},Object.defineProperty(i.prototype,\"breakpoints\",{set:function(e){if(e!==this._get(\"breakpoints\")){var i=o(e);if(!i){var r=JSON.stringify(u,null,2);console.warn(\"provided breakpoints are not valid, using defaults:\"+r)}e=i?e:u,this._set(\"breakpoints\",a({},e))}},enumerable:!0,configurable:!0}),i.prototype._updateClassNames=function(){if(this.container){var e,i=s.acquire(),r=s.acquire(),t=!1;for(e in g){var a=this[e],l=g[e].getValue({viewSize:this.size,breakpoints:this.breakpoints});a!==l&&(t=!0,this[e]=l,m(e,a).forEach(function(e){return r.push(e)}),m(e,l).forEach(function(e){return i.push(e)}))}t&&(this._applyClassNameChanges(i,r),s.release(i),s.release(r))}},i.prototype._applyClassNameChanges=function(e,i){var r=this.container;r&&(i.forEach(function(e){return r.classList.remove(e)}),e.forEach(function(e){return r.classList.add(e)}))},i.prototype._removeActiveClassNames=function(){var e=this.container;if(e){var i;for(i in g)m(i,this[i]).forEach(function(i){return e.classList.remove(i)})}},t([h.property()],i.prototype,\"breakpoints\",null),t([h.property()],i.prototype,\"orientation\",void 0),t([h.property()],i.prototype,\"widthBreakpoint\",void 0),t([h.property()],i.prototype,\"heightBreakpoint\",void 0),i=t([h.subclass(\"esri.views.BreakpointsOwner\")],i)}(h.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/domUtils\",\"../core/scheduling\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./overlay/ViewOverlay\",\"../widgets/Popup\"],function(e,t,i,r,n,o,s,a,u,p){function d(e){var t=e.ownerDocument||window.document,i=t.defaultView,r=e.getBoundingClientRect();return f[0]=r.left+i.pageXOffset,f[1]=r.top+i.pageYOffset,f}function l(e){e&&(n.empty(e),e.parentNode&&e.parentNode.removeChild(e))}function h(e){var t=document.createElement(\"div\");return e.appendChild(t),t}function c(e){return e&&\"focus\"in e}Object.defineProperty(t,\"__esModule\",{value:!0});var f=[0,0],y=16,v=750;t.DOMContainer=function(e){return function(e){function t(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var r=e.apply(this,t)||this;return r._freqInfo={freq:y,time:v},r._overlayRenderTaskHandle=null,r.height=0,r.position=null,r.resizing=!1,r.root=null,r.surface=null,r.suspended=!0,r.ui=null,r.userContent=null,r.width=0,r.widthBreakpoint=null,r.handles.add([r.watch(\"cursor\",function(e){var t=r.surface;t&&t.setAttribute(\"data-cursor\",e)}),r.watch(\"interacting\",function(e){var t=r.surface;t&&t.setAttribute(\"data-interacting\",e.toString())})]),r}return i(t,e),t.prototype.initialize=function(){var e=this;this.handles.add(this.watch(\"ui\",function(t,i){return e._handleUIChange(t,i)})),this._wireUI(this.ui),this.handles.add([this.on(\"focus\",function(){return e.notifyChange(\"focused\")}),this.on(\"blur\",function(){return e.notifyChange(\"focused\")})])},t.prototype.destroy=function(){this.destroyed||(this.ui&&(this.ui.destroy(),this.ui=null),this.popup&&!this.popup.destroyed&&this.popup.destroy(),this.container=null)},Object.defineProperty(t.prototype,\"container\",{set:function(e){var t=this,i=this._get(\"container\");if(i!==e){if(this.handles.remove(\"dom-size\"),this._stopMeasuring(),i&&(i.classList.remove(\"esri-view\"),this._overlayRenderTaskHandle&&(this._overlayRenderTaskHandle.remove(),this._overlayRenderTaskHandle=null),this.overlay.destroy(),this._set(\"overlay\",null),l(this.root),this._set(\"root\",null),n.reparent(this.userContent,i),l(this.userContent),this._set(\"userContent\",null)),e){e.classList.add(\"esri-view\");var r=document.createElement(\"div\");r.className=\"esri-view-user-storage\",n.reparent(e,r),e.appendChild(r),this._set(\"userContent\",r);var a=document.createElement(\"div\");a.className=\"esri-view-root\",e.insertBefore(a,e.firstChild),this._set(\"root\",a);var p=document.createElement(\"div\");p.className=\"esri-view-surface\",p.setAttribute(\"role\",\"application\"),p.tabIndex=0,a.appendChild(p),this._set(\"surface\",p);var d=new u;a.appendChild(d.surface),this._set(\"overlay\",d),d.watch(\"needsRender\",function(e){e&&!t._overlayRenderTaskHandle?t._overlayRenderTaskHandle=o.addFrameTask({render:function(){t.overlay.render()}}):t._overlayRenderTaskHandle&&(t._overlayRenderTaskHandle.remove(),t._overlayRenderTaskHandle=null)}),this.forceDOMReadyCycle(),this.handles.add(s.init(this,\"size\",function(e){var t=e[0],i=e[1];t>=document.body.clientWidth||i>=document.body.clientHeight?p.classList.add(\"esri-view-surface--inset-outline\"):p.classList.remove(\"esri-view-surface--inset-outline\")}),\"dom-size\"),this._set(\"container\",e),this._startMeasuring()}else this._set(\"width\",0),this._set(\"height\",0),this._set(\"position\",null),this._set(\"suspended\",!0),this._set(\"surface\",null),this._set(\"container\",null)}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"focused\",{get:function(){var e=document.activeElement===this.surface;return document.hasFocus()&&e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"popup\",{get:function(){return this._get(\"popup\")||new p({view:this})},set:function(e){var t=this._get(\"popup\");t&&t!==e&&t.destroy(),this._set(\"popup\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"size\",{get:function(){return[this.width,this.height]},enumerable:!0,configurable:!0}),t.prototype.blur=function(){this.surface&&this.surface.blur()},t.prototype.focus=function(){this.surface&&this.surface.focus()},t.prototype.pageToContainer=function(e,t,i){var r=this.position;return e-=r[0],t-=r[1],i?(i[0]=e,i[1]=t):i=[e,t],i},t.prototype.containerToPage=function(e,t,i){var r=this.position;return e+=r[0],t+=r[1],i?(i[0]=e,i[1]=t):i=[e,t],i},t.prototype._handleUIChange=function(e,t){t&&(this.handles.remove(\"ui\"),t.destroy()),e&&this._wireUI(e),this._set(\"ui\",e)},t.prototype._wireUI=function(e){this.handles.remove(\"ui\"),e&&(e.view=this,this.handles.add([s.init(this,\"root\",function(t){e.container=t?h(t):null}),s.init(this,\"popup\",function(t,i){i&&e.remove(i,\"popup\"),t&&(t.view=e.view,e.add(t,{key:\"popup\",position:\"manual\"}))})],\"ui\"))},t.prototype._stopMeasuring=function(){this.handles.remove(\"measuring\"),this._get(\"resizing\")&&this._set(\"resizing\",!1)},t.prototype._startMeasuring=function(){var e=this,t=this._freqInfo;t.freq=y,t.time=v,this.handles.add([function(){var e=function(){t.freq=y,t.time=v};return window.addEventListener(\"resize\",e),{remove:function(){window.removeEventListener(\"resize\",e)}}}(),o.addFrameTask({prepare:function(t){var i=e._measure(),r=e._freqInfo;if(r.time+=t.deltaTime,i&&(r.freq=y,e._get(\"resizing\")||e._set(\"resizing\",!0)),!(r.time<r.freq)){r.time=0;var n=e._position();r.freq=n||i?y:Math.min(v,2*r.freq),!i&&r.freq>=512&&e._get(\"resizing\")&&e._set(\"resizing\",!1)}}})],\"measuring\"),this._measure(),this._position()},t.prototype._measure=function(){var e=this.container,t=e?e.clientWidth:0,i=e?e.clientHeight:0;if(0===t||0===i||\"hidden\"===window.getComputedStyle(e).visibility)return this.suspended||this._set(\"suspended\",!0),!1;var r=this.width,n=this.height;return t===r&&i===n?(this.suspended&&this._set(\"suspended\",!1),!1):(this._set(\"width\",t),this._set(\"height\",i),this.suspended&&this._set(\"suspended\",!1),this.emit(\"resize\",{oldWidth:r,oldHeight:n,width:t,height:i}),!0)},t.prototype._position=function(){var e=this.container,t=this.position,i=d(e);return(!t||i[0]!==t[0]||i[1]!==t[1])&&(this._set(\"position\",[i[0],i[1]]),!0)},t.prototype.forceDOMReadyCycle=function(){},r([a.property({value:null,cast:function(e){return n.byId(e)}})],t.prototype,\"container\",null),r([a.property({readOnly:!0,dependsOn:[\"surface\"]})],t.prototype,\"focused\",null),r([a.property({readOnly:!0})],t.prototype,\"height\",void 0),r([a.property({type:p})],t.prototype,\"popup\",null),r([a.property({type:u})],t.prototype,\"overlay\",void 0),r([a.property({readOnly:!0})],t.prototype,\"position\",void 0),r([a.property({readOnly:!0})],t.prototype,\"resizing\",void 0),r([a.property({readOnly:!0})],t.prototype,\"root\",void 0),r([a.property({value:null,dependsOn:[\"width\",\"height\"],readOnly:!0})],t.prototype,\"size\",null),r([a.property({readOnly:!0})],t.prototype,\"surface\",void 0),r([a.property({readOnly:!0})],t.prototype,\"suspended\",void 0),r([a.property()],t.prototype,\"ui\",void 0),r([a.property({readOnly:!0})],t.prototype,\"userContent\",void 0),r([a.property({readOnly:!0})],t.prototype,\"width\",void 0),r([a.property()],t.prototype,\"widthBreakpoint\",void 0),t=r([a.subclass(\"esri.views.DOMContainer\")],t)}(a.declared(e))},t.isDOMContainer=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/Error\",\"../core/HandleOwner\",\"../core/Logger\",\"../core/promiseUtils\",\"../core/scheduling\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./support/WatchUpdatingTracking\"],function(e,r,a,t,i,o,n,l,s,y,c,p,w,d){Object.defineProperty(r,\"__esModule\",{value:!0});var h=s.getLogger(\"esri.views.LayerViewManager\"),u=new Map;u.set(\"view.map.basemap.baseLayers\",\"view.basemapView.baseLayerViews\"),u.set(\"view.map.ground.layers\",\"view.groundView.layerViews\"),u.set(\"view.map.layers\",\"view.layerViews\"),u.set(\"view.map.basemap.referenceLayers\",\"view.basemapView.referenceLayerViews\");var f=function(){function e(e,r,a){var t=this;this.layer=e,this.view=r,this.layerViewImporter=a,this._controller=y.createAbortController(),this._deferred=y.createDeferred(),this._started=!1,this.done=!1,y.onAbort(this._controller.signal,function(){var r=new n(\"cancelled:layerview-create\",\"layerview creation cancelled\",{layer:e});t._deferred.reject(r)})}return Object.defineProperty(e.prototype,\"promise\",{get:function(){return this._deferred.promise},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._controller.abort();var e=this.layerView;if(e){var r=this,a=r.layer,t=r.view;e.destroy(),a.emit(\"layerview-destroy\",{view:t,layerView:e}),t.emit(\"layerview-destroy\",{layer:a,layerView:e}),this.done=!0,this.layer=null,this.layerView=null,this.view=null,this.layerViewImporter=null,e.layer=null,e.parent=null,e.view=null}},e.prototype.start=function(){return o(this,void 0,void 0,function(){var e,r,a,t,o,l,s,c;return i(this,function(i){switch(i.label){case 0:if(this._started)return[2];this._started=!0,e=this,r=e._controller.signal,a=e.layer,t=e.view,this._map=t.map,i.label=1;case 1:return i.trys.push([1,10,,11]),[4,a.load({signal:r})];case 2:return i.sent(),\"prefetchResources\"in a?[4,a.prefetchResources({signal:r})]:[3,4];case 3:i.sent(),i.label=4;case 4:return o=void 0,a.createLayerView?[4,a.createLayerView(t,{signal:r})]:[3,6];case 5:return o=i.sent(),[3,8];case 6:if(!this.layerViewImporter.hasLayerViewModule(a))throw new n(\"layer:view-not-supported\",\"No layerview implementation was found\");return[4,this.layerViewImporter.importLayerView(a)];case 7:l=i.sent(),y.throwIfAborted(r),o=\"default\"in l?new l.default({layer:a,view:t}):new l({layer:a,view:t}),i.label=8;case 8:return y.throwIfAborted(r),[4,o.when()];case 9:return i.sent(),!(s=this._map&&this._map.allLayers.includes(a))||r.aborted?(o.destroy(),o.layer=o.parent=o.view=null,this.done=!0,s?[2]:[2,this._deferred.reject(new n(\"view:no-layerview-for-layer\",\"The layer has been removed from the map\",{layer:a}))]):(this.layerView=o,a.emit(\"layerview-create\",{view:t,layerView:o}),t.emit(\"layerview-create\",{layer:a,layerView:o}),this.done=!0,this._deferred.resolve(o),[3,11]);case 10:return c=i.sent(),a.emit(\"layerview-create-error\",{view:t,error:c}),t.emit(\"layerview-create-error\",{layer:a,error:c}),this.done=!0,this._deferred.reject(new n(\"layerview:create-error\",\"layerview creation failed\",{layer:a,error:c})),[3,11];case 11:return[2]}})})},e}(),v=function(e){function r(r){var a=e.call(this,r)||this;return a._layerLayerViewInfoMap=new Map,a._watchUpdatingTracking=new d.WatchUpdatingTracking,a.view=null,a._preloadLayerViewModules=function(){var e=a.view,r=a.get(\"view.map.allLayers\");e&&r&&r.forEach(function(e){a.layerViewImporter.hasLayerViewModule(e)&&a.layerViewImporter.importLayerView(e)})},a._reschedule=function(){a.handles.remove(\"reschedule\"),a.handles.add(c.schedule(a._doWork),\"reschedule\"),a.notifyChange(\"updating\")},a._doWork=function(){var e=a.get(\"view.map\");if(a._map!==e&&(a.clear(),a._map=e),a.handles.has(\"reschedule\")){a.handles.remove(\"reschedule\"),a.handles.remove(\"collection-change\");var r=e&&e.allLayers;if(r){r.forEach(a._createLayerView,a),a._refreshCollections();var t=[];a._layerLayerViewInfoMap.forEach(function(e,a){r.includes(a)||t.push(e)});for(var i=0,o=t;i<o.length;i++){var n=o[i];a._layerLayerViewInfoMap.delete(n.layer),n.destroy()}a.handles.add(a._watchUpdatingTracking.addOnCollectionChange(r,a._reschedule),\"collection-change\"),a.notifyChange(\"updating\")}}},a.handles.add([p.on(a,\"view.map.allLayers\",\"change\",a._preloadLayerViewModules,a._preloadLayerViewModules),a.watch([\"view.map.basemap\",\"view.map.ground\",\"view.map.layers\",\"view.ready\"],a._reschedule,!0)]),a}return a(r,e),r.prototype.initialize=function(){this._preloadLayerViewModules()},r.prototype.destroy=function(){this.clear(),this._watchUpdatingTracking.destroy(),this.view=null,this._map=null},Object.defineProperty(r.prototype,\"updating\",{get:function(){if(this.handles.has(\"reschedule\")||this._watchUpdatingTracking.updating)return!0;var e=!0;return this._layerLayerViewInfoMap.forEach(function(r){return e=e&&r.done}),!e},enumerable:!0,configurable:!0}),r.prototype.clear=function(){this.destroyed||(this._layerLayerViewInfoMap.forEach(function(e){return e.destroy()}),this._layerLayerViewInfoMap.clear(),this._refreshCollections())},r.prototype.whenLayerView=function(e){return this._reschedule(),this._doWork(),this._layerLayerViewInfoMap.has(e)?this._layerLayerViewInfoMap.get(e).promise:y.reject(new n(\"view:no-layerview-for-layer\",\"No layerview has been found for the layer\",{layer:e}))},r.prototype._refreshCollections=function(){var e=this;u.forEach(function(r,a){e._populateLayerViewsOwners(e.get(a),e.get(r),e.view)})},r.prototype._populateLayerViewsOwners=function(e,r,a){var t=this;if(!e||!r)return void(r&&r.removeAll());var i=0;e.forEach(function(e){var o=t._layerLayerViewInfoMap.get(e);if(o&&o.layerView){var n=o.layerView;n.layer=e,n.parent=a,r.getItemAt(i)!==n&&r.splice(i,0,n),e.layers&&t._populateLayerViewsOwners(e.layers,n.layerViews,n),i+=1}}),i<r.length&&r.splice(i,r.length)},r.prototype._createLayerView=function(e){var r=this;if(this._layerLayerViewInfoMap.has(e))return this.view.ready&&this._layerLayerViewInfoMap.get(e).start(),void this.notifyChange(\"updating\");e.load(),this.layerViewImporter.hasLayerViewModule(e)&&this.layerViewImporter.importLayerView(e);var a=new f(e,this.view,this.layerViewImporter);a.promise.then(function(){r._refreshCollections(),r.notifyChange(\"updating\")},function(a){a&&(y.isAbortError(a)||\"cancelled:layerview-create\"===a.name)||h.error(\"Failed to create view for layer '\"+e.title+\", id:\"+e.id+\"' of type '\"+e.type+\"'.\",{error:a}),r._refreshCollections(),r.notifyChange(\"updating\")}),this._layerLayerViewInfoMap.set(e,a),this.view.ready&&a.start(),this.notifyChange(\"updating\")},t([w.property({readOnly:!0})],r.prototype,\"_watchUpdatingTracking\",void 0),t([w.property()],r.prototype,\"layerViewImporter\",void 0),t([w.property({readOnly:!0,dependsOn:[\"_watchUpdatingTracking.updating\"]})],r.prototype,\"updating\",null),t([w.property()],r.prototype,\"view\",void 0),r=t([w.subclass(\"esri.views.LayerViewManager\")],r)}(w.declared(l.HandleOwner));r.default=v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/accessorSupport/decorators\"],function(e,o,r,t,p,i){return function(e){function o(o){var r=e.call(this,o)||this;return r.factor=1.5,r.offsetX=0,r.offsetY=0,r.position=null,r.visible=!1,r}return r(o,e),Object.defineProperty(o.prototype,\"version\",{get:function(){return(this._get(\"version\")||0)+1},enumerable:!0,configurable:!0}),t([i.property({type:Number})],o.prototype,\"factor\",void 0),t([i.property({type:Number})],o.prototype,\"offsetX\",void 0),t([i.property({type:Number})],o.prototype,\"offsetY\",void 0),t([i.property()],o.prototype,\"position\",void 0),t([i.property({readOnly:!0,dependsOn:[\"factor\",\"offsetX\",\"offsetY\",\"position\",\"visible\"]})],o.prototype,\"version\",null),t([i.property({type:Boolean})],o.prototype,\"visible\",void 0),o=t([i.subclass(\"esri.views.Magnifier\")],o)}(i.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/Error\",\"../core/has\",\"../core/Logger\",\"../core/promiseUtils\",\"../core/screenUtils\",\"../core/watchUtils\",\"../core/workers\",\"../core/accessorSupport/decorators\",\"./BreakpointsOwner\",\"./DOMContainer\",\"./Magnifier\",\"./MapViewBase\",\"./2d/input/MapViewInputManager\",\"./2d/support/HighlightOptions\",\"./support/screenshotUtils\",\"./support/WebGLRequirements\",\"./ui/2d/DefaultUI2D\",\"@dojo/framework/shim/Promise\"],function(e,t,i,r,n,a,o,s,p,h,u,c,l,d,g,y,w,f,v,m,V,b,_){function M(){return a(this,void 0,void 0,function(){var t,i,r,a,o,s,p;return n(this,function(n){switch(n.label){case 0:return[4,Promise.all([new Promise(function(t,i){e([\"./webgl\"],t,i)}),new Promise(function(t,i){e([\"./2d/mapViewDeps\"],t,i)}),new Promise(function(t,i){e([\"./2d/engine\"],t,i)})])];case 1:return t=n.sent(),i=t[1],r=i.GraphicsView2D,a=i.LabelManager,o=i.MapViewNavigation,s=i.MagnifierView2D,p=t[2].Stage,E=r,L=a,P=o,k=s,S=p,[2]}})})}function O(e){return!(\"layerViews\"in e)&&null!=e.container}var S,E,L,P,k,C=p.getLogger(\"esri.views.MapView\");return function(e){function t(t){var i=e.call(this,t)||this;return i._magnifierView=null,i._stage=null,i._resolveWhenReady=[],i.graphicsView=null,i.highlightOptions=new m,i.magnifier=new w,i.inputManager=new v({view:i}),i.mapViewNavigation=null,i.supersampleScreenhotsEnabled=!0,i.ui=new _,i.rendering=!1,l.initialize(),i}return i(t,e),Object.defineProperty(t.prototype,\"background\",{get:function(){return this.get(\"map.initialViewProperties.background\")||null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"interacting\",{get:function(){return this.mapViewNavigation&&this.mapViewNavigation.interacting||!1},enumerable:!0,configurable:!0}),t.prototype.toMap=function(e){if(u.isSupportedScreenPointEvent(e)){var t=u.createScreenPointFromSupportedEvent(this,e);return this.inherited(arguments,[t])}return this.inherited(arguments)},t.prototype.hitTest=function(e){var t=u.isSupportedScreenPointEvent(e)?u.createScreenPointFromSupportedEvent(this,e):e;if(!this.ready||isNaN(t.x)||isNaN(t.y))return h.resolve({screenPoint:t,results:[]});var i=this.toMap(t),r=[this.graphicsView];return r.push.apply(r,this.allLayerViews.toArray().reverse()),h.all(r.map(function(e){return e&&e.hitTest?e.hitTest(t.x,t.y):null})).then(function(e){return{screenPoint:t,results:e.filter(function(e){return null!=e}).map(function(e){return{mapPoint:i,graphic:e}})}})},t.prototype.takeScreenshot=function(e){return this.ready?this._stage.takeScreenshot(V.toRenderSettings(e,this),this.allLayerViews):h.reject(\"Map view cannot be used before it is ready\")},t.prototype.on=function(e,t,i,r){var n=this.inputManager&&this.viewEvents.on(e,t,i,r);return n||this.inherited(arguments)},t.prototype.hasEventListener=function(e){return this.inherited(arguments)||this.viewEvents.hasHandler(e)},t.prototype.whenLayerView=function(e){return this.inherited(arguments)},t.prototype.graphicChanged=function(e){if(this.graphicsView){this.graphicsView.graphicUpdateHandler(e)}},t.prototype.whenReady=function(){var e=this;return h.create(function(t){e.ready?t(e):e._resolveWhenReady.push(t)})},t.prototype.forceDOMReadyCycle=function(){this.forceReadyCycle()},t.prototype.validate=function(){var e=b.check({supportsMajorWebPerformanceCaveat:!0});return s(\"safari\")&&s(\"safari\")<9&&(e=new o(\"mapview:browser-not-supported\",\"This browser is not supported by MapView (Safari < 9)\",{type:\"safari\",requiredVersion:9,detectedVersion:s(\"safari\")})),e?(C.warn(\"#validate()\",e.message),h.reject(e)):M()},t.prototype._startup=function(){var e=this;this.timeline.begin(\"MapView Startup\"),this.inherited(arguments),this.graphics.owner=this;var t={deactivatedWebGLExtensions:this.deactivatedWebGLExtensions,debugWebGLExtensions:this.debugWebGLExtensions},i=new S(this.surface,{canvas:this.renderCanvas,supersampleScreenshots:this.supersampleScreenhotsEnabled,contextOptions:t,renderingOptions:this.renderingOptions,timeline:this.timeline}),r=new E({view:this,graphics:this.graphics}),n=new P({view:this,animationManager:this.animationManager}),a=new L({view:this});this._magnifierView=new k,this._magnifierView.magnifier=this.magnifier,this._stage=i,this.frameTask.graphicsView=r,this._set(\"graphicsView\",r),this._set(\"mapViewNavigation\",n),this._set(\"labelManager\",a),this.handles.add([this.allLayerViews.on(\"change\",function(){return e._updateStageChildren()}),i.on(\"post-render\",function(){return e._set(\"rendering\",e.allLayerViews.some(function(e){return!(\"layerViews\"in e)&&!0===e.rendering}))}),i.on(\"webgl-error\",function(t){return e.fatalError=t.error}),c.init(this,\"stationary\",function(e){return i.stationary=e},!0),c.init(this,\"state.viewpoint\",function(){return i.state=e.state},!0),c.init(this,\"background\",function(e){return i.background=e},!0),c.init(this,\"magnifier\",function(t){return e._magnifierView.magnifier=t},!0),c.init(this,\"renderingOptions\",function(e){return i.renderingOptions=e},!0),c.init(this,\"highlightOptions\",function(){return i.highlightOptions=e.highlightOptions},!0)],\"map-view\"),i.state=this.state,i.background=this.background,this._updateStageChildren();var o=this._resolveWhenReady;this._resolveWhenReady=[],o.forEach(function(t){return t(e)}),this.timeline.end(\"MapView Startup\")},t.prototype._teardown=function(){this.handles.remove(\"map-view\"),this.layerViewManager.clear(),this.labelManager.destroy(),this._magnifierView.destroy(),this._stage.destroy(),this.graphicsView.destroy(),this.mapViewNavigation.destroy(),this._stage=null,this._set(\"graphicsView\",null),this._magnifierView=null,this._set(\"labelManager\",null),this._set(\"mapViewNavigation\",null),this.graphics.owner=null,this.inherited(arguments)},t.prototype._updateStageChildren=function(){var e=this;this._stage.removeAllChildren(),this.allLayerViews.filter(O).forEach(function(t,i){e._stage.addChildAt(t.container,i)});var t=this.graphicsView;this._stage.addChild(t.container),this._stage.addChild(this._magnifierView)},r([d.property({readOnly:!0,dependsOn:[\"map.initialViewProperties?.background\"]})],t.prototype,\"background\",null),r([d.property()],t.prototype,\"graphicsView\",void 0),r([d.property({type:m})],t.prototype,\"highlightOptions\",void 0),r([d.property({type:w})],t.prototype,\"magnifier\",void 0),r([d.property({readOnly:!0})],t.prototype,\"inputManager\",void 0),r([d.property({readOnly:!0})],t.prototype,\"mapViewNavigation\",void 0),r([d.property({dependsOn:[\"mapViewNavigation.interacting\"],type:Boolean})],t.prototype,\"interacting\",null),r([d.property({type:Boolean,constructOnly:!0})],t.prototype,\"supersampleScreenhotsEnabled\",void 0),r([d.property({type:_})],t.prototype,\"ui\",void 0),r([d.property({readOnly:!0})],t.prototype,\"rendering\",void 0),r([d.property({constructOnly:!0})],t.prototype,\"renderCanvas\",void 0),r([d.property({constructOnly:!0})],t.prototype,\"deactivatedWebGLExtensions\",void 0),r([d.property({constructOnly:!0})],t.prototype,\"debugWebGLExtensions\",void 0),t=r([d.subclass(\"esri.views.MapView\")],t)}(d.declared(g.BreakpointsOwner(y.DOMContainer(f))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../geometry\",\"../Viewpoint\",\"../core/Error\",\"../core/Logger\",\"../core/now\",\"../core/promiseUtils\",\"../core/screenUtils\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../geometry/support/webMercatorUtils\",\"../layers/support/TileInfo\",\"./PopupView\",\"./View\",\"./ViewAnimation\",\"./2d/AnimationManager\",\"./2d/FrameTask\",\"./2d/layerViewModuleImportUtils\",\"./2d/MapViewConstraints\",\"./2d/PaddedViewState\",\"./2d/tiling\",\"./2d/viewpointUtils\",\"./2d/support/Timeline\"],function(t,e,i,n,r,o,a,s,p,l,c,u,h,y,d,f,m,g,v,w,_,b,T,O,z,R,x){function V(t){return t&&\"esri.Viewpoint\"===t.declaredClass}var S=p.getLogger(\"esri.views.MapView\"),P=160;return function(t){function e(e){var i=t.call(this,e)||this;i._stationaryTimer=null,i.frameTask=new _.default(i),i.featuresTilingScheme=null,i.fullOpacity=1,i.interacting=!1,i.initialExtent=null,i.labelManager=null,i.renderingOptions={samplingMode:\"dynamic\",edgeLabelsVisible:!0,labelsAnimationTime:125,labelCollisionsEnabled:!0},i.resizeAlign=\"center\",i.timeline=new x.Timeline,i.type=\"2d\",i.constraints=new T,i.padding={top:0,right:0,bottom:0,left:0};var n=i.handles,r=function(){return i.notifyChange(\"updating\")};return n.add([i.watch(\"viewpoint\",function(){i._lastStationaryEventTimestamp=l(),i._flipStationary(P)},!0),i.on(\"resize\",function(t){return i._resizeHandler(t)}),i.watch(\"animationManager.animation\",function(t){i.animation=t}),i.allLayerViews.on(\"change\",function(){r(),n.remove(\"map-view-base-layerViewsUpdating\"),n.add(i.allLayerViews.map(function(t){return t.watch(\"updating\",r)}),\"map-view-base-layerViewsUpdating\")})],\"map-view-base\"),i}return n(e,t),e.prototype.destroy=function(){this.destroyed||(this._set(\"preconditionsReady\",!1),this._gotoTask=this.frameTask=null)},Object.defineProperty(e.prototype,\"animation\",{set:function(t){var e=this,i=this._get(\"animation\");if(t!==i){if(i&&i.stop(),!t||t.isFulfilled())return void this._set(\"animation\",null);this._set(\"animation\",t),this.frameTask.animationInProgress=!0;var n=function(){t===e._get(\"animation\")&&(e._set(\"animation\",null),e.frameTask.requestFrame()),e.frameTask.animationInProgress=!1};t.when(n,n)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){if(!this.ready)return this._get(\"center\");var t=this.content.center,e=this.content.spatialReference;return new o.Point({x:t[0],y:t[1],spatialReference:e})},set:function(t){if(null!=t){if(!this._normalizeInput(t))return void S.error(\"#center\",\"incompatible spatialReference \"+JSON.stringify(t.spatialReference)+\" with view's spatialReference \"+JSON.stringify(this.spatialReference));if(!this.ready)return this._set(\"center\",t),void this.notifyChange(\"initialExtentRequired\");var e=this.viewpoint;R.centerAt(e,e,t),this.viewpoint=e}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"constraints\",{set:function(t){var e=this,i=this._get(\"constraints\");i&&(this.handles.remove(\"map-view-base-constraints\"),i.destroy()),this._set(\"constraints\",t),t&&(t.view=this,this.ready&&(this.state.viewpoint=t.fit(this.content.viewpoint)),this.handles.add(t.on(\"update\",function(){e.ready&&e.state&&(e.state.viewpoint=t.fit(e.content.viewpoint))}),\"map-view-base-constraints\"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"extent\",{get:function(){return this.ready?this.content.extent.clone():this._get(\"extent\")},set:function(t){if(null!=t){var e=this._normalizeInput(t);if(!e)return void S.error(\"#center\",\"incompatible spatialReference \"+JSON.stringify(t.spatialReference)+\" with view's spatialReference \"+JSON.stringify(this.spatialReference));if(!e.width||!e.height)return void S.error(\"#extent\",\"invalid extent size\");if(!this.ready)return this._set(\"extent\",e),this._set(\"center\",null),this._set(\"viewpoint\",null),this._set(\"scale\",0),this._set(\"zoom\",-1),void this.notifyChange(\"initialExtentRequired\");var i=this.viewpoint;R.setExtent(i,i,e,this.size,{constraints:this.constraints}),this.viewpoint=i}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"initialExtentRequired\",{get:function(){var t=this,e=t.extent,i=t.center,n=t.scale,r=t.viewpoint,o=t.zoom;return!this.get(\"map.initialViewProperties.viewpoint\")&&(!e&&((!i||0===n&&-1===o)&&!r))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"padding\",{get:function(){return this.ready?this.state.padding:this._get(\"padding\")},set:function(t){if(!this.ready)return void this._set(\"padding\",t);this.state.padding=t,this._set(\"padding\",this.state.padding)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"resolution\",{get:function(){return this.state?this.state.resolution:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"rotation\",{get:function(){return this.ready?this.content.rotation:this._get(\"rotation\")},set:function(t){if(!isNaN(t)){if(!this.ready)return void this._set(\"rotation\",t);var e=this.viewpoint;R.rotateTo(e,e,t),this.viewpoint=e}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"scale\",{get:function(){return this.ready?this.content.scale:this._get(\"scale\")},set:function(t){if(t&&!isNaN(t)){if(!this.ready){this._set(\"scale\",t),this._set(\"zoom\",-1);var e=this._get(\"extent\");return e&&(this._set(\"extent\",null),this._set(\"center\",e.center)),void this.notifyChange(\"initialExtentRequired\")}var i=this.viewpoint;R.scaleTo(i,i,t),this.viewpoint=i}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"stationary\",{get:function(){return!(this.animation||this.interacting||this._get(\"resizing\")||this._stationaryTimer)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"updating\",{get:function(){return!this.destroyed&&(!0===this.get(\"layerViewManager.updating\")||!0===this.get(\"labelManager.updating\")||!0===this.get(\"graphicsView.updating\")||this.allLayerViews.some(function(t){return!t.destroyed&&!(\"layerViews\"in t)&&t.attached&&!0===t.updating}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"viewpoint\",{get:function(){if(!this.ready)return this._get(\"viewpoint\");var t=this.content;return t&&t.viewpoint.clone()},set:function(t){if(null!=t){var e=this._normalizeInput(t);if(!e)return void(!t.scale||isNaN(t.scale)?S.error(\"#viewpoint\",\"invalid scale value of \"+t.scale):t.targetGeometry?S.error(\"#viewpoint\",\"incompatible spatialReference \"+JSON.stringify(t.targetGeometry.spatialReference)+\" with view's spatialReference \"+JSON.stringify(this.spatialReference)):S.error(\"#viewpoint\",\"geometry not defined\"));if(!this.ready)return this._set(\"viewpoint\",e),this._set(\"extent\",null),this._set(\"center\",null),this._set(\"zoom\",-1),this._set(\"scale\",0),void this.notifyChange(\"initialExtentRequired\");var i=new a({targetGeometry:new o.Point,scale:0,rotation:0});R.copy(i,e),this.constraints.constrain(i,this.content.viewpoint),this.state.viewpoint=i,this.frameTask.requestFrame(),this._set(\"viewpoint\",i)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"zoom\",{get:function(){return this.ready?this.constraints.scaleToZoom(this.scale):this._get(\"zoom\")},set:function(t){if(null!=t){if(!this.ready){this.notifyChange(\"initialExtentRequired\"),this._set(\"zoom\",t),this._set(\"scale\",0);var e=this._get(\"extent\");e&&(this._set(\"extent\",null),this._set(\"center\",e.center))}if(this.constraints.effectiveLODs){var i=this.viewpoint;R.scaleTo(i,i,this.constraints.zoomToScale(t)),this.viewpoint=i,this._set(\"zoom\",this.constraints.scaleToZoom(this.scale))}}},enumerable:!0,configurable:!0}),e.prototype.goTo=function(t,e){var n=this;return t?h.whenTrueOnce(this,\"ready\",e&&e.signal).then(function(){n.animation&&(n.animation=null);var r=i({animate:!0},e),o=R.createAsync(t,n);return n._gotoTask={},r.animate?n._gotoAnimated(o,r):n._gotoImmediate(o,r)}):void S.error(\"#goTo()\",\"target cannot be null or undefined\")},e.prototype.hitTest=function(t){return c.reject(\"Should be implemented by subclasses\")},e.prototype.popupHitTest=function(t){var e=this;return this.hitTest(t).then(function(n){return i({},n,{mapPoint:e.toMap(t)})})},e.prototype.toMap=function(t){if(!this.ready)return null;var e=[0,0],i=this.state.toMap(e,[t.x,t.y]),n=i[0],r=i[1],a=this.spatialReference;return new o.Point({x:n,y:r,spatialReference:a})},e.prototype.isTileInfoRequired=function(){return!0},e.prototype.toScreen=function(t){if(!this.ready)return null;var e=this._normalizeInput(t),i=e.x,n=e.y,r=[i,n],o=this.state.toScreen(r,r),a=o[0],s=o[1];return u.createScreenPoint(a,s)},e.prototype.pixelSizeAt=function(t,e){return this.ready?(t&&null!=t.x&&(e=t.y,t=t.x),this.content.pixelSizeAt([t,e])):NaN},e.prototype.requestLayerViewUpdate=function(t){this.ready&&this.frameTask.requestLayerViewUpdate(t)},e.prototype.requestUpdate=function(t){this.ready&&this.frameTask.requestUpdate(t)},e.prototype.getDefaultSpatialReference=function(){return this.get(\"map.initialViewProperties.spatialReference\")||this.get(\"defaultsFromMap.spatialReference\")||null},e.prototype.isSpatialReferenceSupported=function(t,e){return!(!e&&!this._get(\"ready\"))||null!==this._getDefaultViewpoint()},e.prototype.importLayerView=function(t){return b.layerView2DImporter.importLayerView(t)},e.prototype.hasLayerViewModule=function(t){return b.layerView2DImporter.hasLayerViewModule(t)},e.prototype._createOrReplaceAnimation=function(t){return this.animation&&!this.animation.done||(this.animation=new v),this.animation.update(t),this.animation},e.prototype._cancellableGoTo=function(t,e,i){var n=this,r=function(){return t===n._gotoTask},o=function(){r()&&!e.done&&(e.stop(),n.frameTask.animationInProgress=!1)},a=i.then(function(){r()&&(n.animation=null)}).catch(function(t){throw r()&&(n.animation=null,e.done||(e.stop(),n.frameTask.animationInProgress=!1)),t}),s=c.create(function(t){return t(a)},o);return e.when().catch(function(){r()&&s.cancel&&s.cancel()}),s},e.prototype._gotoImmediate=function(t,e){var i=this,n=this._gotoTask,r=this._createOrReplaceAnimation(t),o=t.then(function(t){if(c.throwIfAborted(e),n!==i._gotoTask)throw new s(\"view:goto-interrupted\",\"Goto was interrupted\");i.viewpoint=r.target=t,r.finish()});return this._cancellableGoTo(n,r,o)},e.prototype._gotoAnimated=function(t,e){var i=this,n=this._gotoTask,r=this._createOrReplaceAnimation(t),o=t.then(function(t){if(n!==i._gotoTask)throw new s(\"view:goto-interrupted\",\"Goto was interrupted\");return r.update(t),i.animationManager.animate(r,i.viewpoint,e),r.when().then(function(){},function(){})});return this._cancellableGoTo(n,r,o)},e.prototype._resizeHandler=function(t){var e=this.state;if(e){var i=this.content.viewpoint,n=this.content.size.concat();e.size=[t.width,t.height],R.resize(i,i,n,this.content.size,this.resizeAlign),i=this.constraints.constrain(i,null),this.state.viewpoint=i}},e.prototype._startup=function(){var t=this._getDefaultViewpoint();this.constraints.view=this,this.constraints.fit(t),this._set(\"animationManager\",new w({view:this})),this._set(\"state\",new O({padding:this._get(\"padding\"),size:this.size,viewpoint:t})),this._set(\"content\",this.state.content),this._set(\"featuresTilingScheme\",new z.TileInfoView(f.create({spatialReference:this.spatialReference,size:512}))),this._set(\"ready\",!0),this.frameTask&&this.frameTask.start()},e.prototype._teardown=function(){this.frameTask&&this.frameTask.stop(),this._set(\"ready\",!1),this._stationaryTimer&&(clearTimeout(this._stationaryTimer),this._stationaryTimer=null,this.notifyChange(\"stationary\"));var t=this._get(\"content\"),e=t.center,i=e[0],n=e[1],r=t.spatialReference,a=new o.Point({x:i,y:n,spatialReference:r});this._set(\"viewpoint\",null),this._set(\"extent\",null),this._set(\"center\",a),this._set(\"zoom\",-1),this._set(\"rotation\",t.rotation),this._set(\"scale\",t.scale),this._set(\"spatialReference\",r),this.constraints.view=null,this.animationManager.destroy(),this._set(\"animationManager\",null),this._set(\"state\",null),this._set(\"content\",null),this.animation=null},e.prototype._flipStationary=function(t){var e=this;return null!==this._stationaryTimer?this._stationaryTimer:(this._stationaryTimer=setTimeout(function(){e._stationaryTimer=null;var t=l()-e._lastStationaryEventTimestamp;t<P?e._stationaryTimer=e._flipStationary(t):e.notifyChange(\"stationary\")},t),this._stationaryTimer)},e.prototype._normalizeInput=function(t,e){void 0===e&&(e=this.spatialReference);var i=t&&t.targetGeometry||t;return e?i?e.equals(i.spatialReference)?t:d.canProject(i,e)?V(t)?(t.targetGeometry=d.project(i,e),t):d.project(i,e):null:null:t},e.prototype._getDefaultViewpoint=function(){var t=this.constraints,e={zoom:this._get(\"zoom\"),scale:this._get(\"scale\"),center:this._normalizeInput(this._get(\"center\")),extent:this._normalizeInput(this._get(\"extent\")),rotation:this._get(\"rotation\"),viewpoint:this._normalizeInput(this._get(\"viewpoint\")),spatialReference:this._userSpatialReference};t.effectiveLODs?-1!==e.zoom&&(e.scale=t.zoomToScale(e.zoom)):e.zoom=-1;var i=null,n=null,r=0,o=e.viewpoint&&e.viewpoint.rotation,s=e.viewpoint&&e.viewpoint.targetGeometry;s&&(\"extent\"===s.type?i=s:\"point\"===s.type&&(n=s,r=e.viewpoint.scale));var p=this._normalizeInput(this.get(\"map.initialViewProperties.viewpoint.targetGeometry.extent\")),l=this._normalizeInput(this.initialExtent),c=e.extent||i||p||l,u=e.center||n||c&&c.center,h=e.scale||r||c&&R.extentToScale(c,this.size),y=e.rotation||o||0;return u&&h?new a({targetGeometry:u,scale:h,rotation:y}):null},r([y.property()],e.prototype,\"animation\",null),r([y.property({readOnly:!0})],e.prototype,\"animationManager\",void 0),r([y.property({value:null,type:o.Point,dependsOn:[\"content.viewpoint\",\"ready\"]})],e.prototype,\"center\",null),r([y.property({type:T})],e.prototype,\"constraints\",null),r([y.property({readOnly:!0})],e.prototype,\"content\",void 0),r([y.property({value:null,type:o.Extent,dependsOn:[\"content.viewpoint\",\"ready\"]})],e.prototype,\"extent\",null),r([y.property({readOnly:!0})],e.prototype,\"featuresTilingScheme\",void 0),r([y.property()],e.prototype,\"fullOpacity\",void 0),r([y.property({readOnly:!0})],e.prototype,\"interacting\",void 0),r([y.property({type:o.Extent})],e.prototype,\"initialExtent\",void 0),r([y.property({dependsOn:[\"map.initialViewProperties?.viewpoint\"]})],e.prototype,\"initialExtentRequired\",null),r([y.property()],e.prototype,\"labelManager\",void 0),r([y.property({value:{top:0,right:0,bottom:0,left:0},cast:function(t){return i({top:0,right:0,bottom:0,left:0},t)}})],e.prototype,\"padding\",null),r([y.property({type:Object})],e.prototype,\"renderingOptions\",void 0),r([y.property()],e.prototype,\"resizeAlign\",void 0),r([y.property({readOnly:!0,dependsOn:[\"content.viewpoint\"]})],e.prototype,\"resolution\",null),r([y.property({value:0,type:Number,dependsOn:[\"content.viewpoint\",\"ready\"]})],e.prototype,\"rotation\",null),r([y.property({value:0,type:Number,dependsOn:[\"content.viewpoint\",\"ready\"]})],e.prototype,\"scale\",null),r([y.property({type:o.SpatialReference,dependsOn:[\"map.initialViewProperties?.spatialReference\",\"defaultsFromMap.isSpatialReferenceDone\"]})],e.prototype,\"spatialReference\",void 0),r([y.property({readOnly:!0})],e.prototype,\"state\",void 0),r([y.property()],e.prototype,\"stationary\",null),r([y.property({type:x.Timeline,readOnly:!0})],e.prototype,\"timeline\",void 0),r([y.property({readOnly:!0})],e.prototype,\"type\",void 0),r([y.property({readOnly:!0,dependsOn:[\"layerViewManager.updating\",\"labelManager.updating\",\"graphicsView?.updating\"]})],e.prototype,\"updating\",null),r([y.property({value:null,type:a,dependsOn:[\"content.viewpoint\",\"ready\"]})],e.prototype,\"viewpoint\",null),r([y.property({value:-1,dependsOn:[\"scale\"]})],e.prototype,\"zoom\",null),e=r([y.subclass(\"esri.views.MapViewBase\")],e)}(y.declared(m.PopupView(g)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/generatorHelper\",\"../core/arrayUtils\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/accessorSupport/decorators\"],function(e,r,t,i,p,a,s,n,o,u,c){Object.defineProperty(r,\"__esModule\",{value:!0}),r.PopupView=function(e){return function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return i(r,e),r.prototype.fetchPopupFeatures=function(e,r){return this._fetchPopupFeaturesAsync(e,r)},r.prototype._fetchPopupFeaturesAsync=function(e,r){return a(this,void 0,void 0,function(){var t,i,p,a,o,c;return s(this,function(s){switch(s.label){case 0:return[4,this.when()];case 1:return s.sent(),[4,this._prepareFetchPopupFeatures(e,r)];case 2:return t=s.sent(),i=t.location,p=this._queryLayerPopupFeatures(t,r),a=u.resolve(t.clientOnlyGraphics),o=[a].concat(p),c=u.eachAlwaysValues(o).then(n.flatten),[2,{promise:c,location:i,promises:o}]}})})},r.prototype._queryLayerPopupFeatures=function(e,r){var t=e.queryArea;return e.layerViewsAndGraphics.map(function(e){var i=e.layerView,p=e.graphics,a={clientGraphics:p,signal:o.isSome(r)?r.signal:null,defaultPopupTemplateEnabled:!!o.isSome(r)&&!!r.defaultPopupTemplateEnabled};return i.fetchPopupFeatures(t,a)})},r.prototype._isValidPopupGraphic=function(e,r){return e&&!!e.getEffectivePopupTemplate(o.isSome(r)&&r.defaultPopupTemplateEnabled)},r.prototype._prepareFetchPopupFeatures=function(e,r){return a(this,void 0,void 0,function(){var t,i,p,a,n,o,u,c;return s(this,function(s){switch(s.label){case 0:return[4,this._popupHitTestGraphics(e,r)];case 1:return t=s.sent(),i=t.clientGraphics,p=t.queryArea,a=t.location,n=this._getFetchPopupLayerViews(),o=this._graphicsPerFetchPopupLayerView(i,n),u=o.layerViewsAndGraphics,c=o.clientOnlyGraphics,[2,{clientOnlyGraphics:c,layerViewsAndGraphics:u,queryArea:p,location:a}]}})})},r.prototype._popupHitTestGraphics=function(e,r){return a(this,void 0,void 0,function(){var t,i,p,a,n,o,u=this;return s(this,function(s){switch(s.label){case 0:return[4,this.popupHitTest(e)];case 1:return t=s.sent(),i=t.results,p=t.mapPoint,a=i.filter(function(e){return u._isValidPopupGraphic(e.graphic,r)}),n=a.length?a[0].mapPoint:null,o=a.map(function(e){return e.graphic}),[2,{clientGraphics:o,queryArea:p,location:p||n}]}})})},r.prototype._getFetchPopupLayerViews=function(){var e=this,r=[];return this.allLayerViews.forEach(function(t){e._isValidPopupLayerView(t)&&r.push(t)}),o.isSome(this.graphicsView)&&this._isValidPopupLayerView(this.graphicsView)&&r.push(this.graphicsView),r.reverse()},r.prototype._isValidPopupLayerView=function(e){return o.isSome(e)&&(!(\"layer\"in e)||!e.suspended)&&\"fetchPopupFeatures\"in e},r.prototype._graphicsPerFetchPopupLayerView=function(e,r){for(var t=[],i=new Map,p=(r.map(function(e){var r=[];return\"layer\"in e?i.set(e.layer,r):i.set(e.graphics,r),{layerView:e,graphics:r}})),a=0,s=e;a<s.length;a++){var n=s[a],o=i.get(n.layer)||null;o?o.push(n):t.push(n)}return{layerViewsAndGraphics:p,clientOnlyGraphics:t}},r=p([c.subclass(\"esri.views.PopupView\")],r)}(c.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Accessor\",\"../core/Handles\",\"../core/accessorSupport/decorators\",\"./layers/RefreshableLayerView\"],function(e,r,t,n,i,a,s,o){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r._handles=new a,r._currentTick=0,r}return t(r,e),r.prototype.initialize=function(){var e=this;this._handles.add([this.view.allLayerViews.on(\"after-changes\",function(){e.notifyChange(\"tickInterval\"),e._handles.remove(\"layerViewsUpdating\"),e._handles.add(e._getLayerViewHandles(),\"layerViewsUpdating\")}),this.watch(\"tickInterval\",function(){return e._restartTicking()}),this.watch(\"view.ready\",function(){return e._restartTicking()})]),this._restartTicking()},r.prototype.destroy=function(){this._handles&&(this._handles.destroy(),this._handles=null,this._intervalID&&clearInterval(this._intervalID),this._currentTick=0)},Object.defineProperty(r.prototype,\"tickInterval\",{get:function(){var e=this.view.allLayerViews.filter(function(e){return o.isRefreshableLayerView(e)});return this._getCommonInterval(e)},enumerable:!0,configurable:!0}),r.prototype._restartTicking=function(){var e=this;this._currentTick=0,this._intervalID&&clearInterval(this._intervalID),this.get(\"view.ready\")&&this.tickInterval&&(this._intervalID=setInterval(function(){var r=Date.now();e._currentTick+=e.tickInterval,e.view.allLayerViews.forEach(function(t){if(o.isRefreshableLayerView(t)){var n=Math.round(6e4*t.refreshInterval),i=e._currentTick%n==0,a=r-t.refreshTimestamp<6e3;n&&i&&!a&&t.refresh(r)}})},this.tickInterval))},r.prototype._getLayerViewHandles=function(){var e=this,r=[],t=function(){return e.notifyChange(\"tickInterval\")};return this.view.allLayerViews.forEach(function(e){o.isRefreshableLayerView(e)&&e.layer&&r.push(e.watch(\"refreshInterval\",t),e.layer.on(\"refresh\",function(){e.refresh(Date.now())}))}),r},r.prototype._getCommonInterval=function(e){var r=function(e,t){return isNaN(e)||isNaN(t)?0:t<=0?e:r(t,e%t)};return e.toArray().reduce(function(e,t){return r(Math.round(6e4*t.refreshInterval),e)},0)},n([s.property()],r.prototype,\"view\",void 0),n([s.property({readOnly:!0})],r.prototype,\"tickInterval\",null),r=n([s.subclass(\"esri.views.RefreshManager\")],r)}(s.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/assignHelper\",\"../core/Accessor\",\"../core/Collection\",\"../core/Handles\",\"../core/Logger\",\"../core/maybe\",\"../core/promiseUtils\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./input/InputManager\",\"./input/ViewEvents\",\"./interactive/interactiveToolUtils\",\"./interactive/ToolViewManagerManipulatorState\"],function(o,t,e,r,n,i,a,l,s,c,u,h,p,v,f,d,T,_,m){var E=u.getLogger(\"esri.views.ToolViewManager\");return function(o){function t(t){var e=o.call(this,t)||this;return e._handles=new c,e._creatingTool=null,e._manipulatorState=new m.default,e.tools=_.newToolCollection(),e.cursor=null,e._forEachTool=function(o){if(!h.isSome(e._creatingTool)||!o(e._creatingTool))for(var t=0,r=e.tools.items;t<r.length;t++){var n=r[t];if(o(n))return}},e}return r(t,o),t.prototype.initialize=function(){var o=this;this._handles.add([this.view.on(T.eventTypes,function(t){o._handleInputEvent(t)},d.ViewEventPriorities.TOOL),this.tools.on(\"before-add\",function(t){var e=t.item;if(null==e||o.tools.includes(e))return void t.preventDefault();null==e.created||e.created||(E.error(\"tools\",\"Tool can not be added to view before it has been created\"),t.preventDefault())}),this.tools.on(\"before-remove\",function(t){var e=t.item;o._manipulatorState.clearPointers(e,o._forEachTool)}),this.tools.on(\"change\",function(){o._refreshToolWatchers()})])},t.prototype.destroy=function(){this._forEachTool(function(o){return o.destroy()}),this._handles.destroy(),this._handles=null},Object.defineProperty(t.prototype,\"activeTool\",{set:function(o){var t=this;if(h.isSome(o)&&!this.view.ready)return void E.error(\"#activeTool=\",\"cannot set active tool while view is not ready\");_.swap(this,o,function(e){t._set(\"activeTool\",e),t._removeIncompleteTools(o),t._forEachTool(function(o){var e=h.isNone(t.activeTool)||o===t.activeTool;o.setEditableFlag&&o.setEditableFlag(1,e);var r=_.areToolManipulatorsEditable(o);!h.isNone(t.activeTool)&&r||t._manipulatorState.clearPointers(o,t._forEachTool,!r)}),t._updateCursor()}),this._creatingTool!==o&&this._rejectCreatingTool()},enumerable:!0,configurable:!0}),t.prototype.createTool=function(o,t,e){return i(this,void 0,void 0,function(){var r,i,s,c=this;return n(this,function(n){switch(n.label){case 0:return[4,this.view.whenReady()];case 1:return n.sent(),r=_.evaluateToolConstructorArguments(t),i=new o(a({},r,{view:this.view})),s=p.onAbort(e,function(){return c.activeTool=null}),this._rejectCreatingTool(\"Tool creation was interrupted by another tool being created\"),this._creatingTool=i,i.attach(),this._refreshToolWatchers(),_.setActive(i,!0),[4,i.when()];case 2:return n.sent(),h.isSome(s)&&s.remove(),this._creatingTool=null,this.tools.add(i),i instanceof l&&null!=i.completed&&v.whenOnce(i,\"completed\").then(function(){_.setActive(i,!1)}),[2,i]}})})},t.prototype.attach=function(){var o=this;this._forEachTool(function(o){return o.attach()}),\"3d\"===this.view.type?this._handles.add([this.view.state.watch(\"camera\",function(){o.forEachManipulator(function(o){null!=o.onViewChange&&o.onViewChange()})}),this.view.elevationProvider.on(\"elevation-change\",function(t){o.forEachManipulator(function(o){null!=o.onElevationChange&&o.onElevationChange(t)})})],\"manipulators\"):this._handles.add(this.view.watch(\"extent\",function(){o.forEachManipulator(function(o){null!=o.onViewChange&&o.onViewChange()})}))},t.prototype.detach=function(){this.activeTool=null,this._forEachTool(function(o){o.detach(),o.destroy()}),this.tools.removeAll(),this._handles.remove(\"manipulators\")},t.prototype.forEachManipulator=function(o){this._forEachTool(function(t){t.manipulators&&t.manipulators.forEach(function(e){var r=e.manipulator;return o(r,t)})})},t.prototype._handleInputEvent=function(o){var t=this;h.isSome(this.activeTool)?this.activeTool.handleInputEvent&&this.activeTool.handleInputEvent(o):this._forEachTool(function(t){!1!==t.visible&&t.handleInputEvent&&t.handleInputEvent(o)}),\"key-down\"===o.type&&\"Escape\"===o.key&&this.activeTool&&(o.stopPropagation(),this.activeTool=null),this._manipulatorState.handleInputEvent(o,{forEachTool:this._forEachTool,activeTool:this.activeTool,setActiveTool:function(o){t.activeTool=o},creatingTool:this._creatingTool,view:this.view}),this._manipulatorState.handleHoverEvent(o,this._forEachTool),this._updateCursor()},t.prototype._refreshToolWatchers=function(){var o=this;this._handles.remove(\"tools\"),this._updateCursor(),this._forEachTool(function(t){if(t instanceof l){var e=v.watch(t,[\"cursor\",\"visible\",\"editable\"],function(){_.areToolManipulatorsEditable(t)||o._manipulatorState.clearPointers(t,o._forEachTool),o._updateCursor()});o._handles.add(e,\"tools\")}t.manipulators&&o._handles.add(t.manipulators.on(\"change\",function(e){e.removed.forEach(function(e){var r=e.id;o._manipulatorState.clearPointers(t,o._forEachTool,!0,r)}),o._updateCursor()}),\"tools\")})},t.prototype._updateCursor=function(){var o=null;this._forEachTool(function(t){return null!=t.cursor&&!1!==t.visible&&(o=t.cursor,!0)}),o||(o=this._manipulatorState.cursor),this._get(\"cursor\")!==o&&this._set(\"cursor\",o)},t.prototype._rejectCreatingTool=function(o){var t=this._creatingTool;h.isNone(t)||(this._manipulatorState.clearPointers(t,this._forEachTool),t.rejectCreation&&t.rejectCreation(p.createAbortError(o)),t.destroy(),this._creatingTool=null,this._refreshToolWatchers())},t.prototype._removeIncompleteTools=function(o){var t=this;this.tools.filter(function(t){return(h.isNone(o)||t!==o)&&null!=t.completed&&!t.completed}).forEach(function(o){t.tools.remove(o)})},e([f.property({constructOnly:!0,nonNullable:!0})],t.prototype,\"view\",void 0),e([f.property({value:null})],t.prototype,\"activeTool\",null),e([f.property({readOnly:!0,type:s})],t.prototype,\"tools\",void 0),e([f.property({readOnly:!0})],t.prototype,\"cursor\",void 0),t=e([f.subclass(\"esri.views.ToolViewManager\")],t)}(f.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/assignHelper\",\"../Map\",\"../TimeExtent\",\"../core/Accessor\",\"../core/Collection\",\"../core/CollectionFlattener\",\"../core/Error\",\"../core/Evented\",\"../core/HandleOwner\",\"../core/Loadable\",\"../core/Logger\",\"../core/maybe\",\"../core/Promise\",\"../core/promiseUtils\",\"../core/scheduling\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../geometry/Extent\",\"../geometry/HeightModelInfo\",\"../geometry/SpatialReference\",\"../geometry/support/spatialReferenceUtils\",\"../support/GraphicsCollection\",\"./BasemapView\",\"./LayerViewManager\",\"./RefreshManager\",\"./ToolViewManager\",\"./input/Input\",\"./input/ViewEvents\",\"./navigation/Navigation\",\"./support/DefaultsFromMap\"],function(e,t,r,i,o,a,n,p,l,s,d,y,u,c,h,f,w,g,m,v,M,V,R,F,b,_,O,E,S,x,C,L,I,P){var D=h.getLogger(\"esri.views.View\");return function(e){function t(t){var r=e.call(this,t)||this;return r._userSpatialReference=null,r._cursor=null,r.allLayerViews=new s({root:r,rootCollectionNames:[\"basemapView.baseLayerViews\",\"groundView?.layerViews\",\"layerViews\",\"basemapView.referenceLayerViews\"],getChildrenFunction:function(e){return e.layerViews}}),r.animation=null,r.basemapView=null,r.defaultsFromMap=new P({view:r}),r.fatalError=null,r.extent=null,r.graphics=new _.default,r.interacting=!1,r.layerViews=new l,r.padding={left:0,top:0,right:0,bottom:0},r.ready=!1,r.spatialReferenceWarningDelay=1e3,r.timeExtent=null,r.type=null,r.scale=null,r.updating=!1,r.initialExtentRequired=!0,r.renderContext=null,r.input=new C,r.navigation=new I,r.layerViewManager=null,r.refreshManager=null,r.isHeightModelInfoRequired=!1,r.width=null,r.height=null,r.resizing=!1,r.suspended=!1,r.viewEvents=new L.ViewEvents(r),r._isValid=!1,r._readyCycleForced=!1,r.handles.add(r.watch(\"preconditionsReady\",function(e){e?(r._currentSpatialReference=r.spatialReference,o.views.add(r)):(r._currentSpatialReference=null,o.views.remove(r)),r.notifyChange(\"spatialReference\"),!e&&r.ready?(r.layerViewManager.clear(),r.toolViewManager.detach(),r._teardown()):e&&!r.ready&&(r._startup(),r.toolViewManager.attach())},!0)),r}i(t,e),o=t,t.prototype.initialize=function(){var e=this;this.addResolvingPromise(this.validate().then(function(){return e._isValid=!0,v.whenOnce(e,\"ready\")})),this.basemapView=new O.BasemapView({view:this}),this.layerViewManager=new E.default({view:this,layerViewImporter:{importLayerView:function(t){return e.importLayerView(t)},hasLayerViewModule:function(t){return e.hasLayerViewModule(t)}}}),this.refreshManager=new S({view:this}),this.toolViewManager=new x({view:this}),this._resetInitialViewPropertiesFromContent();var t;v.init(this.defaultsFromMap,\"isSpatialReferenceDone\",function(r){var i=!!(e.map&&e.map.allLayers.length>0);if(r&&!e.spatialReference&&i||!t){if(r&&!e.spatialReference&&i&&!t){var o=t=g.after(e.spatialReferenceWarningDelay);t.then(function(){o===t&&D.warn(\"#spatialReference\",\"no spatial reference could be derived from the currently added map layers\")}).catch(function(){})}}else t=null},!0)},t.prototype.destroy=function(){this.destroyed||(this.viewEvents.destroy(),this.allLayerViews.destroy(),this.navigation&&(this.navigation.destroy(),this._set(\"navigation\",null)),this.map=null,this.graphics.destroy(),this.graphics=null,this.handles.remove(\"defaultsFromMap\"),this.defaultsFromMap.destroy(),this._set(\"defaultsFromMap\",null),this.toolViewManager.destroy(),this.toolViewManager=null,this.refreshManager.destroy(),this.refreshManager=null,this.layerViewManager.destroy(),this.layerViewManager=null,this.basemapView.destroy(),this.basemapView=null,this.invalidate(),this._emitter.clear(),this.handles.removeAll())},t.prototype._startup=function(){this._set(\"ready\",!0)},t.prototype._teardown=function(){this._set(\"ready\",!1)},t.prototype.whenReady=function(){return g.resolve()},t.prototype.toMap=function(e){return D.error(\"#toMap()\",\"Not implemented on this instance of View\"),null},Object.defineProperty(t.prototype,\"heightModelInfo\",{get:function(){return this.getDefaultHeightModelInfo()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"preconditionsReady\",{get:function(){return!!(!this.fatalError&&this._isValid&&!this._readyCycleForced&&this.map&&(!c.isLoadable(this.map)||this.map.loaded)&&0!==this.width&&0!==this.height&&this.spatialReference&&this.isSpatialReferenceSupported(this.spatialReference)&&(this._currentSpatialReference||!this.initialExtentRequired||this.initialExtent||this.defaultsFromMap&&this.defaultsFromMap.isSpatialReferenceDone)&&this.defaultsFromMap&&this.defaultsFromMap.isTileInfoDone)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"map\",{set:function(e){e!==this._get(\"map\")&&(c.isLoadable(e)&&e.load(),this.initialized&&(this.forceReadyCycle(),this._resetInitialViewPropertiesFromContent()),this._set(\"map\",e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"spatialReference\",{get:function(){var e=this._userSpatialReference||this._currentSpatialReference||this.getDefaultSpatialReference()||null;return e&&this.isHeightModelInfoRequired&&this.defaultsFromMap&&(e=e.clone(),e.vcsWkid=this.defaultsFromMap.vcsWkid,e.latestVcsWkid=this.defaultsFromMap.latestVcsWkid),e},set:function(e){this._userSpatialReference=e,this._set(\"spatialReference\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stationary\",{get:function(){return!this.animation&&!this.interacting&&!this.resizing},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"initialExtent\",{get:function(){return this.defaultsFromMap&&this.defaultsFromMap.extent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"cursor\",{get:function(){var e=this.toolViewManager?this.toolViewManager.cursor:null;return f.isSome(e)?e:this._cursor||\"default\"},set:function(e){this._cursor=e,this.notifyChange(\"cursor\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"size\",{get:function(){return[this.width,this.height]},enumerable:!0,configurable:!0}),t.prototype.whenLayerView=function(e){return this.layerViewManager.whenLayerView(e)},t.prototype.getDefaultSpatialReference=function(){return this.get(\"defaultsFromMap.spatialReference\")},t.prototype.getDefaultHeightModelInfo=function(){return this.get(\"map.supportsHeightModelInfo\")&&this.get(\"map.heightModelInfo\")||this.get(\"defaultsFromMap.heightModelInfo\")||null},t.prototype.importLayerView=function(e){throw new d(\"importLayerView() not implemented\")},t.prototype.hasLayerViewModule=function(e){return!1},t.prototype.validate=function(){return g.resolve()},t.prototype.invalidate=function(){this._isValid=!1},t.prototype.isSpatialReferenceSupported=function(e,t,r){return!0},t.prototype.isTileInfoRequired=function(){return!1},t.prototype.when=function(e,t){return this.isResolved()&&!this.ready&&D.warn(\"#when()\",'Calling view.when() while the view is no longer ready but was already resolved once will resolve immediately. Use watchUtils.whenOnce(view, \"ready\").then(...) instead.'),this.inherited(arguments,[e,t])},t.prototype.forceReadyCycle=function(){var e=this;this.ready&&(this._readyCycleForced=!0,v.whenFalseOnce(this,\"preconditionsReady\",function(){return e._readyCycleForced=!1}))},t.prototype.createTool=function(e,t,r){return this.toolViewManager.createTool(e,t,r)},t.prototype.tryFatalErrorRecovery=function(){this.fatalError=null},t.prototype._resetInitialViewPropertiesFromContent=function(){var e=this;if(this.defaultsFromMap){var t=function(){return e.defaultsFromMap&&e.defaultsFromMap.start()};this.defaultsFromMap.reset(),this._currentSpatialReference=null,this.notifyChange(\"spatialReference\"),this.handles.remove(\"defaultsFromMap\"),this.handles.add([v.watch(this,\"spatialReference\",function(e,r){b.equals(e,r)||t()}),v.watch(this,\"initialExtentRequired\",t),m.schedule(t)],\"defaultsFromMap\")}};var o;return t.views=new l,r([M.aliasOf(\"toolViewManager.activeTool\")],t.prototype,\"activeTool\",void 0),r([M.property({readOnly:!0})],t.prototype,\"allLayerViews\",void 0),r([M.property()],t.prototype,\"animation\",void 0),r([M.property()],t.prototype,\"basemapView\",void 0),r([M.property()],t.prototype,\"defaultsFromMap\",void 0),r([M.property()],t.prototype,\"fatalError\",void 0),r([M.property({type:V})],t.prototype,\"extent\",void 0),r([M.property(_.graphicsCollectionProperty)],t.prototype,\"graphics\",void 0),r([M.property({readOnly:!0,type:R,dependsOn:[\"map.heightModelInfo?\",\"defaultsFromMap.heightModelInfo\"]})],t.prototype,\"heightModelInfo\",null),r([M.property()],t.prototype,\"interacting\",void 0),r([M.property({readOnly:!0,dependsOn:[\"fatalError\",\"_isValid\",\"_readyCycleForced\",\"map\",\"map.loaded?\",\"width\",\"height\",\"spatialReference\",\"_currentSpatialReference\",\"initialExtentRequired\",\"initialExtent\",\"defaultsFromMap.isSpatialReferenceDone\",\"defaultsFromMap.isTileInfoDone\"]})],t.prototype,\"preconditionsReady\",null),r([M.property({type:l,readOnly:!0})],t.prototype,\"layerViews\",void 0),r([M.property({value:null,type:a})],t.prototype,\"map\",null),r([M.property()],t.prototype,\"padding\",void 0),r([M.property({readOnly:!0})],t.prototype,\"ready\",void 0),r([M.property({type:F,dependsOn:[\"defaultsFromMap.spatialReference\",\"defaultsFromMap.vcsWkid\",\"defaultsFromMap.latestVcsWkid\"]})],t.prototype,\"spatialReference\",null),r([M.property()],t.prototype,\"spatialReferenceWarningDelay\",void 0),r([M.property({dependsOn:[\"animation\",\"interacting\",\"resizing\"]})],t.prototype,\"stationary\",null),r([M.property({type:n})],t.prototype,\"timeExtent\",void 0),r([M.aliasOf(\"toolViewManager.tools\")],t.prototype,\"tools\",void 0),r([M.property()],t.prototype,\"toolViewManager\",void 0),r([M.property({readOnly:!0})],t.prototype,\"type\",void 0),r([M.property({type:Number})],t.prototype,\"scale\",void 0),r([M.property({readOnly:!0})],t.prototype,\"updating\",void 0),r([M.property({readOnly:!0})],t.prototype,\"initialExtentRequired\",void 0),r([M.property({readOnly:!0,type:V,dependsOn:[\"defaultsFromMap.extent\"]})],t.prototype,\"initialExtent\",null),r([M.property({dependsOn:[\"toolViewManager.cursor\"]})],t.prototype,\"cursor\",null),r([M.property()],t.prototype,\"renderContext\",void 0),r([M.property({readOnly:!0})],t.prototype,\"input\",void 0),r([M.property({type:I,nonNullable:!0})],t.prototype,\"navigation\",void 0),r([M.property()],t.prototype,\"layerViewManager\",void 0),r([M.property()],t.prototype,\"width\",void 0),r([M.property()],t.prototype,\"height\",void 0),r([M.property({readOnly:!0})],t.prototype,\"resizing\",void 0),r([M.property({value:null,dependsOn:[\"width\",\"height\"],readOnly:!0})],t.prototype,\"size\",null),r([M.property({readOnly:!0})],t.prototype,\"suspended\",void 0),r([M.property({readOnly:!0})],t.prototype,\"viewEvents\",void 0),r([M.property()],t.prototype,\"_isValid\",void 0),r([M.property()],t.prototype,\"_readyCycleForced\",void 0),r([M.property()],t.prototype,\"_currentSpatialReference\",void 0),t=o=r([M.subclass(\"esri.views.View\")],t)}(M.declared(u.HandleOwnerMixin(y.EventedMixin(w.EsriPromiseMixin(p)))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Error\",\"../core/has\",\"../core/Promise\",\"../core/promiseUtils\",\"../core/promiseUtils\",\"../core/scheduling\",\"../core/accessorSupport/decorators\"],function(e,t,r,i,s,o,n,p,a,d,c){var u=function(e){function t(t){var r=e.call(this,t)||this;return r.state=\"running\",r.target=null,r}return r(t,e),t.prototype.initialize=function(){var e=this;this.addResolvingPromise(p.create(function(t,r){return e._dfd={resolve:t,reject:r}}))},Object.defineProperty(t.prototype,\"done\",{get:function(){return\"finished\"===this.state||\"stopped\"===this.state},enumerable:!0,configurable:!0}),t.prototype.stop=function(){var e=this;\"stopped\"!==this.state&&\"finished\"!==this.state&&(this._set(\"state\",\"stopped\"),o(\"esri-native-promise\")?this._dfd.reject(new s(\"ViewAnimation stopped\")):d.schedule(function(){return e._dfd.reject(new s(\"ViewAnimation stopped\"))}))},t.prototype.finish=function(){\"stopped\"!==this.state&&\"finished\"!==this.state&&(this._set(\"state\",\"finished\"),o(\"esri-native-promise\")?this._dfd.resolve():d.schedule(this._dfd.resolve))},t.prototype.update=function(e,t){t||(t=a.isPromiseLike(e)?\"waiting-for-target\":\"running\"),this._set(\"target\",e),this._set(\"state\",t)},i([c.property({readOnly:!0,dependsOn:[\"state\"]})],t.prototype,\"done\",null),i([c.property({readOnly:!0,type:String})],t.prototype,\"state\",void 0),i([c.property()],t.prototype,\"target\",void 0),t=i([c.subclass(\"esri.views.ViewAnimation\")],t)}(c.declared(n.EsriPromise));return function(e){e.State={RUNNING:\"running\",STOPPED:\"stopped\",FINISHED:\"finished\",WAITING_FOR_TARGET:\"waiting-for-target\"}}(u||(u={})),u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/assignHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"./MultipointDrawAction\",\"./PointDrawAction\",\"./PolygonDrawAction\",\"./PolylineDrawAction\",\"./SegmentDrawAction\"],function(t,e,i,o,c,r,n,a,s,p,l,v){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.activeAction=null,e.type=\"draw\",e.view=null,e}return i(e,t),e.prototype.destroy=function(){this.activeAction&&(this.activeAction.destroy(),this.activeAction=null)},e.prototype.create=function(t,e){this.reset();var i=c({view:this.view},e);switch(t){case\"point\":this.activeAction=new s(i);break;case\"polygon\":this.activeAction=new p(i);break;case\"polyline\":this.activeAction=new l(i);break;case\"multipoint\":this.activeAction=new a(i);break;case\"rectangle\":case\"circle\":case\"ellipse\":case\"triangle\":this.activeAction=new v(i)}return this.activeAction},e.prototype.complete=function(){this.activeAction&&this.activeAction.complete(),this.activeAction=null},e.prototype.reset=function(){this.activeAction&&this.activeAction.destroy(),this.activeAction=null},o([n.property()],e.prototype,\"activeAction\",void 0),o([n.property({readOnly:!0})],e.prototype,\"type\",void 0),o([n.property()],e.prototype,\"view\",void 0),e=o([n.subclass(\"esri.views.draw.Draw\")],e)}(n.declared(r))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Evented\",\"../../core/accessorSupport/decorators\"],function(r,t,o,e,n,i){return function(r){function t(){var t=null!==r&&r.apply(this,arguments)||this;return t.history=[],t.redoHistory=[],t.view=null,t}return o(t,r),t.prototype.canUndo=function(){return this.history.length>0},t.prototype.canRedo=function(){return this.redoHistory.length>0},t.prototype.undo=function(){if(this.canUndo()){var r=this.history.pop();r.undo(),this.redoHistory.push(r)}},t.prototype.redo=function(){if(this.canRedo()){var r=this.redoHistory.pop();r.redo(),this.history.push(r)}},t.prototype.getCoordsFromScreenPoint=function(r){var t=this.view.toMap(r);return t?[t.x,t.y]:null},t.prototype.isDuplicateVertex=function(r,t){if(r.length){var o=r[r.length-1],e=o[0],n=o[1];return e===t[0]&&n===t[1]}return!1},e([i.property({readOnly:!0})],t.prototype,\"history\",void 0),e([i.property({readOnly:!0})],t.prototype,\"redoHistory\",void 0),e([i.property()],t.prototype,\"view\",void 0),t=e([i.subclass(\"esri.views.draw.DrawAction\")],t)}(i.declared(n.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./DrawAction\",\"./input/DrawEvents\",\"./input/Keys\",\"../input/InputManager\"],function(e,t,r,i,o,n,s,d,v,c,p,u){return function(e){function t(t){var r=e.call(this,t)||this;return r._cursorMoved=!1,r._cursorScreenPoint=null,r._dragEnabled=!0,r._pointerDownEvent=null,r._viewHandles=new o,r.vertices=[],r.view=null,r}return r(t,e),t.prototype.initialize=function(){this._addViewHandles()},t.prototype.destroy=function(){this._removeViewHandles(),this._viewHandles.destroy(),this.emit(\"destroy\")},t.prototype.addVertex=function(e,t){var r=this;isNaN(t)?(t=this.vertices.length,this.vertices.push(e)):this.vertices.splice(t,0,e);var i={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexAdd(null,t)},redo:function(){return r._redoVertexAdd(null,e,t)}};this.history.push(i),this._set(\"redoHistory\",[]);var o=new c.VertexAddEvent(this.view,null,t,this.vertices);this.emit(\"vertex-add\",o),o.defaultPrevented&&(this._cursorMoved=!0,this.history.pop())},t.prototype.removeVertex=function(e){var t=this,r=this.vertices.splice(e,1)[0],i={vertex:r,vertexIndex:e,undo:function(){return t._undoVertexRemove(null,r,e)},redo:function(){return t._redoVertexRemove(null,e)}};this.history.push(i),this._set(\"redoHistory\",[]),this.emit(\"vertex-remove\",new c.VertexRemoveEvent(this.view,null,e,this.vertices))},t.prototype.updateVertex=function(e,t){var r=this,i=this.vertices[t];this.vertices[t]=e;var o={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexUpdate(null,i,t)},redo:function(){return r._redoVertexUpdate(null,e,t)}};this.history.push(o),this._set(\"redoHistory\",[]),this.emit(\"vertex-update\",new c.VertexUpdateEvent(this.view,null,t,this.vertices))},t.prototype.complete=function(){this._completeDrawing()},t.prototype._addViewHandles=function(){var e=this;this._removeViewHandles(),this._viewHandles.add([this.view.on(\"click\",function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._cursorMoved&&e.vertices.pop(),e._pointerDownEvent=t,e._cursorMoved=!1,e._cursorScreenPoint=s.createScreenPointFromEvent(t)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._cursorMoved&&e.vertices.pop(),e._cursorMoved=!0,e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._cursorUpdateHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){if(e._pointerDownEvent){if(e._cursorMoved)return e.vertices.pop(),void(e._cursorMoved=!1);e._pointerDownEvent=null,e._vertexAddHandler(t)}},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",function(t){e._dragEnabled&&e._pointerDownEvent&&t.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",[\"Shift\"],function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",[\"Control\"],function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){t.key===p.KEYS.vertexAddKey&&!t.repeat&&e._cursorScreenPoint?(e._cursorMoved&&(e.vertices.pop(),e._cursorMoved=!1),e._vertexAddHandler(t)):t.key===p.KEYS.drawCompleteKey&&!t.repeat&&e._cursorScreenPoint?(e._cursorMoved&&(e.vertices.pop(),e._cursorMoved=!1),e._vertexAddHandler(t),e._drawCompleteHandler(t)):t.key!==p.KEYS.undoKey||t.repeat?t.key!==p.KEYS.redoKey||t.repeat||e.redo():e.undo()},u.ViewEventPriorities.TOOL)])},t.prototype._removeViewHandles=function(){this._viewHandles.removeAll()},t.prototype._addVertex=function(e,t){var r=this;this.vertices.push(e);var i=this.vertices.indexOf(e),o={vertex:e,vertexIndex:i,undo:function(){return r._undoVertexAdd(t,i)},redo:function(){return r._redoVertexAdd(t,e,i)}};this.history.push(o),this._set(\"redoHistory\",[]);var n=new c.VertexAddEvent(this.view,t,i,this.vertices);this.emit(\"vertex-add\",n),n.defaultPrevented&&(this._cursorMoved=!0,this.history.pop())},t.prototype._updateCursor=function(e,t){this.vertices.push(e);var r=this.vertices.indexOf(e),i=new c.CursorUpdateEvent(this.view,t,r,this.vertices);this.emit(\"cursor-update\",i)},t.prototype._completeDrawing=function(e){if(this._cursorMoved=!1,this._pointerDownEvent=null,!(this.vertices.length<1)){var t=new c.DrawCompleteEvent(e,this.vertices);this.emit(\"draw-complete\",t),t.defaultPrevented?this._cursorMoved=!0:this._removeViewHandles()}},t.prototype._undoVertexAdd=function(e,t){this.vertices.splice(t,1),this.emit(\"undo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._redoVertexAdd=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"redo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._undoVertexRemove=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"undo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexRemove=function(e,t){this.vertices.splice(t,1),this.emit(\"redo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._undoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"undo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"redo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._vertexAddHandler=function(e){var t=this.getCoordsFromScreenPoint(this._cursorScreenPoint);n.isSome(t)&&this._addVertex(t,e.native)},t.prototype._cursorUpdateHandler=function(e){var t=this.getCoordsFromScreenPoint(this._cursorScreenPoint);n.isSome(t)&&this._updateCursor(t,e.native)},t.prototype._drawCompleteHandler=function(e){this._completeDrawing(e.native)},i([d.property({readOnly:!0})],t.prototype,\"vertices\",void 0),i([d.property()],t.prototype,\"view\",void 0),t=i([d.subclass(\"esri.views.draw.MultipointDrawAction\")],t)}(d.declared(v))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./DrawAction\",\"./input/Keys\",\"../input/InputManager\",\"../input/recognizers/PointerClickHoldAndDrag\"],function(e,t,o,r,i,n,s,c,a,d,p,u){var l=function(){function e(e,t,o){this.view=e,this.native=t,this.coordinates=o,this.defaultPrevented=!1,this.type=\"cursor-update\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}(),v=function(){function e(e,t){this.native=e,this.coordinates=t,this.defaultPrevented=!1,this.type=\"draw-complete\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();return function(e){function t(t){var o=e.call(this,t)||this;return o._clickDelay=u.DefaultParameters.maximumClickDelay,o._cursorMoved=!1,o._cursorScreenPoint=null,o._pointerDownEvent=null,o._viewHandles=new i,o.coordinates=[],o.view=null,o}return o(t,e),t.prototype.initialize=function(){this._addViewHandles()},t.prototype.destroy=function(){this._removeViewHandles(),this._viewHandles.destroy(),this.emit(\"destroy\")},t.prototype.complete=function(){if(this._cursorScreenPoint){var e=this.getCoordsFromScreenPoint(this._cursorScreenPoint);n.isSome(e)&&(this._set(\"coordinates\",e),this._completeDrawing())}},t.prototype._addViewHandles=function(){var e=this;this._removeViewHandles(),this._viewHandles.add([this.view.on(\"click\",function(t){t.stopPropagation();var o=e.getCoordsFromScreenPoint(t.screenPoint);n.isSome(o)&&(e._set(\"coordinates\",o),e._drawCompleteHandler(t))},p.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._pointerDownEvent=t,e._cursorMoved=!1},p.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._cursorMoved=!0,e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._cursorUpdateHandler(t)},p.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){if(e._pointerDownEvent&&!e._cursorMoved&&t.timestamp-e._pointerDownEvent.timestamp>e._clickDelay){e._cursorScreenPoint=s.createScreenPointFromEvent(t);var o=e.getCoordsFromScreenPoint(e._cursorScreenPoint);n.isSome(o)&&(e._set(\"coordinates\",o),e._drawCompleteHandler(t))}},p.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){if(t.key===d.KEYS.drawCompleteKey&&e._cursorScreenPoint){var o=e.getCoordsFromScreenPoint(e._cursorScreenPoint);n.isSome(o)&&(e._set(\"coordinates\",o),e._drawCompleteHandler(t))}},p.ViewEventPriorities.TOOL)])},t.prototype._removeViewHandles=function(){this._viewHandles.removeAll()},t.prototype._updateCursor=function(e,t){this.emit(\"cursor-update\",new l(this.view,t,e))},t.prototype._completeDrawing=function(e){this._cursorMoved=!1,this._pointerDownEvent=null;var t=new v(e,this.coordinates);this.emit(\"draw-complete\",t),t.defaultPrevented||this._removeViewHandles()},t.prototype._cursorUpdateHandler=function(e){this._updateCursor(this.getCoordsFromScreenPoint(this._cursorScreenPoint),e.native)},t.prototype._drawCompleteHandler=function(e){this._completeDrawing(e.native)},r([c.property({readOnly:!0})],t.prototype,\"coordinates\",void 0),r([c.property()],t.prototype,\"view\",void 0),t=r([c.subclass(\"esri.views.draw.PointDrawAction\")],t)}(c.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./DrawAction\",\"./input/DrawEvents\",\"./input/Keys\",\"../input/InputManager\"],function(e,t,r,i,n,o,s,d,p,c,v,u){function a(e){return\"mouse\"!==e.pointerType||0===e.button}return function(e){function t(t){var r=e.call(this,t)||this;return r._cursorScreenPoint=null,r._panEnabled=!1,r._cursorVertexAdded=!1,r._popVertexOnPointerMove=!1,r._addVertexOnPointerUp=!1,r._activePointerId=null,r._viewHandles=new n,r.mode=\"hybrid\",r.vertices=[],r.view=null,r}return r(t,e),t.prototype.initialize=function(){this._addViewHandles()},t.prototype.destroy=function(){this._removeViewHandles(),this._viewHandles.destroy(),this.emit(\"destroy\")},Object.defineProperty(t.prototype,\"_clickEnabled\",{get:function(){return-1!==[\"hybrid\",\"click\"].indexOf(this.mode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_dragEnabled\",{get:function(){return-1!==[\"hybrid\",\"freehand\"].indexOf(this.mode)},enumerable:!0,configurable:!0}),t.prototype.addVertex=function(e,t){var r=this;this.vertices.splice(t,0,e);var i={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexAdd(null,t)},redo:function(){return r._redoVertexAdd(null,e,t)}};this.history.push(i),this._set(\"redoHistory\",[]);var n=new c.VertexAddEvent(this.view,null,t,this.vertices);this.emit(\"vertex-add\",n),n.defaultPrevented&&(this._popVertexOnPointerMove=!0,this.history.pop())},t.prototype.removeVertex=function(e){var t=this,r=this.vertices.splice(e,1)[0],i={vertex:r,vertexIndex:e,undo:function(){return t._undoVertexRemove(null,r,e)},redo:function(){return t._redoVertexRemove(null,e)}};this.history.push(i),this._set(\"redoHistory\",[]),this.emit(\"vertex-remove\",new c.VertexRemoveEvent(this.view,null,e,this.vertices))},t.prototype.updateVertex=function(e,t){var r=this,i=this.vertices[t];this.vertices[t]=e;var n={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexUpdate(null,i,t)},redo:function(){return r._redoVertexUpdate(null,e,t)}};this.history.push(n),this._set(\"redoHistory\",[]),this.emit(\"vertex-update\",new c.VertexUpdateEvent(this.view,null,t,this.vertices))},t.prototype.complete=function(){this._completeDrawing()},t.prototype._addViewHandles=function(){var e=this;this._removeViewHandles(),this._viewHandles.add([this.view.on(\"click\",function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._shouldHandlePointerEvent(t)&&(e._panEnabled||(e._activePointerId=t.pointerId,e._addVertexOnPointerUp=!0,e._cursorScreenPoint=s.createScreenPointFromEvent(t),\"touch\"===t.pointerType&&e._updateCursor(t.native)))},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._popVertexOnPointerMove&&(e.vertices.pop(),e._popVertexOnPointerMove=!1),e._cursorScreenPoint=s.createScreenPointFromEvent(t),\"touch\"!==t.pointerType&&e._updateCursor(t.native)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-drag\",function(t){e._shouldHandlePointerEvent(t)&&(e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._dragEnabled&&!e._panEnabled?e._vertexAddHandler(t):e._addVertexOnPointerUp=!1)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){if(e._shouldHandlePointerEvent(t)){if(e._activePointerId=null,!e._addVertexOnPointerUp){var r=\"touch\"===t.pointerType;return void e._updateCursor(t.native,r)}if(!e._clickEnabled)return 1===e.vertices.length&&e.vertices.pop(),void e._drawCompleteHandler(t);e._vertexAddHandler(t)}},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",function(t){e._dragEnabled&&o.isSome(e._activePointerId)&&!e._panEnabled&&t.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",[\"Shift\"],function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",[\"Control\"],function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){var r=t.key,i=t.repeat;r===v.KEYS.vertexAddKey&&!i&&e._cursorScreenPoint?e._vertexAddHandler(t):r===v.KEYS.drawCompleteKey&&!i&&e._cursorScreenPoint&&e.vertices.length>2?(e._vertexAddHandler(t),e._drawCompleteHandler(t)):r!==v.KEYS.undoKey||i?r!==v.KEYS.redoKey||i?r!==v.KEYS.panKey||i||(e._panEnabled=!0):e.redo():e.undo()},u.ViewEventPriorities.TOOL),this.view.on(\"key-up\",function(t){t.key===v.KEYS.panKey&&(e._panEnabled=!1)},u.ViewEventPriorities.TOOL)])},t.prototype._removeViewHandles=function(){this._viewHandles.removeAll()},t.prototype._addVertex=function(e,t){var r=this;if(this._popCursorVertex(),!this.isDuplicateVertex(this.vertices,e)){var i=this.vertices.length;this.vertices.push(e);var n={vertex:e,vertexIndex:i,undo:function(){return r._undoVertexAdd(t,i)},redo:function(){return r._redoVertexAdd(t,e,i)}};this.history.push(n),this._set(\"redoHistory\",[]);var o=new c.VertexAddEvent(this.view,t,i,this.vertices);this.emit(\"vertex-add\",o),o.defaultPrevented&&this.history.pop()}},t.prototype._updateCursor=function(e,t){if(void 0===t&&(t=!1),this._popCursorVertex(),this._cursorScreenPoint){var r=this.view.toMap(this._cursorScreenPoint),i=null;r&&!t&&(i=this._pushCursorVertex([r.x,r.y]));var n=new c.CursorUpdateEvent(this.view,e,i,this.vertices,r);this.emit(\"cursor-update\",n)}},t.prototype._completeDrawing=function(e){if(this._activePointerId=null,this._popCursorVertex(),!(this.vertices.length<3)){var t=new c.DrawCompleteEvent(e,this.vertices);this.emit(\"draw-complete\",t),t.defaultPrevented||this._removeViewHandles()}},t.prototype._undoVertexAdd=function(e,t){this.vertices.splice(t,1),this.emit(\"undo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._redoVertexAdd=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"redo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._undoVertexRemove=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"undo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexRemove=function(e,t){this.vertices.splice(t,1),this.emit(\"redo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._undoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"undo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"redo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._pushCursorVertex=function(e){return this._popCursorVertex(),this.vertices.push(e),this._cursorVertexAdded=!0,this.vertices.length-1},t.prototype._popCursorVertex=function(){this._cursorVertexAdded&&(this.vertices.pop(),this._cursorVertexAdded=!1)},t.prototype._shouldHandlePointerEvent=function(e){return a(e)&&(o.isNone(this._activePointerId)||this._activePointerId===e.pointerId)},t.prototype._vertexAddHandler=function(e){if(this._cursorVertexAdded){var t=this.vertices[this.vertices.length-1];this._addVertex(t,e.native)}else{var r=this.getCoordsFromScreenPoint(this._cursorScreenPoint);o.isSome(r)&&this._addVertex(r,e.native)}},t.prototype._drawCompleteHandler=function(e){this._completeDrawing(e.native)},i([d.property({dependsOn:[\"mode\"]})],t.prototype,\"_clickEnabled\",null),i([d.property({dependsOn:[\"mode\"]})],t.prototype,\"_dragEnabled\",null),i([d.property({cast:function(e){return-1===[\"hybrid\",\"freehand\",\"click\"].indexOf(e)?\"hybrid\":e}})],t.prototype,\"mode\",void 0),i([d.property({readOnly:!0})],t.prototype,\"vertices\",void 0),i([d.property()],t.prototype,\"view\",void 0),t=i([d.subclass(\"esri.views.draw.PolygonDrawAction\")],t)}(d.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./DrawAction\",\"./input/DrawEvents\",\"./input/Keys\",\"../input/InputManager\"],function(e,t,r,i,n,o,s,d,p,c,v,u){function a(e){return\"mouse\"!==e.pointerType||0===e.button}return function(e){function t(t){var r=e.call(this,t)||this;return r._cursorScreenPoint=null,r._panEnabled=!1,r._cursorVertexAdded=!1,r._popVertexOnPointerMove=!1,r._addVertexOnPointerUp=!1,r._activePointerId=null,r._viewHandles=new n,r.mode=\"hybrid\",r.vertices=[],r.view=null,r}return r(t,e),t.prototype.initialize=function(){this._addViewHandles()},t.prototype.destroy=function(){this._removeViewHandles(),this._viewHandles.destroy(),this.emit(\"destroy\")},Object.defineProperty(t.prototype,\"_clickEnabled\",{get:function(){return-1!==[\"hybrid\",\"click\"].indexOf(this.mode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_dragEnabled\",{get:function(){return-1!==[\"hybrid\",\"freehand\"].indexOf(this.mode)},enumerable:!0,configurable:!0}),t.prototype.addVertex=function(e,t){var r=this;this.vertices.splice(t,0,e);var i={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexAdd(null,t)},redo:function(){return r._redoVertexAdd(null,e,t)}};this.history.push(i),this._set(\"redoHistory\",[]);var n=new c.VertexAddEvent(this.view,null,t,this.vertices);this.emit(\"vertex-add\",n),n.defaultPrevented&&(this._popVertexOnPointerMove=!0,this.history.pop())},t.prototype.removeVertex=function(e){var t=this,r=this.vertices.splice(e,1)[0],i={vertex:r,vertexIndex:e,undo:function(){return t._undoVertexRemove(null,r,e)},redo:function(){return t._redoVertexRemove(null,e)}};this.history.push(i),this._set(\"redoHistory\",[]),this.emit(\"vertex-remove\",new c.VertexRemoveEvent(this.view,null,e,this.vertices))},t.prototype.updateVertex=function(e,t){var r=this,i=this.vertices[t];this.vertices[t]=e;var n={vertex:e,vertexIndex:t,undo:function(){return r._undoVertexUpdate(null,i,t)},redo:function(){return r._redoVertexUpdate(null,e,t)}};this.history.push(n),this._set(\"redoHistory\",[]),this.emit(\"vertex-update\",new c.VertexUpdateEvent(this.view,null,t,this.vertices))},t.prototype.complete=function(){this._completeDrawing()},t.prototype._addViewHandles=function(){var e=this;this._removeViewHandles(),this._viewHandles.add([this.view.on(\"click\",function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._shouldHandlePointerEvent(t)&&(e._panEnabled||(e._activePointerId=t.pointerId,e._addVertexOnPointerUp=!0,e._cursorScreenPoint=s.createScreenPointFromEvent(t),\"touch\"===t.pointerType&&e._updateCursor(t.native)))},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._popVertexOnPointerMove&&(e.vertices.pop(),e._popVertexOnPointerMove=!1),e._cursorScreenPoint=s.createScreenPointFromEvent(t),\"touch\"!==t.pointerType&&e._updateCursor(t.native)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-drag\",function(t){e._shouldHandlePointerEvent(t)&&(e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._dragEnabled&&!e._panEnabled?e._vertexAddHandler(t):e._addVertexOnPointerUp=!1)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){if(e._shouldHandlePointerEvent(t)){if(e._activePointerId=null,!e._addVertexOnPointerUp){var r=\"touch\"===t.pointerType;return void e._updateCursor(t.native,r)}if(!e._clickEnabled)return 1===e.vertices.length&&e.vertices.pop(),void e._drawCompleteHandler(t);e._vertexAddHandler(t)}},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",function(t){e._dragEnabled&&o.isSome(e._activePointerId)&&!e._panEnabled&&t.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",[\"Shift\"],function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"double-click\",[\"Control\"],function(t){t.stopPropagation(),e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){var r=t.key,i=t.repeat;r===v.KEYS.vertexAddKey&&!i&&e._cursorScreenPoint?e._vertexAddHandler(t):r===v.KEYS.drawCompleteKey&&!i&&e._cursorScreenPoint&&e.vertices.length>1?(e._vertexAddHandler(t),e._drawCompleteHandler(t)):r!==v.KEYS.undoKey||i?r!==v.KEYS.redoKey||i?r!==v.KEYS.panKey||i||(e._panEnabled=!0):e.redo():e.undo()},u.ViewEventPriorities.TOOL),this.view.on(\"key-up\",function(t){t.key===v.KEYS.panKey&&(e._panEnabled=!1)},u.ViewEventPriorities.TOOL)])},t.prototype._removeViewHandles=function(){this._viewHandles.removeAll()},t.prototype._addVertex=function(e,t){var r=this;if(this._popCursorVertex(),!this.isDuplicateVertex(this.vertices,e)){this.vertices.push(e);var i=this.vertices.length-1,n={vertex:e,vertexIndex:i,undo:function(){return r._undoVertexAdd(t,i)},redo:function(){return r._redoVertexAdd(t,e,i)}};this.history.push(n),this._set(\"redoHistory\",[]);var o=new c.VertexAddEvent(this.view,t,i,this.vertices);this.emit(\"vertex-add\",o),o.defaultPrevented&&this.history.pop()}},t.prototype._updateCursor=function(e,t){if(void 0===t&&(t=!1),this._popCursorVertex(),this._cursorScreenPoint){var r=this.view.toMap(this._cursorScreenPoint),i=null;r&&!t&&(i=this._pushCursorVertex([r.x,r.y]));var n=new c.CursorUpdateEvent(this.view,e,i,this.vertices,r);this.emit(\"cursor-update\",n)}},t.prototype._completeDrawing=function(e){if(this._activePointerId=null,this._popCursorVertex(),!(this.vertices.length<2)){var t=new c.DrawCompleteEvent(e,this.vertices);this.emit(\"draw-complete\",t),t.defaultPrevented||this._removeViewHandles()}},t.prototype._undoVertexAdd=function(e,t){this.vertices.splice(t,1),this.emit(\"undo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._redoVertexAdd=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"redo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._undoVertexRemove=function(e,t,r){this.vertices.splice(r,0,t),this.emit(\"undo\",new c.VertexAddEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexRemove=function(e,t){this.vertices.splice(t,1),this.emit(\"redo\",new c.VertexRemoveEvent(this.view,e,t,this.vertices))},t.prototype._undoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"undo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._redoVertexUpdate=function(e,t,r){this.vertices[r]=t,this.emit(\"redo\",new c.VertexUpdateEvent(this.view,e,r,this.vertices))},t.prototype._pushCursorVertex=function(e){return this._popCursorVertex(),this.vertices.push(e),this._cursorVertexAdded=!0,this.vertices.length-1},t.prototype._popCursorVertex=function(){this._cursorVertexAdded&&(this.vertices.pop(),this._cursorVertexAdded=!1)},t.prototype._shouldHandlePointerEvent=function(e){return a(e)&&(o.isNone(this._activePointerId)||this._activePointerId===e.pointerId)},t.prototype._vertexAddHandler=function(e){if(this._cursorVertexAdded){var t=this.vertices[this.vertices.length-1];this._addVertex(t,e.native)}else{var r=this.getCoordsFromScreenPoint(this._cursorScreenPoint);o.isSome(r)&&this._addVertex(r,e.native)}},t.prototype._drawCompleteHandler=function(e){this._completeDrawing(e.native)},i([d.property({dependsOn:[\"mode\"]})],t.prototype,\"_clickEnabled\",null),i([d.property({dependsOn:[\"mode\"]})],t.prototype,\"_dragEnabled\",null),i([d.property({cast:function(e){return-1===[\"hybrid\",\"freehand\",\"click\"].indexOf(e)?\"hybrid\":e}})],t.prototype,\"mode\",void 0),i([d.property({readOnly:!0})],t.prototype,\"vertices\",void 0),i([d.property()],t.prototype,\"view\",void 0),t=i([d.subclass(\"esri.views.draw.PolylineDrawAction\")],t)}(d.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"./DrawAction\",\"./input/DrawEvents\",\"./input/Keys\",\"../input/InputManager\"],function(e,t,i,r,n,o,s,d,a,c,p,u){function v(e){return\"mouse\"!==e.pointerType||0===e.button}return function(e){function t(t){var i=e.call(this,t)||this;return i._isDragging=!1,i._panEnabled=!1,i._cursorScreenPoint=null,i._viewHandles=new n,i._cursorVertexAdded=!1,i._activePointerId=null,i.mode=\"freehand\",i.vertices=[],i.view=null,i}return i(t,e),t.prototype.initialize=function(){this._addViewHandles()},t.prototype.destroy=function(){this._removeViewHandles(),this._viewHandles.destroy(),this.emit(\"destroy\")},t.prototype.complete=function(){this._completeDrawing()},t.prototype._addViewHandles=function(){this._removeViewHandles(),\"click\"===this.mode?this._viewHandles.add(this._getClickModeViewHandles()):this._viewHandles.add(this._getDragModeViewHandles())},t.prototype._getDragModeViewHandles=function(){var e=this;return[this.view.on(\"click\",function(t){t.stopPropagation(),t.mapPoint&&!e._panEnabled&&(e._set(\"vertices\",[[t.mapPoint.x,t.mapPoint.y]]),e._drawCompleteHandler(t))},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._shouldHandlePointerEvent(t)&&(e._panEnabled||(e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._set(\"vertices\",[]),e._activePointerId=t.pointerId,e._vertexAddHandler(t),e._isDragging=!1,\"touch\"===t.pointerType&&e._cursorUpdateHandler(t)))},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._cursorScreenPoint=s.createScreenPointFromEvent(t),o.isNone(e._activePointerId)&&\"touch\"!==t.pointerType&&0===e.vertices.length&&e._cursorUpdateHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-drag\",function(t){e._shouldHandlePointerEvent(t)&&(e._isDragging=!0,e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._cursorUpdateHandler(t))},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){e._shouldHandlePointerEvent(t)&&(e._activePointerId=null,e._popCursorVertex(),e._isDragging&&!e._panEnabled&&(e._vertexAddHandler(t),e._drawCompleteHandler(t)),e._isDragging=!1)},u.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){t.key===p.KEYS.drawCompleteKey&&e._cursorScreenPoint?e._drawCompleteHandler(t):t.key===p.KEYS.panKey&&(e._panEnabled=!0)},u.ViewEventPriorities.TOOL),this.view.on(\"key-up\",function(t){t.key===p.KEYS.panKey&&(e._panEnabled=!1)},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",function(t){o.isSome(e._activePointerId)&&t.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"drag\",[\"Shift\"],function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL)]},t.prototype._getClickModeViewHandles=function(){var e=this;return[this.view.on(\"click\",function(e){e.stopPropagation()},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-down\",function(t){e._cursorScreenPoint=s.createScreenPointFromEvent(t),e._activePointerId=t.pointerId,e._isDragging=!1,\"touch\"===t.pointerType&&e._cursorUpdateHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-move\",function(t){e._cursorScreenPoint=s.createScreenPointFromEvent(t),o.isNone(e._activePointerId)&&\"touch\"!==t.pointerType&&e._cursorUpdateHandler(t)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-drag\",function(t){e._shouldHandlePointerEvent(t)&&(e._isDragging=!0)},u.ViewEventPriorities.TOOL),this.view.on(\"pointer-up\",function(t){e._shouldHandlePointerEvent(t)&&(e._activePointerId=null,e._isDragging||e._vertexAddHandler(t),2!==e.vertices.length||e._isDragging||e._drawCompleteHandler(t),e._isDragging=!1)},u.ViewEventPriorities.TOOL),this.view.on(\"key-down\",function(t){t.key===p.KEYS.vertexAddKey&&e._cursorScreenPoint&&(e._vertexAddHandler(t),2===e.vertices.length&&e._drawCompleteHandler(t)),t.key===p.KEYS.drawCompleteKey&&e._cursorScreenPoint&&2===e.vertices.length&&e._drawCompleteHandler(t)},u.ViewEventPriorities.TOOL)]},t.prototype._removeViewHandles=function(){this._viewHandles.removeAll()},t.prototype._addVertex=function(e,t){if(this._popCursorVertex(),!this.isDuplicateVertex(this.vertices,e)){this.vertices.push(e);var i=this.vertices.indexOf(e),r=new c.VertexAddEvent(this.view,t,i,this.vertices);this.emit(\"vertex-add\",r)}},t.prototype._updateCursor=function(e,t){var i=null;o.isSome(e)&&(i=this._pushCursorVertex(e));var r=new c.CursorUpdateEvent(this.view,t,i,this.vertices);this.emit(\"cursor-update\",r)},t.prototype._completeDrawing=function(e){if(this._activePointerId=null,this._popCursorVertex(),this._isDragging=!1,this._cursorScreenPoint=null,!(this.vertices.length<1)){var t=new c.DrawCompleteEvent(e,this.vertices);this.emit(\"draw-complete\",t),t.defaultPrevented||this._removeViewHandles()}},t.prototype._pushCursorVertex=function(e){return this._popCursorVertex(),this.vertices.push(e),this._cursorVertexAdded=!0,this.vertices.length-1},t.prototype._popCursorVertex=function(){this._cursorVertexAdded&&(this.vertices.pop(),this._cursorVertexAdded=!1)},t.prototype._shouldHandlePointerEvent=function(e){return v(e)&&(o.isNone(this._activePointerId)||this._activePointerId===e.pointerId)},t.prototype._vertexAddHandler=function(e){var t=this.getCoordsFromScreenPoint(this._cursorScreenPoint);o.isSome(t)&&this._addVertex(t,e.native)},t.prototype._cursorUpdateHandler=function(e){var t=this.getCoordsFromScreenPoint(this._cursorScreenPoint);this._updateCursor(t,e.native)},t.prototype._drawCompleteHandler=function(e){this._completeDrawing(e.native)},r([d.property({cast:function(e){return-1===[\"freehand\",\"click\"].indexOf(e)?\"freehand\":e}})],t.prototype,\"mode\",void 0),r([d.property({readOnly:!0})],t.prototype,\"vertices\",void 0),r([d.property()],t.prototype,\"view\",void 0),t=r([d.subclass(\"esri/views/2d/engine/markup/SegmentDrawAction\")],t)}(d.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\"],function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t,n,i){this.view=e,this.native=t,this.vertexIndex=n,this.vertices=i,this.defaultPrevented=!1,this.type=\"vertex-add\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();t.VertexAddEvent=i;var r=function(){function e(e,t,n,i){this.view=e,this.native=t,this.vertexIndex=n,this.vertices=i,this.defaultPrevented=!1,this.type=\"vertex-update\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();t.VertexUpdateEvent=r;var v=function(){function e(e,t,n,i){this.view=e,this.native=t,this.vertexIndex=n,this.vertices=i,this.defaultPrevented=!1,this.type=\"vertex-remove\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();t.VertexRemoveEvent=v;var s=function(){function e(e,t,n,i,r){void 0===r&&(r=null),this.view=e,this.native=t,this.vertexIndex=n,this.vertices=i,this.mapPoint=r,this.defaultPrevented=!1,this.type=\"cursor-update\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();t.CursorUpdateEvent=s;var u=function(){function e(e,t){this.native=e,this.vertices=t,this.defaultPrevented=!1,this.type=\"draw-complete\"}return e.prototype.preventDefault=function(){this.defaultPrevented=!0},e}();t.DrawCompleteEvent=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.KEYS={drawCompleteKey:\"c\",redoKey:\"r\",undoKey:\"z\",vertexAddKey:\"f\",panKey:\" \"}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"../../core/screenUtils\",\"../../core/libs/pep/pep\",\"./keys\",\"./gamepad/GamepadSource\"],function(e,t,n,i,o,r,a){Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(\"trident\"),u=n(\"edge\"),h=n(\"chrome\"),p=n(\"ff\"),c=n(\"safari\"),l={touchNone:\"esri-view-surface--touch-none\",touchPan:\"esri-view-surface--touch-pan\"},d=function(){function e(e,t){var n=this;this.input=t,this._active={},this._activePointerCaptures=new Set,this._keyDownState=new Set,this._eventId=1,this._browserTouchPanningEnabled=!1,this._element=e,o.applyLocal(e),e.getAttribute(\"tabindex\")||e.setAttribute(\"tabindex\",\"0\"),this._eventHandlers={\"key-down\":this._handleKey,\"key-up\":this._handleKey,\"pointer-down\":this._handlePointer,\"pointer-move\":this._handlePointerPreventDefault,\"pointer-up\":this._handlePointerPreventDefault,\"pointer-enter\":this._handlePointer,\"pointer-leave\":this._handlePointer,\"pointer-cancel\":this._handlePointer,\"mouse-wheel\":this._handleMouseWheel,\"pointer-capture-lost\":this._handlePointerCaptureLost},this._updateTouchAction(),this._element.addEventListener(\"keydown\",this._preventAltKeyDefault),this._gamepadSource=new a.GamepadSource(e,this.input),this._gamepadSource.onEvent=function(e){return n._callback(\"gamepad\",e)}}return e.prototype.destroy=function(){var e=this;this._callback=null,this.activeEvents=null,this._activePointerCaptures.forEach(function(t){e._releasePointerCaptureSafe(t)}),this._gamepadSource&&(this._gamepadSource.destroy(),this._gamepadSource=null),this._activePointerCaptures=null,this._removeTouchAction(),this._element.removeEventListener(\"keydown\",this._preventAltKeyDefault)},Object.defineProperty(e.prototype,\"browserTouchPanningEnabled\",{get:function(){return this._browserTouchPanningEnabled},set:function(e){this._browserTouchPanningEnabled=e,this._updateTouchAction(),this._updateTouchEventHandling()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onEventReceived\",{set:function(e){this._callback=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"activeEvents\",{set:function(e){var t=this;for(var n in this._active)if(!e||!e.has(n)){var i=this._active[n];this._element.removeEventListener(v[n],i),delete this._active[n]}e&&e.forEach(function(e){if(!t._active[e]&&v[e]){var n=t._eventHandlers[e]||t._handleDefault,i=n.bind(t,e);t._element.addEventListener(v[e],i),t._active[e]=i}}),this._gamepadSource.pollingEnabled=e&&e.has(\"gamepad\")},enumerable:!0,configurable:!0}),e.prototype.setPointerCapture=function(e,t){t?(this._element.setPointerCapture(e.pointerId),this._activePointerCaptures.add(e.pointerId)):(this._releasePointerCaptureSafe(e.pointerId),this._activePointerCaptures.delete(e.pointerId))},e.prototype._updateTouchAction=function(){this._element.classList.remove(this._browserTouchPanningEnabled?l.touchNone:l.touchPan),this._element.classList.add(this._browserTouchPanningEnabled?l.touchPan:l.touchNone)},e.prototype._updateTouchEventHandling=function(){this._browserTouchPanningEnabled?this._element.addEventListener(\"touchmove\",this._preventMultiTouchPanning):this._element.removeEventListener(\"touchmove\",this._preventMultiTouchPanning)},e.prototype._removeTouchAction=function(){this._element.classList.remove(l.touchNone),this._element.classList.remove(l.touchPan),this._element.removeEventListener(\"touchmove\",this._preventMultiTouchPanning)},e.prototype._releasePointerCaptureSafe=function(e){try{if(this._element.hasPointerCapture&&!this._element.hasPointerCapture(e))return;this._element.releasePointerCapture(e)}catch(e){}},e.prototype._updateNormalizedPointerLikeEvent=function(t,n){var o=i.createScreenPointFromNativeEvent(this._element,t);return e.test.disableSubpixelCoordinates&&(o.x=Math.round(o.x),o.y=Math.round(o.y)),n.x=o.x,n.y=o.y,n},e.prototype._handleKey=function(e,t){var n=r.eventKey(t);n&&\"key-up\"===e&&this._keyDownState.delete(n);var i={native:t,key:n,repeat:n&&this._keyDownState.has(n)};n&&\"key-down\"===e&&this._keyDownState.add(i.key),this._callback(e,i)},e.prototype._handlePointer=function(e,t){var n=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,pointerType:t.pointerType,button:t.button,buttons:t.buttons,eventId:this._eventId++});this._callback(e,n)},e.prototype._handlePointerPreventDefault=function(e,t){var n=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,pointerType:t.pointerType,button:t.button,buttons:t.buttons,eventId:this._eventId++});t.preventDefault(),this._callback(e,n)},e.prototype._handleMouseWheel=function(e,t){var n=t.deltaY;switch(t.deltaMode){case 0:(s||u)&&(n=n/document.documentElement.clientHeight*600);break;case 1:n*=30;break;case 2:n*=900}s||u?n*=.7:h||c?n*=.6:p&&(n*=1.375);var i=Math.abs(n);if(i>100){n=200*(n/i)/(1+Math.exp(-.02*(i-100)))}var o=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,deltaY:n});this._callback(e,o)},e.prototype._handlePointerCaptureLost=function(e,t){this._activePointerCaptures.delete(t.pointerId),this._handleDefault(e,t)},e.prototype._handleDefault=function(e,t){var n={native:t};t.preventDefault(),this._callback(e,n)},e.prototype._preventAltKeyDefault=function(e){\"Alt\"===e.key&&e.preventDefault()},e.prototype._preventMultiTouchPanning=function(e){e.touches.length>1&&e.preventDefault()},e.test={disableSubpixelCoordinates:!1},e}();t.BrowserEventSource=d;var v={\"key-down\":\"keydown\",\"key-up\":\"keyup\",\"pointer-down\":\"pointerdown\",\"pointer-up\":\"pointerup\",\"pointer-move\":\"pointermove\",\"mouse-wheel\":\"wheel\",\"pointer-capture-got\":\"gotpointercapture\",\"pointer-capture-lost\":\"lostpointercapture\",\"context-menu\":\"contextmenu\",\"pointer-enter\":\"pointerenter\",\"pointer-leave\":\"pointerleave\",\"pointer-cancel\":\"pointercancel\",focus:\"focus\",blur:\"blur\"}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function t(t){this.callbacks=t,this.currentCount=0,this.callbacks.condition||(this.callbacks.condition=function(){return!0})}return t.prototype.handle=function(t){var e=t.data,i=e.pointers.size;switch(e.action){case\"start\":this.currentCount=i,this.emitStart(t);break;case\"added\":this.emitEnd(this.previousEvent),this.currentCount=i,this.emitStart(t);break;case\"update\":this.emitUpdate(t);break;case\"removed\":this.startEvent&&this.emitEnd(this.previousEvent),this.currentCount=i,this.emitStart(t);break;case\"end\":this.emitEnd(t),this.currentCount=0}this.previousEvent=t},t.prototype.emitStart=function(t){this.startEvent=t,this.callbacks.condition(this.currentCount,t)&&this.callbacks.start(this.currentCount,t,this.startEvent)},t.prototype.emitUpdate=function(t){this.callbacks.condition(this.currentCount,t)&&this.callbacks.update(this.currentCount,t,this.startEvent)},t.prototype.emitEnd=function(t){this.callbacks.condition(this.currentCount,t)&&this.callbacks.end(this.currentCount,t,this.startEvent),this.startEvent=null},t}();e.DragEventSeparator=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){void 0===t&&(t=[]),this.eventType=e,this.keyModifiers=t}return e.prototype.matches=function(e){if(e.type!==this.eventType)return!1;if(0===this.keyModifiers.length)return!0;for(var t=e.modifiers,i=0,r=this.keyModifiers;i<r.length;i++){var n=r[i];if(!t.has(n))return!1}return!0},e}();t.EventMatch=i});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"./gamepad/GamepadSettings\"],function(e,r,t,p,o,a,n){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.gamepad=new n,r}return t(r,e),p([a.property({readOnly:!0})],r.prototype,\"gamepad\",void 0),r=p([a.subclass(\"esri.views.input.Input\")],r)}(a.declared(o))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Logger\",\"./EventMatch\"],function(e,n,t,i){Object.defineProperty(n,\"__esModule\",{value:!0});var o=t.getLogger(\"esri.views.input.InputHandler\"),r=function(){function e(e){this._manager=null,this._incoming={},this._outgoing={},this._incomingEventMatches=null,this._incomingEventTypes=null,this._outgoingEventTypes=null,this._hasSideEffects=e}return Object.defineProperty(e.prototype,\"incomingEventMatches\",{get:function(){if(!this._incomingEventMatches){this._incomingEventMatches=[];for(var e in this._incoming)for(var n=this._incoming[e],t=0,i=n;t<i.length;t++){var o=i[t];this._incomingEventMatches.push(o.match)}}return this._incomingEventMatches},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"incomingEventTypes\",{get:function(){return this._incomingEventTypes||(this._incomingEventTypes=this.incomingEventMatches.map(function(e){return e.eventType})),this._incomingEventTypes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outgoingEventTypes\",{get:function(){return this._outgoingEventTypes||(this._outgoingEventTypes=Object.keys(this._outgoing)),this._outgoingEventTypes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasSideEffects\",{get:function(){return this._hasSideEffects},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasPendingInputs\",{get:function(){return!1},enumerable:!0,configurable:!0}),e.prototype.onInstall=function(e){var n=this;if(this._manager)return void o.error(\"This InputHandler has already been registered with an InputManager\");e.setEventCallback(function(e){return n._handleEvent(e)}),e.setUninstallCallback(function(){return n._onUninstall()}),this._manager=e},e.prototype.onUninstall=function(){},e.prototype.registerIncoming=function(e,n,t){var o,r=this;\"function\"==typeof n?(t=n,o=[]):o=n||[];var s=\"string\"==typeof e?new i.EventMatch(e,o):e,u=function(){r._incomingEventTypes=null,r._incomingEventMatches=null},c=function(e){var n=r._incoming[e.match.eventType];if(n){var t=n.indexOf(e);n.splice(t,1),u(),r._manager&&r._manager.updateDependencies()}},h=new a(s,t,{onPause:c,onRemove:c,onResume:function(e){var n=r._incoming[e.match.eventType];n&&-1===n.indexOf(e)&&(n.push(e),u(),r._manager&&r._manager.updateDependencies())}}),p=this._incoming[s.eventType];return p||(p=[],this._incoming[s.eventType]=p),p.push(h),u(),this._manager&&this._manager.updateDependencies(),h},e.prototype.registerOutgoing=function(e){var n=this;if(this._outgoing[e])throw Error(\"There is already a callback registered for this outgoing InputEvent: \"+e);var t=new s(e,{onEmit:function(e,t,i,o){n._manager.emit(e.eventType,t,i,o)},onRemove:function(e){delete n._outgoing[e.eventType],n._manager.updateDependencies()}});return this._outgoing[e]=t,this._outgoingEventTypes=null,this._manager&&this._manager.updateDependencies(),t},e.prototype.startCapturingPointer=function(e){this._manager.setPointerCapture(e,!0)},e.prototype.stopCapturingPointer=function(e){this._manager.setPointerCapture(e,!1)},e.prototype.refreshHasPendingInputs=function(){this._manager.refreshHasPendingInputs()},e.prototype._onUninstall=function(){if(!this._manager)return void o.error(\"This InputHandler is not registered with an InputManager\");this.onUninstall(),this._manager=null},e.prototype._handleEvent=function(e){var n=this._incoming[e.type];if(n)for(var t=0,i=n;t<i.length;t++){var o=i[t];if(o.match.matches(e)&&(o.callback(e),e.shouldStopPropagation()))break}},e}();n.InputHandler=r;var a=function(){function e(e,n,t){this.match=e,this._callback=n,this._handler=t}return e.prototype.pause=function(){this._handler.onPause(this)},e.prototype.resume=function(){this._handler.onResume(this)},e.prototype.remove=function(){this._handler.onRemove(this)},Object.defineProperty(e.prototype,\"callback\",{get:function(){return this._callback},enumerable:!0,configurable:!0}),e}(),s=function(){function e(e,n){this.eventType=e,this._removed=!1,this._handler=n}return e.prototype.emit=function(e,n,t){this._removed||this._handler.onEmit(this,e,n,t)},e.prototype.remove=function(){this._removed=!0,this._handler.onRemove(this)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Logger\",\"../../core/now\",\"../../core/accessorSupport/decorators\",\"./keys\",\"./handlers/LatestPointerType\"],function(e,t,r,n,i,o,a,s,p,d){Object.defineProperty(t,\"__esModule\",{value:!0});var u=o.getLogger(\"esri.views.input.InputManager\"),l=function(e){function i(t){var r=e.call(this,t)||this;return r._pointerCaptures=new Map,r._nameToGroup={},r._handlers=[],r._currentPropagation=null,r._sourceEvents=new Set,r._keyModifiers=new Set,r._activeKeyModifiers=new Set,r._stoppedPropagationEventIds=new Set,r.primaryKey=p.primaryKey,r.latestPointerType=\"mouse\",r.test={timestamp:void 0},r}return r(i,e),i.prototype.initialize=function(){this.eventSource.onEventReceived=this._onEventReceived.bind(this),this._installRecognizers()},i.prototype.destroy=function(){for(var e=Object.keys(this._nameToGroup),t=0,r=e;t<r.length;t++){var n=r[t];this.uninstallHandlers(n)}this.eventSource=null},Object.defineProperty(i.prototype,\"hasPendingInputs\",{get:function(){return this._handlers.some(function(e){return e.handler.hasPendingInputs})},enumerable:!0,configurable:!0}),i.prototype.installHandlers=function(e,r,n){var i=this;if(void 0===n&&(n=t.ViewEventPriorities.INTERNAL),this._nameToGroup[e])return void u.error(\"There is already an InputHandler group registered under the name `\"+e+\"`\");if(0===r.length)return void u.error(\"Can't register a group of zero handlers\");var o={name:e,handlers:r.map(function(e){return{handler:e,active:!0,removed:!1,priorityIndex:0,groupPriority:n,eventCallback:null,uninstallCallback:null}})};this._nameToGroup[e]=o;for(var a=this,s=o.handlers.length-1;s>=0;s--)!function(e){var t=o.handlers[e];a._handlers.push(t),t.handler.onInstall({updateDependencies:function(){i.updateDependencies()},emit:function(e,r,n,o,a){i._emitInputEvent(t.priorityIndex,e,r,n,a,o)},setPointerCapture:function(e,r){i._setPointerCapture(o,t,e,r)},setEventCallback:function(e){t.eventCallback=e},setUninstallCallback:function(e){t.uninstallCallback=e},refreshHasPendingInputs:function(){i.notifyChange(\"hasPendingInputs\")}})}(s);this.updateDependencies()},i.prototype.uninstallHandlers=function(e){var t=this._nameToGroup[e];if(!t)return void u.error(\"There is no InputHandler group registered under the name `\"+e+\"`\");t.handlers.forEach(function(e){e.removed=!0,e.uninstallCallback()}),delete this._nameToGroup[e],this._currentPropagation?this._currentPropagation.needsHandlerGarbageCollect=!0:this._garbageCollectRemovedHandlers()},i.prototype.hasHandlers=function(e){return void 0!==this._nameToGroup[e]},i.prototype.updateDependencies=function(){var e=new Set,t=new Set;this._handlersPriority=[];for(var r=this._handlers.length-1;r>=0;r--){var n=this._handlers[r];n.priorityIndex=r,this._handlersPriority.push(n)}this._handlersPriority=this._sortHandlersPriority(this._handlersPriority);for(var r=this._handlersPriority.length-1;r>=0;r--){var i=this._handlersPriority[r];i.priorityIndex=r;var o=i.handler.hasSideEffects;if(!o)for(var a=0,s=i.handler.outgoingEventTypes;a<s.length;a++){var d=s[a];if(e.has(d)){o=!0;break}}if(o)for(var u=0,l=i.handler.incomingEventMatches;u<l.length;u++){var h=l[u];e.add(h.eventType);for(var c=0,v=h.keyModifiers;c<v.length;c++){var f=v[c];p.isSystemModifier(f)||t.add(f)}}i.active=o}this._sourceEvents=e,this._keyModifiers=t,this._pointerCaptures.size>0&&this._sourceEvents.add(\"pointer-capture-lost\"),this._keyModifiers.size>0&&(this._sourceEvents.add(\"key-down\"),this._sourceEvents.add(\"key-up\")),this.eventSource&&(this.eventSource.activeEvents=this._sourceEvents)},i.prototype._setLatestPointerType=function(e){this._set(\"latestPointerType\",e)},i.prototype._onEventReceived=function(e,t){if(\"pointer-capture-lost\"===e){var r=t;this._pointerCaptures.delete(r.native.pointerId)}this._updateKeyModifiers(e,t);var n=null!=this.test.timestamp?this.test.timestamp:t.native?t.native.timestamp:void 0,i=t.native?t.native.cancelable:void 0;this._emitInputEventFromSource(e,t,n,i)},i.prototype._updateKeyModifiers=function(e,t){var r=this;if(t){var n=!1,i=function(){if(!n){var e=new Set;r._activeKeyModifiers.forEach(function(t){e.add(t)}),r._activeKeyModifiers=e,n=!0}},o=function(e,t){t&&!r._activeKeyModifiers.has(e)?(i(),r._activeKeyModifiers.add(e)):!t&&r._activeKeyModifiers.has(e)&&(i(),r._activeKeyModifiers.delete(e))};if(\"key-down\"===e||\"key-up\"===e){var a=t,s=a.key;this._keyModifiers.has(s)&&o(s,\"key-down\"===e)}var p=t.native;o(\"Alt\",!(!p||!p.altKey)),o(\"Ctrl\",!(!p||!p.ctrlKey)),o(\"Shift\",!(!p||!p.shiftKey)),o(\"Meta\",!(!p||!p.metaKey)),o(\"Primary\",this._activeKeyModifiers.has(this.primaryKey))}},i.prototype._installRecognizers=function(){var e=this;this._latestPointerTypeHandler=new d.LatestPointerType(function(t){return e._setLatestPointerType(t)}),this.recognizers.length>0&&this.installHandlers(\"default\",this.recognizers,t.ViewEventPriorities.INTERNAL),this.installHandlers(\"input-manager-logic\",[this._latestPointerTypeHandler],t.ViewEventPriorities.INTERNAL)},i.prototype._setPointerCapture=function(e,t,r,n){var i=e.name+\"-\"+t.priorityIndex,o=this._pointerCaptures.get(r.pointerId)||new Set;this._pointerCaptures.set(r.pointerId,o),n?(o.add(i),1===o.size&&this.eventSource&&this.eventSource.setPointerCapture(r,!0)):o.has(i)&&(o.delete(i),0===o.size&&(this._pointerCaptures.delete(r.pointerId),this.eventSource&&this.eventSource.setPointerCapture(r,!1)))},i.prototype._garbageCollectRemovedHandlers=function(){this._handlers=this._handlers.filter(function(e){return!e.removed}),this.updateDependencies()},i.prototype._emitInputEventFromSource=function(e,t,r,n){this._emitInputEvent(0,e,t,r,n)},i.prototype._emitInputEvent=function(e,t,r,n,i,o){var s=void 0!==n?n:this._currentPropagation?this._currentPropagation.timestamp:a(),p=void 0!==i&&i,d=new h(t,r,s,o||this._activeKeyModifiers,p);if(this._currentPropagation)return void this._currentPropagation.addedEvents.push(d);this._doNewPropagation(e,d)},i.prototype._doNewPropagation=function(e,t){this._currentPropagation={events:[t],addedEvents:[],currentHandler:this._handlersPriority[e],needsHandlerGarbageCollect:!1,timestamp:t.timestamp};for(var r=this._currentPropagation;r.currentHandler;){if(r.currentHandler.removed)r.needsHandlerGarbageCollect=!0;else{var n=r.events,i=[];r.addedEvents=[];for(var o=0;o<n.length;o++){var a=n[o],s=a.data&&a.data.eventId;null!=s&&this._stoppedPropagationEventIds.has(s)||(r.currentHandler.active&&r.currentHandler.eventCallback(a),a.shouldStopPropagation()?null!=s&&this._stoppedPropagationEventIds.add(s):i.push(a))}r.events=i.concat(r.addedEvents)}r.currentHandler=this._handlersPriority[r.currentHandler.priorityIndex+1]}r.needsHandlerGarbageCollect&&this._garbageCollectRemovedHandlers(),this.hasPendingInputs||this._stoppedPropagationEventIds.clear(),this._currentPropagation=null},i.prototype._compareHandlerPriority=function(e,t){if(e.handler.hasSideEffects!==t.handler.hasSideEffects)return e.handler.hasSideEffects?1:-1;if(e.groupPriority!==t.groupPriority)return e.groupPriority>t.groupPriority?-1:1;for(var r=0,n=e.handler.incomingEventMatches;r<n.length;r++)for(var i=n[r],o=0,a=t.handler.incomingEventMatches;o<a.length;o++){var s=a[o],p=function(e){if(i.eventType!==e.eventType)return\"continue\";var t=i.keyModifiers.filter(function(t){return-1!==e.keyModifiers.indexOf(t)});return t.length===i.keyModifiers.length!=(t.length===e.keyModifiers.length)?{value:i.keyModifiers.length>e.keyModifiers.length?-1:1}:void 0}(s);if(\"object\"==typeof p)return p.value}return e.priorityIndex>t.priorityIndex?-1:1},i.prototype._sortHandlersPriority=function(e){for(var t=[],r=0,n=e;r<n.length;r++){for(var i=n[r],o=0;o<t.length&&this._compareHandlerPriority(i,t[o])>=0;)o++;t.splice(o,0,i)}return t},Object.defineProperty(i.prototype,\"debug\",{get:function(){var e=this,t=function(t){var r=e._setPointerCapture;e._setPointerCapture=function(){},t(),e._setPointerCapture=r};return{injectEvent:function(r,n){t(function(){e._onEventReceived(r,n)})},disablePointerCapture:t}},enumerable:!0,configurable:!0}),n([s.property({readOnly:!0})],i.prototype,\"hasPendingInputs\",null),n([s.property({})],i.prototype,\"eventSource\",void 0),n([s.property({})],i.prototype,\"recognizers\",void 0),n([s.property({readOnly:!0})],i.prototype,\"latestPointerType\",void 0),i=n([s.subclass(\"esri.views.input.InputManager\")],i)}(s.declared(i));t.InputManager=l;var h=function(){function e(e,t,r,n,i){this.type=e,this.data=t,this.timestamp=r,this.modifiers=n,this.cancelable=i,this._stopPropagation=!1}return e.prototype.stopPropagation=function(){this._stopPropagation=!0},e.prototype.shouldStopPropagation=function(){return this._stopPropagation},e.prototype.preventDefault=function(){this.data.native.preventDefault()},e}();t.ViewEventPriorities={DEFAULT:0,TOOL:-1,WIDGET:-2,INTERNAL:-3}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/extendsHelper\",\"../../core/compilerUtils\",\"../../core/mathUtils\",\"../../core/screenUtils\",\"./InputHandler\",\"./InputManager\"],function(t,e,n,r,a,o,i,p){function u(t){return!!s[t]}function c(t){for(var e=0,n=t;e<n.length;e++){if(!u(n[e]))return!1}return!0}Object.defineProperty(e,\"__esModule\",{value:!0}),e.eventTypes=[\"click\",\"double-click\",\"immediate-click\",\"hold\",\"drag\",\"key-down\",\"key-up\",\"pointer-down\",\"pointer-move\",\"pointer-up\",\"pointer-drag\",\"mouse-wheel\",\"pointer-enter\",\"pointer-leave\",\"gamepad\",\"focus\",\"blur\"];var s={};e.eventTypes.forEach(function(t){s[t]=!0});var l=function(){function t(t){this.handlers=new Map,this.counter=0,this.handlerCounts=new Map,this.view=t,this.inputManager=null}return t.prototype.connect=function(t){var e=this;t&&this.disconnect(),this.inputManager=t,this.handlers.forEach(function(t,n){var r=t.handler,a=t.priority;return e.inputManager.installHandlers(n,[r],a)})},t.prototype.disconnect=function(){var t=this;this.inputManager&&this.handlers.forEach(function(e,n){return t.inputManager.uninstallHandlers(n)}),this.inputManager=null},t.prototype.destroy=function(){this.disconnect(),this.handlers.clear(),this.view=null},t.prototype.on=function(t,e,n,r){var a=this,o=Array.isArray(t)?t:t.split(\",\");if(!c(o))return o.some(u)&&console.error(\"Error: registering input events and other events on the view at the same time is not supported.\"),null;var i,s;Array.isArray(e)?s=e:(i=e,s=[]),\"function\"==typeof n?i=n:r=n,r=null!=r?r:p.ViewEventPriorities.DEFAULT;var l=this.createUniqueGroupName(),d=new v(this.view,o,s,i);this.handlers.set(l,{handler:d,priority:r});for(var f=0,m=o;f<m.length;f++){var g=m[f],y=this.handlerCounts.get(g)||0;this.handlerCounts.set(g,y+1)}return this.inputManager&&this.inputManager.installHandlers(l,[d],r),{remove:function(){return a.removeHandler(l,o)}}},t.prototype.hasHandler=function(t){return!!this.handlerCounts.get(t)},t.prototype.removeHandler=function(t,e){if(this.handlers.has(t)){this.handlers.delete(t);for(var n=0,r=e;n<r.length;n++){var a=r[n],o=this.handlerCounts.get(a);void 0===o?console.error(\"Trying to remove handler for event that has no handlers registered: \",a):1===o?this.handlerCounts.delete(a):this.handlerCounts.set(a,o-1)}}this.inputManager&&this.inputManager.uninstallHandlers(t)},t.prototype.createUniqueGroupName=function(){return this.counter+=1,\"viewEvents_\"+this.counter},t}();e.ViewEvents=l;var v=function(t){function e(e,n,a,o){var i=t.call(this,!0)||this;i.view=e;for(var p=0,u=n;p<u.length;p++){var c=u[p];switch(c){case\"click\":i.registerIncoming(\"click\",a,function(t){return o(i.wrapClick(t))});break;case\"double-click\":i.registerIncoming(\"double-click\",a,function(t){return o(i.wrapDoubleClick(t))});break;case\"immediate-click\":i.registerIncoming(\"immediate-click\",a,function(t){return o(i.wrapImmediateClick(t))});break;case\"hold\":i.registerIncoming(\"hold\",a,function(t){return o(i.wrapHold(t))});break;case\"drag\":i.registerIncoming(\"drag\",a,function(t){var e=i.wrapDrag(t);e&&o(e)});break;case\"key-down\":i.registerIncoming(\"key-down\",a,function(t){return o(i.wrapKeyDown(t))});break;case\"key-up\":i.registerIncoming(\"key-up\",a,function(t){return o(i.wrapKeyUp(t))});break;case\"pointer-down\":i.registerIncoming(\"pointer-down\",a,function(t){return o(i.wrapPointer(t,\"pointer-down\"))});break;case\"pointer-move\":i.registerIncoming(\"pointer-move\",a,function(t){return o(i.wrapPointer(t,\"pointer-move\"))});break;case\"pointer-up\":i.registerIncoming(\"pointer-up\",a,function(t){return o(i.wrapPointer(t,\"pointer-up\"))});break;case\"pointer-drag\":i.registerIncoming(\"pointer-drag\",a,function(t){return o(i.wrapPointerDrag(t))});break;case\"mouse-wheel\":i.registerIncoming(\"mouse-wheel\",a,function(t){return o(i.wrapMouseWheel(t))});break;case\"pointer-enter\":i.registerIncoming(\"pointer-enter\",a,function(t){return o(i.wrapPointer(t,\"pointer-enter\"))});break;case\"pointer-leave\":i.registerIncoming(\"pointer-leave\",a,function(t){return o(i.wrapPointer(t,\"pointer-leave\"))});break;case\"gamepad\":i.registerIncoming(\"gamepad\",a,function(t){o(i.wrapGamepad(t))});break;case\"focus\":i.registerIncoming(\"focus\",a,function(t){o(i.wrapFocus(t))});break;case\"blur\":i.registerIncoming(\"blur\",a,function(t){o(i.wrapBlur(t))});break;default:r.neverReached(c)}}return i}return n(e,t),e.prototype.wrapFocus=function(t){return{type:\"focus\",timestamp:t.timestamp,native:t.data.native,cancelable:t.cancelable,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapBlur=function(t){return{type:\"blur\",timestamp:t.timestamp,native:t.data.native,cancelable:t.cancelable,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapClick=function(t){var e=t.data,n=e.pointerType,r=e.button,a=e.buttons,i=e.x,p=e.y,u=e.native,c=e.eventId,s=t.cancelable,l=t.timestamp,v=o.createScreenPoint(i,p);return{type:\"click\",pointerType:n,button:r,buttons:a,x:i,y:p,native:u,timestamp:l,screenPoint:v,mapPoint:this.view.toMap(v),eventId:c,cancelable:s,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapDoubleClick=function(t){var e=t.data,n=e.pointerType,r=e.button,a=e.buttons,i=e.x,p=e.y,u=e.native,c=e.eventId,s=t.cancelable;return{type:\"double-click\",pointerType:n,button:r,buttons:a,x:i,y:p,native:u,timestamp:t.timestamp,mapPoint:this.view.toMap(o.createScreenPoint(i,p)),eventId:c,cancelable:s,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapImmediateClick=function(t){var e=t.data,n=e.pointerType,r=e.button,a=e.buttons,i=e.x,p=e.y,u=e.native,c=e.eventId,s=u.pointerId,l=t.cancelable;return{type:\"immediate-click\",pointerId:s,pointerType:n,button:r,buttons:a,x:i,y:p,native:u,timestamp:t.timestamp,mapPoint:this.view.toMap(o.createScreenPoint(i,p)),eventId:c,cancelable:l,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapHold=function(t){var e=t.data,n=e.pointerType,r=e.button,a=e.buttons,i=e.x,p=e.y,u=e.native,c=t.cancelable;return{type:\"hold\",pointerType:n,button:r,buttons:a,x:i,y:p,native:u,timestamp:t.timestamp,mapPoint:this.view.toMap(o.createScreenPoint(i,p)),cancelable:c,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapDrag=function(t){var e=t.data,n=e.center,r=n.x,o=n.y,i=e.action,p=e.pointerType,u=e.button;if(\"start\"===i&&(this.latestDragStart=e),this.latestDragStart){var c=e.pointer.native,s=e.buttons,l=t.cancelable,v=t.timestamp,d={x:this.latestDragStart.center.x,y:this.latestDragStart.center.y};return\"end\"===i&&(this.latestDragStart=void 0),{type:\"drag\",action:i,x:r,y:o,origin:d,pointerType:p,button:u,buttons:s,radius:e.radius,angle:a.rad2deg(e.angle),native:c,timestamp:v,cancelable:l,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}}},e.prototype.wrapKeyDown=function(t){var e=t.data,n=e.key,r=e.repeat,a=e.native,o=t.cancelable;return{type:\"key-down\",key:n,repeat:r,native:a,timestamp:t.timestamp,cancelable:o,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapKeyUp=function(t){var e=t.data,n=e.key,r=e.native,a=t.cancelable;return{type:\"key-up\",key:n,native:r,timestamp:t.timestamp,cancelable:a,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapPointer=function(t,e){var n=t.data,r=n.x,a=n.y,o=n.button,i=n.buttons,p=n.native,u=n.eventId,c=p.pointerId,s=p.pointerType,l=t.cancelable;return{type:e,x:r,y:a,pointerId:c,pointerType:s,button:o,buttons:i,native:p,timestamp:t.timestamp,eventId:u,cancelable:l,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapPointerDrag=function(t){var e=t.data.currentEvent,n=e.x,r=e.y,a=e.buttons,o=e.native,i=e.eventId,p=t.data.startEvent.button,u=t.data.startEvent.native.pointerId,c=t.data.startEvent.native.pointerType,s=t.data.action,l={x:t.data.startEvent.x,y:t.data.startEvent.y},v=t.cancelable;return{type:\"pointer-drag\",x:n,y:r,pointerId:u,pointerType:c,button:p,buttons:a,action:s,origin:l,native:o,timestamp:t.timestamp,eventId:i,cancelable:v,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapMouseWheel=function(t){var e=t.cancelable,n=t.data,r=t.timestamp;return{type:\"mouse-wheel\",x:n.x,y:n.y,deltaY:n.deltaY,native:n.native,timestamp:r,cancelable:e,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e.prototype.wrapGamepad=function(t){var e=t.data,n=e.action,r=e.state,a=e.device,o=t.cancelable;return{type:\"gamepad\",device:a,timestamp:t.timestamp,action:n,buttons:r.buttons,axes:r.axes,cancelable:o,stopPropagation:function(){return t.stopPropagation()},preventDefault:function(){return t.preventDefault()}}},e}(i.InputHandler)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\"],function(e,t,r,n,o,p){var a=function(e){function t(t){var r=e.call(this)||this;return r.nativeIndex=null,r._detectedDeviceType=\"unknown\",\"standard\"===t.mapping?r._detectedDeviceType=\"standard\":i.test(t.id)?r._detectedDeviceType=\"spacemouse\":r._detectedDeviceType=\"unknown\",r.nativeIndex=t.index,r}return r(t,e),Object.defineProperty(t.prototype,\"native\",{get:function(){return(navigator.getGamepads?navigator.getGamepads():[])[this.nativeIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"deviceType\",{get:function(){return this._detectedDeviceType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"axisThreshold\",{get:function(){return d[this.deviceType]},enumerable:!0,configurable:!0}),n([p.property({nonNullable:!0,readOnly:!0})],t.prototype,\"nativeIndex\",void 0),n([p.property({type:String,readOnly:!0})],t.prototype,\"deviceType\",null),n([p.property({type:Number,readOnly:!0})],t.prototype,\"axisThreshold\",null),t=n([p.subclass(\"esri.views.input.gamepad.GamepadInputDevice\")],t)}(p.declared(o)),i=new RegExp(\"^(3dconnexion|space(mouse|navigator|pilot|explorer))\",\"i\"),d={standard:.15,spacemouse:.025,unknown:0};return a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/Collection\",\"../../../core/accessorSupport/decorators\",\"./GamepadInputDevice\"],function(e,o,r,t,c,p,n,d){return function(e){function o(){var o=e.call(this)||this;return o.devices=new p,o.enabledFocusMode=\"document\",o}return r(o,e),t([n.property({type:p.ofType(d),readOnly:!0})],o.prototype,\"devices\",void 0),t([n.property({type:[\"document\",\"view\",\"none\"]})],o.prototype,\"enabledFocusMode\",void 0),o=t([n.subclass(\"esri.views.input.gamepad.GamepadSettings\")],o)}(n.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/assignHelper\",\"../../../core/scheduling\",\"./GamepadInputDevice\",\"./GamepadState\"],function(e,t,a,n,i,d){Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){var a=this;this.element=e,this.input=t,this.handleGamepadConnectedEvent=function(e){a.handleGamepadConnected(e.gamepad)},this.handleGamepadDisconnectedEvent=function(e){var t=e.gamepad,n=a.inputDevices[t.index];n&&(a.emitGamepadEvent(t,d.extractState(n),!1),a.inputDevices[t.index]=void 0,a.latestUpdate[t.index]=void 0,a.input.gamepad.devices.remove(n))},this.frameTask=null,this.latestUpdate=new Array,this.inputDevices=new Array,this.callback=null,this.supported=\"getGamepads\"in window.navigator,this.supported&&(this.forEachGamepad(function(e){return a.handleGamepadConnected(e)}),window.addEventListener(\"gamepadconnected\",this.handleGamepadConnectedEvent),window.addEventListener(\"gamepaddisconnected\",this.handleGamepadDisconnectedEvent))}return e.prototype.destroy=function(){this.pollingEnabled=!1,this.supported&&(window.removeEventListener(\"gamepadconnected\",this.handleGamepadConnectedEvent),window.removeEventListener(\"gamepaddisconnected\",this.handleGamepadDisconnectedEvent))},Object.defineProperty(e.prototype,\"onEvent\",{set:function(e){this.callback=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"pollingEnabled\",{set:function(e){this.supported&&(e?this.startPolling():this.stopPolling())},enumerable:!0,configurable:!0}),e.prototype.handleGamepadConnected=function(e){var t=new i(e);\"unknown\"!==t.deviceType&&(this.inputDevices[e.index]=t,this.input.gamepad.devices.add(t))},e.prototype.startPolling=function(){var e=this;null==this.frameTask&&(this.frameTask=n.addFrameTask({update:function(){return e.readGamepadState()}}))},e.prototype.stopPolling=function(){null!=this.frameTask&&(this.frameTask.remove(),this.frameTask=null,this.latestUpdate=new Array)},e.prototype.readGamepadState=function(){var e=this,t=document.hasFocus(),a=this.element.contains(document.activeElement),n=\"document\"===this.input.gamepad.enabledFocusMode&&!t||\"view\"===this.input.gamepad.enabledFocusMode&&!a;this.forEachGamepad(function(t){var a=e.inputDevices[t.index];if(a){var i=e.latestUpdate[t.index],s=d.extractState(a),o=n||d.stateIdle(s);if(i){if(i.timestamp===t.timestamp)return;if(!i.active&&o)return;if(d.stateEqual(i.state,s))return}e.emitGamepadEvent(t,s,!o)}})},e.prototype.forEachGamepad=function(e){for(var t=window.navigator.getGamepads(),a=0;a<t.length;a++){var n=t[a];this.validate(n)&&e(n)}},e.prototype.emitGamepadEvent=function(e,t,a){var n=this.latestUpdate[e.index],i=n&&n.active;if(i||a){var d=!i&&a?\"start\":i&&a?\"update\":\"end\";this.latestUpdate[e.index]={timestamp:e.timestamp,state:t,active:a},this.callback&&this.callback({device:this.inputDevices[e.index],state:t,action:d})}},e.prototype.validate=function(e){if(!e)return!1;if(!e.connected)return!1;for(var t=0;t<e.axes.length;t++)if(isNaN(e.axes[t]))return!1;return!0},e}();t.GamepadSource=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/mathUtils\"],function(t,e,n){function r(t){var e=t.native;return{buttons:e.buttons.map(function(t){return t.pressed?t.value?t.value:1:0}),axes:e.axes.map(function(e){return s(e,t.axisThreshold)})}}function u(t,e){if(t.axes.length!==e.axes.length)return!1;if(t.buttons.length!==e.buttons.length)return!1;for(var n=0;n<t.axes.length;n++)if(t.axes[n]!==e.axes[n])return!1;for(var n=0;n<t.buttons.length;n++)if(t.buttons[n]!==e.buttons[n])return!1;return!0}function a(t){for(var e=0;e<t.axes.length;e++)if(0!==t.axes[e])return!1;for(var e=0;e<t.buttons.length;e++)if(0!==t.buttons[e])return!1;return!0}function s(t,e){var r=Math.abs(t);return r<e?0:n.sign(t)*(r-e)/(1-e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extractState=r,e.stateEqual=u,e.stateIdle=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../InputHandler\"],function(e,t,n,o){Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(e){function t(t){var n=e.call(this,!0)||this;return n._onChange=t,n._value=\"mouse\",n.registerIncoming(\"pointer-down\",function(e){var t=\"touch\"===e.data.native.pointerType;n._setValue(t?\"touch\":\"mouse\")}),n._moveHandler=n.registerIncoming(\"pointer-move\",function(e){var t=\"touch\"===e.data.native.pointerType;n._setValue(t?\"touch\":\"mouse\")}),n._moveHandler.pause(),n}return n(t,e),t.prototype._setValue=function(e){e!==this._value&&(\"touch\"===e?this._moveHandler.resume():this._moveHandler.pause(),this._value=e,this._onChange(e))},t}(o.InputHandler);t.LatestPointerType=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../InputHandler\"],function(e,t,n,r){Object.defineProperty(t,\"__esModule\",{value:!0});var u=function(e){function t(){var t=e.call(this,!0)||this;return t.registerIncoming(\"context-menu\",function(e){e.data.native.preventDefault()}),t}return n(t,e),t}(r.InputHandler);t.PreventContextMenu=u,t.default=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(t,e){function r(t,e){switch(e){case\"primary\":return\"touch\"===t.pointerType||0===t.button;case\"secondary\":return\"touch\"!==t.pointerType&&2===t.button;case\"tertiary\":return\"touch\"!==t.pointerType&&1===t.button}}function n(t,e){if(\"touch\"===t.pointerType)return!1;switch(e){case\"primary\":return 0===t.button;case\"secondary\":return 2===t.button;case\"tertiary\":return 1===t.button}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.eventMatchesPointerAction=r,e.eventMatchesMousePointerAction=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/events\",\"../../core/has\"],function(e,r,t,a){function o(e){if(void 0!==e.key)return t.eventKey(e);var r=i[e.keyCode];return Array.isArray(r)?e.shiftKey?r[1]:r[0]:r}function n(e){switch(e){case\"Ctrl\":case\"Alt\":case\"Shift\":case\"Meta\":case\"Primary\":return!0}return!1}Object.defineProperty(r,\"__esModule\",{value:!0}),r.primaryKey=a(\"mac\")?\"Meta\":\"Ctrl\";for(var i={8:\"Backspace\",9:\"Tab\",13:\"Enter\",27:\"Escape\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\"},s=48;s<58;s++)i[s]=String.fromCharCode(s);for(var s=1;s<25;s++)i[111+s]=\"F\"+s;for(var s=65;s<91;s++)i[s]=[String.fromCharCode(s+32),String.fromCharCode(s)];r.eventKey=o,r.isSystemModifier=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/clock\",\"../../../core/iteratorUtils\",\"../../../core/screenUtils\",\"../DragEventSeparator\",\"../InputHandler\",\"./SingleAndDoubleClick\",\"./support\"],function(e,t,a,r,o,n,i,u,p,l){Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(e){function t(t,a,o,u,l){void 0===t&&(t=p.DefaultParameters.maximumDoubleClickDelay),void 0===a&&(a=p.DefaultParameters.maximumDoubleClickDistance),void 0===o&&(o=p.DefaultParameters.maximumDoubleTouchDelay),void 0===u&&(u=p.DefaultParameters.maximumDoubleTouchDistance),void 0===l&&(l=r.default);var s=e.call(this,!1)||this;return s.maximumDoubleClickDelay=t,s.maximumDoubleClickDistance=a,s.maximumDoubleTouchDelay=o,s.maximumDoubleTouchDistance=u,s._clock=l,s._doubleTapDragReady=!1,s._doubleTapDragActive=!1,s._dragStartCenter=n.createScreenPoint(0,0),s._pointerState=new Map,s._doubleTapDrag=s.registerOutgoing(\"double-tap-drag\"),s._dragEventSeparator=new i.DragEventSeparator({start:function(e,t){return s._dragStart(e,t)},update:function(e,t){return s._dragUpdate(t)},end:function(e,t){return s._dragEnd(t)}}),s.registerIncoming(\"drag\",function(e){return s._dragEventSeparator.handle(e)}),s.registerIncoming(\"pointer-down\",function(e){return s._handlePointerDown(e)}),s.registerIncoming(\"pointer-up\",function(){return s._handlePointerUp()}),s}return a(t,e),t.prototype.onUninstall=function(){this._pointerState.forEach(function(e){null!=e.doubleTapTimeout&&(e.doubleTapTimeout.remove(),e.doubleTapTimeout=null)})},Object.defineProperty(t.prototype,\"hasPendingInputs\",{get:function(){return o.someMap(this._pointerState,function(e){return null!=e.doubleTapTimeout})},enumerable:!0,configurable:!0}),t.prototype._clearPointerDown=function(e){var t=this._pointerState.get(e);t&&(t.doubleTapTimeout.remove(),t.doubleTapTimeout=null,this._pointerState.delete(e),this.refreshHasPendingInputs())},t.prototype._createDoubleTapDragData=function(e,t,a){return{action:e,delta:t,button:a.button,buttons:a.buttons,pointer:a.pointer,pointers:a.pointers,pointerType:a.pointerType,timestamp:a.timestamp}},t.prototype._dragStart=function(e,t){if(this._doubleTapDragReady&&1===e){this._doubleTapDragReady=!1,this._doubleTapDragActive=!0;var a=t.data,r=t.modifiers,o=a.center;this._dragStartCenter=o;var i=this._createDoubleTapDragData(\"begin\",n.createScreenPoint(0,0),a);this._doubleTapDrag.emit(i,void 0,r),t.stopPropagation()}},t.prototype._dragUpdate=function(e){if(this._doubleTapDragActive){var t=e.data,a=e.modifiers,r=t.center,o=n.createScreenPoint(r.x-this._dragStartCenter.x,r.y-this._dragStartCenter.y),i=this._createDoubleTapDragData(\"update\",o,t);this._doubleTapDrag.emit(i,void 0,a),e.stopPropagation()}},t.prototype._dragEnd=function(e){if(this._doubleTapDragActive){var t=e.data,a=e.modifiers,r=t.center,o=n.createScreenPoint(r.x-this._dragStartCenter.x,r.y-this._dragStartCenter.y),i=this._createDoubleTapDragData(\"end\",o,t);this._doubleTapDrag.emit(i,void 0,a),this._doubleTapDragActive=!1,e.stopPropagation()}},t.prototype._handlePointerDown=function(e){var t=e.data,a=this._pointerId(t),r=this._pointerState.get(a),o=t.native.pointerType;if(r){var n=\"touch\"===o?this.maximumDoubleTouchDistance:this.maximumDoubleClickDistance;this._clearPointerDown(a),l.manhattanDistance(r.event.data,t)>n?this._storePointerDown(e):this._doubleTapDragReady=!0}else this._storePointerDown(e)},t.prototype._handlePointerUp=function(){this._doubleTapDragReady=!1},t.prototype._pointerId=function(e){var t=e.native,a=t.pointerId,r=t.button,o=t.pointerType;return\"mouse\"===o?a+\":\"+r:\"\"+o},t.prototype._storePointerDown=function(e){var t=this,a=e.data,r=a.native.pointerType,o=this._pointerId(a),n=\"touch\"===r?this.maximumDoubleTouchDelay:this.maximumDoubleClickDelay,i=this._clock.setTimeout(function(){return t._clearPointerDown(o)},n);this._pointerState.set(o,{event:e,doubleTapTimeout:i}),this.refreshHasPendingInputs()},t}(u.InputHandler);t.DoubleTapDrag=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/screenUtils\",\"../../../layers/support/timeUtils\",\"../InputHandler\",\"./support\"],function(t,e,i,n,r,a,o){function s(t){var e=[];return t.forEach(function(t){e.push(n.createScreenPoint(t.event.x,t.event.y))}),o.fitCircleLSQ(e)}function p(t){var e=s(t),i=0;return t.forEach(function(t){for(var n=u(t,e),r=n-t.lastAngle;r>Math.PI;)r-=2*Math.PI;for(;r<-Math.PI;)r+=2*Math.PI;n=t.lastAngle+r,t.lastAngle=n;var a=n-t.initialAngle;i+=a}),i/=t.size||1,{angle:i,radius:e.radius,center:e.center}}function d(t){var e=new Map;return t.forEach(function(t,i){return e.set(i,t.event)}),e}function u(t,e){var i=t.event,n=i.x-e.center.x,r=i.y-e.center.y;return Math.atan2(r,n)}Object.defineProperty(e,\"__esModule\",{value:!0});var c=function(t){function e(e){var i=t.call(this,!1)||this;return i.navigationTouch=e,i.startStateModifiers=new Set,i.activePointerMap=new Map,i.isDragging=!1,i.isCurrentDragSuppressed=!1,i.drag=i.registerOutgoing(\"drag\"),i.registerIncoming(\"pointer-drag\",i.handlePointerDrag.bind(i)),i.registerIncoming(\"pointer-up\",i.handlePointerUpAndPointerLost.bind(i)),i.registerIncoming(\"pointer-capture-lost\",i.handlePointerUpAndPointerLost.bind(i)),i.registerIncoming(\"pointer-cancel\",i.handlePointerUpAndPointerLost.bind(i)),i}return i(e,t),e.prototype.createPayload=function(t,e,i,n){return{action:t,pointerType:this.pointerType,button:this.mouseButton,buttons:e.buttons,timestamp:n,pointers:d(this.activePointerMap),pointer:e,angle:i.angle,radius:i.radius,center:i.center}},e.prototype.addPointer=function(t){var e=t.native.pointerId,i=p(this.activePointerMap).angle,n={event:t,initialAngle:0,lastAngle:0};this.activePointerMap.set(e,n);var r=u(n,s(this.activePointerMap));n.initialAngle=r,n.lastAngle=r,this.updatePointerAngles(i)},e.prototype.updatePointer=function(t){if(!t||null!=t.x||null!=t.y){var e=t.native.pointerId,i=this.activePointerMap.get(e);i?i.event=t:this.addPointer(t)}},e.prototype.removePointer=function(t){var e=p(this.activePointerMap).angle;this.activePointerMap.delete(t),this.updatePointerAngles(e)},e.prototype.updatePointerAngles=function(t){var e=p(this.activePointerMap);this.activePointerMap.forEach(function(i){i.initialAngle=u(i,e)-t,i.lastAngle=u(i,e)-t})},e.prototype.emitEvent=function(t,e,i){var n=p(this.activePointerMap);this.drag.emit(this.createPayload(t,e,n,i),void 0,this.startStateModifiers)},e.prototype.handlePointerUpAndPointerLost=function(t){var e=t.data.native.pointerId,i=r.Milliseconds(t.timestamp);this.activePointerMap.get(e)&&(1===this.activePointerMap.size?(this.updatePointer(t.data),!this.isCurrentDragSuppressed&&this.emitEvent(\"end\",t.data,i),this.isDragging=!1,this.isCurrentDragSuppressed=!1,this.removePointer(e)):(this.removePointer(e),this.emitEvent(\"removed\",t.data,r.Milliseconds(t.timestamp))))},e.prototype.handlePointerDrag=function(t){var e=t.data,i=e.currentEvent,n=r.Milliseconds(t.timestamp);switch(e.action){case\"start\":case\"update\":this.isDragging?this.activePointerMap.has(i.native.pointerId)?(this.updatePointer(i),!this.isCurrentDragSuppressed&&this.emitEvent(\"update\",i,n)):(this.addPointer(i),this.emitEvent(\"added\",i,n),this.isCurrentDragSuppressed=this.isSuppressed):(this.updatePointer(i),this.pointerType=t.data.startEvent.pointerType,this.mouseButton=t.data.startEvent.button,this.startStateModifiers=t.modifiers,this.isDragging=!0,this.isCurrentDragSuppressed=this.isSuppressed,!this.isCurrentDragSuppressed&&this.emitEvent(\"start\",i,n))}},Object.defineProperty(e.prototype,\"isSuppressed\",{get:function(){return this.navigationTouch&&!this.navigationTouch.browserTouchPanEnabled&&\"touch\"===this.pointerType&&1===this.activePointerMap.size},enumerable:!0,configurable:!0}),e}(a.InputHandler);e.Drag=c;!function(t){t[t.Left=0]=\"Left\",t[t.Middle=1]=\"Middle\",t[t.Right=2]=\"Right\",t[t.Back=3]=\"Back\",t[t.Forward=4]=\"Forward\",t[t.Undefined=-1]=\"Undefined\"}(e.Button||(e.Button={}))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/clock\",\"../InputHandler\",\"./support\"],function(t,e,i,n,o,r){Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultParameters={maximumClickDelay:300,movementUntilMouseDrag:1.5,movementUntilTouchDrag:6,holdDelay:500};var a=function(t){function o(i,o,r,a,s){void 0===i&&(i=e.DefaultParameters.maximumClickDelay),void 0===o&&(o=e.DefaultParameters.movementUntilMouseDrag),void 0===r&&(r=e.DefaultParameters.movementUntilTouchDrag),void 0===a&&(a=e.DefaultParameters.holdDelay),void 0===s&&(s=n.default);var l=t.call(this,!1)||this;return l.maximumClickDelay=i,l.movementUntilMouseDrag=o,l.movementUntilTouchDrag=r,l.holdDelay=a,l._clock=s,l._pointerState=new Map,l._pointerDrag=l.registerOutgoing(\"pointer-drag\"),l._immediateClick=l.registerOutgoing(\"immediate-click\"),l._pointerHold=l.registerOutgoing(\"hold\"),l.registerIncoming(\"pointer-down\",l._handlePointerDown.bind(l)),l.registerIncoming(\"pointer-up\",function(t){l._handlePointerLoss(t,\"pointer-up\")}),l.registerIncoming(\"pointer-capture-lost\",function(t){l._handlePointerLoss(t,\"pointer-capture-lost\")}),l.registerIncoming(\"pointer-cancel\",function(t){l._handlePointerLoss(t,\"pointer-cancel\")}),l._moveHandle=l.registerIncoming(\"pointer-move\",l._handlePointerMove.bind(l)),l._moveHandle.pause(),l}return i(o,t),o.prototype.onUninstall=function(){this._pointerState.forEach(function(t){null!=t.holdTimeout&&(t.holdTimeout.remove(),t.holdTimeout=null)}),t.prototype.onUninstall.call(this)},o.prototype._handlePointerDown=function(t){var e=this,i=t.data,n=i.native.pointerId,o=null;0===this._pointerState.size&&(o=this._clock.setTimeout(function(){var i=e._pointerState.get(n);if(i){if(!i.isDragging){var o=i.previousEvent;e._pointerHold.emit(o,void 0,t.modifiers),i.holdEmitted=!0}i.holdTimeout=null}},this.holdDelay));var r={startEvent:i,previousEvent:i,startTimestamp:t.timestamp,isDragging:!1,downButton:i.native.button,holdTimeout:o,modifiers:new Set};this._pointerState.set(n,r),this.startCapturingPointer(i.native),this._moveHandle.resume(),this._pointerState.size>1&&this.startDragging(t)},o.prototype._createPointerDragData=function(t,e,i){return{action:t,startEvent:e.startEvent,previousEvent:e.previousEvent,currentEvent:i}},o.prototype._handlePointerMove=function(t){var e=t.data,i=e.native.pointerId,n=this._pointerState.get(i);if(n){if(n.isDragging)this._pointerDrag.emit(this._createPointerDragData(\"update\",n,e),void 0,n.modifiers);else{r.euclideanDistance(e,n.startEvent)>(\"touch\"===e.native.pointerType?this.movementUntilTouchDrag:this.movementUntilMouseDrag)&&this.startDragging(t)}n.previousEvent=e}},o.prototype.startDragging=function(t){var e=this,i=t.data,n=i.native.pointerId;this._pointerState.forEach(function(o){null!=o.holdTimeout&&(o.holdTimeout.remove(),o.holdTimeout=null),o.isDragging||(o.modifiers=t.modifiers,o.isDragging=!0,n===o.startEvent.native.pointerId?e._pointerDrag.emit(e._createPointerDragData(\"start\",o,i)):e._pointerDrag.emit(e._createPointerDragData(\"start\",o,o.previousEvent),t.timestamp))})},o.prototype._handlePointerLoss=function(t,e){var i=t.data,n=i.native.pointerId,o=this._pointerState.get(n);if(o){if(null!=o.holdTimeout&&(o.holdTimeout.remove(),o.holdTimeout=null),o.isDragging)this._pointerDrag.emit(this._createPointerDragData(\"end\",o,\"pointer-up\"===e?i:o.previousEvent),void 0,o.modifiers);else if(\"pointer-up\"===e&&o.downButton===i.native.button){var r=t.timestamp-o.startTimestamp;r<=this.maximumClickDelay&&!o.holdEmitted&&this._immediateClick.emit(i)}this._pointerState.delete(n),this.stopCapturingPointer(i.native),0===this._pointerState.size&&this._moveHandle.pause()}},o}(o.InputHandler);e.PointerClickHoldAndDrag=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/extendsHelper\",\"../../../core/clock\",\"../../../core/iteratorUtils\",\"../InputHandler\",\"./support\"],function(e,t,i,o,n,u,a){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DefaultParameters={maximumDoubleClickDelay:250,maximumDoubleClickDistance:10,maximumDoubleTouchDelay:350,maximumDoubleTouchDistance:35};var l=function(e){function u(i,n,u,a,l){void 0===i&&(i=t.DefaultParameters.maximumDoubleClickDelay),void 0===n&&(n=t.DefaultParameters.maximumDoubleClickDistance),void 0===u&&(u=t.DefaultParameters.maximumDoubleTouchDelay),void 0===a&&(a=t.DefaultParameters.maximumDoubleTouchDistance),void 0===l&&(l=o.default);var r=e.call(this,!1)||this;return r.maximumDoubleClickDelay=i,r.maximumDoubleClickDistance=n,r.maximumDoubleTouchDelay=u,r.maximumDoubleTouchDistance=a,r._clock=l,r._pointerState=new Map,r._click=r.registerOutgoing(\"click\"),r._doubleClick=r.registerOutgoing(\"double-click\"),r.registerIncoming(\"immediate-click\",r._handleImmediateClick.bind(r)),r.registerIncoming(\"pointer-drag\",r._handlePointerDrag.bind(r)),r.registerIncoming(\"drag\",r._handleDrag.bind(r)),r}return i(u,e),u.prototype.onUninstall=function(){this._pointerState.forEach(function(e){null!=e.doubleClickTimeout&&(e.doubleClickTimeout.remove(),e.doubleClickTimeout=null)})},Object.defineProperty(u.prototype,\"hasPendingInputs\",{get:function(){return n.someMap(this._pointerState,function(e){return null!=e.doubleClickTimeout})},enumerable:!0,configurable:!0}),u.prototype._pointerId=function(e){var t=e.native;return\"mouse\"===t.pointerType?t.pointerId+\":\"+t.button:\"\"+t.pointerType},u.prototype._handleImmediateClick=function(e){var t=e.data,i=this._pointerId(t),o=this._pointerState.get(i);if(o){var n=\"touch\"===t.native.pointerType?this.maximumDoubleTouchDistance:this.maximumDoubleClickDistance;a.manhattanDistance(o.event.data,t)>n?(this._clearDoubleClickTimeout(i,!0),this._startClick(e)):(this._clearDoubleClickTimeout(i,!1),this._doubleClick.emit(o.event.data,void 0,o.event.modifiers))}else this._startClick(e)},u.prototype._startClick=function(e){var t=this,i=this._pointerId(e.data),o=\"touch\"===e.data.native.pointerType?this.maximumDoubleTouchDelay:this.maximumDoubleClickDelay;this._pointerState.set(i,{event:e,doubleClickTimeout:this._clock.setTimeout(function(){return t._doubleClickTimeoutExceeded(i)},o)}),this.refreshHasPendingInputs()},u.prototype._handlePointerDrag=function(e){var t=this._pointerId(e.data.currentEvent);this._clearDoubleClickTimeout(t,!0)},u.prototype._handleDrag=function(e){var t=this._pointerId(e.data.pointer);this._clearDoubleClickTimeout(t,!0)},u.prototype._clearDoubleClickTimeout=function(e,t){var i=this._pointerState.get(e);i&&(i.doubleClickTimeout.remove(),i.doubleClickTimeout=null,t&&this._doubleClickTimeoutExceeded(e),this._pointerState.delete(e),this.refreshHasPendingInputs())},u.prototype._doubleClickTimeoutExceeded=function(e){var t=this._pointerState.get(e);this._click.emit(t.event.data,void 0,t.event.modifiers),t.doubleClickTimeout=null,this._pointerState.delete(e),this.refreshHasPendingInputs()},u}(u.InputHandler);t.SingleAndDoubleClick=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/screenUtils\"],function(e,r,t){function n(e,r){return Math.abs(r.x-e.x)+Math.abs(r.y-e.y)}function a(e,r){var t=r.x-e.x,n=r.y-e.y;return Math.sqrt(t*t+n*n)}function c(e,r){if(r?(r.radius=0,r.center.x=0,r.center.y=0):r={radius:0,center:t.createScreenPoint()},0===e.length)return r;if(1===e.length)return r.center.x=e[0].x,r.center.y=e[0].y,r;if(2===e.length){var n=e[0],a=e[1],c=[a.x-n.x,a.y-n.y],i=c[0],u=c[1];return r.radius=Math.sqrt(i*i+u*u)/2,r.center.x=(n.x+a.x)/2,r.center.y=(n.y+a.y)/2,r}for(var s=0,x=0,y=0;y<e.length;y++)s+=e[y].x,x+=e[y].y;s/=e.length,x/=e.length;for(var f=e.map(function(e){return e.x-s}),h=e.map(function(e){return e.y-x}),o=0,l=0,d=0,g=0,v=0,M=0,p=0,y=0;y<f.length;y++){var q=f[y],b=h[y],m=q*q,P=b*b;o+=m,l+=P,d+=q*b,g+=m*q,v+=P*b,M+=q*P,p+=b*m}var S=o,D=d,_=d,j=l,C=.5*(g+M),L=.5*(v+p),O=S*j-_*D,Q=C*j-L*D,U=S*L-_*C,k=Q/O,w=U/O,z=t.createScreenPoint(k+s,w+x);return{radius:Math.sqrt(k*k+w*w+(o+l)/e.length),center:z}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.manhattanDistance=n,r.euclideanDistance=a,r.fitCircleLSQ=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/iteratorUtils\",\"../../core/mathUtils\",\"../../core/maybe\",\"../../core/screenUtils\",\"./interactiveToolUtils\"],function(e,t,r,i,o,n,a){function s(e){return\"touch\"!==e}function l(e){return\"mouse\"!==e.pointerType||0===e.button}function p(e){return!!e.native.shiftKey}Object.defineProperty(t,\"__esModule\",{value:!0});var u=function(){function e(){this._hoveredManipulators=new Map,this._grabbedManipulators=new Map,this._draggedManipulators=new Map,this._stopDrag=!1,this._revertToActiveTool=null,this._cursor=null}return Object.defineProperty(e.prototype,\"cursor\",{get:function(){return this._cursor},enumerable:!0,configurable:!0}),e.prototype.handleInputEvent=function(e,t){var r=function(){return e.stopPropagation()};switch(e.type){case\"drag\":this._grabbedManipulators.size>0&&(this._stopDrag=!0),this._stopDrag&&(r(),\"end\"===e.action&&(this._stopDrag=!1));break;case\"pointer-down\":if(!l(e)||p(e))break;var a=n.createScreenPointFromEvent(e),s=this._intersect(a,e.pointerType,t.forEachTool);if(o.isNone(s))break;var u=this._findManipulatorByKey(s,t.forEachTool);o.isSome(u)&&u.interactive&&!u.grabbing&&(this._grabbedManipulators.set(e.pointerId,{key:s,start:a}),1===this._grabbedManipulators.size&&(this._revertToActiveTool=t.activeTool,t.setActiveTool(s.tool)),u.grabbing=!0,u.events.emit(\"grab\",{action:\"start\",screenPoint:a}),r());break;case\"pointer-up\":this._handlePointerEnd(e,t);break;case\"pointer-drag\":if(!l(e))break;var d=this._grabbedManipulators.get(e.pointerId),h=this._draggedManipulators.get(e.pointerId),f=o.applySome(d||h,function(e){return e.key}),v=this._findManipulatorByKey(f,t.forEachTool);if(o.isNone(v))break;var a=n.createScreenPointFromEvent(e);a.x=i.clamp(a.x,0,t.view.width),a.y=i.clamp(a.y,0,t.view.height);var y=o.expect(d||h).start,g={action:e.action,start:y,screenPoint:a};switch(e.action){case\"start\":case\"update\":\"update\"!==g.action&&1!==this._grabbedManipulators.size||(v.dragging=!0,h||(g.action=\"start\"),v.events.emit(\"drag\",g),this._draggedManipulators.set(e.pointerId,{key:o.expect(f),start:y}));break;case\"end\":h&&v.events.emit(\"drag\",g),v.dragging=!1,this._draggedManipulators.delete(e.pointerId),this._handlePointerEnd(e,t)}r();break;case\"immediate-click\":var a=n.createScreenPointFromEvent(e),s=this._intersect(a,e.pointerType,t.forEachTool),_=this._findToolAndManipulatorByKey(s,t.forEachTool,c);if(p(e)||t.forEachTool(function(e){if(e.manipulators){var t=!1;e.manipulators.forEach(function(e){var r=e.manipulator;r.selected&&(r.selected=!1,t=!0)}),t&&e.manipulatorSelectionChanged&&e.manipulatorSelectionChanged()}}),!_)break;var u=c.manipulator,b=c.tool;if(!u.interactive)break;u.selectable&&(u.selected=!u.selected,b.manipulatorSelectionChanged&&b.manipulatorSelectionChanged());var m=e.native.shiftKey;u.events.emit(\"immediate-click\",{screenPoint:a,button:e.button,pointerType:e.pointerType,shiftKey:m,stopPropagation:r});break;case\"click\":var a=n.createScreenPointFromEvent(e),s=this._intersect(a,e.pointerType,t.forEachTool),u=this._findManipulatorByKey(s,t.forEachTool);if(o.isNone(u)||!u.interactive)break;var m=e.native.shiftKey;u.events.emit(e.type,{screenPoint:a,button:e.button,pointerType:e.pointerType,shiftKey:m}),r();break;case\"double-click\":var a=n.createScreenPointFromEvent(e),s=this._intersect(a,e.pointerType,t.forEachTool),u=this._findManipulatorByKey(s,t.forEachTool);if(o.isNone(u)||!u.interactive)break;var m=e.native.shiftKey;u.events.emit(\"double-click\",{screenPoint:a,button:e.button,pointerType:e.pointerType,shiftKey:m,stopPropagation:r})}this._updateCursor(t.forEachTool)},e.prototype._handlePointerEnd=function(e,t){var r=o.applySome(this._grabbedManipulators.get(e.pointerId),function(e){return e.key}),i=this._findManipulatorByKey(r,t.forEachTool);if(o.isSome(i)&&!i.dragging){var a=o.isSome(t.creatingTool)&&t.creatingTool===o.expect(r).tool;1!==this._grabbedManipulators.size||0!==this._draggedManipulators.size||a||(t.setActiveTool(this._revertToActiveTool),this._revertToActiveTool=null),i.grabbing&&(i.grabbing=!1,i.events.emit(\"grab\",{action:\"end\",screenPoint:n.createScreenPointFromEvent(e)})),this._grabbedManipulators.delete(e.pointerId)}},e.prototype._cursorFromMap=function(e,t){var i=this,n=null;return r.someMap(e,function(e){var r=e.key,a=i._findManipulatorByKey(r,t);return!!(o.isSome(a)&&a.interactive&&\"cursor\"in a&&a.cursor)&&(n=a.cursor,!0)}),n},e.prototype._updateCursor=function(e){this._grabbedManipulators.size>0?this._cursor=this._cursorFromMap(this._grabbedManipulators,e)||\"grabbing\":this._hoveredManipulators.size>0?this._cursor=this._cursorFromMap(this._hoveredManipulators,e)||\"pointer\":this._cursor=null},e.prototype.clearPointers=function(e,t,r,i){var n=this;void 0===r&&(r=!0);var a=function(t){return t.tool===e&&(o.isNone(i)||t.manipulatorId===i)};this._grabbedManipulators.forEach(function(e,r){var i=e.key;if(a(i)){n._grabbedManipulators.delete(r);var s=n._findManipulatorByKey(i,t);o.isSome(s)&&(s.grabbing=!1,s.events.emit(\"grab\",{action:\"end\",screenPoint:null}))}}),this._draggedManipulators.forEach(function(e,r){var i=e.key;if(a(i)){n._draggedManipulators.delete(r);var s=n._findManipulatorByKey(i,t);o.isSome(s)&&(s.dragging=!1)}}),r&&this._hoveredManipulators.forEach(function(e,r){var i=e.key;if(a(i)){n._hoveredManipulators.delete(r);var s=n._findManipulatorByKey(i,t);o.isSome(s)&&(s.hovering=!1)}}),this._updateCursor(t)},e.prototype._intersect=function(e,t,r){var i=null;return r(function(r){if(null==r.manipulators||!a.areToolManipulatorsEditable(r))return!1;var n=r.manipulators.intersect(e,t);return!o.isNone(n)&&(i={manipulatorId:n,tool:r},!0)}),i},e.prototype.handleHoverEvent=function(e,t){if((\"pointer-up\"===e.type||\"immediate-click\"===e.type||\"pointer-move\"===e.type)&&s(e.pointerType)){var r=o.applySome(this._hoveredManipulators.get(e.pointerId),function(e){return e.key}),i=this._findManipulatorByKey(r,t),a=this._intersect(n.createScreenPointFromEvent(e),e.pointerType,t),l=this._findManipulatorByKey(a,t);o.isSome(l)&&!l.interactive&&(l=null),i!==l&&(o.isSome(i)&&(i.hovering=!1),o.isSome(l)?(l.hovering=!0,this._hoveredManipulators.set(e.pointerId,{key:o.expect(a)})):this._hoveredManipulators.delete(e.pointerId),this._updateCursor(t))}},e.prototype._findManipulatorByKey=function(e,t){return this._findToolAndManipulatorByKey(e,t,c)?c.manipulator:null},e.prototype._findToolAndManipulatorByKey=function(e,t,r){return o.isNone(e)?null:(r.tool=null,r.manipulator=null,t(function(t){if(t!==e.tool||null==t.manipulators||!a.areToolManipulatorsEditable(t))return!1;var i=t.manipulators.findById(e.manipulatorId);return!!o.isSome(i)&&(r.manipulator=i,r.tool=t,!0)}),null!=r.manipulator)},e}();t.default=u;var c={manipulator:null,tool:null}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/Collection\",\"../../core/maybe\",\"../DOMContainer\"],function(e,t,o,a,i,n){function r(e,t){var o=e.view;o&&(t&&o.ready&&o.activeTool!==e?(o.activeTool=e,n.isDOMContainer(o)&&o.focus()):t||o.activeTool!==e||(o.activeTool=null))}function c(e,t,o){var a=e.activeTool;t!==a&&(i.isSome(a)&&a.deactivate&&a.deactivate(),o(t),i.isSome(t)&&t.activate&&t.activate())}function l(){var e=new a;return e.on(\"after-add\",function(e){var t=e.item;t.view&&t.view.ready&&t.attach()}),e.on(\"after-remove\",function(e){var t=e.item;r(t,!1),t.destroyed||t.detach()}),e}function u(e){return!1!==e.visible&&!1!==e.editable&&(null==e.hasEditableFlag||e.hasEditableFlag(1))}function v(e){return i.isNone(e)?{}:\"function\"==typeof e?e():e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.setActive=r,t.swap=c,t.newToolCollection=l,t.areToolManipulatorsEditable=u,t.evaluateToolConstructorArguments=v});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/promiseUtils\",\"../../core/accessorSupport/decorators\"],function(e,r,t,s,o,i,n,a){function p(e){return\"refresh\"in e}Object.defineProperty(r,\"__esModule\",{value:!0}),r.RefreshableLayerView=function(e){return function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.refreshTimestamp=null,r.refreshDebounced=n.debounce(function(e,t){return i(r,void 0,void 0,function(){var r;return o(this,function(s){switch(s.label){case 0:return\"number\"==typeof e?r=e:(r=Date.now(),t=e),this._set(\"refreshTimestamp\",r),this.doRefresh?[4,this.doRefresh(t)]:[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}})})},2e3),r}return t(r,e),r.prototype.refresh=function(e){void 0===e&&(e=Date.now()),this._set(\"refreshTimestamp\",e),this.doRefresh&&this.doRefresh()},s([a.property()],r.prototype,\"layer\",void 0),s([a.aliasOf(\"layer.refreshInterval\")],r.prototype,\"refreshInterval\",void 0),s([a.property({readOnly:!0})],r.prototype,\"refreshTimestamp\",void 0),r=s([a.subclass(\"esri.layers.mixins.RefreshableLayerView\")],r)}(a.declared(e))},r.isRefreshableLayerView=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"./gamepad/GamepadSettings\"],function(e,o,r,t,p,a,n){return function(e){function o(o){var r=e.call(this,o)||this;return r.browserTouchPanEnabled=!0,r.gamepad=new n,r.momentumEnabled=!0,r.mouseWheelZoomEnabled=!0,r}return r(o,e),t([a.property({type:Boolean})],o.prototype,\"browserTouchPanEnabled\",void 0),t([a.property({type:n,nonNullable:!0})],o.prototype,\"gamepad\",void 0),t([a.property({type:Boolean})],o.prototype,\"momentumEnabled\",void 0),t([a.property({type:Boolean})],o.prototype,\"mouseWheelZoomEnabled\",void 0),o=t([a.subclass(\"esri.views.navigation.Navigation\")],o)}(a.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/Accessor\",\"../../../core/accessorSupport/decorators\",\"../../input/gamepad/GamepadInputDevice\"],function(e,o,r,t,p,n,a){return function(e){function o(o){var r=e.call(this,o)||this;return r.enabled=!0,r.device=null,r.mode=\"pan\",r.tiltDirection=\"forward-down\",r.velocityFactor=1,r}return r(o,e),t([n.property({type:Boolean,nonNullable:!0})],o.prototype,\"enabled\",void 0),t([n.property({type:a})],o.prototype,\"device\",void 0),t([n.property({type:[\"pan\",\"zoom\"],nonNullable:!0})],o.prototype,\"mode\",void 0),t([n.property({type:[\"forward-down\",\"forward-up\"],nonNullable:!0})],o.prototype,\"tiltDirection\",void 0),t([n.property({type:Number,nonNullable:!0})],o.prototype,\"velocityFactor\",void 0),o=t([n.subclass(\"esri.views.navigation.gamepad.GamepadSettings\")],o)}(n.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/libs/gl-matrix-2/vec3\"],function(t,a,n){function r(t){var a=t*t;return t<0&&(a*=-1),a}function e(t){return t.translation[0]=0,t.translation[1]=0,t.translation[2]=0,t.heading=0,t.tilt=0,t}function i(t,a,e){var i=e,o=t.state,s=t.device,l=\"forward-down\"===a.tiltDirection?1:-1;return\"standard\"===s.deviceType?(i.translation[0]=r(o.axes[0]),i.translation[1]=r(o.axes[1]),i.translation[2]=r(o.buttons[7])-r(o.buttons[6]),i.heading=r(o.axes[2]),i.tilt=r(o.axes[3])):\"spacemouse\"===s.deviceType&&(i.translation[0]=1.2*r(o.axes[0]),i.translation[1]=1.2*r(o.axes[1]),i.translation[2]=2*-r(o.axes[2]),i.heading=1.2*r(o.axes[5]),i.tilt=1.2*r(o.axes[3])),i.tilt*=l,n.vec3.scale(i.translation,i.translation,1),i}function o(t,a){var n=a;return n.translation[0]=t[1]-t[0],n.translation[1]=t[3]-t[2],n.translation[2]=t[4]-t[5],n.heading=t[7]-t[6],n.tilt=t[8]-t[9],n}function s(t){return 0===t.translation[0]&&0===t.translation[1]&&0===t.translation[2]&&0===t.heading&&0===t.tilt}Object.defineProperty(a,\"__esModule\",{value:!0}),a.quadraticAccentuation=r,a.resetTransformation=e,a.extractTransformation=i,a.extractTransformationKeyboard=o,a.isZeroTransformation=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Collection\",\"../../core/accessorSupport/decorators\",\"../../libs/maquette/index\",\"../support/WatchUpdatingTracking\"],function(e,t,r,o,n,i,a,c,d){return function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.items=new i,t._watchUpdatingTracking=new d.WatchUpdatingTracking,t._callbacks=new Map,t._projector=c.createProjector(),t._hiddenProjector=c.createProjector(),t}return r(t,e),Object.defineProperty(t.prototype,\"needsRender\",{get:function(){return this.items.length>0},enumerable:!0,configurable:!0}),t.prototype.initialize=function(){var e=this,t=document.createElement(\"div\");t.className=\"esri-overlay-surface\",this._set(\"surface\",t),this._hiddenSurface=document.createElement(\"div\"),this._hiddenSurface.setAttribute(\"style\",\"visibility: hidden;\"),t.appendChild(this._hiddenSurface),this._watchUpdatingTracking.addOnCollectionChange(this.items,function(t){t.added.map(function(t){var r=function(){return t.render()};e._callbacks.set(t,r),e._projector.append(e.surface,r)}),t.removed.map(function(t){var r=e._projector.detach(e._callbacks.get(t));e.surface.removeChild(r.domNode),e._callbacks.delete(t)})})},t.prototype.addItem=function(e){this.items.add(e)},t.prototype.removeItem=function(e){this.items.remove(e)},t.prototype.destroy=function(){this.items.removeAll(),this._callbacks=null,this._projector=null,this._watchUpdatingTracking.destroy()},t.prototype.render=function(){this._projector.renderNow()},t.prototype.computeBoundingRect=function(e){var t=this._hiddenSurface,r=this._hiddenProjector,o=null,n=function(){return o=e.render()};r.append(t,n),r.renderNow();var i={left:0,top:0,right:0,bottom:0};if(o&&o.domNode){var a=o.domNode.getBoundingClientRect();i.left=a.left,i.top=a.top,i.right=a.right,i.bottom=a.bottom}for(r.detach(n);t.firstChild;)t.removeChild(t.firstChild);return i},t.prototype.overlaps=function(e,t){var r=this.computeBoundingRect(e),o=this.computeBoundingRect(t);return Math.max(r.left,o.left)<=Math.min(r.right,o.right)&&Math.max(r.top,o.top)<=Math.min(r.bottom,o.bottom)},Object.defineProperty(t.prototype,\"hasVisibleItems\",{get:function(){return this.items.some(function(e){return e.visible})},enumerable:!0,configurable:!0}),t.prototype.renderCanvas=function(e){if(this.items.some(function(e){return e.visible})){var t=e.getContext(\"2d\");t.save(),t.font=\"10px \"+getComputedStyle(this.surface).fontFamily,this.items.forEach(function(e){t.save(),e.renderCanvas(t),t.restore()}),t.restore()}},o([a.property({readOnly:!0})],t.prototype,\"surface\",void 0),o([a.property({readOnly:!0})],t.prototype,\"items\",void 0),o([a.property({readOnly:!0,dependsOn:[\"items.length\"]})],t.prototype,\"needsRender\",null),o([a.property({readOnly:!0})],t.prototype,\"_watchUpdatingTracking\",void 0),o([a.property({readOnly:!0,aliasOf:\"_watchUpdatingTracking.updating\"})],t.prototype,\"updating\",void 0),t=o([a.subclass(\"esri.views.overlay.ViewOverlay\")],t)}(a.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/Accessor\",\"../../core/arrayUtils\",\"../../core/Handles\",\"../../core/Logger\",\"../../core/promiseUtils\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../geometry/support/heightModelInfoUtils\",\"../../geometry/support/webMercatorUtils\",\"@dojo/framework/shim/Promise\"],function(e,t,i,n,o,r,a,s,l,u,d,p,c,f,h){function g(e){return e?JSON.stringify(e.toJSON()):\"undefined\"}function _(e){switch(e){case 0:return\"Waiting\";case 1:return\"Found\";case 2:return\"Exhausted\"}return\"Unknown: \"+e}var y=u.getLogger(\"esri.views.support.DefaultsFromMap\");return function(t){function a(){var e=null!==t&&t.apply(this,arguments)||this;return e._handles=new l,e._waitTask=null,e._extentProjectController=null,e._spatialReferenceCandidates=null,e._extentCandidates=null,e.logDebugInformation=!1,e.isSpatialReferenceDone=!1,e.isTileInfoDone=!1,e.isHeightModelInfoSearching=!1,e.spatialReference=null,e.extent=null,e.heightModelInfo=null,e.vcsWkid=null,e.latestVcsWkid=null,e.mapCollectionPaths=u.DefaultMapCollectionPaths.slice(),e.tileInfo=null,e}i(a,t),u=a,a.prototype.initialize=function(){var e=this;this.watch(\"mapCollectionPaths\",function(){e._running&&(e.reset(),e.start())})},a.prototype.destroy=function(){this._set(\"view\",null),this._handles&&(this._handles.destroy(),this._handles=null),this._cancelLoading()},Object.defineProperty(a.prototype,\"_running\",{get:function(){return!!(this._handles&&this._handles.size>0)},enumerable:!0,configurable:!0}),a.prototype.reset=function(){this._handles.removeAll(),this._set(\"isSpatialReferenceDone\",!1),this._set(\"isTileInfoDone\",!1),this._set(\"isHeightModelInfoSearching\",!1),this._set(\"spatialReference\",null),this._set(\"extent\",null),this._set(\"heightModelInfo\",null),this._set(\"vcsWkid\",null),this._set(\"latestVcsWkid\",null),this._set(\"tileInfo\",null),this._spatialReferenceCandidates=null,this._extentCandidates=null},a.prototype.start=function(){var e=this;this._handles.removeAll();for(var t=this._updateLayerChange.bind(this),i=0,n=this.mapCollectionPaths;i<n.length;i++){var o=n[i];this._handles.add(p.on(this.view,\"map.\"+o,\"change\",t,t,t,!0))}this._handles.add(p.when(this,\"isSpatialReferenceDone\",function(){return e._updateTileInfo()},!0))},a.prototype._ownerNameFromCollectionName=function(e){var t=e.lastIndexOf(\".\");return-1===t?\"view\":\"view.\"+e.slice(0,t)},a.prototype._ensureLoadedOwnersFromCollectionName=function(e){for(var t,i=this._ownerNameFromCollectionName(e),n=i.split(\".\"),o=0;o<n.length&&(t=this.get(n.slice(0,o+1).join(\".\")));o++)if(t.load&&!t.isFulfilled())return{collectionName:e,owner:null,loading:t.load()};return{collectionName:e,owner:t}},a.prototype._cancelLoading=function(){this._waitTask=null,this._extentProjectController&&(this._extentProjectController.abort(),this._extentProjectController=null)},a.prototype._updateWhen=function(e){var t=this,i=!0,n=!1,o=e.catch(function(){}).then(function(){i?n=!0:o===t._waitTask&&t._update()});return i=!1,n||(this._waitTask=o),n},a.prototype._updateLayerChange=function(){this.isSpatialReferenceDone&&!this.spatialReference&&this._set(\"isSpatialReferenceDone\",!1),this._update()},a.prototype._update=function(){var e=this;if(this._cancelLoading(),this.view){if(!this.isSpatialReferenceDone){this._debugLog(\"Starting search for spatial reference...\");var t=this._processMapCollections(function(t){return e._processSpatialReferenceSource(t)});if(this._debugLog(\"Search ended with status '\"+_(t)+\"'\"),0!==t){var i=null,n=this._spatialReferenceCandidates;if(!n||n.length<1?(i=this.defaultSpatialReference,this._debugLog(\"No spatial reference found, locking to default (\"+g(i)+\")\")):(this.defaultSpatialReference&&n.length>1&&s.findIndex(n,function(t){return t.equals(e.defaultSpatialReference)})>-1&&(n=[this.defaultSpatialReference]),i=n[0],this._debugLog(\"Locking to \"+g(i))),this._set(\"spatialReference\",i),i)if(this.extent)this._set(\"isSpatialReferenceDone\",!0);else{var o=this.logDebugInformation;this.logDebugInformation=!1,this._processMapCollections(function(t){return e._findExtent(t,i)}),this.logDebugInformation=o,this._projectExtentCandidate().catch().then(function(){return e._set(\"isSpatialReferenceDone\",!0)})}else this._set(\"isSpatialReferenceDone\",!0)}}if(null==this.heightModelInfo&&this.view.isHeightModelInfoRequired){this._debugLog(\"Starting search for height model info...\");var r=this._processMapCollections(function(t){return e._processHeightModelInfoSource(t)},function(e){return f.mayHaveHeightModelInfo(e)});this._debugLog(\"Search ended with status \"+_(r)),this._set(\"isHeightModelInfoSearching\",0===r)}this._updateTileInfo()}},a.prototype._processMapCollections=function(e,t){var i=this;this._preloadMapCollections(t);var n=2;return this._forAllMapCollectionSources(function(e){if(2!==n)return!1;var t=e.collectionName;return i._debugLog(\"Processing collection \"+t+\"...\"),!(e.loading&&!i._updateWhen(e.loading))||(i._debugLog(\"Collection \"+e.collectionName+\" owner is loading -> wait\"),n=0,!1)},function(o){return 2===n&&(null==t||t(o)?!o.load||o.isFulfilled()||i._updateWhen(o.load())?!((!o.load||o.isResolved())&&e(o)&&(n=1,1)):(i._debugLog(\"Source \"+o.id+\" is loading -> wait\"),n=0,!1):(i._debugLog(\"Source \"+o.id+\" is skipped due to predicate\"),!1))}),n},a.prototype._preloadMapCollections=function(e){var t=this,i=10,n=this.logDebugInformation;this.logDebugInformation=!1,this._forAllMapCollectionSources(function(){return!0},function(o){return 0!==i&&(!(null!=e&&!e(o))&&(o.load&&!o.isFulfilled()&&(t.logDebugInformation=n,t._debugLog(\"Pre-loading source \"+o.id),t.logDebugInformation=!1,o.load(),i--),!0))}),this.logDebugInformation=n},a.prototype._forAllMapCollectionSources=function(e,t){for(var i=0,n=this.mapCollectionPaths;i<n.length;i++){var o=n[i],r=\"map.\"+o,a=this._ensureLoadedOwnersFromCollectionName(r);if(!1!==e(a)){var s=a.owner;if(!s||s.isRejected&&s.isRejected())this._debugLog(\"Collection \"+r+\" owner is invalid or rejected -> skip\");else{var l=this.view.get(r);l?this._forEachSource(l,t):this._debugLog(\"Collection \"+r+\" does not exist -> skip\")}}}},a.prototype._forEachSource=function(e,t){for(var i=0,n=e.items;i<n.length;i++){var o=n[i];!1!==t(o)&&(\"layers\"in o&&o.layers&&this._forEachSource(o.layers,t))}},a.prototype._processSpatialReferenceSource=function(e){var t=this._getSupportedSpatialReferences(e);return 0!==t.length&&(this._spatialReferenceCandidates?(t=s.intersect(t,this._spatialReferenceCandidates,function(e,t){return e.equals(t)}),t.length>0?this._spatialReferenceCandidates=t:this._debugLog(\"Layer \"+e.id+\" is ignored because its supported spatial\\n references are not compatible with the previous candidates\")):this._spatialReferenceCandidates=t,1===this._spatialReferenceCandidates.length)},a.prototype._findExtent=function(e,t){var i=\"fullExtents\"in e&&e.fullExtents||(e.fullExtent?[e.fullExtent]:[]),n=s.find(i,function(e){return e.spatialReference.equals(t)});if(n)return this._set(\"extent\",n),!0;if(this._getSupportedSpatialReferences(e).length>0){var o=i.map(function(t){return{extent:t,layer:e}}),r=this._extentCandidates||[];this._extentCandidates=r.concat(o)}return!1},a.prototype._projectExtentCandidate=function(){return r(this,void 0,void 0,function(){var t,i,n,r,a,l;return o(this,function(o){switch(o.label){case 0:return this._extentCandidates&&this._extentCandidates.length?(t=this.spatialReference,(i=s.find(this._extentCandidates,function(e){return h.canProject(e.extent.spatialReference,t)}))?(this._set(\"extent\",h.project(i.extent,t)),[3,7]):[3,1]):[2];case 1:return n=this._extentCandidates[0],this._extentProjectController=d.createAbortController(),[4,new Promise(function(t,i){e([\"../../portal/support/geometryServiceUtils\"],t,i)})];case 2:r=o.sent(),o.label=3;case 3:return o.trys.push([3,5,,6]),[4,r.projectGeometry(n.extent,t,n.layer.portalItem,this._extentProjectController.signal)];case 4:return a=o.sent(),this._set(\"extent\",a),[3,6];case 5:return l=o.sent(),[3,6];case 6:this._extentProjectController=null,o.label=7;case 7:return[2]}})})},a.prototype._getSupportedSpatialReferences=function(e){var t=this,i=\"supportedSpatialReferences\"in e&&e.supportedSpatialReferences||(e.spatialReference?[e.spatialReference]:[]);if(0===i.length)return this._debugLog(\"Layer \"+e.id+\" is ignored because it does not have any spatial references\"),[];var n=i.filter(function(i){return t.view.isSpatialReferenceSupported(i,e,function(e){return t._debugLog(e)})});return 0===n.length?this._debugLog(\"Layer \"+e.id+\" has spatial references but none of them are supported (or layer doesn't require locking)\"):this._debugLog(\"Layer \"+e.id+\" has spatial references. Resulting candidate set: \"+n.map(g).join(\", \")),n},a.prototype._processHeightModelInfoSource=function(e){var t=f.deriveHeightModelInfoFromLayer(e);return!!t&&(this._set(\"heightModelInfo\",t),this._set(\"isHeightModelInfoSearching\",!1),e.spatialReference&&(this._set(\"vcsWkid\",e.spatialReference.vcsWkid),this._set(\"latestVcsWkid\",e.spatialReference.latestVcsWkid)),!0)},a.prototype._updateTileInfo=function(){if(null==this.tileInfo){if(!this.view.isTileInfoRequired())return void this._set(\"isTileInfoDone\",!0);if(this.isSpatialReferenceDone){var e=this.get(\"view.map\");if(!e)return void this._debugLog(\"updateTileInfo: no map\");var t=e.basemap,i=e.get(\"layers.0\"),n=null;if(t&&\"failed\"!==t.loadStatus){if(!t.loaded)return this._updateWhen(t.load()),void this._debugLog(\"updateTileInfo: basemap still loading\");var o=t&&t.get(\"baseLayers.0\");if(o&&\"failed\"!==o.loadStatus){if(!o.loaded)return this._updateWhen(o.load()),void this._debugLog(\"updateTileInfo: first basemap layer still loading\");n=\"tileInfo\"in o&&o.tileInfo}else{if(!i||\"failed\"===i.loadStatus)return;if(!i.loaded)return this._updateWhen(i.load()),void this._debugLog(\"updateTileInfo: first operational layer still loading\");n=\"tileInfo\"in i&&i.tileInfo}}else if(i&&\"failed\"!==i.loadStatus){if(!i.loaded)return this._updateWhen(i.load()),void this._debugLog(\"updateTileInfo: first operational layer still loading\");n=\"tileInfo\"in i&&i.tileInfo}n&&!n.spatialReference.equals(this.spatialReference)&&(n=null),this._debugLog(\"updateTileInfo: setting \"+n),this._set(\"tileInfo\",n),this._set(\"isTileInfoDone\",!0)}}},a.prototype._debugLog=function(e){this.logDebugInformation&&y.info(e)};var u;return a.DefaultMapCollectionPaths=[\"basemap.baseLayers\",\"layers\",\"ground.layers\",\"basemap.referenceLayers\"],n([c.property()],a.prototype,\"logDebugInformation\",void 0),n([c.property({readOnly:!0})],a.prototype,\"isSpatialReferenceDone\",void 0),n([c.property({readOnly:!0})],a.prototype,\"isTileInfoDone\",void 0),n([c.property({readOnly:!0})],a.prototype,\"isHeightModelInfoSearching\",void 0),n([c.property({constructOnly:!0})],a.prototype,\"view\",void 0),n([c.property({readOnly:!0})],a.prototype,\"spatialReference\",void 0),n([c.property({readOnly:!0})],a.prototype,\"extent\",void 0),n([c.property({readOnly:!0})],a.prototype,\"heightModelInfo\",void 0),n([c.property({readOnly:!0})],a.prototype,\"vcsWkid\",void 0),n([c.property({readOnly:!0})],a.prototype,\"latestVcsWkid\",void 0),n([c.property()],a.prototype,\"mapCollectionPaths\",void 0),n([c.property()],a.prototype,\"defaultSpatialReference\",void 0),n([c.property({readOnly:!0})],a.prototype,\"tileInfo\",void 0),a=u=n([c.subclass(\"esri.views.support.DefaultsFromMap\")],a)}(c.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../../core/Queue\",\"../../core/scheduling\"],function(e,t,s,r,o,n,i,c){function u(e){return e&&\"function\"==typeof e.then}Object.defineProperty(t,\"__esModule\",{value:!0});var h=function(){function e(e,t){this.item=e,this.controller=t,this.promise=null}return e}(),p=function(){function e(e){var t=this;this._deferreds=new Map,this._controllers=new Map,this._processingItems=new Map,this._isPaused=!1,this._schedule=null,this._task=null,this.concurrency=1,e.concurrency&&(this.concurrency=e.concurrency),this._queue=new i({peeker:e.peeker}),this.process=e.process;var s=e.scheduler;e.task&&o.isSome(s)&&(this._task=s.registerTask(e.task,function(e){return t.update(e)},function(){return t.needsUpdate()}))}return e.prototype.destroy=function(){this.clear(),this._schedule&&(this._schedule.remove(),this._schedule=null),this._task&&(this._task.remove(),this._task=null)},Object.defineProperty(e.prototype,\"length\",{get:function(){return this._processingItems.size+this._queue.length},enumerable:!0,configurable:!0}),e.prototype.abort=function(e){var t=this._controllers.get(e);t&&t.abort()},e.prototype.clear=function(){this._queue.clear();var e=[];this._controllers.forEach(function(t){return e.push(t)}),this._controllers.clear(),e.forEach(function(e){return e.abort()}),this._processingItems.clear(),this._cancelNext()},e.prototype.get=function(e){var t=this._deferreds.get(e);return t?t.promise:void 0},e.prototype.isOngoing=function(e){return this._processingItems.has(e)},e.prototype.has=function(e){return this._deferreds.has(e)},e.prototype.pause=function(){this._isPaused||(this._isPaused=!0,this._cancelNext())},e.prototype.push=function(e){return r(this,void 0,void 0,function(){var t,r,o,i,c,u,h=this;return s(this,function(s){return(t=this.get(e))?[2,t]:(o=n.createAbortController(),i=function(){var t=h._processingItems.get(e);t&&t.controller.abort(),c(),r.reject(n.createAbortError())},c=function(){u.remove(),h._deferreds.delete(e),h._controllers.delete(e),h._queue.remove(e),h._processingItems.delete(e),h._scheduleNext()},u=n.onAbortOrThrow(o.signal,i),r=n.createDeferred(),this._deferreds.set(e,r),this._controllers.set(e,o),r.promise.then(c,c),this._queue.push(e),this._scheduleNext(),[2,r.promise])})})},e.prototype.reset=function(){var e=[];this._processingItems.forEach(function(t){return e.push(t)}),this._processingItems.clear();for(var t=0,s=e;t<s.length;t++){var r=s[t];this._queue.push(r.item),r.controller.abort()}this._scheduleNext()},e.prototype.resume=function(){this._isPaused&&(this._isPaused=!1,this._scheduleNext())},e.prototype.needsUpdate=function(){return!this._isPaused&&this._queue.length>0&&this._processingItems.size<this.concurrency},e.prototype.update=function(e){for(;!e.done&&this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop()),e.madeProgress()},e.prototype._scheduleNext=function(){var e=this;this._task||this._isPaused||this._schedule||(this._schedule=c.schedule(function(){e._schedule=null,e._next()}))},e.prototype._next=function(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop())},e.prototype._cancelNext=function(){this._schedule&&(this._schedule.remove(),this._schedule=null)},e.prototype._processResult=function(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).resolve(t))},e.prototype._processError=function(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).reject(t))},e.prototype._canProcessFulfillment=function(e){return!!this._deferreds.get(e.item)&&this._processingItems.get(e.item)===e},e.prototype._process=function(e){var t=this;if(!o.isNone(e)){var s,r=n.createAbortController(),i=new h(e,r);this._processingItems.set(e,i);try{s=this.process(e,r.signal)}catch(e){this._processError(i,e)}u(s)?(i.promise=s,s.then(function(e){return t._processResult(i,e)},function(e){return t._processError(i,e)})):this._processResult(i,s)}},Object.defineProperty(e.prototype,\"test\",{get:function(){var e=this;return{update:function(t){return e.update(t)}}},enumerable:!0,configurable:!0}),e}();t.QueueProcessor=p});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"@dojo/framework/shim/number\",\"../../core/maybe\",\"../../core/now\",\"../../core/PooledArray\",\"../../core/watchUtils\",\"./debugFlags\"],function(e,t,r,i,n,s,u,o){function a(e){return new c.Scheduler(e)}function d(e){return e in t.taskPriorities?t.taskPriorities[e]:\"number\"==typeof e?e:1}Object.defineProperty(t,\"__esModule\",{value:!0});var _;t.newScheduler=a;var h;!function(e){e.REMOTE_CLIENT=\"remote client\",e.STREAM_DATA_LOADER=\"stream data loader\",e.TERRAIN_SURFACE=\"terrain surface\",e.SURFACE_GEOMETRY_UPDATES=\"surface geometry updates\",e.I3S_CONTROLLER=\"I3s controller\",e.POINT_CLOUD_LAYER=\"point cloud\",e.FEATURE_TILE_FETCHER=\"feature fetcher\",e.DECONFLICTOR_IMMEDIATE=\"fast deconflictor\",e.DECONFLICTOR_DELAYED=\"delayed deconflictor\",e.GRAPHICS_CORE=\"Graphics3D\",e.FILTER_VISIBILITY=\"Graphics3D filter visibility\",e.FEATURE_QUERY_ENGINE=\"feature query\",e.SCALE_VISIBILITY=\"Graphics3D scale visibility\",e.FRUSTUM_VISIBILITY=\"Graphics3D frustum visibility\",e.POINT_OF_INTEREST_FREQUENT=\"POI frequent\",e.POINT_OF_INTEREST_INFREQUENT=\"POI infrequent\",e.LABELER=\"labeler\",e.FEATURE_TILE_TREE=\"feature tile tree\",e.FEATURE_TILE_TREE_ACTIVE=\"fast feature tile tree\",e.ELEVATION_ALIGNMENT=\"elevation alignment\",e.TEXT_TEXTURE_ATLAS=\"text texture atlas\",e.OVERLAY_MANAGER=\"overlay manager\",e.INTERACTIVE_TOOL=\"interactive tool\",e[e.TEST_PRIO=1]=\"TEST_PRIO\"}(h=t.Task||(t.Task={})),t.taskPriorities=(_={},_[h.REMOTE_CLIENT]=1,_[h.STREAM_DATA_LOADER]=1,_[h.TERRAIN_SURFACE]=1,_[h.SURFACE_GEOMETRY_UPDATES]=1,_[h.I3S_CONTROLLER]=2,_[h.POINT_CLOUD_LAYER]=2,_[h.FEATURE_TILE_FETCHER]=2,_[h.DECONFLICTOR_IMMEDIATE]=2,_[h.DECONFLICTOR_DELAYED]=12,_[h.GRAPHICS_CORE]=3,_[h.FILTER_VISIBILITY]=4,_[h.FEATURE_QUERY_ENGINE]=4,_[h.SCALE_VISIBILITY]=6,_[h.FRUSTUM_VISIBILITY]=6,_[h.POINT_OF_INTEREST_FREQUENT]=6,_[h.POINT_OF_INTEREST_INFREQUENT]=30,_[h.LABELER]=8,_[h.FEATURE_TILE_TREE]=12,_[h.FEATURE_TILE_TREE_ACTIVE]=1,_[h.ELEVATION_ALIGNMENT]=12,_[h.TEXT_TEXTURE_ATLAS]=12,_[h.OVERLAY_MANAGER]=12,_[h.INTERACTIVE_TOOL]=16,_),t.getTaskPriority=d;var c,E=1,l=100;!function(e){var t=function(){function t(t){var r=this;this._now=t,this._budget=null,this._state=1,this._tasks=new s,this._runQueue=new s,this._load=0,this._idleStateCallbacks=new s,this._idleUpdatesStartFired=!1,this._maxReschedule=p,this._forceTask=!1,this._safetyBudget=0,this._debug=!1,this._debugHandle=u.init(o,\"SCHEDULER_LOG_SLOW_TASKS\",function(e){return r._debug=e}),this._budget=new e.Budget(t);var i=this;this._test={state:void 0,FRAME_SAFETY_BUDGET:E,idleBudget:l,get budget(){return i._budget.budget},usedBudget:0,startTime:0,updateTask:function(e){return r._updateTask(e)},getState:function(e){return r._getState(e)},getRuntime:function(e){return r._getRuntime(e)}}}return t.prototype.destroy=function(){this._debugHandle&&this._debugHandle.remove()},t.prototype.registerTask=function(e,t,i){var n=this,s=d(e),u=new r(e,t,i,s);return this._tasks.push(u),{remove:function(){return n._removeTask(u)},set task(e){u.setPriority(e)}}},t.prototype.registerIdleStateCallbacks=function(e,t){var r=this,i={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(i),2===this.state&&this._idleUpdatesStartFired&&i.idleBegin();var n=this;return{remove:function(){return r._removeIdleStateCallbacks(i)},set idleBegin(e){n._idleUpdatesStartFired&&(i.idleEnd(),2===n._state&&e()),i.idleBegin=e},set idleEnd(e){i.idleEnd=e}}},Object.defineProperty(t.prototype,\"now\",{get:function(){return this._now()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"load\",{get:function(){return this._load},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return i.isNone(this._test.state)?this._state:this._test.state},set:function(e){this._state!==e&&(this._state=e,2!==this.state&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forEach(function(e){return e.idleEnd()})))},enumerable:!0,configurable:!0}),t.prototype.updateBudget=function(e){var t=2===this.state,r=e.frameDuration;switch(this.state){case 2:r=l;break;case 1:r=Math.max(33,e.frameDuration);break;case 0:r=e.frameDuration}return this._safetyBudget=t?0:E,r-=e.elapsedFrameTime+this._safetyBudget,this._test.usedBudget=0,this._test.startTime=e.elapsedFrameTime,!t&&r<0&&!this._forceTask?(this._forceTask=!0,!1):(r=Math.max(r,5),this._budget.reset(r,t),this._maxReschedule=p,this._updateLoad(),this._schedule())},t.prototype.frame=function(){switch(this._forceTask=!1,this.state){case 2:this._idleUpdatesStartFired||(this._idleUpdatesStartFired=!0,this._idleStateCallbacks.forEach(function(e){return e.idleBegin()})),this._runIdle();break;case 1:this._runMoving();break;default:this._runAnimating()}this._test.usedBudget=this._budget.elapsed},t.prototype._removeIdleStateCallbacks=function(e){this._idleUpdatesStartFired&&e.idleEnd(),this._idleStateCallbacks.removeUnordered(e)},t.prototype._removeTask=function(e){this._tasks.removeUnordered(e),this._runQueue.removeUnordered(e)},t.prototype._updateTask=function(e){this._tasks.forEach(function(t){t.name===e&&t.setPriority(e)})},t.prototype._getState=function(e){if(this._runQueue.some(function(t){return t.name===e}))return f.SCHEDULED;var t=f.IDLE;return this._tasks.forEach(function(r){r.name===e&&r.needsUpdate()&&(r.schedule<=1?t=f.READY:t!==f.READY&&(t=f.WAITING))}),t},t.prototype._getRuntime=function(e){var t=0;return this._tasks.forEach(function(r){r.name===e&&(t+=r.runtime)}),t},t.prototype._runIdle=function(){this._run()},t.prototype._runMoving=function(){this._run()},t.prototype._runAnimating=function(){this._run()},t.prototype._updateLoad=function(){var e=0;this._tasks.forEach(function(t){return t.needsUpdate()?++e:e}),this._load=.9*this._load+e*(1-.9)},t.prototype._schedule=function(){var e=this;if(this._maxReschedule<=0)return!1;this._runQueue.filterInPlace(function(e){return!!e.needsUpdate()||(e.schedule=e.priority,!1)});for(var t=this;0===this._runQueue.length;){var r=function(){var r=!1,i=0;if(t._tasks.forEach(function(t){if(t.needsUpdate())switch(r=!0,i=Math.max(i,t.priority),t.schedule){case 0:break;case 1:t.schedule=0,e._runQueue.push(t);break;default:--t.schedule}}),!r)return{value:!1};t._maxReschedule===p&&(t._maxReschedule=i),--t._maxReschedule}();if(\"object\"==typeof r)return r.value}return!0},t.prototype._run=function(){do{for(;this._runQueue.length>0;){var e=this._runQueue.pop();this._budget.resetProgress();var t=this._budget.now();if(e.update(this._budget),e.schedule=e.priority,e.runtime+=this._budget.now()-t,this._debug&&this._budget.elapsed>2*this._budget.budget&&console.log(\"Task\",e.name,\"used\",this._budget.elapsed,\"of max\",this._budget.budget,\"ms\"),this._budget.remaining<=0)return}}while(this._schedule())},Object.defineProperty(t.prototype,\"test\",{get:function(){return this._test},enumerable:!0,configurable:!0}),t}();e.Scheduler=t;var r=function(){function e(e,t,r,i){this.name=e,this.update=t,this.needsUpdate=r,this._priority=i,this.runtime=0,this.schedule=this._priority}return Object.defineProperty(e.prototype,\"priority\",{get:function(){return this._priority},enumerable:!0,configurable:!0}),e.prototype.setPriority=function(e){var t=d(e);this.name=e,this._priority=t,0!==this.schedule&&(this.schedule=t)},e}(),n=function(){function e(e){this.now=e,this._begin=0,this._budget=0,this._idle=!1,this._didWork=!1,this._enabled=!0}return e.prototype.run=function(e){return!this.done&&(!0===e()&&(this._didWork=!0),!0)},Object.defineProperty(e.prototype,\"done\",{get:function(){return this._didWork&&this.elapsed>=this._budget&&this._enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"budget\",{get:function(){return this._budget},enumerable:!0,configurable:!0}),e.prototype.madeProgress=function(){this._didWork=!0},Object.defineProperty(e.prototype,\"idleFrame\",{get:function(){return this._idle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"enabled\",{get:function(){return this._enabled},set:function(e){this._enabled=e},enumerable:!0,configurable:!0}),e.prototype.reset=function(e,t){this._begin=this.now(),this._budget=e,this._idle=t,this._didWork=!1},Object.defineProperty(e.prototype,\"remaining\",{get:function(){return Math.max(this._budget-this.elapsed,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"elapsed\",{get:function(){return this.now()-this._begin},enumerable:!0,configurable:!0}),e.prototype.resetProgress=function(){this._didWork=!1},Object.defineProperty(e.prototype,\"hasProgressed\",{get:function(){return this._didWork},enumerable:!0,configurable:!0}),e}();e.Budget=n}(c||(c={}));var f;!function(e){e.SCHEDULED=\"s\",e.READY=\"r\",e.WAITING=\"w\",e.IDLE=\"i\"}(f=t.TaskState||(t.TaskState={})),t.noBudget=function(){var e=new c.Budget(n);return e.enabled=!1,e}();var p=r.MAX_SAFE_INTEGER});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/Accessor\",\"../../core/Handles\",\"../../core/scheduling\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/wire\"],function(e,t,n,a,r,d,i,o,s,c){Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.updating=!1,t.handleId=0,t.handles=new d,t.scheduleHandleId=0,t.pendingPromises=new Set,t}return a(t,e),t.prototype.destroy=function(){this.removeAll(),this.handles.destroy()},t.prototype.add=function(e,t,n,a){var r=this;void 0===a&&(a=0);var d=0!=(1&a),i=++this.handleId;d||this.installSyncUpdatingWatch(e,t,i);var s=0!=(2&a),c=s?o.init(e,t,n,d):e.watch(t,n,d);return this.handles.add(c,i),{remove:function(){r.handles.remove(i)}}},t.prototype.addOnCollectionPropertyChange=function(e,t,n,a){var r=this;void 0===a&&(a=0);var d=0!=(2&a),i=++this.handleId;return this.handles.add([o.on(e,t,\"after-changes\",this.createSyncUpdatingCallback()),o.on(e,t,\"change\",n,d?function(e){n({added:e.items,removed:[],moved:[],target:e})}:null)],i),{remove:function(){r.handles.remove(i)}}},t.prototype.addOnCollectionChange=function(e,t,n){var a=this;void 0===n&&(n=0);var r=0!=(2&n),d=++this.handleId;return this.handles.add([e.on(\"after-changes\",this.createSyncUpdatingCallback()),e.on(\"change\",t)],d),r&&t({added:e.items,removed:[],moved:[],target:e}),{remove:function(){a.handles.remove(d)}}},t.prototype.addPromise=function(e){var t=this;if(!e)return e;var n=++this.handleId;this.handles.add({remove:function(){t.pendingPromises.delete(e)&&(0!==t.pendingPromises.size||t.handles.has(h)||t._set(\"updating\",!1))}},n),this.pendingPromises.add(e),this._set(\"updating\",!0);var a=function(){return t.handles.remove(n)};return e.then(a,a),e},t.prototype.removeAll=function(){this.pendingPromises.clear(),this.handles.removeAll(),this._set(\"updating\",!1)},t.prototype.installSyncUpdatingWatch=function(e,t,n){var a=c.default(e,t,this.createSyncUpdatingCallback());return this.handles.add(a,n),a},t.prototype.createSyncUpdatingCallback=function(){var e=this;return function(){e.handles.remove(h),++e.scheduleHandleId;var t=e.scheduleHandleId;e._get(\"updating\")||e._set(\"updating\",!0),e.handles.add(i.schedule(function(){t===e.scheduleHandleId&&(e._set(\"updating\",e.pendingPromises.size>0),e.handles.remove(h))}),h)}},n([s.property({readOnly:!0})],t.prototype,\"updating\",void 0),t=n([s.subclass(\"esri.views.support.WatchUpdatingTracking\")],t)}(s.declared(r));t.WatchUpdatingTracking=l;var h=-42});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/Error\",\"../../core/has\"],function(e,r,t,s,i){function n(e){return e=t({},o,e),i(\"esri-webgl\")?!e.supportsMajorWebPerformanceCaveat&&i(\"esri-webgl-major-performance-caveat\")?new s(\"webgl:major-performance-caveat-detected\",\"Your WebGL implementation doesn't seem to support hardware accelerated rendering. Check your browser settings or if your GPU is blacklisted.\"):i(\"esri-webgl-high-precision-fragment\")?i(\"esri-webgl-vertex-shader-samplers\")?i(\"esri-webgl-element-index-uint\")?i(\"esri-webgl-standard-derivatives\")?i(\"esri-webgl-instanced-arrays\")?null:new s(\"webgl:instanced-arrays-required\",\"WebGL support for instanced rendering is required but not supported.\"):new s(\"webgl:standard-derivatives-required\",\"WebGL support for standard derivatives is required but not supported.\"):new s(\"webgl:element-index-uint-required\",\"WebGL support for uint vertex indices is required but not supported.\"):new s(\"webgl:vertex-shader-samplers-required\",\"WebGL support for vertex shader samplers is required but not supported.\"):new s(\"webgl:high-precision-fragment-required\",\"WebGL support for high precision fragment shaders is required but not supported.\"):new s(\"webgl:required\",\"WebGL is required but not supported.\")}Object.defineProperty(r,\"__esModule\",{value:!0});var o={supportsMajorWebPerformanceCaveat:!1};r.check=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,s,p){return new(function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.SCHEDULER_LOG_SLOW_TASKS=!1,r}return t(r,e),o([p.property()],r.prototype,\"SCHEDULER_LOG_SLOW_TASKS\",void 0),r=o([p.subclass(\"esri.views.support.DebugFlags\")],r)}(p.declared(s)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/maybe\"],function(e,n,t){function i(e){return e&&\"function\"==typeof e.highlight}function a(e,n,i){return t.isNone(e)||e>i&&(0===n||e<n)}function c(e){var n=e.minScale,t=e.maxScale;return n=n||0,t=t||0,{minScale:n,maxScale:t}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.hasHighlight=i,n.scaleBoundsPredicate=a,n.extractSafeScaleBounds=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/compilerUtils\",\"../../core/mathUtils\"],function(t,e,i,a,h){function r(t,e){var i=t||{},a=i.format,r=i.quality,o=i.rotation,n=i.disableSlice,l=v(t,e.padding),g={width:e.width-l.left-l.right,height:e.height-l.top-l.bottom},d=s(t,g),u=m(t,d),f=u.width,w=u.height,c=y(a),M=U[c];return{format:c,quality:h.clamp(null!=r?r:M,0,100),area:d,width:f,height:w,rotation:o,disableSlice:!!n,ignoreBackground:!(!t||!t.ignoreBackground),ignorePadding:!(!t||!t.ignorePadding)}}function o(t,e){var i=r(t,e),a=i.area,h=i.width/a.width,o=v(i,e.padding),n=o.left+o.right,l=o.top+o.bottom,g=e.width-n,d=e.height-l,u=Math.floor(g*h+n),f=Math.floor(d*h+l),w=t&&t.layers?t.layers:[],c=i.ignoreBackground,m=i.ignorePadding;return{framebufferWidth:u,framebufferHeight:f,region:{x:Math.floor(a.x*h)+o.left,y:Math.floor(a.y*h)+o.top,width:i.width,height:i.height},format:i.format,quality:i.quality,rotation:i.rotation,pixelRatio:h,layers:w,disableSlice:i.disableSlice,ignoreBackground:c,ignorePadding:m}}function n(t,e,i,a){a.premultipliedAlpha&&b(t),i.width=t.width,i.height=t.height;var h=i.getContext(\"2d\");h.putImageData(t,0,0),a.flipY&&x(h);var r=h.getImageData(0,0,t.width,t.height),o=l(i,e);return i.width=0,i.height=0,{dataUrl:o,data:r}}function l(t,e){var i=R[e.format],a=e.quality/100;return t.toDataURL(i,a)}function g(t,e,i){if(!t||!e)throw new Error(\"Cannot construct image data without dimensions\");if(q)try{return new ImageData(t,e)}catch(t){q=!1}return w(t,e,i)}function d(t,e,i,a){if(!e||!i)throw new Error(\"Cannot construct image data without dimensions\");if(q)try{return new ImageData(t,e,i)}catch(t){q=!1}var h=w(e,i,a);return h.data.set(t,0),h}function u(t,e,i,a,h,r,o,n){void 0===a&&(a=0),void 0===h&&(h=0),void 0===r&&(r=t.width-a),void 0===o&&(o=t.height-h),void 0===n&&(n=!1);for(var l=t.data,g=e.width,d=e.height,u=e.data,f=r/g,w=o/d,c=Math.ceil(f/2),m=Math.ceil(w/2),s=t.width,M=0;M<d;M++)for(var p=0;p<g;p++){for(var v=4*(p+(n?d-M-1:M)*g),y=0,x=0,b=0,j=0,S=0,D=0,I=(M+.5)*w,q=Math.floor(M*w);q<(M+1)*w;q++)for(var R=Math.abs(I-(q+.5))/m,P=(p+.5)*f,U=R*R,C=Math.floor(p*f);C<(p+1)*f;C++){var H=Math.abs(P-(C+.5))/c,k=Math.sqrt(U+H*H);if(!(k>=1)){var B=2*k*k*k-3*k*k+1,E=4*(a+C+(h+q)*s);D+=B*l[E+3],x+=B,!i&&l[E+3]<255&&(B=B*l[E+3]/255),b+=B*l[E],j+=B*l[E+1],S+=B*l[E+2],y+=B}}u[v]=b/y,u[v+1]=j/y,u[v+2]=S/y,u[v+3]=D/x}return e}function f(t,e,a){if(!e)return t;var h=t.framebufferWidth,r=t.framebufferHeight,o=t.pixelRatio,n=t.region,l=v(t,a),g=l.left+l.right,d=l.top+l.bottom,u=h-g,f=r-d,w=Math.min(D,Math.min((j-g)/u,(j-d)/f));return w<S?t:i({},t,{framebufferWidth:Math.round(u*w)+g,framebufferHeight:Math.round(f*w)+d,pixelRatio:o*w,resample:{region:{x:Math.round((n.x-l.left)*w)+l.left,y:Math.round((n.y-l.top)*w)+l.top,width:Math.round(n.width*w),height:Math.round(n.height*w)},width:h,height:r}})}function w(t,e,i){return i||(i=c()),i.getContext(\"2d\").createImageData(t,e)}function c(){return I||(I=document.createElement(\"canvas\"),I.width=1,I.height=1),I}function m(t,e){if(!t)return e;var i=t.width,a=t.height;if(null!=i&&null!=a)return{width:Math.floor(i),height:Math.floor(a)};if(null==i&&null==a)return e;var h=e.width/e.height;return null==a?{width:Math.floor(i),height:Math.floor(i/h)}:{width:Math.floor(a*h),height:Math.floor(a)}}function s(t,e){var i={x:0,y:0,width:e.width,height:e.height};if(t&&t.area){null!=t.area.x&&(i.x=Math.floor(t.area.x)),null!=t.area.y&&(i.y=Math.floor(t.area.y));var a=null!=t.area.width?Math.floor(t.area.width):null,h=null!=t.area.height?Math.floor(t.area.height):null;if(i.width=e.width-i.x,i.height=e.height-i.y,null!=a&&null!=h)i.width=Math.min(i.width,a),i.height=Math.min(i.height,h);else if(null==a&&null!=h){var r=Math.min(i.width,a);i.height=r/i.width*i.height,i.width=r}else if(null!=a&&null==h){var o=Math.min(i.height,h);i.width=o/i.height*i.width,i.height=o}}return M(p(i,t),e)}function M(t,e){var i=Math.floor(Math.max(t.x,0)),a=Math.floor(Math.max(t.y,0)),h=Math.floor(Math.min(t.width,e.width-i)),r=Math.floor(Math.min(t.height,e.height-a)),o={x:i,y:a,width:h,height:r},n=o.width/o.height,l=t.width/t.height;if(l===n)return o;if(l>n){var g=Math.floor(o.width/l),d=o.height-g;return{x:o.x,y:Math.floor(o.y+d/2),width:o.width,height:g}}var u=Math.floor(o.height*l),f=o.width-u;return{x:Math.floor(o.x+f/2),y:o.y,width:u,height:o.height}}function p(t,e){if(!e||null==e.width||null==e.height)return t;var i=e.width/e.height,a=t.width/t.height;if(a===i)return t;if(a<i){var h=Math.floor(t.height*i);return t.x-=(h-t.width)/2,t.width=h,t}var r=Math.floor(t.width/i);return t.y-=(r-t.height)/2,t.height=r,t}function v(t,e){return!e||t&&t.ignorePadding?C:e}function y(t){switch(t){case\"png\":case\"jpg\":case\"jpeg\":return t;case null:case void 0:return P;default:return a.neverReached(t),P}}function x(t){t.save(),t.globalCompositeOperation=\"copy\",t.scale(1,-1),t.translate(0,-t.canvas.height),t.drawImage(t.canvas,0,0),t.restore()}function b(t){for(var e=t.data,i=e.length,a=0;a<i;a+=4){var h=e[a+3];if(h>0){var r=h/255;e[a+0]=e[a+0]/r,e[a+1]=e[a+1]/r,e[a+2]=e[a+2]/r}}}Object.defineProperty(e,\"__esModule\",{value:!0});var j=2048,S=1.5,D=8;e.completeUserSettings=r,e.toRenderSettings=o,e.encodeResult=n,e.toDataUrl=l,e.createEmptyImageData=g,e.wrapImageData=d,e.resampleHermite=u,e.screenshotSuperSampleSettings=f;var I=null,q=!0,R={png:\"image/png\",jpg:\"image/jpeg\",jpeg:\"image/jpeg\"},P=\"jpg\",U={png:100,jpg:98,jpeg:98},C={top:0,right:0,bottom:0,left:0}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/accessorSupport/decorators\",\"../DefaultUI\"],function(e,r,t,o,c,n){return function(e){function r(r){var t=e.call(this,r)||this;return t.components=[\"attribution\",\"zoom\"],t}return t(r,e),o([c.property()],r.prototype,\"components\",void 0),r=o([c.subclass(\"esri.views.ui.2d.DefaultUI2D\")],r)}(c.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/domUtils\",\"../../core/accessorSupport/decorators\"],function(e,t,o,r,n,i,d){function s(e){return e&&\"nodeType\"in e}function p(e){return e&&\"function\"==typeof e.render}var c={component:\"esri-component\"};return function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.widget=null,t}return o(t,e),t.prototype.destroy=function(){this.widget&&this.widget.destroy(),this.node=null},Object.defineProperty(t.prototype,\"id\",{get:function(){return this.get(\"widget.id\")||this.get(\"node.id\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"node\",{set:function(e){var t=this._get(\"node\");e!==t&&(e&&e.classList.add(c.component),t&&t.classList.remove(c.component),this._set(\"node\",e))},enumerable:!0,configurable:!0}),t.prototype.castNode=function(e){return e?\"string\"==typeof e||s(e)?(this._set(\"widget\",null),i.byId(e)):(p(e)&&!e.domNode&&(e.domNode=document.createElement(\"div\")),this._set(\"widget\",e),e.domNode):(this._set(\"widget\",null),null)},r([d.property()],t.prototype,\"id\",null),r([d.property()],t.prototype,\"node\",null),r([d.cast(\"node\")],t.prototype,\"castNode\",null),r([d.property({readOnly:!0})],t.prototype,\"widget\",void 0),t=r([d.subclass(\"esri.views.ui.Component\")],t)}(d.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * An array of strings representing the default\n * widgets visible when a {@link module:esri/views/MapView} or\n * {@link module:esri/views/SceneView} is created. The default widgets differ between MapView\n * and SceneView.\n *\n * The following are the default components in each view:\n *\n * **MapView:** `[\"attribution\", \"zoom\"]`\n *\n * **SceneView:** `[\"attribution\", \"navigation-toggle\", \"compass\", \"zoom\"]`\n *\n * ::: esri-md class=\"panel trailer-1\"\n * Esri requires that when you use an ArcGIS Online basemap in your app, the map must include Esri attribution and you must be licensed to use the content.\n * For detailed guidelines on working with attribution, please visit the official [attribution in your app](https://developers.arcgis.com/terms/attribution/) documentation.\n * For information on terms of use, see the [Terms of Use FAQ](https://developers.arcgis.com/terms/faq/).\n * :::\n *\n * @name components\n * @instance\n *\n * @type {string[]}\n *\n * @example\n * // Removes all default UI components, except Attribution.\n * // Passing an empty array will remove all components.\n * view.ui.components = [ \"attribution\" ];\n */\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"./Component\",\"./UI\",\"../../widgets/Attribution\",\"../../widgets/Compass\",\"../../widgets/NavigationToggle\",\"../../widgets/Zoom\"],function(t,e,o,i,n,r,a,s,p,d,c,u){function h(t){return t&&void 0!==t.view}return function(t){function e(e){var o=t.call(this,e)||this;return o._defaultPositionLookup={attribution:\"manual\",compass:\"top-leading\",\"navigation-toggle\":\"top-leading\",zoom:\"top-leading\"},o.components=[],o}return o(e,t),e.prototype.initialize=function(){this._handles.add([n.init(this,\"components\",this._componentsWatcher.bind(this)),n.init(this,\"view\",this._updateViewAwareWidgets.bind(this))])},e.prototype._removeComponents=function(t){var e=this;t.forEach(function(t){var o=e._find(t);o&&(e.remove(o),o.destroy())})},e.prototype._updateViewAwareWidgets=function(t){var e=this;this.components.forEach(function(o){var i=e._find(o),n=i&&i.widget;h(n)&&(n.view=t)})},e.prototype._componentsWatcher=function(t,e){this._removeComponents(e),this._addComponents(t),this._adjustPadding(t)},e.prototype._adjustPadding=function(t){if(-1===t.indexOf(\"attribution\")&&!this._isOverridden(\"padding\")){var e=this.padding.top;this.padding=e}},e.prototype._addComponents=function(t){var e=this;this.initialized&&t.forEach(function(t){return e.add(e._createComponent(t),e._defaultPositionLookup[t])})},e.prototype._createComponent=function(t){var e=this._createWidget(t);if(e)return new a({id:t,node:e})},e.prototype._createWidget=function(t){return\"attribution\"===t?this._createAttribution():\"compass\"===t?this._createCompass():\"navigation-toggle\"===t?this._createNavigationToggle():\"zoom\"===t?this._createZoom():void 0},e.prototype._createAttribution=function(){return new p({view:this.view})},e.prototype._createCompass=function(){return new d({view:this.view})},e.prototype._createNavigationToggle=function(){return new c({view:this.view})},e.prototype._createZoom=function(){return new u({view:this.view})},i([r.property()],e.prototype,\"components\",void 0),e=i([r.subclass(\"esri.views.ui.DefaultUI\")],e)}(r.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/domUtils\",\"../../core/Evented\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"./Component\",\"../../widgets/support/widgetUtils\"],function(t,e,n,o,i,r,a,s,p,d,c,u){function l(t){return t&&!t._started&&\"function\"==typeof t.postMixInProperties&&\"function\"==typeof t.buildRendering&&\"function\"==typeof t.postCreate&&\"function\"==typeof t.startup}function h(t){var e=t;return\"object\"!=typeof e||e instanceof c||\"declaredClass\"in e||!(\"component\"in e||\"index\"in e||\"position\"in e)?null:t}function f(t,e){var n=e.top,o=e.bottom,i=e.left,r=e.right;t.style.top=n,t.style.bottom=o,t.style.left=i,t.style.right=r}var m={left:0,top:0,bottom:0,right:0},y={bottom:30,top:15,right:15,left:15},g={ui:\"esri-ui\",corner:\"esri-ui-corner\",innerContainer:\"esri-ui-inner-container\",manualContainer:\"esri-ui-manual-container\",cornerContainer:\"esri-ui-corner-container\",topLeft:\"esri-ui-top-left\",topRight:\"esri-ui-top-right\",bottomLeft:\"esri-ui-bottom-left\",bottomRight:\"esri-ui-bottom-right\"};return function(t){function e(e){var n=t.call(this,e)||this;return n._cornerNameToContainerLookup={},n._positionNameToContainerLookup={},n._components=new Array,n._componentToKey=new Map,n._handles=new s,n.view=null,n._initContainers(),n}return o(e,t),e.prototype.initialize=function(){this._handles.add([p.init(this,\"view.padding, container\",this._applyViewPadding.bind(this)),p.init(this,\"padding\",this._applyUIPadding.bind(this))])},e.prototype.destroy=function(){this.container=null;for(var t=0,e=this._components;t<e.length;t++){e[t].destroy()}this._components.length=0,this._handles.destroy(),this._componentToKey.clear()},Object.defineProperty(e.prototype,\"container\",{set:function(t){var e=this._get(\"container\");t!==e&&(t&&(t.classList.add(g.ui),this._attachContainers(t)),e&&(e.classList.remove(g.ui),f(e,{top:\"\",bottom:\"\",left:\"\",right:\"\"}),r.empty(e)),this._set(\"container\",t))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){var t=this.get(\"view.height\")||0;if(0===t)return t;var e=this._getViewPadding(),n=e.top+e.bottom;return Math.max(t-n,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"padding\",{get:function(){return this._get(\"padding\")},set:function(t){if(!t)return void this._clearOverride(\"padding\");this._override(\"padding\",t)},enumerable:!0,configurable:!0}),e.prototype.castPadding=function(t){return\"number\"==typeof t?{bottom:t,top:t,right:t,left:t}:n({},y,t)},Object.defineProperty(e.prototype,\"width\",{get:function(){var t=this.get(\"view.width\")||0;if(0===t)return t;var e=this._getViewPadding(),n=e.left+e.right;return Math.max(t-n,0)},enumerable:!0,configurable:!0}),e.prototype.add=function(t,e){var n,o,i=this;if(Array.isArray(t))return void t.forEach(function(t){return i.add(t,e)});var r=h(t);r&&(n=r.index,e=r.position,t=r.component,o=r.key),e&&\"object\"==typeof e&&(n=e.index,o=e.key,e=e.position),!t||e&&!this._isValidPosition(e)||(t instanceof c||(t=new c({node:t})),this._place({component:t,position:e,index:n}),this._components.push(t),o&&this._componentToKey.set(t,o))},e.prototype.remove=function(t,e){var n=this;if(t){if(Array.isArray(t))return t.map(function(t){return n.remove(t,e)});var o=this._find(t);if(o){var i=this._componentToKey;if(i.has(t)&&i.get(t)!==e)return;var r=this._components.indexOf(o);return o.node.parentNode&&o.node.parentNode.removeChild(o.node),this._componentToKey.delete(t),this._components.splice(r,1)[0]}}},e.prototype.empty=function(t){var e=this;if(Array.isArray(t))return t.map(function(t){return e.empty(t)}).reduce(function(t,e){return t.concat(e)});if(\"manual\"===(t=t||\"manual\")){return Array.prototype.slice.call(this._manualContainer.children).filter(function(t){return!t.classList.contains(g.corner)}).map(function(t){return e.remove(t)})}return this._isValidPosition(t)?Array.prototype.slice.call(this._cornerNameToContainerLookup[t].children).map(this.remove,this):null},e.prototype.move=function(t,e){var n=this;if(Array.isArray(t)&&t.forEach(function(t){return n.move(t,e)}),t){var o,i=h(t)||h(e);if(i&&(o=i.index,e=i.position,t=i.component||t),!e||this._isValidPosition(e)){var r=this.remove(t);r&&this.add(r,{position:e,index:o})}}},e.prototype.find=function(t){if(!t)return null;var e=this._findById(t);return e&&(e.widget||e.node)},e.prototype._find=function(t){return t?t instanceof c?this._findByComponent(t):\"string\"==typeof t?this._findById(t):this._findByNode(t.domNode||t):null},e.prototype._getViewPadding=function(){return this.get(\"view.padding\")||m},e.prototype._attachContainers=function(t){t.appendChild(this._innerContainer),t.appendChild(this._manualContainer)},e.prototype._initContainers=function(){var t=document.createElement(\"div\");t.classList.add(g.innerContainer),t.classList.add(g.cornerContainer);var e=document.createElement(\"div\");e.classList.add(g.innerContainer),e.classList.add(g.manualContainer);var o=document.createElement(\"div\");o.classList.add(g.topLeft),o.classList.add(g.corner),t.appendChild(o);var i=document.createElement(\"div\");i.classList.add(g.topRight),i.classList.add(g.corner),t.appendChild(i);var r=document.createElement(\"div\");r.classList.add(g.bottomLeft),r.classList.add(g.corner),t.appendChild(r);var a=document.createElement(\"div\");a.classList.add(g.bottomRight),a.classList.add(g.corner),t.appendChild(a),this._innerContainer=t,this._manualContainer=e;var s=u.isRTL();this._cornerNameToContainerLookup={\"top-left\":o,\"top-right\":i,\"bottom-left\":r,\"bottom-right\":a,\"top-leading\":s?i:o,\"top-trailing\":s?o:i,\"bottom-leading\":s?a:r,\"bottom-trailing\":s?r:a},this._positionNameToContainerLookup=n({manual:e},this._cornerNameToContainerLookup)},e.prototype._isValidPosition=function(t){return!!this._positionNameToContainerLookup[t]},e.prototype._place=function(t){var e,n=t.component,o=t.position||\"manual\",i=t.index,a=this._positionNameToContainerLookup[o],s=i>-1;return l(n.widget)&&n.widget.startup(),s?(e=Array.prototype.slice.call(a.children),0===i?void(a.firstChild?r.insertBefore(n.node,a.firstChild):a.appendChild(n.node)):i>=e.length?void a.appendChild(n.node):void r.insertBefore(n.node,e[i])):void a.appendChild(n.node)},e.prototype._applyViewPadding=function(){var t=this.container;t&&f(t,this._toPxPosition(this._getViewPadding()))},e.prototype._applyUIPadding=function(){var t=this._innerContainer;t&&f(t,this._toPxPosition(this.padding))},e.prototype._toPxPosition=function(t){return{top:this._toPxUnit(t.top),left:this._toPxUnit(t.left),right:this._toPxUnit(t.right),bottom:this._toPxUnit(t.bottom)}},e.prototype._toPxUnit=function(t){return 0===t?\"0\":t+\"px\"},e.prototype._findByComponent=function(t){var e,n=null;return this._components.some(function(o){return e=o===t,e&&(n=o),e}),n},e.prototype._findById=function(t){var e,n=null;return this._components.some(function(o){return e=o.id===t,e&&(n=o),e}),n},e.prototype._findByNode=function(t){var e,n=null;return this._components.some(function(o){return e=o.node===t,e&&(n=o),e}),n},i([d.property()],e.prototype,\"container\",null),i([d.property({dependsOn:[\"view.height\"]})],e.prototype,\"height\",null),i([d.property({value:y})],e.prototype,\"padding\",null),i([d.cast(\"padding\")],e.prototype,\"castPadding\",null),i([d.property()],e.prototype,\"view\",void 0),i([d.property({dependsOn:[\"view.width\"]})],e.prototype,\"width\",null),e=i([d.subclass(\"esri.views.ui.UI\")],e)}(d.declared(a.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./webgl/BufferObject\",\"./webgl/enums\",\"./webgl/FramebufferObject\",\"./webgl/Program\",\"./webgl/Renderbuffer\",\"./webgl/RenderingContext\",\"./webgl/ShaderCompiler\",\"./webgl/Texture\",\"./webgl/VertexArrayObject\",\"./webgl/ProgramCache\",\"./webgl/programUtils\",\"./webgl/context-util\"],function(e,r,t,a,g,b,l,o,f,n,c,u,i,m){Object.defineProperty(r,\"__esModule\",{value:!0}),r.BufferObject=t,r.enums=a,r.FramebufferObject=g,r.Program=b,r.Renderbuffer=l,r.RenderingContext=o,r.ShaderCompiler=f,r.Texture=n,r.VertexArrayObject=c,r.ProgramCache=u.ProgramCache,r.createProgram=i.createProgram,r.glslifyDefineMap=i.glslifyDefineMap,r.createContextOrErrorHTML=m.createContextOrErrorHTML});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"../../core/typedArrayUtil\"],function(e,t,i,n){return function(){function e(t,n,r,o,s){this._context=null,this._glName=null,this._bufferType=void 0,this._usage=35044,this._size=-1,this._indexType=void 0,this._context=t,this._bufferType=n,this._usage=r,this._id=e._nextId++,this._glName=this._context.gl.createBuffer(),i(\"esri-webgl-debug\")&&t.instanceCounter.incrementCount(1),o&&this.setData(o,s)}return e.createIndex=function(t,i,n,r){return new e(t,34963,i,n,r)},e.createVertex=function(t,i,n){return new e(t,34962,i,n)},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"usage\",{get:function(){return this._usage},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"bufferType\",{get:function(){return this._bufferType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"indexType\",{get:function(){return this._indexType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"byteSize\",{get:function(){return 34962===this._bufferType?this._size:5125===this._indexType?4*this._size:2*this._size},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){if(this._context){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}i(\"esri-webgl-debug\")&&this._context.instanceCounter.decrementCount(1),this._context=null}},e.prototype.setData=function(e,t){if(e){if(\"number\"==typeof e){if(e<0&&console.error(\"Buffer size cannot be negative!\"),34963===this._bufferType&&t)switch(this._indexType=t,this._size=e,t){case 5123:e*=2;break;case 5125:e*=4}}else{var i=e.byteLength;n.isUint16Array(e)&&(i/=2,this._indexType=5123),n.isUint32Array(e)&&(i/=4,this._indexType=5125),this._size=i}var r=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);this._context.gl.bufferData(this._bufferType,e,this._usage),this._context.bindVAO(r)}},e.prototype.setSubData=function(e,t,i,r){if(void 0===t&&(t=0),void 0===i&&(i=0),e){(t<0||t>=this._size)&&console.error(\"offset is out of range!\");var o=t,s=i,u=r,f=e.byteLength;n.isUint16Array(e)&&(f/=2,o*=2,s*=2,u*=2),n.isUint32Array(e)&&(f/=4,o*=4,s*=4,u*=4),void 0===r&&(r=f-1),i>=r&&console.error(\"end must be bigger than start!\"),t+i-r>this._size&&console.error(\"An attempt to write beyond the end of the buffer!\");var c=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);var a=this._context.gl,h=ArrayBuffer.isView(e)?e.buffer:e;a.bufferSubData(this._bufferType,o,h.slice(s,u)),this._context.bindVAO(c)}},e._nextId=0,e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"./Renderbuffer\",\"./Texture\"],function(t,e,i,r,n){return function(){function t(e,h,o,s){if(this._context=null,this._glName=null,this._depthAttachment=null,this._stencilAttachment=null,this._colorAttachment=null,this._initialized=!1,this._context=e,this._desc={colorTarget:h.colorTarget,depthStencilTarget:h.depthStencilTarget,width:h.width,height:h.height,multisampled:h.multisampled},this._id=t._nextId++,i(\"esri-webgl-debug\")&&e.instanceCounter.incrementCount(4),o){var c=void 0;o instanceof n?(this._colorAttachment=o,c=o.descriptor):(c=o,this._colorAttachment=new n(this._context,c)),0!==this._desc.colorTarget&&console.error(\"Framebuffer is initialized with a texture however the descriptor indicates using a renderbuffer color attachment!\"),t._validateTextureDimensions(c,this._desc)}if(s instanceof r)2===h.depthStencilTarget?this._stencilAttachment=s:1===h.depthStencilTarget||3===h.depthStencilTarget?this._depthAttachment=s:console.error('If a Renderbuffer is provided, \"depthStencilTarget\" must be one of STENCIL_RENDER_BUFFER, DEPTH_RENDER_BUFFER or DEPTH_STENCIL_RENDER_BUFFER'),t._validateBufferDimensions(s.descriptor,this._desc);else if(s){this._context.capabilities.depthTexture||console.error(\"Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!\");var a=void 0;s instanceof n?(this._depthStencilTexture=s,a=this._depthStencilTexture.descriptor):(a=s,this._depthStencilTexture=new n(this._context,a)),t._validateTextureDimensions(a,this._desc)}}return Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"descriptor\",{get:function(){return this._desc},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"colorTexture\",{get:function(){return this._colorAttachment instanceof n?this._colorAttachment:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"colorAttachment\",{get:function(){return this._colorAttachment},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"depthStencilAttachment\",{get:function(){return this._depthStencilTexture||this._depthAttachment||this._stencilAttachment},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"depthStencilTexture\",{get:function(){return this._depthStencilTexture},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._desc.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._desc.height},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){if(this._context){var t=this._context,e=t.getBoundFramebufferObject();if(this._disposeColorAttachment(),this._disposeDepthStencilAttachments(),this._glName){t.gl.deleteFramebuffer(this._glName),this._glName=null}i(\"esri-webgl-debug\")&&t.instanceCounter.decrementCount(4),t.bindFramebuffer(e),this._context=null}},t.prototype.attachColorTexture=function(e){if(e){var i=e.descriptor;if(t._validateTextureDimensions(i,this._desc),this._disposeColorAttachment(),this._initialized){this._context.bindFramebuffer(this);var r=this._context.gl;r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e.glName,0)}this._colorAttachment=e}},t.prototype.detachColorTexture=function(){var t=void 0;if(this._colorAttachment instanceof n){if(t=this._colorAttachment,this._initialized){this._context.bindFramebuffer(this);var e=this._context.gl;this._context.gl.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0)}this._colorAttachment=null}return t},t.prototype.attachDepthStencilTexture=function(e){if(e){var i=e.descriptor;if(34041!==i.pixelFormat&&console.error(\"Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!\"),34042!==i.dataType&&console.error(\"Depth/Stencil texture must have data type of UNSIGNED_INT_24_8_WEBGL!\"),this._context.capabilities.depthTexture||console.error(\"Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!\"),t._validateTextureDimensions(i,this._desc),4!==this._desc.depthStencilTarget&&(this._desc.depthStencilTarget=4),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);var r=this._context.gl;r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.TEXTURE_2D,e.glName,0)}this._depthStencilTexture=e}},t.prototype.detachDepthStencilTexture=function(){var t=this._depthStencilTexture;if(t&&this._initialized){this._context.bindFramebuffer(this);var e=this._context.gl;this._context.gl.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,null,0)}return this._depthStencilTexture=null,t},t.prototype.attachDepthStencilBuffer=function(e){if(e){var i=e.descriptor;if(34041!==i.internalFormat&&33189!==i.internalFormat&&console.error(\"Depth/Stencil buffer must have correct internalFormat\"),t._validateBufferDimensions(i,this._desc),this._disposeDepthStencilAttachments(),this._desc.depthStencilTarget=34041===i.internalFormat?3:1,this._initialized){this._context.bindFramebuffer(this);var r=this._context.gl,n=1===this._desc.depthStencilTarget?r.DEPTH_ATTACHMENT:r.DEPTH_STENCIL_ATTACHMENT;r.framebufferRenderbuffer(r.FRAMEBUFFER,n,r.RENDERBUFFER,e.glName)}this._depthAttachment=e}},t.prototype.detachDepthStencilBuffer=function(){var t=this._context.gl,e=this._depthAttachment;if(e&&this._initialized){this._context.bindFramebuffer(this);var i=1===this._desc.depthStencilTarget?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,null)}return this._depthAttachment=null,e},t.prototype.copyToTexture=function(t,e,i,r,n,h,o){(t<0||e<0||n<0||h<0)&&console.error(\"Offsets cannot be negative!\"),(i<=0||r<=0)&&console.error(\"Copy width and height must be greater than zero!\");var s=this._desc,c=o.descriptor;3553!==o.descriptor.target&&console.error(\"Texture target must be TEXTURE_2D!\"),(t+i>s.width||e+r>s.height||n+i>c.width||h+r>c.height)&&console.error(\"Bad dimensions, the current input values will attempt to read or copy out of bounds!\");var a=this._context;a.bindTexture(o),a.bindFramebuffer(this),a.gl.copyTexSubImage2D(3553,0,n,h,t,e,i,r)},t.prototype.readPixels=function(t,e,i,r,n,h,o){(i<=0||r<=0)&&console.error(\"Copy width and height must be greater than zero!\"),o||console.error(\"Target memory is not initialized!\"),this._context.bindFramebuffer(this),this._context.gl.readPixels(t,e,i,r,n,h,o)},t.prototype.resize=function(e,i){var r=this._desc;if(r.width!==e||r.height!==i){if(!this._initialized){if(r.width=e,r.height=i,this._colorAttachment instanceof n){var h=this._colorAttachment;h.resize(e,i)}return void(this._depthStencilTexture&&this._depthStencilTexture.resize(e,i))}if(r.width=e,r.height=i,this._colorAttachment instanceof n){var h=this._colorAttachment,o=h.descriptor;o.width=e,o.height=i,this._colorAttachment.dispose(),this._colorAttachment=new n(this._context,o),t._validateTextureDimensions(h.descriptor,this._desc)}else this._colorAttachment&&this._disposeColorAttachment();if(null!=this._depthStencilTexture){var o=this._depthStencilTexture.descriptor;o.width=e,o.height=i,this._depthStencilTexture.dispose(),this._depthStencilTexture=new n(this._context,o)}else(this._depthAttachment||this._stencilAttachment)&&this._disposeDepthStencilAttachments();this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1}},t.prototype.initialize=function(){if(this._initialized)return!1;var t=this._context.gl;this._glName&&t.deleteFramebuffer(this._glName);var e=t.createFramebuffer(),i=this._desc;if(t.bindFramebuffer(t.FRAMEBUFFER,e),!this._colorAttachment)if(0===i.colorTarget){var h={target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:i.width,height:i.height};this._colorAttachment=new n(this._context,h)}else{var o=new r(this._context,{internalFormat:32854,width:i.width,height:i.height});t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.RENDERBUFFER,o.glName),this._colorAttachment=o}if(this._colorAttachment instanceof n){var s=this._colorAttachment;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,s.glName,0)}switch(i.depthStencilTarget){case 1:case 3:this._depthAttachment||(this._depthAttachment=new r(this._context,{internalFormat:1===i.depthStencilTarget?33189:34041,width:i.width,height:i.height}));var c=1===i.depthStencilTarget?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(t.FRAMEBUFFER,c,t.RENDERBUFFER,this._depthAttachment.glName);break;case 2:this._stencilAttachment||(this._stencilAttachment=new r(this._context,{internalFormat:36168,width:i.width,height:i.height})),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.STENCIL_ATTACHMENT,t.RENDERBUFFER,this._stencilAttachment.glName);break;case 4:if(!this._depthStencilTexture){this._context.capabilities.depthTexture||console.error(\"Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!\");var a={target:3553,pixelFormat:34041,dataType:34042,samplingMode:9728,wrapMode:33071,width:i.width,height:i.height};this._depthStencilTexture=new n(this._context,a)}t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,this._depthStencilTexture.glName,0)}return t.checkFramebufferStatus(t.FRAMEBUFFER)!==t.FRAMEBUFFER_COMPLETE&&console.error(\"Framebuffer is incomplete!\"),this._glName=e,this._initialized=!0,!0},t.prototype._disposeColorAttachment=function(){if(this._colorAttachment instanceof n){var t=this._colorAttachment;if(this._initialized){this._context.bindFramebuffer(this);var e=this._context.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0)}t.dispose()}else if(this._colorAttachment instanceof WebGLRenderbuffer){var i=this._colorAttachment,e=this._context.gl;this._initialized&&(this._context.bindFramebuffer(this),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.RENDERBUFFER,null)),this._context.gl.deleteRenderbuffer(i)}this._colorAttachment=null},t.prototype._disposeDepthStencilAttachments=function(){var t=this._context.gl;if(this._depthAttachment){if(this._initialized){this._context.bindFramebuffer(this);var e=1===this._desc.depthStencilTarget?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)}this._depthAttachment.dispose(),this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.STENCIL_ATTACHMENT,t.RENDERBUFFER,null)),this._stencilAttachment.dispose(),this._stencilAttachment=null),this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,null,0)),this._depthStencilTexture.dispose(),this._depthStencilTexture=null)},t._validateBufferDimensions=function(t,e){console.assert(t.width>=0&&t.height>=0),void 0!==e.width&&e.width>=0&&void 0!==e.height&&e.height>=0?e.width===t.width&&e.height===t.height||console.error(\"Renderbuffer dimensions must match the framebuffer's!\"):(e.width=t.width,e.height=t.height)},t._validateTextureDimensions=function(t,e){console.assert(t.width>=0&&t.height>=0),3553!==t.target&&console.error(\"Texture type must be TEXTURE_2D!\"),void 0!==e.width&&e.width>=0&&void 0!==e.height&&e.height>=0?e.width===t.width&&e.height===t.height||console.error(\"Color attachment texture must match the framebuffer's!\"):(e.width=t.width,e.height=t.height)},t._nextId=0,t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,t){return function(){function n(){this._instanceCount={textureCount:0,bufferCount:0,vaoCount:0,programCount:0,framebufferCount:0,renderBufferCount:0}}return n.prototype.incrementCount=function(n){switch(n){case 0:this._instanceCount.textureCount++;break;case 1:this._instanceCount.bufferCount++;break;case 2:this._instanceCount.vaoCount++;break;case 3:this._instanceCount.programCount++;break;case 4:this._instanceCount.framebufferCount++;break;case 5:this._instanceCount.renderBufferCount++}},n.prototype.decrementCount=function(n){switch(n){case 0:this._instanceCount.textureCount--;break;case 1:this._instanceCount.bufferCount--;break;case 2:this._instanceCount.vaoCount--;break;case 3:this._instanceCount.programCount--;break;case 4:this._instanceCount.framebufferCount--;break;case 5:this._instanceCount.renderBufferCount--}},n.prototype.printResourceCount=function(){console.log(\"Live objects:\"),console.log(\"Textures: \"+this._instanceCount.textureCount),console.log(\"Buffers: \"+this._instanceCount.bufferCount),console.log(\"VAOs: \"+this._instanceCount.vaoCount),console.log(\"Programs: \"+this._instanceCount.programCount),console.log(\"Framebuffers: \"+this._instanceCount.framebufferCount),console.log(\"Renderbuffers: \"+this._instanceCount.renderBufferCount)},n}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"../../core/maybe\",\"./ShaderTranspiler\"],function(t,o,i,e,r){function n(t,o){if(e.isNone(t)||t.length!==o.length)return!0;for(var i=0;i<t.length;++i)if(t[i]!==o[i])return!0;return!1}function a(t,o){return!!e.isNone(t)||(9!==t.length?n(t,o):(h&&9!==o.length&&console.error(\"Matrix object must contain 16 elements!\"),9!==t.length||t[0]!==o[0]||t[1]!==o[1]||t[2]!==o[2]||t[3]!==o[3]||t[4]!==o[4]||t[5]!==o[5]||t[6]!==o[6]||t[7]!==o[7]||t[8]!==o[8]))}function s(t,o){return!!e.isNone(t)||(16!==t.length?n(t,o):(h&&16!==o.length&&console.error(\"Matrix object must contain 16 elements!\"),16!==t.length||t[0]!==o[0]||t[1]!==o[1]||t[2]!==o[2]||t[3]!==o[3]||t[4]!==o[4]||t[5]!==o[5]||t[6]!==o[6]||t[7]!==o[7]||t[8]!==o[8]||t[9]!==o[9]||t[10]!==o[10]||t[11]!==o[11]||t[12]!==o[12]||t[13]!==o[13]||t[14]!==o[14]||t[15]!==o[15]))}var h=i(\"dojo-debug-messages\");return function(){function t(o,e,r,n,a){if(void 0===a&&(a={}),this._context=null,this._glName=null,this._locations={},this._id=void 0,this._initialized=!1,this._vShader=null,this._fShader=null,this._defines={},this._nameToUniformLocation={},this._nameToAttribLocation={},this._nameToUniform1={},this._nameToUniform1v={},this._nameToUniform2={},this._nameToUniform3={},this._nameToUniform4={},this._nameToUniformMatrix3={},this._nameToUniformMatrix4={},o||console.error(\"RenderingContext isn't initialized!\"),0===e.length&&console.error(\"Shaders source should not be empty!\"),this._context=o,this._vertexShaderSource=e,this._fragmentShaderSource=r,Array.isArray(a))for(var s=0,h=a;s<h.length;s++){var f=h[s];this._defines[f]=\"1\"}else this._defines=a;this._id=t._nextId++,this._locations=n,i(\"esri-webgl-debug\")&&o.instanceCounter.incrementCount(3)}return Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"locations\",{get:function(){return this._locations},enumerable:!0,configurable:!0}),t.prototype.getDefine=function(t){return this._defines[t]},t.prototype.dispose=function(){if(this._context){var t=this._context.gl;if(this._vShader){var o=this._vShader;t.deleteShader(o),this._vShader=null}if(this._fShader){var e=this._fShader;t.deleteShader(e),this._fShader=null}this._glName&&(t.deleteProgram(this._glName),this._glName=null),i(\"esri-webgl-debug\")&&this._context.instanceCounter.decrementCount(3),this._context=null}},t.prototype.initialize=function(){if(!this._initialized){this._vShader=this._loadShader(35633),this._fShader=this._loadShader(35632),this._vShader&&this._fShader||console.error(\"Error loading shaders!\");var t=this._context.gl,o=t.createProgram();t.attachShader(o,this._vShader),t.attachShader(o,this._fShader);for(var e in this._locations){var r=this._locations[e];t.bindAttribLocation(o,r,e)}t.linkProgram(o),i(\"esri-validate-shaders\")&&!t.getProgramParameter(o,t.LINK_STATUS)&&console.error(\"Could not initialize shader\\nVALIDATE_STATUS: \"+t.getProgramParameter(o,t.VALIDATE_STATUS)+\", gl error [\"+t.getError()+\"]infoLog: \"+t.getProgramInfoLog(o)),this._glName=o,this._initialized=!0}},t.prototype.getUniformLocation=function(t){return this.initialize(),void 0===this._nameToUniformLocation[t]&&(this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this._glName,t)),this._nameToUniformLocation[t]},t.prototype.hasUniform=function(t){return null!==this.getUniformLocation(t)},t.prototype.getAttribLocation=function(t){return this.initialize(),void 0===this._nameToAttribLocation[t]&&(this._nameToAttribLocation[t]=this._context.gl.getAttribLocation(this._glName,t)),this._nameToAttribLocation[t]},t.prototype.setUniform1i=function(t,o){var i=this._nameToUniform1[t];if(void 0===i||o!==i){this._context.bindProgram(this);this._context.gl.uniform1i(this.getUniformLocation(t),o),this._nameToUniform1[t]=o}},t.prototype.setUniform1iv=function(o,i){var e=this._nameToUniform1v[o];if(n(e,i)){this._context.bindProgram(this);this._context.gl.uniform1iv(this.getUniformLocation(o),i),void 0===e?this._nameToUniform1v[o]=t._arrayCopy(i):t._arrayAssign(i,e)}},t.prototype.setUniform1f=function(t,o){var i=this._nameToUniform1[t];if(void 0===i||o!==i){this._context.bindProgram(this);this._context.gl.uniform1f(this.getUniformLocation(t),o),this._nameToUniform1[t]=o}},t.prototype.setUniform1fv=function(o,i){var e=this._nameToUniform1v[o];if(n(e,i)){this._context.bindProgram(this);this._context.gl.uniform1fv(this.getUniformLocation(o),i),void 0===e?this._nameToUniform1v[o]=t._arrayCopy(i):t._arrayAssign(i,e)}},t.prototype.setUniform2f=function(t,o,i){var e=this._nameToUniform2[t];if(void 0===e||o!==e[0]||i!==e[1]){this._context.bindProgram(this);this._context.gl.uniform2f(this.getUniformLocation(t),o,i),void 0===e?this._nameToUniform2[t]=[o,i]:(e[0]=o,e[1]=i)}},t.prototype.setUniform2fv=function(o,i){h&&i.length%2!=0&&console.error(\"Value array must have even number of elements!\");var e=this._nameToUniform2[o];if(n(e,i)){this._context.bindProgram(this);this._context.gl.uniform2fv(this.getUniformLocation(o),i),void 0===e?this._nameToUniform2[o]=t._arrayCopy(i):t._arrayAssign(i,e)}},t.prototype.setUniform3f=function(t,o,i,e){var r=this._nameToUniform3[t];if(void 0===r||o!==r[0]||i!==r[1]||e!==r[2]){this._context.bindProgram(this);this._context.gl.uniform3f(this.getUniformLocation(t),o,i,e),void 0===r?this._nameToUniform3[t]=[o,i,e]:(r[0]=o,r[1]=i,r[2]=e)}},t.prototype.setUniform3fv=function(o,i){h&&i.length%3!=0&&console.error(\"Value array must contain sets of three values!\");var e=this._nameToUniform3[o];if(n(e,i)){this._context.bindProgram(this);this._context.gl.uniform3fv(this.getUniformLocation(o),i),void 0===e?this._nameToUniform3[o]=t._arrayCopy(i):t._arrayAssign(i,e)}},t.prototype.setUniform4f=function(t,o,i,e,r){var n=this._nameToUniform4[t];if(void 0===n||o!==n[0]||i!==n[1]||e!==n[2]||r!==n[3]){this._context.bindProgram(this);this._context.gl.uniform4f(this.getUniformLocation(t),o,i,e,r),void 0===n?this._nameToUniform4[t]=[o,i,e,r]:(n[0]=o,n[1]=i,n[2]=e,n[3]=r)}},t.prototype.setUniform4fv=function(o,i){h&&i.length%4!=0&&console.error(\"Value array must contain sets of four values!\");var e=this._nameToUniform4[o];if(n(e,i)){this._context.bindProgram(this);this._context.gl.uniform4fv(this.getUniformLocation(o),i),void 0===e?this._nameToUniform4[o]=t._arrayCopy(i):t._arrayAssign(i,e)}},t.prototype.setUniformMatrix3fv=function(o,i,e){void 0===e&&(e=!1),h&&i.length%9!=0&&console.error(\"Matrix array must contain sets ot 9 elements!\");var r=this._nameToUniformMatrix3[o];if(a(r,i)){this._context.bindProgram(this);this._context.gl.uniformMatrix3fv(this.getUniformLocation(o),e,i),void 0===r?this._nameToUniformMatrix3[o]=t._arrayCopy(i):t._arrayAssign(i,r)}},t.prototype.setUniformMatrix4fv=function(o,i,e){void 0===e&&(e=!1),h&&i.length%16!=0&&console.error(\"Matrix array must contain sets ot 16 elements!\");var r=this._nameToUniformMatrix4[o];if(s(r,i)){this._context.bindProgram(this);this._context.gl.uniformMatrix4fv(this.getUniformLocation(o),e,i),void 0===r?this._nameToUniformMatrix4[o]=t._arrayCopy(i):t._arrayAssign(i,r)}},t.prototype.assertCompatibleVertexAttributeLocations=function(t){var o=t.locations===this.locations;return o||console.error(\"VertexAttributeLocations are incompatible\"),o},t._padToThree=function(t){var o=t.toString();return t<1e3&&(o=(\" \"+t).slice(-3)),o},t.prototype._addLineNumbers=function(o){var i=2;return o.replace(/\\n/g,function(){return\"\\n\"+t._padToThree(i++)+\":\"})},t.prototype._loadShader=function(t){var o=35633===t,e=o?this._vertexShaderSource:this._fragmentShaderSource,n=e,a=\"\";for(var s in this._defines)a+=\"#define \"+s+\" \"+this._defines[s]+\"\\n\";n=a+n,\"webgl2\"===this._context.contextVersion&&(n=r.transpileShader(n,o?\"vertex\":\"fragment\"));var h=this._context.gl,f=h.createShader(t);return h.shaderSource(f,n),h.compileShader(f),i(\"esri-validate-shaders\")&&!h.getShaderParameter(f,h.COMPILE_STATUS)&&(console.error(\"Compile error in \".concat(o?\"vertex\":\"fragment\",\" shader\")),console.error(h.getShaderInfoLog(f)),console.error(this._addLineNumbers(n)),\"webgl2\"===this._context.contextVersion&&(console.log(\"Shader source before transpilation:\"),console.log(e))),f},t._arrayCopy=function(t){for(var o=[],i=0;i<t.length;++i)o.push(t[i]);return o},t._arrayAssign=function(t,o){for(var i=0;i<t.length;++i)o[i]=t[i]},t._nextId=0,t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./programUtils\"],function(r,t,e){Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function r(r){this._programCacheByTemplate=new Map,this._rctx=r}return r.prototype.dispose=function(){this._programCacheByTemplate.forEach(function(r){r.programs.forEach(function(r){r.dispose()})}),this._programCacheByTemplate=null},r.prototype.getProgram=function(r,t){var a=this;return this._programCacheByTemplate.has(r)||this.addProgramTemplate(r,function(t){return e.createProgram(a._rctx,r,t)}),this.getProgramTemplateInstance(r,t)},r.prototype.addProgramTemplate=function(r,t){this._programCacheByTemplate.set(r,{constructor:t,programs:new Map})},r.prototype.getProgramTemplateInstance=function(r,t){var e=this._programCacheByTemplate.get(r);if(e){var a=t?JSON.stringify(t):\"default\";if(!e.programs.has(a)){var o=e.constructor(t);e.programs.set(a,o)}return e.programs.get(a)}return null},r}();t.ProgramCache=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\"],function(e,t,n){return function(){function e(t,i){this._context=t,this._desc=i,this._glName=null,this._id=-1;var r=this._context.gl;n(\"esri-webgl-debug\")&&this._context.instanceCounter.incrementCount(5),this._id=++e._nextId,this._glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this),r.renderbufferStorage(r.RENDERBUFFER,i.internalFormat,i.width,i.height)}return Object.defineProperty(e.prototype,\"descriptor\",{get:function(){return this._desc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),e.prototype.resize=function(e,t){var n=this._context.gl,i=this._desc;i.width===e&&i.height===t||(i.width=e,i.height=t,this._context.bindRenderbuffer(this),n.renderbufferStorage(n.RENDERBUFFER,i.internalFormat,i.width,i.height))},e.prototype.dispose=function(){if(this._glName){this._context.gl.deleteRenderbuffer(this._glName),this._glName=null}n(\"esri-webgl-debug\")&&this._context&&this._context.instanceCounter.decrementCount(5),this._context=null},e._nextId=0,e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"../../core/maybe\",\"./enums\",\"./InstanceCounter\",\"./renderState\",\"./capabilities/isWebGL2Context\",\"./capabilities/load\"],function(t,e,i,s,n,a,l,r,o){function h(t,e){switch(t){case 0:return 2*e;case 4:return e/3;case 5:case 6:return e-2}return 0}return function(){function t(t,e){var s=this;this.gl=null,this._blendEnabled=!1,this._blendColorState={r:0,g:0,b:0,a:0},this._blendFunctionState={srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0},this._blendEquationState={mode:32774,modeAlpha:32774},this._colorMaskState={r:!0,g:!0,b:!0,a:!0},this._polygonCullingEnabled=!1,this._cullFace=1029,this._frontFace=2305,this._scissorTestEnabled=!1,this._scissorRect={x:0,y:0,width:0,height:0},this._depthTestEnabled=!1,this._depthFunction=513,this._clearDepth=1,this._depthWriteEnabled=!0,this._depthRange={zNear:0,zFar:1},this._viewport=null,this._stencilTestEnabled=!1,this._polygonOffsetFillEnabled=!1,this._polygonOffset=[0,0],this._stencilFunction={face:1032,func:519,ref:0,mask:1},this._clearStencil=0,this._stencilWriteMask=1,this._stencilOperation={face:1032,fail:7680,zFail:7680,zPass:7680},this._clearColor={r:0,g:0,b:0,a:0},this._activeShaderProgram=null,this._activeVertexBuffer=null,this._activeIndexBuffer=null,this._activeFramebuffer=null,this._activeRenderbuffer=null,this._activeTextureUnit=0,this._textureUnitMap={},this._numOfDrawCalls=0,this._numOfTriangles=0,this.contextVersion=r.default(t)?\"webgl2\":\"webgl\",this.gl=t,t instanceof WebGLRenderingContext&&this.gl.getExtension(\"OES_element_index_uint\"),this._capabilities=o.loadCapabilities(t,e);var n=this.gl.getParameter(this.gl.VIEWPORT);this._viewport={x:n[0],y:n[1],width:n[2],height:n[3]},i(\"esri-webgl-debug\")&&(this.instanceCounter=new a),this._stateTracker=new l.StateTracker({setBlending:function(t){if(t){s.setBlendingEnabled(!0),s.setBlendEquationSeparate(t.opRgb,t.opAlpha),s.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);var e=t.color;s.setBlendColor(e.r,e.g,e.b,e.a)}else s.setBlendingEnabled(!1)},setCulling:function(t){t?(s.setFaceCullingEnabled(!0),s.setCullFace(t.face),s.setFrontFace(t.mode)):s.setFaceCullingEnabled(!1)},setPolygonOffset:function(t){t?(s.setPolygonOffsetFillEnabled(!0),s.setPolygonOffset(t.factor,t.units)):s.setPolygonOffsetFillEnabled(!1)},setDepthTest:function(t){t?(s.setDepthTestEnabled(!0),s.setDepthFunction(t.func)):s.setDepthTestEnabled(!1)},setStencilTest:function(t){if(t){s.setStencilTestEnabled(!0);var e=t.function;s.setStencilFunction(e.func,e.ref,e.mask);var i=t.operation;s.setStencilOp(i.fail,i.zFail,i.zPass)}else s.setStencilTestEnabled(!1)},setDepthWrite:function(t){t?(s.setDepthWriteEnabled(!0),s.setDepthRange(t.zNear,t.zFar)):s.setDepthWriteEnabled(!1)},setColorWrite:function(t){t?s.setColorMask(t.r,t.g,t.b,t.a):s.setColorMask(!1,!1,!1,!1)},setStencilWrite:function(t){t?s.setStencilWriteMask(t.mask):s.setStencilWriteMask(0)}}),this.enforceState()}return Object.defineProperty(t.prototype,\"contextAttributes\",{get:function(){return this.gl.getContextAttributes()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"parameters\",{get:function(){if(!this._parameters){var t=this.capabilities.textureFilterAnisotropic;this._parameters={versionString:this.gl.getParameter(this.gl.VERSION),maxVertexTextureImageUnits:this.gl.getParameter(this.gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxVertexAttributes:this.gl.getParameter(this.gl.MAX_VERTEX_ATTRIBS),maxMaxAnisotropy:t?this.gl.getParameter(t.MAX_TEXTURE_MAX_ANISOTROPY):void 0,maxTextureImageUnits:this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS)}}return this._parameters},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.bindVAO(null),this.unbindBuffer(34962),this.unbindBuffer(34963),this._textureUnitMap={},i(\"esri-webgl-debug\")&&this.instanceCounter.printResourceCount(),this.gl=null},t.prototype.setPipelineState=function(t){this._stateTracker.setPipeline(t)},t.prototype.setBlendingEnabled=function(t){this._blendEnabled!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._blendEnabled=t,this._stateTracker.invalidateBlending())},t.prototype.setBlendColor=function(t,e,i,s){t===this._blendColorState.r&&e===this._blendColorState.g&&i===this._blendColorState.b&&s===this._blendColorState.a||(this.gl.blendColor(t,e,i,s),this._blendColorState.r=t,this._blendColorState.g=e,this._blendColorState.b=i,this._blendColorState.a=s,this._stateTracker.invalidateBlending())},t.prototype.setBlendFunction=function(t,e){t===this._blendFunctionState.srcRGB&&e===this._blendFunctionState.dstRGB||(this.gl.blendFunc(t,e),this._blendFunctionState.srcRGB=t,this._blendFunctionState.srcAlpha=t,this._blendFunctionState.dstRGB=e,this._blendFunctionState.dstAlpha=e,this._stateTracker.invalidateBlending())},t.prototype.setBlendFunctionSeparate=function(t,e,i,s){this._blendFunctionState.srcRGB===t&&this._blendFunctionState.srcAlpha===i&&this._blendFunctionState.dstRGB===e&&this._blendFunctionState.dstAlpha===s||(this.gl.blendFuncSeparate(t,e,i,s),this._blendFunctionState.srcRGB=t,this._blendFunctionState.srcAlpha=i,this._blendFunctionState.dstRGB=e,this._blendFunctionState.dstAlpha=s,this._stateTracker.invalidateBlending())},t.prototype.setBlendEquation=function(t){this._blendEquationState.mode!==t&&(this.gl.blendEquation(t),this._blendEquationState.mode=t,this._blendEquationState.modeAlpha=t,this._stateTracker.invalidateBlending())},t.prototype.setBlendEquationSeparate=function(t,e){this._blendEquationState.mode===t&&this._blendEquationState.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._blendEquationState.mode=t,this._blendEquationState.modeAlpha=e,this._stateTracker.invalidateBlending())},t.prototype.setColorMask=function(t,e,i,s){this._colorMaskState.r===t&&this._colorMaskState.g===e&&this._colorMaskState.b===i&&this._colorMaskState.a===s||(this.gl.colorMask(t,e,i,s),this._colorMaskState.r=t,this._colorMaskState.g=e,this._colorMaskState.b=i,this._colorMaskState.a=s,this._stateTracker.invalidateColorWrite())},t.prototype.setClearColor=function(t,e,i,s){this._clearColor.r===t&&this._clearColor.g===e&&this._clearColor.b===i&&this._clearColor.a===s||(this.gl.clearColor(t,e,i,s),this._clearColor.r=t,this._clearColor.g=e,this._clearColor.b=i,this._clearColor.a=s)},t.prototype.setFaceCullingEnabled=function(t){this._polygonCullingEnabled!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._polygonCullingEnabled=t,this._stateTracker.invalidateCulling())},t.prototype.setPolygonOffsetFillEnabled=function(t){this._polygonOffsetFillEnabled!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._polygonOffsetFillEnabled=t,this._stateTracker.invalidatePolygonOffset())},t.prototype.setPolygonOffset=function(t,e){this._polygonOffset[0]===t&&this._polygonOffset[1]===e||(this._polygonOffset[0]=t,this._polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())},t.prototype.setCullFace=function(t){this._cullFace!==t&&(this.gl.cullFace(t),this._cullFace=t,this._stateTracker.invalidateCulling())},t.prototype.setFrontFace=function(t){this._frontFace!==t&&(this.gl.frontFace(t),this._frontFace=t,this._stateTracker.invalidateCulling())},t.prototype.setScissorTestEnabled=function(t){this._scissorTestEnabled!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._scissorTestEnabled=t)},t.prototype.setScissorRect=function(t,e,i,s){this._scissorRect.x===t&&this._scissorRect.y===e&&this._scissorRect.width===i&&this._scissorRect.height===s||(this.gl.scissor(t,e,i,s),this._scissorRect.x=t,this._scissorRect.y=e,this._scissorRect.width=i,this._scissorRect.height=s)},t.prototype.setDepthTestEnabled=function(t){this._depthTestEnabled!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._depthTestEnabled=t,this._stateTracker.invalidateDepthTest())},t.prototype.setClearDepth=function(t){this._clearDepth!==t&&(this.gl.clearDepth(t),this._clearDepth=t)},t.prototype.setDepthFunction=function(t){this._depthFunction!==t&&(this.gl.depthFunc(t),this._depthFunction=t,this._stateTracker.invalidateDepthTest())},t.prototype.setDepthWriteEnabled=function(t){this._depthWriteEnabled!==t&&(this.gl.depthMask(t),this._depthWriteEnabled=t,this._stateTracker.invalidateDepthWrite())},t.prototype.setDepthRange=function(t,e){this._depthRange.zNear===t&&this._depthRange.zFar===e||(this.gl.depthRange(t,e),this._depthRange.zNear=t,this._depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())},t.prototype.setStencilTestEnabled=function(t){this._stencilTestEnabled!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._stencilTestEnabled=t,this._stateTracker.invalidateStencilTest())},t.prototype.setClearStencil=function(t){t!==this._clearStencil&&(this.gl.clearStencil(t),this._clearStencil=t)},t.prototype.setStencilFunction=function(t,e,i){this._stencilFunction.func===t&&this._stencilFunction.ref===e&&this._stencilFunction.mask===i||(this.gl.stencilFunc(t,e,i),this._stencilFunction.face=1032,this._stencilFunction.func=t,this._stencilFunction.ref=e,this._stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())},t.prototype.setStencilFunctionSeparate=function(t,e,i,s){this._stencilFunction.face===t&&this._stencilFunction.func===e&&this._stencilFunction.ref===i&&this._stencilFunction.mask===s||(this.gl.stencilFuncSeparate(t,e,i,s),this._stencilFunction.face=t,this._stencilFunction.func=e,this._stencilFunction.ref=i,this._stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())},t.prototype.setStencilWriteMask=function(t){this._stencilWriteMask!==t&&(this.gl.stencilMask(t),this._stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())},t.prototype.setStencilOp=function(t,e,i){this._stencilOperation.fail===t&&this._stencilOperation.zFail===e&&this._stencilOperation.zPass===i||(this.gl.stencilOp(t,e,i),this._stencilOperation.face=1032,this._stencilOperation.fail=t,this._stencilOperation.zFail=e,this._stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())},t.prototype.setStencilOpSeparate=function(t,e,i,s){this._stencilOperation.face===t&&this._stencilOperation.fail===e&&this._stencilOperation.zFail===i&&this._stencilOperation.zPass===s||(this.gl.stencilOpSeparate(t,e,i,s),this._stencilOperation.face=t,this._stencilOperation.face=t,this._stencilOperation.fail=e,this._stencilOperation.zFail=i,this._stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())},t.prototype.setActiveTexture=function(t){var e=this._activeTextureUnit;return t>=0&&t!==this._activeTextureUnit&&(this.gl.activeTexture(n.BASE_TEXTURE_UNIT+t),this._activeTextureUnit=t),e},t.prototype.clear=function(t){t&&this.gl.clear(t)},t.prototype.clearSafe=function(t){t&&(16384&t&&this.setColorMask(!0,!0,!0,!0),256&t&&this.setDepthWriteEnabled(!0),1024&t&&this.setStencilWriteMask(255),this.gl.clear(t))},t.prototype.drawArrays=function(t,e,s){i(\"esri-webgl-debug\")&&(this._numOfDrawCalls++,this._numOfTriangles+=h(t,s)),this.gl.drawArrays(t,e,s)},t.prototype.drawElements=function(t,e,s,n){if(i(\"esri-webgl-debug\")&&(this._numOfDrawCalls++,this._numOfTriangles+=h(t,e)),5123===s)return void this.gl.drawElements(t,e,s,n);5125===s&&this.gl.drawElements(t,e,s,n)},t.prototype.logIno=function(){i(\"esri-webgl-debug\")&&console.log(\"DrawCalls: \"+this._numOfDrawCalls+\", Triangles: \"+this._numOfTriangles)},Object.defineProperty(t.prototype,\"capabilities\",{get:function(){return this._capabilities},enumerable:!0,configurable:!0}),t.prototype.setViewport=function(t,e,i,s){var n=this._viewport;n.x===t&&n.y===e&&n.width===i&&n.height===s||(n.x=t,n.y=e,n.width=i,n.height=s,this.gl.viewport(t,e,i,s))},t.prototype.getViewport=function(){return{x:this._viewport.x,y:this._viewport.y,width:this._viewport.width,height:this._viewport.height}},t.prototype.bindProgram=function(t){if(!t)return this.gl.useProgram(null),void(this._activeShaderProgram=null);this._activeShaderProgram!==t&&(t.initialize(),this.gl.useProgram(t.glName),this._activeShaderProgram=t)},t.prototype.bindTexture=function(e,i){void 0===i&&(i=0),-1===t._MAX_TEXTURE_IMAGE_UNITS&&(t._MAX_TEXTURE_IMAGE_UNITS=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS)),(i>=t._MAX_TEXTURE_IMAGE_UNITS||i<0)&&console.error(\"Input texture unit is out of range of available units!\");var s=this._textureUnitMap[i];return this.setActiveTexture(i),null==e||null==e.glName?(null!=s&&(this.gl.bindTexture(s.descriptor.target,null),s.setBoundToUnit(i,!1)),void(this._textureUnitMap[i]=null)):s&&s.id===e.id?void e.applyChanges():(s&&s.setBoundToUnit(i,!1),this.gl.bindTexture(e.descriptor.target,e.glName),e.setBoundToUnit(i,!0),e.applyChanges(),void(this._textureUnitMap[i]=e))},t.prototype.bindFramebuffer=function(t){if(s.isNone(t))return this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),void(this._activeFramebuffer=null);this._activeFramebuffer!==t&&(t.initialize()||this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,t.glName),this._activeFramebuffer=t)},t.prototype.bindBuffer=function(e){e&&(34962===e.bufferType?this._activeVertexBuffer=t._bindBuffer(this.gl,e,e.bufferType,this._activeVertexBuffer):this._activeIndexBuffer=t._bindBuffer(this.gl,e,e.bufferType,this._activeIndexBuffer))},t.prototype.bindRenderbuffer=function(t){var e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._activeRenderbuffer=null),this._activeRenderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._activeRenderbuffer=t)},t.prototype.unbindBuffer=function(e){34962===e?this._activeVertexBuffer=t._bindBuffer(this.gl,null,e,this._activeVertexBuffer):this._activeIndexBuffer=t._bindBuffer(this.gl,null,e,this._activeIndexBuffer)},t.prototype.bindVAO=function(t){if(!t)return void(this._activeVertexArrayObject&&(this._activeVertexArrayObject.unbind(),this._activeVertexArrayObject=null));this._activeVertexArrayObject&&this._activeVertexArrayObject.id===t.id||(t.bind(),this._activeVertexArrayObject=t)},t.prototype.getBoundTexture=function(t){return this._textureUnitMap[t]},t.prototype.getBoundFramebufferObject=function(){return this._activeFramebuffer},t.prototype.getBoundVAO=function(){return this._activeVertexArrayObject},t.prototype.resetState=function(){this.bindProgram(null),this.bindVAO(null),this.bindFramebuffer(null),this.unbindBuffer(34962),this.unbindBuffer(34963);for(var t=0;t<this.parameters.maxTextureImageUnits;t++)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(1,0),this.setBlendEquation(32774),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(1029),this.setFrontFace(2305),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(513),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(519,0,0),this.setStencilOp(7680,7680,7680),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)},t.prototype.enforceState=function(){var t=this.gl,e=this.capabilities.vao;e&&e.bindVertexArray(null);for(var s=0;s<this.parameters.maxVertexAttributes;s++)t.disableVertexAttribArray(s);if(this._activeVertexBuffer?t.bindBuffer(this._activeVertexBuffer.bufferType,this._activeVertexBuffer.glName):t.bindBuffer(34962,null),this._activeIndexBuffer?t.bindBuffer(this._activeIndexBuffer.bufferType,this._activeIndexBuffer.glName):t.bindBuffer(34963,null),e&&this._activeVertexArrayObject){var a=this._activeVertexArrayObject;this._activeVertexArrayObject&&(this._activeVertexArrayObject.unbind(),this._activeVertexArrayObject=null),this.bindVAO(a)}t.bindFramebuffer(t.FRAMEBUFFER,this._activeFramebuffer?this._activeFramebuffer.glName:null),t.useProgram(this._activeShaderProgram?this._activeShaderProgram.glName:null),t.blendColor(this._blendColorState.r,this._blendColorState.g,this._blendColorState.b,this._blendColorState.a),t.bindRenderbuffer(t.RENDERBUFFER,this._activeRenderbuffer?this._activeRenderbuffer.glName:null),!0===this._blendEnabled?t.enable(this.gl.BLEND):t.disable(this.gl.BLEND),t.blendEquationSeparate(this._blendEquationState.mode,this._blendEquationState.modeAlpha),t.blendFuncSeparate(this._blendFunctionState.srcRGB,this._blendFunctionState.dstRGB,this._blendFunctionState.srcAlpha,this._blendFunctionState.dstAlpha),t.clearColor(this._clearColor.r,this._clearColor.g,this._clearColor.b,this._clearColor.a),t.clearDepth(this._clearDepth),t.clearStencil(this._clearStencil),t.colorMask(this._colorMaskState.r,this._colorMaskState.g,this._colorMaskState.b,this._colorMaskState.a),t.cullFace(this._cullFace),t.depthFunc(this._depthFunction),t.depthRange(this._depthRange.zNear,this._depthRange.zFar),!0===this._depthTestEnabled?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),t.depthMask(this._depthWriteEnabled),t.frontFace(this._frontFace),t.lineWidth(1),!0===this._polygonCullingEnabled?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),t.polygonOffset(this._polygonOffset[0],this._polygonOffset[1]),!0===this._polygonOffsetFillEnabled?t.enable(t.POLYGON_OFFSET_FILL):t.disable(t.POLYGON_OFFSET_FILL),t.scissor(this._scissorRect.x,this._scissorRect.y,this._scissorRect.width,this._scissorRect.height),!0===this._scissorTestEnabled?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST),t.stencilFunc(this._stencilFunction.func,this._stencilFunction.ref,this._stencilFunction.mask),t.stencilOpSeparate(this._stencilOperation.face,this._stencilOperation.fail,this._stencilOperation.zFail,this._stencilOperation.zPass),!0===this._stencilTestEnabled?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),t.stencilMask(this._stencilWriteMask);for(var l=0;l<this.parameters.maxTextureImageUnits;l++){t.activeTexture(n.BASE_TEXTURE_UNIT+l),t.bindTexture(3553,null);var r=this._textureUnitMap[l];r&&t.bindTexture(r.descriptor.target,r.glName)}t.activeTexture(n.BASE_TEXTURE_UNIT+this._activeTextureUnit),t.viewport(this._viewport.x,this._viewport.y,this._viewport.width,this._viewport.height),i(\"esri-webgl-debug\")&&(this._numOfDrawCalls=0,this._numOfTriangles=0)},t._bindBuffer=function(t,e,i,s){return e?s===e?s:(t.bindBuffer(i,e.glName),e):(t.bindBuffer(i,null),null)},t._MAX_TEXTURE_IMAGE_UNITS=-1,t}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,t){return function(){function e(e){this.readFile=e}return e.prototype.resolveIncludes=function(e){return this.resolve(e)},e.prototype.resolve=function(e,t){var r=this;if(void 0===t&&(t=new Map),t.has(e))return t.get(e);var n=this.read(e);if(!n)throw new Error(\"cannot find shader file \"+e);for(var i=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm,o=i.exec(n),s=[];null!=o;)s.push({path:o[1],start:o.index,length:o[0].length}),o=i.exec(n);var a=0,u=\"\";return s.forEach(function(e){u+=n.slice(a,e.start),u+=t.has(e.path)?\"\":r.resolve(e.path,t),a=e.start+e.length}),u+=n.slice(a),t.set(e,u),u},e.prototype.read=function(e){return this.readFile(e)},e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./reservedWordsGLSL3\",\"./lib/glsl-tokenizer/string\"],function(e,t,a,r){function n(e){return r(e)}function i(e){return e.map(function(e){return\"eof\"!==e.type?e.data:\"\"}).join(\"\")}function o(e,t,a){void 0===t&&(t=\"100\"),void 0===a&&(a=\"300 es\");for(var r=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/,n=0,i=e;n<i.length;n++){var o=i[n];if(\"preprocessor\"===o.type){var d=r.exec(o.data);if(d){var s=d[1].replace(/\\s\\s+/g,\" \");if(s===a)return s;if(s===t)return o.data=\"#version \"+a,t;throw new Error(\"unknown glsl version: \"+s)}}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+a},{type:\"whitespace\",data:\"\\n\"}),null}function d(e,t){for(var a=t-1;a>=0;a--){var r=e[a];if(\"whitespace\"!==r.type&&\"block-comment\"!==r.type){if(\"keyword\"!==r.type)break;if(\"attribute\"===r.data||\"in\"===r.data)return!0}}return!1}function s(e,t,a,r){r=r||a;for(var n=0,i=e;n<i.length;n++){var o=i[n];if(\"ident\"===o.type&&o.data===a){r in t?t[r]++:t[r]=0;return s(e,t,r+\"_\"+t[r],r)}}return a}function f(e,t,a){function r(e,t){for(var a=t;a<e.length;a++){var r=e[a];if(\"operator\"===r.type&&\";\"===r.data)return a}return null}void 0===a&&(a=\"afterVersion\");var n={data:\"\\n\",type:\"whitespace\"},i=function(t){return t<e.length&&/[^\\r\\n]$/.test(e[t].data)},o=function(e){for(var t=-1,n=0,i=-1,o=0;o<e.length;o++){var d=e[o];if(\"preprocessor\"===d.type&&(d.data.match(/\\#(if|ifdef|ifndef)\\s+.+/)?++n:d.data.match(/\\#endif\\s*.*/)&&--n),\"afterVersion\"!==a&&\"afterPrecision\"!==a||\"preprocessor\"===d.type&&/^#version/.test(d.data)&&(i=Math.max(i,o)),\"afterPrecision\"===a&&\"keyword\"===d.type&&\"precision\"===d.data){var s=r(e,o);if(null===s)throw new Error(\"precision statement not followed by any semicolons!\");i=Math.max(i,s)}t<i&&0===n&&(t=o)}return t+1}(e);i(o-1)&&e.splice(o++,0,n);for(var d=0,s=t;d<s.length;d++){var f=s[d];e.splice(o++,0,f)}i(o-1)&&i(o)&&e.splice(o,0,n)}function p(e,t,a,r){void 0===r&&(r=\"lowp\"),f(e,[{type:\"keyword\",data:\"out\"},{type:\"whitespace\",data:\" \"},{type:\"keyword\",data:r},{type:\"whitespace\",data:\" \"},{type:\"keyword\",data:a},{type:\"whitespace\",data:\" \"},{type:\"ident\",data:t},{type:\"operator\",data:\";\"}],\"afterPrecision\")}function c(e,t){var r=n(e);if(\"300 es\"===o(r,\"100\",\"300 es\"))throw new Error(\"shader is already glsl 300 es\");for(var f=null,c=null,u={},v={},h=0;h<r.length;++h){var y=r[h];switch(y.type){case\"keyword\":\"vertex\"===t&&\"attribute\"===y.data?y.data=\"in\":\"varying\"===y.data&&(y.data=\"vertex\"===t?\"out\":\"in\");break;case\"builtin\":/^texture(2D|Cube)(Proj)?(Lod|Grad)?(EXT)?$/.test(y.data.trim())&&(y.data=y.data.replace(/(2D|Cube|EXT)/g,\"\")),\"fragment\"===t&&\"gl_FragColor\"===y.data?(f||(f=s(r,u,\"fragColor\"),p(r,f,\"vec4\")),y.data=f):\"fragment\"===t&&\"gl_FragDepthEXT\"===y.data&&(c||(c=s(r,u,\"gl_FragDepth\")),y.data=c);break;case\"ident\":if(a.indexOf(y.data)>=0){if(\"vertex\"===t&&d(r,h))throw new Error(\"attribute in vertex shader uses a name that is a reserved word in glsl 300 es\");y.data in v||(v[y.data]=s(r,u,y.data)),y.data=v[y.data]}}}for(var h=r.length-1;h>=0;--h){var y=r[h];if(\"preprocessor\"===y.type){var w=y.data.match(/\\#extension\\s+(.*)\\:/);if(w&&w[1]&&l.indexOf(w[1].trim())>=0){var g=r[h+1];r.splice(h,g&&\"whitespace\"===g.type?2:1)}var m=y.data.match(/\\#ifdef\\s+(.*)/);m&&m[1]&&l.indexOf(m[1].trim())>=0&&(y.data=\"#if 1\");var _=y.data.match(/\\#ifndef\\s+(.*)/);_&&_[1]&&l.indexOf(_[1].trim())>=0&&(y.data=\"#if 0\")}}return i(r)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];t.transpileShader=c});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"../../core/mathUtils\"],function(e,t,i,a){function o(e){return null!=e&&\"type\"in e&&\"compressed\"===e.type}return function(){function e(t,a,o){this._context=null,this._glName=null,this._id=-1,this._desc=void 0,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._boundToUnits=new Set,this._context=t,this._desc={pixelFormat:a.pixelFormat,internalFormat:a.internalFormat,dataType:a.dataType,target:a.target?a.target:3553,samplingMode:a.samplingMode?a.samplingMode:9729,wrapMode:a.wrapMode?a.wrapMode:10497,maxAnisotropy:a.maxAnisotropy,flipped:void 0!==a.flipped&&a.flipped,hasMipmap:void 0!==a.hasMipmap&&a.hasMipmap,unpackAlignment:a.unpackAlignment?a.unpackAlignment:4,width:a.width,height:a.height,preMultiplyAlpha:void 0!==a.preMultiplyAlpha&&a.preMultiplyAlpha,textureCoordinateScaleFactor:a.textureCoordinateScaleFactor||null},this._id=++e._nextId,i(\"esri-webgl-debug\")&&t.instanceCounter.incrementCount(0),this.setData(o)}return Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"descriptor\",{get:function(){return this._desc},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){var e=this;if(this._context&&this._context.gl){if(this._glName){var t=this._context.gl;this._boundToUnits.forEach(function(t){e._context.bindTexture(null,t)}),t.deleteTexture(this._glName),this._glName=null}i(\"esri-webgl-debug\")&&this._context.instanceCounter.decrementCount(0),this._context=null}},e.prototype.release=function(){this.dispose()},e.prototype.resize=function(e,t){var i=this._desc;i.width===e&&i.height===t||(i.width=e,i.height=t,this.setData(null))},e.prototype.setData=function(t){var i=this._context.gl;this._glName||(this._glName=i.createTexture()),void 0===t&&(t=null),null===t&&(this._desc.width=this._desc.width||4,this._desc.height=this._desc.height||4);var a=this._context.getBoundTexture(0);this._context.bindTexture(this,0);var n=this._desc;e._validateTexture(n),i.pixelStorei(i.UNPACK_ALIGNMENT,n.unpackAlignment),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n.flipped?1:0),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.preMultiplyAlpha?1:0);var r=n.pixelFormat,s=n.internalFormat?n.internalFormat:r;if(t instanceof ImageData||t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)n.width&&n.height&&console.assert(t.width===n.width&&t.height===n.height),i.texImage2D(i.TEXTURE_2D,0,s,r,n.dataType,t),n.hasMipmap&&this.generateMipmap(),void 0===this._desc.width&&(this._desc.width=t.width),void 0===this._desc.height&&(this._desc.height=t.height);else{null!=n.width&&null!=n.height||console.error(\"Width and height must be specified!\"),i.DEPTH24_STENCIL8&&s===i.DEPTH_STENCIL&&(s=i.DEPTH24_STENCIL8);var p=n.width,h=n.height;if(o(t)){var l=Math.round(Math.log(Math.max(p,h))/Math.LN2)+1;n.hasMipmap=n.hasMipmap&&l===t.levels.length;for(var d=0;;++d){var _=t.levels[Math.min(d,t.levels.length-1)];if(i.compressedTexImage2D(i.TEXTURE_2D,d,s,p,h,0,_),1===p&&1===h||!n.hasMipmap)break;p=Math.max(1,p>>1),h=Math.max(1,h>>1)}}else if(t)i.texImage2D(i.TEXTURE_2D,0,s,p,h,0,r,n.dataType,t),n.hasMipmap&&this.generateMipmap();else for(var d=0;i.texImage2D(i.TEXTURE_2D,d,s,p,h,0,r,n.dataType,null),(1!==p||1!==h)&&n.hasMipmap;++d)p=Math.max(1,p>>1),h=Math.max(1,h>>1)}e._applySamplingMode(i,this._desc),e._applyWrapMode(i,this._desc),e._applyAnisotropicFilteringParameters(this._context,this._desc),this._context.bindTexture(a,0)},e.prototype.updateData=function(e,t,i,a,o,n){n||console.error(\"An attempt to use uninitialized data!\"),this._glName||console.error(\"An attempt to update uninitialized texture!\");var r=this._context.gl,s=this._desc,p=this._context.getBoundTexture(0);this._context.bindTexture(this,0),(t<0||i<0||a>s.width||o>s.height||t+a>s.width||i+o>s.height)&&console.error(\"An attempt to update out of bounds of the texture!\"),r.pixelStorei(r.UNPACK_ALIGNMENT,s.unpackAlignment),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,s.flipped?1:0),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.preMultiplyAlpha?1:0),n instanceof ImageData||n instanceof HTMLImageElement||n instanceof HTMLCanvasElement||n instanceof HTMLVideoElement?(console.assert(n.width===a&&n.height===o),r.texSubImage2D(r.TEXTURE_2D,e,t,i,s.pixelFormat,s.dataType,n)):r.texSubImage2D(r.TEXTURE_2D,e,t,i,a,o,s.pixelFormat,s.dataType,n),this._context.bindTexture(p,0)},e.prototype.generateMipmap=function(){var t=this._desc;t.hasMipmap||(t.hasMipmap=!0,e._validateTexture(t)),9729===t.samplingMode?(this._samplingModeDirty=!0,t.samplingMode=9985):9728===t.samplingMode&&(this._samplingModeDirty=!0,t.samplingMode=9984);var i=this._context.getBoundTexture(0);this._context.bindTexture(this,0);var a=this._context.gl;a.generateMipmap(a.TEXTURE_2D),this._context.bindTexture(i,0)},e.prototype.setSamplingMode=function(t){t!==this._desc.samplingMode&&(this._desc.samplingMode=t,e._validateTexture(this._desc),this._samplingModeDirty=!0)},e.prototype.setWrapMode=function(t){t!==this._desc.wrapMode&&(this._desc.wrapMode=t,e._validateTexture(this._desc),this._wrapModeDirty=!0)},e.prototype.applyChanges=function(){var t=this._context.gl,i=this._desc;this._samplingModeDirty&&(e._applySamplingMode(t,i),this._samplingModeDirty=!1),this._wrapModeDirty&&(e._applyWrapMode(t,i),this._wrapModeDirty=!1)},e.prototype.setBoundToUnit=function(e,t){t?this._boundToUnits.add(e):this._boundToUnits.delete(e)},e._validateTexture=function(e){(e.width<0||e.height<0)&&console.error(\"Negative dimension parameters are not allowed!\"),a.isPowerOfTwo(e.width)&&a.isPowerOfTwo(e.height)||(\"number\"==typeof e.wrapMode?33071!==e.wrapMode&&console.error(\"Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!\"):33071===e.wrapMode.s&&33071===e.wrapMode.t||console.error(\"Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!\"),e.hasMipmap&&console.error(\"Mipmapping requires power-of-two textures!\"))},e._applySamplingMode=function(e,t){var i=t.samplingMode,a=t.samplingMode;9985===i||9987===i?(i=9729,t.hasMipmap||(a=9729)):9984!==i&&9986!==i||(i=9728,t.hasMipmap||(a=9728)),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,a)},e._applyWrapMode=function(e,t){\"number\"==typeof t.wrapMode?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapMode.t))},e._applyAnisotropicFilteringParameters=function(e,t){if(null!=t.maxAnisotropy){var i=e.capabilities.textureFilterAnisotropic;if(i){var a=e.gl;a.texParameterf(a.TEXTURE_2D,i.TEXTURE_MAX_ANISOTROPY,t.maxAnisotropy)}}},e._nextId=0,e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\",\"../../core/compilerUtils\"],function(e,r,t,i){function n(e,r){return e.vertexBuffers[r].size/o(e.layout[r])}function o(e){return e[0].stride}function a(e){switch(e){case 5126:case 5124:case 5125:return 4;case 5122:case 5123:return 2;case 5120:case 5121:return 1;default:throw new Error(\"Unknown data type\")}}function s(e,r,t,i,n,o){var s=a(i);if(e.length>0){var u=e[0].stride,c=u+s*t;e.forEach(function(e){return e.stride=c}),e.push({name:r,count:t,type:i,offset:u,stride:c,normalized:n,divisor:o})}else e.push({name:r,count:t,type:i,offset:0,stride:s*t,normalized:n,divisor:o})}function u(e,r){for(var t=0;t<e.length;t++)if(e[t].name===r)return!0;return!1}function c(e,r){for(var t=0;t<e.length;t++)if(e[t].name===r)return e[t];return null}function f(e,r,t,i,n){void 0===n&&(n=0);var o=e.getBoundFramebufferObject(),a=e.getBoundTexture(0);e.bindFramebuffer(r),e.bindTexture(t,0),e.gl.copyTexImage2D(e.gl.TEXTURE_2D,n,t.descriptor.pixelFormat,i[0],i[1],i[2],i[3],0),e.gl.flush(),e.bindFramebuffer(o),e.bindTexture(a,0)}function d(e,r){var i={};for(var n in e)i[n]=e[n].map(function(e){return e.divisor?t({},e,{baseInstance:r}):e});return i}function v(e,r,t,i,n){var o=e.gl,a=e.capabilities.instancing;e.bindBuffer(t);for(var s=0,u=i;s<u.length;s++){var c=u[s],f=r[c.name],d=(n||(0+c.baseInstance?c.baseInstance:0))*c.stride;if(void 0===f&&console.error(\"There is no location for vertex attribute '\"+c.name+\"' defined.\"),c.baseInstance&&!c.divisor&&console.error(\"Vertex attribute '\"+c.name+\"' uses baseInstanceOffset without divisor.\"),c.count<=4)o.vertexAttribPointer(f,c.count,c.type,c.normalized,c.stride,c.offset+d),o.enableVertexAttribArray(f),c.divisor&&c.divisor>0&&a&&a.vertexAttribDivisor(f,c.divisor);else if(9===c.count)for(var v=0;v<3;v++)o.vertexAttribPointer(f+v,3,c.type,c.normalized,c.stride,c.offset+12*v+d),o.enableVertexAttribArray(f+v),c.divisor&&c.divisor>0&&a&&a.vertexAttribDivisor(f+v,c.divisor);else if(16===c.count)for(var v=0;v<4;v++)o.vertexAttribPointer(f+v,4,c.type,c.normalized,c.stride,c.offset+16*v+d),o.enableVertexAttribArray(f+v),c.divisor&&c.divisor>0&&a&&a.vertexAttribDivisor(f+v,c.divisor);else console.error(\"Unsupported vertex attribute element count: \"+c.count)}}function l(e,r,t,i){var n=e.gl,o=e.capabilities.instancing;e.bindBuffer(t);for(var a=0,s=i;a<s.length;a++){var u=s[a],c=r[u.name];if(u.count<=4)n.disableVertexAttribArray(c),u.divisor&&u.divisor>0&&o&&o.vertexAttribDivisor(c,0);else if(9===u.count)for(var f=0;f<3;f++)n.disableVertexAttribArray(c+f),u.divisor&&u.divisor>0&&o&&o.vertexAttribDivisor(c+f,0);else if(16===u.count)for(var f=0;f<4;f++)n.disableVertexAttribArray(c+f),u.divisor&&u.divisor>0&&o&&o.vertexAttribDivisor(c+f,0);else console.error(\"Unsupported vertex attribute element count: \"+u.count)}e.unbindBuffer(34962)}function b(e){switch(e){case 6406:case 6409:return 1;case 6410:return 2;case 6407:return 3;case 6408:case 34041:return 4;case 33325:return 2;case 33326:case 35898:case 33327:return 4;case 33328:case 34842:return 8;case 34836:return 16;case 33189:return 2;case 34041:return 4;case 32854:return 2;case 36168:return 1;default:i.neverReached(e)}return 0}function m(e){if(!e)return 0;if(\"colorAttachment\"in e)return e.glName?m(e.colorAttachment)+m(e.depthStencilAttachment):0;if(\"descriptor\"in e)return e.glName?m(e.descriptor):0;var r=e.internalFormat||\"pixelFormat\"in e&&e.pixelFormat;if(!r)return 0;var t=\"hasMipmap\"in e&&e.hasMipmap?1.3:1,i=e.width*e.height;return b(r)*i*t}Object.defineProperty(r,\"__esModule\",{value:!0}),r.vertexCount=n,r.getStride=o,r.getBytesPerElement=a,r.addDescriptor=s,r.hasAttribute=u,r.findAttribute=c,r.copyFramebufferToTexture=f,r.setBaseInstanceOffset=d,r.bindVertexBufferLayout=v,r.unbindVertexBufferLayout=l,r.getBytesPerElementFormat=b,r.getGpuMemoryUsage=m});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/has\",\"./Util\"],function(e,t,i,n){return function(){function e(t,n,r,o,s){this._context=null,this._glName=null,this._layout=null,this._locations=null,this._buffers=void 0,this._indexBuffer=void 0,this._initialized=!1,this._context=t,this._layout=r,this._buffers=o,this._locations=n,s&&(this._indexBuffer=s),this._id=e._nextId++,i(\"esri-webgl-debug\")&&t.instanceCounter.incrementCount(2)}return Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glName\",{get:function(){return this._glName},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"vertexBuffers\",{get:function(){return this._buffers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"indexBuffer\",{get:function(){return this._indexBuffer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){var e=this;return Object.keys(this._buffers).reduce(function(t,i){return t+e._buffers[i].size},this._indexBuffer?this._indexBuffer.size:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"layout\",{get:function(){return this._layout},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"locations\",{get:function(){return this._locations},enumerable:!0,configurable:!0}),e.prototype.dispose=function(e){if(void 0===e&&(e=!0),this._context){var t=this._context.capabilities.vao;t&&this._glName&&(t.deleteVertexArray(this._glName),this._glName=null);if(this._context.getBoundVAO()===this&&this._context.bindVAO(null),e){for(var n in this._buffers)this._buffers[n].dispose(),delete this._buffers[n];this._indexBuffer&&(this._indexBuffer.dispose(),this._indexBuffer=null)}i(\"esri-webgl-debug\")&&this._context.instanceCounter.decrementCount(2),this._context=null}},e.prototype.initialize=function(){if(!this._initialized){var e=this._context.capabilities.vao;if(e){var t=e.createVertexArray();e.bindVertexArray(t),this._bindLayout(),e.bindVertexArray(null),this._glName=t}this._initialized=!0}},e.prototype.bind=function(){this.initialize();var e=this._context.capabilities.vao;e?e.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())},e.prototype._bindLayout=function(){var e=this._buffers,t=!!this._context.capabilities.vao,i=this._layout,r=this._indexBuffer;e||console.error(\"Vertex buffer dictionary is empty!\");var o=this._context.gl;for(var s in e){var u=e[s];u||console.error(\"Vertex buffer is uninitialized!\");var f=i[s];f||console.error(\"Vertex element descriptor is empty!\"),n.bindVertexBufferLayout(this._context,this._locations,u,f)}r&&(t?o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,r.glName):this._context.bindBuffer(r))},e.prototype.unbind=function(){this.initialize();var e=this._context.capabilities.vao;e?e.bindVertexArray(null):this._unbindLayout()},e.prototype._unbindLayout=function(){var e=this._buffers,t=this._layout;e||console.error(\"Vertex buffer dictionary is empty!\");for(var i in e){var r=e[i];r||console.error(\"Vertex buffer is uninitialized!\");var o=t[i];n.unbindVertexBufferLayout(this._context,this._locations,r,o)}var s=this._indexBuffer;s&&this._context.unbindBuffer(s.bufferType)},e._nextId=0,e}()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./isWebGL2Context\"],function(e,t,r){function n(e,t){if(t.disjointTimerQuery)return null;var n=e.getExtension(\"EXT_disjoint_timer_query\")||e.getExtension(\"EXT_disjoint_timer_query_webgl2\");return n?r.default(e)?{createQuery:function(){return e.createQuery()},resultAvailable:function(t){return e.getQueryParameter(t,e.QUERY_RESULT_AVAILABLE)},getResult:function(t){return e.getQueryParameter(t,e.QUERY_RESULT)},disjoint:function(){return e.getParameter(n.GPU_DISJOINT_EXT)},beginTimeElapsed:function(t){return e.beginQuery(n.TIME_ELAPSED_EXT,t)},endTimeElapsed:function(){return e.endQuery(n.TIME_ELAPSED_EXT)},createTimestamp:function(e){return n.queryCounterEXT(e,n.TIMESTAMP_EXT)},timestampBits:function(){return e.getQuery(n.TIMESTAMP_EXT,n.QUERY_COUNTER_BITS_EXT)}}:{createQuery:function(){return n.createQueryEXT()},resultAvailable:function(e){return n.getQueryObjectEXT(e,n.QUERY_RESULT_AVAILABLE_EXT)},getResult:function(e){return n.getQueryObjectEXT(e,n.QUERY_RESULT_EXT)},disjoint:function(){return e.getParameter(n.GPU_DISJOINT_EXT)},beginTimeElapsed:function(e){return n.beginQueryEXT(n.TIME_ELAPSED_EXT,e)},endTimeElapsed:function(){return n.endQueryEXT(n.TIME_ELAPSED_EXT)},createTimestamp:function(e){return n.queryCounterEXT(e,n.TIMESTAMP_EXT)},timestampBits:function(){return n.getQueryEXT(n.TIMESTAMP_EXT,n.QUERY_COUNTER_BITS_EXT)}}:null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.load=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./isWebGL2Context\"],function(e,n,r){function t(e){if(r.default(e))return{drawArraysInstanced:e.drawArraysInstanced.bind(e),drawElementsInstanced:e.drawElementsInstanced.bind(e),vertexAttribDivisor:e.vertexAttribDivisor.bind(e)};var n=e.getExtension(\"ANGLE_instanced_arrays\");return n?{drawArraysInstanced:n.drawArraysInstancedANGLE.bind(n),drawElementsInstanced:n.drawElementsInstancedANGLE.bind(n),vertexAttribDivisor:n.vertexAttribDivisorANGLE.bind(n)}:null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.load=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function t(e,n){var t=n.loseContext&&e.getExtension(\"WEBGL_lose_context\");return t?{loseRenderingContext:function(){return t.loseContext()}}:null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.load=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./isWebGL2Context\"],function(e,r,t){function n(e,r){if(t.default(e))return{createVertexArray:e.createVertexArray.bind(e),deleteVertexArray:e.deleteVertexArray.bind(e),bindVertexArray:e.bindVertexArray.bind(e)};if(r.vao)return null;var n=e.getExtension(\"OES_vertex_array_object\")||e.getExtension(\"MOZ_OES_vertex_array_object\")||e.getExtension(\"WEBKIT_OES_vertex_array_object\");return n?{createVertexArray:n.createVertexArrayOES.bind(n),deleteVertexArray:n.deleteVertexArrayOES.bind(n),bindVertexArray:n.bindVertexArrayOES.bind(n)}:null}Object.defineProperty(r,\"__esModule\",{value:!0}),r.load=n});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function t(e){return window.WebGL2RenderingContext&&e instanceof window.WebGL2RenderingContext}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./DisjointTimerQuery\",\"./Instancing\",\"./isWebGL2Context\",\"./LoseContext\",\"./VertexArrayObjects\"],function(t,e,n,r,o,u,_){function l(t,e){var o,l,T,F,R,s,O,X,b,d=e&&e.disabledExtensions||{},A=e&&e.debugWebGLExtensions||{},S=null,g=null,G=null,B=null;return{get instancing(){return o||(o=r.load(t)),o},get vao(){return l||(l=_.load(t,d)),l},get compressedTextureS3TC(){return T||(T=i(t,d)),T},get textureFilterAnisotropic(){return F||(F=f(t,d)),F},get disjointTimerQuery(){return R||(R=n.load(t,d)),R},get textureFloat(){return s||(s=E(t,d)),s},get colorBufferFloat(){return O||(O=c(t,d)),O},get blendMinMax(){return X||(X=a(t,d)),X},get depthTexture(){return null===S&&(S=x(t,d,\"depthTexture\",!0,[\"WEBGL_depth_texture\",\"MOZ_WEBGL_depth_texture\",\"WEBKIT_WEBGL_depth_texture\"])),S},get standardDerivatives(){return null===g&&(g=x(t,d,\"standardDerivatives\",!0,[\"OES_standard_derivatives\"])),g},get shaderTextureLOD(){return null===G&&(G=x(t,d,\"shaderTextureLOD\",!0,[\"EXT_shader_texture_lod\"])),G},get fragDepth(){return null===B&&(B=x(t,d,\"fragDepth\",!0,[\"EXT_frag_depth\"])),B},get loseContext(){return b||(b=u.load(t,A)),b}}}function i(t,e){if(e.compressedTextureS3TC)return null;var n=t.getExtension(\"WEBGL_compressed_texture_s3tc\");return n?{COMPRESSED_RGB_S3TC_DXT1:n.COMPRESSED_RGB_S3TC_DXT1_EXT,COMPRESSED_RGBA_S3TC_DXT1:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,COMPRESSED_RGBA_S3TC_DXT3:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,COMPRESSED_RGBA_S3TC_DXT5:n.COMPRESSED_RGBA_S3TC_DXT5_EXT}:null}function a(t,e){if(o.default(t))return{MIN:t.MIN,MAX:t.MAX};if(e.blendMinMax)return null;var n=t.getExtension(\"EXT_blend_minmax\");return n?{MIN:n.MIN_EXT,MAX:n.MAX_EXT}:null}function f(t,e){if(e.textureFilterAnisotropic)return null;var n=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");return n?{MAX_TEXTURE_MAX_ANISOTROPY:n.MAX_TEXTURE_MAX_ANISOTROPY_EXT,TEXTURE_MAX_ANISOTROPY:n.TEXTURE_MAX_ANISOTROPY_EXT}:null}function E(t,e){if(o.default(t))return{textureFloat:!0,textureFloatLinear:!e.textureFloatLinear&&!!t.getExtension(\"OES_texture_float_linear\"),textureHalfFloat:!0,textureHalfFloatLinear:!e.textureHalfFloatLinear&&!!t.getExtension(\"OES_texture_half_float_linear\"),HALF_FLOAT:t.HALF_FLOAT};if(t instanceof WebGLRenderingContext){var n=!e.textureHalfFloat&&t.getExtension(\"OES_texture_half_float\");return{textureFloat:!e.textureFloat&&!!t.getExtension(\"OES_texture_float\"),textureFloatLinear:!e.textureFloatLinear&&!!t.getExtension(\"OES_texture_float_linear\"),textureHalfFloat:!!n,textureHalfFloatLinear:!e.textureHalfFloatLinear&&!!t.getExtension(\"OES_texture_half_float_linear\"),HALF_FLOAT:n?n.HALF_FLOAT_OES:void 0}}return null}function c(t,e){if(o.default(t)){var n=!e.colorBufferFloat&&t.getExtension(\"EXT_color_buffer_half_float\"),r=!e.colorBufferFloat&&t.getExtension(\"EXT_color_buffer_float\");return n||r?{textureFloat:!!r,textureHalfFloat:!!n,R16F:t.R16F,RG16F:t.RG16F,RGBA16F:t.RGBA16F,R32F:t.R32F,RG32F:t.RG32F,RGBA32F:t.RGBA32F,R11F_G11F_B10F:t.R11F_G11F_B10F,RGB16F:t.RGB16F}:null}if(t instanceof WebGLRenderingContext){var n=!e.colorBufferFloat&&t.getExtension(\"EXT_color_buffer_half_float\"),r=!e.colorBufferFloat&&t.getExtension(\"WEBGL_color_buffer_float\");return n||r?{textureFloat:!!r,textureHalfFloat:!!n,RGBA16F:n?n.RGBA16F_EXT:void 0,RGB16F:n?n.RGB16F_EXT:void 0,RGBA32F:r?r.RGBA32F_EXT:void 0}:null}return null}function x(t,e,n,r,u){if(r&&o.default(t))return!0;if(e[n])return!1;for(var _=0,l=u;_<l.length;_++){var i=l[_];if(t.getExtension(i))return!0}return!1}Object.defineProperty(e,\"__esModule\",{value:!0}),e.loadCapabilities=l});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Very loosely based on the original webgl-utils.js, see following copyright notice.\n */\n\n/*\n * Copyright 2010, Google Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\ndefine([\"require\",\"exports\"],function(e,r){function t(e,r,t){if(void 0===r&&(r={}),!window.WebGLRenderingContext)return o(e,a),null;var i=l(e,r,t);return i||(o(e,n),null)}function l(e,r,t){void 0===r&&(r={});var l;switch(t){case\"webgl\":l=[\"webgl\",\"experimental-webgl\",\"webkit-3d\",\"moz-webgl\"];break;case\"webgl2\":l=[\"webgl2\"];break;default:l=[\"webgl\",\"experimental-webgl\",\"webkit-3d\",\"moz-webgl\"]}for(var o=null,a=0,n=l;a<n.length;a++){var i=n[a];try{o=e.getContext(i,r)}catch(e){}if(o)break}return o}function o(e,r){var t=e.parentNode;t&&(t.innerHTML='<table style=\"background-color: #8CE; width: 100%; height: 100%;\"><tr><td align=\"center\"><div style=\"display: table-cell; vertical-align: middle;\"><div style=\"\">'+r+\"</div></div></td></tr></table>\")}Object.defineProperty(r,\"__esModule\",{value:!0}),r.createContextOrErrorHTML=t,r.createContext=l;var a='This page requires a browser that supports WebGL.<br/><a href=\"http://get.webgl.org\">Click here to upgrade your browser.</a>',n='It doesn\\'t appear your computer can support WebGL.<br/><a href=\"http://get.webgl.org/troubleshooting/\">Click here for more information.</a>'});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.BASE_TEXTURE_UNIT=33984});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"./lib/literals\",\"./lib/operators\",\"./lib/builtins\"],function(e,n,t){\"use strict;\";function r(){function r(e){e.length&&L.push({type:j[J],data:e,position:P,line:M,column:N})}function w(e){H=0,S+=e,G=S.length;for(var n;C=S[H],H<G;){switch(n=H,J){case s:H=_();break;case o:H=O();break;case c:H=E();break;case f:H=y();break;case a:H=q();break;case k:H=F();break;case l:H=z();break;case u:H=B();break;case b:H=x();break;case i:H=m()}if(n!==H)switch(S[n]){case\"\\n\":N=0,++M;break;default:++N}}return I+=H,S=S.slice(H),L}function v(e){return K.length&&r(K.join(\"\")),J=d,r(\"(eof)\"),L}function m(){return K=K.length?[]:K,\"/\"===D&&\"*\"===C?(P=I+H-1,J=s,D=C,H+1):\"/\"===D&&\"/\"===C?(P=I+H-1,J=o,D=C,H+1):\"#\"===C?(J=c,P=I+H,H):/\\s/.test(C)?(J=b,P=I+H,H):(Q=/\\d/.test(C),R=/[^\\w_]/.test(C),P=I+H,J=Q?a:R?f:u,H)}function x(){return/[^\\s]/g.test(C)?(r(K.join(\"\")),J=i,H):(K.push(C),D=C,H+1)}function E(){return\"\\r\"!==C&&\"\\n\"!==C||\"\\\\\"===D?(K.push(C),D=C,H+1):(r(K.join(\"\")),J=i,H)}function O(){return E()}function _(){return\"/\"===C&&\"*\"===D?(K.push(C),r(K.join(\"\")),J=i,H+1):(K.push(C),D=C,H+1)}function y(){if(\".\"===D&&/\\d/.test(C))return J=l,H;if(\"/\"===D&&\"*\"===C)return J=s,H;if(\"/\"===D&&\"/\"===C)return J=o,H;if(\".\"===C&&K.length){for(;A(K););return J=l,H}if(\";\"===C||\")\"===C||\"(\"===C){if(K.length)for(;A(K););return r(C),J=i,H+1}var e=2===K.length&&\"=\"!==C;if(/[\\w_\\d\\s]/.test(C)||e){for(;A(K););return J=i,H}return K.push(C),D=C,H+1}function A(e){for(var t,i,u=0;;){if(t=n.indexOf(e.slice(0,e.length+u).join(\"\")),i=n[t],-1===t){if(u--+e.length>0)continue;i=e.slice(0,1).join(\"\")}return r(i),P+=i.length,K=K.slice(i.length),K.length}}function F(){return/[^a-fA-F0-9]/.test(C)?(r(K.join(\"\")),J=i,H):(K.push(C),D=C,H+1)}function q(){return\".\"===C?(K.push(C),J=l,D=C,H+1):/[eE]/.test(C)?(K.push(C),J=l,D=C,H+1):\"x\"===C&&1===K.length&&\"0\"===K[0]?(J=k,K.push(C),D=C,H+1):/[^\\d]/.test(C)?(r(K.join(\"\")),J=i,H):(K.push(C),D=C,H+1)}function z(){return\"f\"===C&&(K.push(C),D=C,H+=1),/[eE]/.test(C)?(K.push(C),D=C,H+1):\"-\"===C&&/[eE]/.test(D)?(K.push(C),D=C,H+1):/[^\\d]/.test(C)?(r(K.join(\"\")),J=i,H):(K.push(C),D=C,H+1)}function B(){if(/[^\\d\\w_]/.test(C)){var n=K.join(\"\");return J=e.indexOf(n)>-1?g:t.indexOf(n)>-1?p:h,r(K.join(\"\")),J=i,H}return K.push(C),D=C,H+1}var C,D,G,H=0,I=0,J=i,K=[],L=[],M=1,N=0,P=0,Q=!1,R=!1,S=\"\";return function(e){return L=[],null!==e?w(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):v()}}var i=999,u=9999,s=0,o=1,c=2,f=3,a=4,l=5,h=6,p=7,g=8,b=9,d=10,k=11,j=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];return r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){\"use strict\";return[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){\"use strict\";return[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([],function(){\"use strict;\";return[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"./index\"],function(n){\"use strict;\";function t(t){var c=n(),e=[];return e=e.concat(c(t)),e=e.concat(c(null))}return t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./Program\"],function(e,r,n){function t(e){var r=\"\";for(var n in e){var t=e[n];if(\"boolean\"==typeof t)t&&(r+=\"#define \"+n+\"\\n\");else if(\"number\"==typeof t)r+=\"#define \"+n+\" \"+t.toFixed()+\"\\n\";else if(\"object\"==typeof t){var f=t.options,i=0;for(var o in f)r+=\"#define \"+f[o]+\" \"+(i++).toFixed()+\"\\n\";r+=\"#define \"+n+\" \"+f[t.value]+\"\\n\"}}return r}function f(e,r,t,f){t=t||{},f=f||\"\";var i=\"function\"==typeof r.shaders?r.shaders(t):r.shaders;return new n(e,f+i.vertexShader,f+i.fragmentShader,r.attributes)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.glslifyDefineMap=t,r.createProgram=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/assignHelper\"],function(t,e,i){function n(t,e,i,n){return void 0===i&&(i=32774),void 0===n&&(n=[0,0,0,0]),{srcRgb:t,srcAlpha:t,dstRgb:e,dstAlpha:e,opRgb:i,opAlpha:i,color:{r:n[0],g:n[1],b:n[2],a:n[3]}}}function s(t,e,i,n,s,l,r){return void 0===s&&(s=32774),void 0===l&&(l=32774),void 0===r&&(r=[0,0,0,0]),{srcRgb:t,srcAlpha:e,dstRgb:i,dstAlpha:n,opRgb:s,opAlpha:l,color:{r:r[0],g:r[1],b:r[2],a:r[3]}}}function l(t){return k.intern(t)}function r(t){return O.intern(t)}function o(t){return P.intern(t)}function a(t){return C.intern(t)}function p(t){return D.intern(t)}function u(t){return R.intern(t)}function h(t){return w.intern(t)}function c(t){return A.intern(t)}function d(t){return B.intern(t)}function f(t){return\"[\"+t.join(\",\")+\"]\"}function _(t){return t?f([t.srcRgb,t.srcAlpha,t.dstRgb,t.dstAlpha,t.opRgb,t.opAlpha,t.color.r,t.color.g,t.color.b,t.color.a]):null}function g(t){return t?f([t.face,t.mode]):null}function v(t){return t?f([t.factor,t.units]):null}function W(t){return t?f([t.func]):null}function I(t){return t?f([t.function.func,t.function.ref,t.function.mask,t.operation.fail,t.operation.zFail,t.operation.zPass]):null}function S(t){return t?f([t.zNear,t.zFar]):null}function y(t){return t?f([t.r,t.g,t.b,t.a]):null}function b(t){return t?f([t.mask]):null}function T(t){return t?f([_(t.blending),g(t.culling),v(t.polygonOffset),W(t.depthTest),I(t.stencilTest),S(t.depthWrite),y(t.colorWrite),b(t.stencilWrite)]):null}Object.defineProperty(e,\"__esModule\",{value:!0}),e.simpleBlendingParams=n,e.separateBlendingParams=s,e.backFaceCullingParams={face:1029,mode:2305},e.defaultDepthWriteParams={zNear:0,zFar:1},e.defaultColorWriteParams={r:!0,g:!0,b:!0,a:!0},e.makeBlending=l,e.makeCulling=r,e.makePolygonOffset=o,e.makeDepthTest=a,e.makeStencilTest=p,e.makeDepthWrite=u,e.makeColorWrite=h,e.makeStencilWrite=c,e.makePipelineState=d;var m=function(){function t(t,e){this.makeKey=t,this.makeRef=e,this.interns=new Map}return t.prototype.intern=function(t){if(!t)return null;var e=this.makeKey(t),i=this.interns;return i.has(e)||i.set(e,this.makeRef(t)),i.get(e)},t}(),k=new m(_,function(t){return i({__tag:\"Blending\"},t)}),O=new m(g,function(t){return i({__tag:\"Culling\"},t)}),P=new m(v,function(t){return i({__tag:\"PolygonOffset\"},t)}),C=new m(W,function(t){return i({__tag:\"DepthTest\"},t)}),D=new m(I,function(t){return i({__tag:\"StencilTest\"},t)}),R=new m(S,function(t){return i({__tag:\"DepthWrite\"},t)}),w=new m(y,function(t){return i({__tag:\"ColorWrite\"},t)}),A=new m(b,function(t){return i({__tag:\"StencilWrite\"},t)}),B=new m(T,function(t){return{blending:l(t.blending),culling:r(t.culling),polygonOffset:o(t.polygonOffset),depthTest:a(t.depthTest),stencilTest:p(t.stencilTest),depthWrite:u(t.depthWrite),colorWrite:h(t.colorWrite),stencilWrite:c(t.stencilWrite)}}),z=function(){function t(t){this._pipelineInvalid=!0,this._blendingInvalid=!0,this._cullingInvalid=!0,this._polygonOffsetInvalid=!0,this._depthTestInvalid=!0,this._stencilTestInvalid=!0,this._depthWriteInvalid=!0,this._colorWriteInvalid=!0,this._stencilWriteInvalid=!0,this._stateSetters=t}return t.prototype.setPipeline=function(t){(this._pipelineInvalid||t!==this._pipeline)&&(this.setBlending(t.blending),this.setCulling(t.culling),this.setPolygonOffset(t.polygonOffset),this.setDepthTest(t.depthTest),this.setStencilTest(t.stencilTest),this.setDepthWrite(t.depthWrite),this.setColorWrite(t.colorWrite),this.setStencilWrite(t.stencilWrite),this._pipeline=t),this._pipelineInvalid=!1},t.prototype.invalidateBlending=function(){this._blendingInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateCulling=function(){this._cullingInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidatePolygonOffset=function(){this._polygonOffsetInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateDepthTest=function(){this._depthTestInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateStencilTest=function(){this._stencilTestInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateDepthWrite=function(){this._depthWriteInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateColorWrite=function(){this._colorWriteInvalid=!0,this._pipelineInvalid=!0},t.prototype.invalidateStencilWrite=function(){this._stencilTestInvalid=!0,this._pipelineInvalid=!0},t.prototype.setBlending=function(t){this._blending=this.setSubState(t,this._blending,this._blendingInvalid,this._stateSetters.setBlending),this._blendingInvalid=!1},t.prototype.setCulling=function(t){this._culling=this.setSubState(t,this._culling,this._cullingInvalid,this._stateSetters.setCulling),this._cullingInvalid=!1},t.prototype.setPolygonOffset=function(t){this._polygonOffset=this.setSubState(t,this._polygonOffset,this._polygonOffsetInvalid,this._stateSetters.setPolygonOffset),this._polygonOffsetInvalid=!1},t.prototype.setDepthTest=function(t){this._depthTest=this.setSubState(t,this._depthTest,this._depthTestInvalid,this._stateSetters.setDepthTest),this._depthTestInvalid=!1},t.prototype.setStencilTest=function(t){this._stencilTest=this.setSubState(t,this._stencilTest,this._stencilTestInvalid,this._stateSetters.setStencilTest),this._stencilTestInvalid=!1},t.prototype.setDepthWrite=function(t){this._depthWrite=this.setSubState(t,this._depthWrite,this._depthWriteInvalid,this._stateSetters.setDepthWrite),this._depthWriteInvalid=!1},t.prototype.setColorWrite=function(t){this._colorWrite=this.setSubState(t,this._colorWrite,this._colorWriteInvalid,this._stateSetters.setColorWrite),this._colorWriteInvalid=!1},t.prototype.setStencilWrite=function(t){this._stencilWrite=this.setSubState(t,this._stencilWrite,this._stencilWriteInvalid,this._stateSetters.setStencilWrite),this._stencilTestInvalid=!1},t.prototype.setSubState=function(t,e,i,n){return(i||t!==e)&&(n(t),this._pipelineInvalid=!0),t},t}();e.StateTracker=z});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,r){return[\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/accessorSupport/ensureType\"],function(e,r,n){function t(e){var r=n.ensureInteger(100*(1-e));return Math.max(0,Math.min(r,100))}function a(e){var r=1-e/100;return Math.max(0,Math.min(r,1))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.opacityToTransparency=t,r.transparencyToOpacity=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/Error\",\"../../core/lang\",\"../../core/maybe\",\"../../core/object\"],function(e,r,n,t,i,a){function l(e){return\"basemap\"===e.layerContainerType?p:\"operational-layers\"===e.layerContainerType?m:null}function o(e){return!(\"feature\"!==e.type||e.url||!e.source||\"memory\"!==e.source.type)}function u(e,r){if(r.restrictedWebMapWriting){var n=l(r);return!i.isSome(n)||n.has(e.type)&&!o(e)}return!0}function c(e,r){if(o(e)){var n=a.getDeepValue(\"featureCollection.layers\",r),t=n&&n[0]&&n[0].layerDefinition;t&&(\"maxScale\"in e&&(t.maxScale=e.maxScale),\"minScale\"in e&&(t.minScale=e.minScale))}else\"group\"!==e.type&&(\"maxScale\"in e&&(r.maxScale=e.maxScale),\"minScale\"in e&&(r.minScale=e.minScale));r.opacity=e.opacity,r.title=e.title,r.visibility=e.visible}function s(e,r,a){if(!(\"write\"in e&&e.write))return a&&a.messages&&a.messages.push(new n(\"layer:unsupported\",\"Layers (\"+e.title+\", \"+e.id+\") of type '\"+e.declaredClass+\"' cannot be persisted\",{layer:e})),null;if(u(e,a)){var l={};return e.write(l,a)?l:null}return i.isSome(r)&&(r=t.clone(r),c(e,r)),r}Object.defineProperty(r,\"__esModule\",{value:!0});var p=new Set;[\"bing-maps\",\"open-street-map\",\"tile\",\"unknown\",\"unsupported\",\"vector-tile\",\"web-tile\"].forEach(function(e){return p.add(e)});var m=new Set;[\"feature\",\"tile\",\"unknown\",\"unsupported\",\"vector-tile\",\"web-tile\"].forEach(function(e){return m.add(e)}),r.getLayerJSON=s});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * The Attribution displays attribution text for the layers in a map.\n * The text displayed for the layers is either a list of data providers\n * or sources as defined in the layer's custom attribution data, or the copyright text.\n * This widget automatically updates based on layer visibility and map extent and\n * displays a single line of attribution that can be expanded with a single click\n * to view all data sources.\n *\n * An instance of the Attribution widget is available in every\n * {@link module:esri/views/MapView} and {@link module:esri/views/SceneView} by default.\n * See {@link module:esri/views/ui/DefaultUI} for more details.\n *\n * \n *\n * ::: esri-md class=\"panel trailer-1\"\n * Esri requires that when you use an ArcGIS Online basemap in your app, the map must include Esri attribution and you must be licensed to use the content.\n * For detailed guidelines on working with attribution, please visit the official [attribution in your app](https://developers.arcgis.com/terms/attribution/) documentation.\n * For information on terms of use, see the [Terms of Use FAQ](https://developers.arcgis.com/terms/faq/).\n * :::\n *\n * @module esri/widgets/Attribution\n * @since 4.0\n *\n * @see [Attribution.tsx (widget view)]({{ JSAPI_ARCGIS_JS_API_URL }}/widgets/Attribution.tsx)\n * @see [Attribution.scss]({{ JSAPI_ARCGIS_JS_API_URL }}/themes/base/widgets/_Attribution.scss)\n * @see module:esri/widgets/Attribution/AttributionViewModel\n * @see {@link module:esri/views/View#ui View.ui}\n * @see module:esri/views/ui/DefaultUI\n */\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./Attribution/nls/Attribution\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Attribution/AttributionViewModel\",\"./support/widget\"],function(e,t,i,r,o,s,n,a,p,c){var d={base:\"esri-attribution esri-widget\",anchor:\"esri-widget__anchor\",poweredBy:\"esri-attribution__powered-by\",sources:\"esri-attribution__sources\",open:\"esri-attribution--open\",sourcesOpen:\"esri-attribution__sources--open\",link:\"esri-attribution__link\",widgetIcon:\"esri-icon-description\",interactive:\"esri-interactive\"};return function(e){function t(t){var i=e.call(this,t)||this;return i._isOpen=!1,i._attributionTextOverflowed=!1,i._prevSourceNodeHeight=0,i.iconClass=d.widgetIcon,i.itemDelimiter=\" | \",i.label=o.widgetLabel,i.view=null,i.viewModel=new p,i}return i(t,e),t.prototype.postInitialize=function(){var e=this;this.own(s.on(this,\"viewModel.items\",\"change\",function(){return e.scheduleRender()}))},Object.defineProperty(t.prototype,\"attributionText\",{get:function(){return this.viewModel.items.reduce(function(e,t){return-1===e.indexOf(t.text)&&e.push(t.text),e},[]).join(this.itemDelimiter)},enumerable:!0,configurable:!0}),t.prototype.render=function(){var e,t=(e={},e[d.open]=this._isOpen,e);return c.tsx(\"div\",{bind:this,class:this.classes(d.base,t),onclick:this._toggleState,onkeydown:this._toggleState},this._renderSourcesNode(),c.tsx(\"div\",{class:d.poweredBy},\"Powered by\",\" \",c.tsx(\"a\",{class:this.classes(d.link,d.anchor),href:\"http://www.esri.com/\",target:\"_blank\",rel:\"noreferrer\"},\"Esri\")))},t.prototype._renderSourcesNode=function(){var e,t=this._isOpen,i=this._isInteractive(),r=i?0:-1,o=this.attributionText,s=i?\"button\":void 0,n=(e={},e[d.sourcesOpen]=t,e[d.interactive]=i,e);return c.tsx(\"div\",{afterCreate:this._afterSourcesNodeCreate,afterUpdate:this._afterSourcesNodeUpdate,bind:this,class:this.classes(d.sources,n),innerHTML:o,role:s,tabIndex:r})},t.prototype._afterSourcesNodeCreate=function(e){this._prevSourceNodeHeight=e.clientWidth},t.prototype._afterSourcesNodeUpdate=function(e){var t=!1,i=e.clientHeight,r=e.clientWidth,o=e.scrollWidth,s=o>=r,n=this._attributionTextOverflowed!==s;if(this._attributionTextOverflowed=s,n&&(t=!0),this._isOpen){var a=i<this._prevSourceNodeHeight;this._prevSourceNodeHeight=i,a&&(this._isOpen=!1,t=!0)}t&&this.scheduleRender()},t.prototype._toggleState=function(){this._isInteractive()&&(this._isOpen=!this._isOpen)},t.prototype._isInteractive=function(){return this._isOpen||this._attributionTextOverflowed},r([n.property({dependsOn:[\"viewModel.items.length\",\"itemDelimiter\"],readOnly:!0}),c.renderable()],t.prototype,\"attributionText\",null),r([n.property()],t.prototype,\"iconClass\",void 0),r([n.property(),c.renderable()],t.prototype,\"itemDelimiter\",void 0),r([n.property()],t.prototype,\"label\",void 0),r([n.aliasOf(\"viewModel.view\")],t.prototype,\"view\",void 0),r([n.property({type:p}),c.renderable([\"state\",\"view.size\"])],t.prototype,\"viewModel\",void 0),r([c.accessibleHandler()],t.prototype,\"_toggleState\",null),t=r([n.subclass(\"esri.widgets.Attribution\")],t)}(n.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Provides the logic for the {@link module:esri/widgets/Attribution} widget.\n * Displays attribution text for the layers in a map.\n * The text displayed for the layers is either a list of data providers or\n * sources as defined in the layer's custom attribution data, or the copyright text.\n * The attribution is automatically updated based on layer visibility and map extent.\n *\n * ::: esri-md class=\"panel trailer-1\"\n * Esri requires that when you use an ArcGIS Online basemap in your app, the map must include Esri attribution and you must be licensed to use the content.\n * For detailed guidelines on working with attribution, please visit the official [attribution in your app](https://developers.arcgis.com/terms/attribution/) documentation.\n * For information on terms of use, see the [Terms of Use FAQ](https://developers.arcgis.com/terms/faq/).\n * :::\n *\n * @module esri/widgets/Attribution/AttributionViewModel\n * @since 4.0\n * @amdalias AttributionVM\n * @see module:esri/widgets/Attribution\n * @see [Guide topic: Widget development - ViewModel pattern](https://developers.arcgis.com/javascript/latest/guide/custom-widget/#viewmodel-pattern)\n */\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/generatorHelper\",\"../../geometry\",\"../../core/arrayUtils\",\"../../core/asyncUtils\",\"../../core/Collection\",\"../../core/HandleOwner\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../geometry/support/contains\",\"../../geometry/support/webMercatorUtils\"],function(t,e,r,n,i,o,a,u,s,c,l,d,p,f,h){function b(t){return t&&\"function\"==typeof t.originOf&&\"user\"===t.originOf(\"copyright\")}function y(t,e){return t.length!==e.length||t.some(function(t,r){return t.text!==e[r].text})}function g(t,e,r){if(r&&e){u.find(t,function(t){return t.layerView===e&&t.text===r})||t.push({text:r,layerView:e})}}function v(t){return\"bing-maps\"===t.type}var m=[];return function(t){function e(e){var r=t.call(this,e)||this;return r.clear=function(){r._fetchedAttributionData.clear(),r._pendingAttributions.clear(),r.handles.remove(\"suspension\"),r.notifyChange(\"state\")},r._pendingAttributions=new Set,r._fetchedAttributionData=new Map,r.items=new c,r.view=null,r._allLayerViewsChange=function(t){r.handles.remove(\"suspension\");var e=r.get(\"view.allLayerViews\");e&&r.handles.add(e.map(function(t){return t.watch([\"suspended\",\"attributionVisible\"],r._updateAttributionItems)}),\"suspension\"),t&&t.removed&&t.removed.forEach(function(t){r._pendingAttributions.delete(t),r._fetchedAttributionData.delete(t)}),r._updateAttributionItems()},r._updateAttributionItems=function(){var t=r.get(\"view.allLayerViews\");if(m.length=0,!t)return void r.clear();t.forEach(function(t){if(!t.suspended&&t.get(\"layer.attributionVisible\")){var e=t.layer;if(b(e))return void g(m,t,e.copyright);if(e.hasAttributionData){if(r._fetchedAttributionData.has(t)){var n=r._fetchedAttributionData.get(t);return void(n&&g(m,t,r._getDynamicAttribution(n,r.view,e)))}return void r._fetchAttributionData(t)}var i=e.get(\"portalItem.accessInformation\");if(i)return void g(m,t,i);g(m,t,e.copyright)}}),y(r.items,m)&&(r.items.removeAll(),r.items.addMany(m)),r.notifyChange(\"state\")},r.handles.add([d.on(r,\"view.allLayerViews\",\"change\",r._allLayerViewsChange,r._allLayerViewsChange,r.clear),d.whenTrue(r,\"view.stationary\",function(){return r._updateAttributionItems()})]),r}return r(e,t),e.prototype.destroy=function(){this.view=null,this._fetchedAttributionData.clear(),this._pendingAttributions.clear()},Object.defineProperty(e.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?this._pendingAttributions.size>0?\"loading\":\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),e.prototype._fetchAttributionData=function(t){return i(this,void 0,void 0,function(){var e,r;return o(this,function(n){switch(n.label){case 0:return this._pendingAttributions.has(t)?[2]:(this._pendingAttributions.add(t),[4,s.result(t.layer.fetchAttributionData())]);case 1:return e=n.sent(),this._pendingAttributions.has(t)&&(r=e.ok?this._createContributionIndex(e.value,v(t.layer)):null,this._pendingAttributions.delete(t),this._fetchedAttributionData.set(t,r)),this._updateAttributionItems(),[2]}})})},e.prototype._createContributionIndex=function(t,e){var r=t.contributors,n={};if(!r)return n;for(var i=0;i<r.length;i++){var o=r[i],u=o.coverageAreas;if(!u)return;for(var s=0,c=u;s<c.length;s++)for(var l=c[s],d=l.bbox,p=l.zoomMin-(e&&l.zoomMin?1:0),f=l.zoomMax-(e&&l.zoomMax?1:0),b={xmin:d[1],ymin:d[0],xmax:d[3],ymax:d[2],spatialReference:a.SpatialReference.WGS84},y={extent:h.geographicToWebMercator(b),attribution:o.attribution||\"\",score:null!=l.score?l.score:100,id:i},g=p;g<=f;g++)n[g]=n[g]||[],n[g].push(y)}return n.maxKey=Math.max.apply(null,Object.keys(n)),n},e.prototype._getDynamicAttribution=function(t,e,r){var n=e.extent,i=e.scale,o=r.tileInfo.scaleToZoom(i);if(o=Math.min(t.maxKey,Math.round(o)),!n||null==o||o<=-1)return\"\";var a=t[o],u=h.project(n.center.clone().normalize(),e.spatialReference),s={};return a?a.filter(function(t){var e=!s[t.id]&&u&&f.extentContainsPoint(t.extent,u);return e&&(s[t.id]=!0),e}).sort(function(t,e){return e.score-t.score||t.objectId-e.objectId}).map(function(t){return t.attribution}).join(\", \"):\"\"},n([p.property({readOnly:!0,type:c})],e.prototype,\"items\",void 0),n([p.property({dependsOn:[\"view.ready\"],readOnly:!0})],e.prototype,\"state\",null),n([p.property()],e.prototype,\"view\",void 0),e=n([p.subclass(\"esri.widgets.Attribution.AttributionViewModel\")],e)}(p.declared(l.HandleOwner))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Attribution'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Thuộc tính\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./BasemapToggle/nls/BasemapToggle\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./BasemapToggle/BasemapToggleViewModel\",\"./support/widget\"],function(e,a,t,s,i,l,o,r,n){function p(e){var a=r.getThumbnailUrl(e);return a?{backgroundImage:\"url(\"+a+\")\"}:{backgroundImage:\"\"}}var g={base:\"esri-basemap-toggle esri-widget\",secondaryBasemapImage:\"esri-basemap-toggle__image--secondary\",container:\"esri-basemap-thumbnail esri-basemap-toggle__container\",image:\"esri-basemap-thumbnail__image esri-basemap-toggle__image\",overlay:\"esri-basemap-thumbnail__overlay esri-basemap-toggle__image-overlay\",title:\"esri-basemap-thumbnail__title esri-basemap-toggle__title\",disabled:\"esri-disabled\"};return function(e){function a(a){var t=e.call(this,a)||this;return t.activeBasemap=null,t.label=i.widgetLabel,t.nextBasemap=null,t.titleVisible=!1,t.view=null,t.viewModel=new r,t}return t(a,e),a.prototype.toggle=function(){},a.prototype.render=function(){var e,a=this.viewModel,t=\"disabled\"===a.state?null:a.activeBasemap,s=\"disabled\"===a.state?null:a.nextBasemap,l=s?s.title:\"\";return this.titleVisible&&l&&(e=n.tsx(\"div\",{class:g.overlay,key:\"esri-basemap-toggle__overlay\"},n.tsx(\"span\",{class:g.title,title:l},l))),n.tsx(\"div\",{class:g.base,role:\"button\",\"data-basemap-id\":s?s.id:\"\",bind:this,onclick:this._toggle,onkeydown:this._toggle,tabIndex:0,title:i.widgetLabel},n.tsx(\"div\",{class:this.classes(g.container,g.secondaryBasemapImage)},n.tsx(\"div\",{class:g.image,styles:p(t)})),n.tsx(\"div\",{class:g.container},n.tsx(\"div\",{class:g.image,styles:p(s)}),e))},a.prototype._toggle=function(){this.toggle()},s([l.aliasOf(\"viewModel.activeBasemap\"),n.renderable()],a.prototype,\"activeBasemap\",void 0),s([l.property()],a.prototype,\"label\",void 0),s([l.aliasOf(\"viewModel.nextBasemap\"),n.renderable()],a.prototype,\"nextBasemap\",void 0),s([l.property(),n.renderable()],a.prototype,\"titleVisible\",void 0),s([l.aliasOf(\"viewModel.view\"),n.renderable()],a.prototype,\"view\",void 0),s([n.vmEvent(\"toggle\"),l.property({type:r}),n.renderable(\"viewModel.state\")],a.prototype,\"viewModel\",void 0),s([l.aliasOf(\"viewModel.toggle\")],a.prototype,\"toggle\",null),s([n.accessibleHandler()],a.prototype,\"_toggle\",null),a=s([l.subclass(\"esri.widgets.BasemapToggle\")],a)}(l.declared(o))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/compilerUtils\",\"../../core/Evented\",\"../../core/accessorSupport/decorators\",\"../../support/basemapDefinitions\",\"../../support/basemapUtils\",\"../../support/basemapUtils\"],function(e,t,r,a,p,s,o,n,i,l){return function(e){function t(t){var r=e.call(this,t)||this;return r._basemapCache={},r.nextBasemap=l.ensureType(\"hybrid\",r._basemapCache),r.view=null,r.toggle=r.toggle.bind(r),r}return r(t,e),t.prototype.destroy=function(){this.view=null},Object.defineProperty(t.prototype,\"activeBasemap\",{get:function(){return l.ensureType(this.get(\"view.map.basemap\")||\"topo\",this._basemapCache)},enumerable:!0,configurable:!0}),t.prototype.castNextBasemap=function(e){return l.ensureType(e,this._basemapCache)},Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.toggle=function(){if(\"disabled\"!==this.state){var e=this.activeBasemap,t=this.nextBasemap;this.view.map.basemap=t,this.nextBasemap=e,this.emit(\"toggle\",{previous:e,current:t})}},t.getThumbnailUrl=function(e){if(!e)return null;var t=e.thumbnailUrl;if(t)return t;var r=i.getWellKnownBasemapId(e);if(r)return n.esriBasemapDefinitions[r].thumbnailUrl;var a=e.baseLayers.find(function(e){return!!p.typeCast(e)().get(\"portalItem.thumbnailUrl\")});return a?p.typeCast(a)().get(\"portalItem.thumbnailUrl\"):null},a([o.property({dependsOn:[\"view.map.basemap\"],readOnly:!0})],t.prototype,\"activeBasemap\",null),a([o.property()],t.prototype,\"nextBasemap\",void 0),a([o.cast(\"nextBasemap\")],t.prototype,\"castNextBasemap\",null),a([o.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),a([o.property()],t.prototype,\"view\",void 0),a([o.property()],t.prototype,\"toggle\",null),t=a([o.subclass(\"esri.widgets.BasemapToggle.BasemapToggleViewModel\")],t)}(o.declared(s.EventedAccessor))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Toggle basemap'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Chuyển đổi bản đồ nền\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./Compass/nls/Compass\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Compass/CompassViewModel\",\"./support/widget\"],function(e,t,o,r,s,i,n,a,l){var c={base:\"esri-compass esri-widget--button esri-widget\",text:\"esri-icon-font-fallback-text\",icon:\"esri-compass__icon\",rotationIcon:\"esri-icon-dial\",northIcon:\"esri-icon-compass\",widgetIcon:\"esri-icon-locate-circled\",interactive:\"esri-interactive\",disabled:\"esri-disabled\"};return function(e){function t(t){var o=e.call(this,t)||this;return o.goToOverride=null,o.iconClass=c.widgetIcon,o.label=s.widgetLabel,o.view=null,o.viewModel=new a,o}return o(t,e),t.prototype.reset=function(){},t.prototype.render=function(){var e,t,o=this.viewModel,r=o.orientation,i=o.state,n=\"disabled\"===i,a=\"rotation\"===i?\"rotation\":\"compass\",d=\"compass\"===a,p=n?-1:0,v=(e={},e[c.disabled]=n,e[c.interactive]=!n,e),u=(t={},t[c.northIcon]=d,t[c.rotationIcon]=!d,t);return l.tsx(\"div\",{bind:this,class:this.classes(c.base,v),onclick:this._reset,onkeydown:this._reset,role:\"button\",tabIndex:p,\"aria-label\":s.reset,title:s.reset},l.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(c.icon,u),styles:this._toRotationTransform(r)}),l.tsx(\"span\",{class:c.text},s.reset))},t.prototype._reset=function(){this.viewModel.reset()},t.prototype._toRotationTransform=function(e){return{transform:\"rotateZ(\"+e.z+\"deg)\"}},r([i.aliasOf(\"viewModel.goToOverride\")],t.prototype,\"goToOverride\",void 0),r([i.property()],t.prototype,\"iconClass\",void 0),r([i.property()],t.prototype,\"label\",void 0),r([i.aliasOf(\"viewModel.view\")],t.prototype,\"view\",void 0),r([i.property({type:a}),l.renderable([\"viewModel.orientation\",\"viewModel.state\"])],t.prototype,\"viewModel\",void 0),r([i.aliasOf(\"viewModel.reset\")],t.prototype,\"reset\",null),r([l.accessibleHandler()],t.prototype,\"_reset\",null),t=r([i.subclass(\"esri.widgets.Compass\")],t)}(i.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../support/GoTo\"],function(e,t,o,r,i,a,n,p,s){return function(e){function t(t){var o=e.call(this,t)||this;return o._handles=new a,o.orientation={x:0,y:0,z:0},o.view=null,o._updateForCamera=o._updateForCamera.bind(o),o._updateForRotation=o._updateForRotation.bind(o),o._updateRotationWatcher=o._updateRotationWatcher.bind(o),o.view,o}return o(t,e),t.prototype.initialize=function(){this._handles.add(n.init(this,\"view\",this._updateRotationWatcher))},t.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this.view=null},Object.defineProperty(t.prototype,\"canShowNorth\",{get:function(){var e=this.get(\"view.spatialReference\");return!(!e||!e.isWebMercator&&!e.isGeographic)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?this.canShowNorth?\"compass\":\"rotation\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.reset=function(){if(this.get(\"view.ready\")){var e={};\"2d\"===this.view.type?e.rotation=0:e.heading=0,this.callGoTo({target:e})}},t.prototype._updateForRotation=function(e){void 0!==e&&null!==e&&(this.orientation={z:e})},t.prototype._updateForCamera=function(e){if(e){var t=-e.heading;this.orientation={x:0,y:0,z:t}}},t.prototype._updateRotationWatcher=function(e){this._handles.removeAll(),e&&(\"2d\"===e.type?this._handles.add(n.init(this,\"view.rotation\",this._updateForRotation)):this._handles.add(n.init(this,\"view.camera\",this._updateForCamera)))},r([p.property({dependsOn:[\"view.spatialReference.isWebMercator\",\"view.spatialReference.wkid\"],readOnly:!0})],t.prototype,\"canShowNorth\",null),r([p.property()],t.prototype,\"orientation\",void 0),r([p.property({dependsOn:[\"view.ready\",\"canShowNorth\"],readOnly:!0})],t.prototype,\"state\",null),r([p.property()],t.prototype,\"view\",void 0),r([p.property()],t.prototype,\"reset\",null),t=r([p.subclass(\"esri.widgets.CompassViewModel\")],t)}(p.declared(s.GoToMixin(i)))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Compass','reset':'Reset compass orientation'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"La bàn\",reset:\"Thiết lập lại hướng la bàn\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!../nls/common\",\"dojo/i18n!./Expand/nls/Expand\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Expand/ExpandViewModel\",\"./support/widget\"],function(e,n,o,t,a,i,r,s,d,p){var l={base:\"esri-expand esri-widget\",modeAuto:\"esri-expand--auto\",modeDrawer:\"esri-expand--drawer\",modeFloating:\"esri-expand--floating\",container:\"esri-expand__container\",containerExpanded:\"esri-expand__container--expanded\",panel:\"esri-expand__panel\",button:\"esri-widget--button\",text:\"esri-icon-font-fallback-text\",icon:\"esri-collapse__icon\",iconExpanded:\"esri-expand__icon--expanded\",iconNumber:\"esri-expand__icon-number\",iconNumberExpanded:\"esri-expand__icon-number--expanded\",expandIcon:\"esri-icon-expand\",collapseIcon:\"esri-icon-collapse\",content:\"esri-expand__content\",contentExpanded:\"esri-expand__content--expanded\",expandMask:\"esri-expand__mask\",expandMaskExpanded:\"esri-expand__mask--expanded\"};return function(e){function n(n){var o=e.call(this,n)||this;return o.autoCollapse=null,o.collapseTooltip=\"\",o.content=\"\",o.expanded=null,o.expandTooltip=\"\",o.group=null,o.iconNumber=0,o.label=i.widgetLabel,o.mode=\"auto\",o.view=null,o.viewModel=new d,o}return o(n,e),Object.defineProperty(n.prototype,\"collapseIconClass\",{get:function(){return l.collapseIcon},set:function(e){if(!e)return void this._clearOverride(\"collapseIconClass\");this._override(\"collapseIconClass\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"expandIconClass\",{get:function(){return p.isWidget(this.content)?this.content.iconClass:l.expandIcon},set:function(e){if(!e)return void this._clearOverride(\"expandIconClass\");this._override(\"expandIconClass\",e)},enumerable:!0,configurable:!0}),n.prototype.expand=function(){this.viewModel.expanded=!0},n.prototype.collapse=function(){this.viewModel.expanded=!1},n.prototype.toggle=function(){this.viewModel.expanded=!this.viewModel.expanded},n.prototype.render=function(){var e,n,o,t,i,r=this.viewModel.expanded,s=this.mode,d=this.expandTooltip||a.expand,c=this.collapseTooltip||a.collapse,x=r?c:d,u=this.collapseIconClass,v=this.expandIconClass,b=(e={},e[l.iconExpanded]=r,e[u]=r,e[v]=!r,e),h=(n={},n[l.containerExpanded]=r,n),_=(o={},o[l.contentExpanded]=r,o),y=(t={},t[l.expandMaskExpanded]=r,t),g=this.iconNumber,f=g&&!r?p.tsx(\"span\",{key:\"expand__icon-number\",class:l.iconNumber},g):null,m=g&&r?p.tsx(\"span\",{key:\"expand__expand-icon-number\",class:this.classes(l.iconNumber,l.iconNumberExpanded)},g):null,w=(i={},i[l.modeAuto]=\"auto\"===s,i[l.modeDrawer]=\"drawer\"===s,i[l.modeFloating]=\"floating\"===s,i),C=this.id+\"_controls_content\";return p.tsx(\"div\",{class:this.classes(l.base,w)},p.tsx(\"div\",{bind:this,onclick:this._toggle,class:this.classes(l.expandMask,y)}),p.tsx(\"div\",{class:this.classes(l.container,h)},p.tsx(\"div\",{class:l.panel},p.tsx(\"div\",{bind:this,onclick:this._toggle,onkeydown:this._toggle,\"aria-controls\":C,\"aria-expanded\":r?\"true\":\"false\",title:x,role:\"button\",tabindex:\"0\",class:l.button},f,p.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(l.icon,b)}),p.tsx(\"span\",{class:l.text},x)),m),p.tsx(\"div\",{id:C,role:\"region\",class:this.classes(l.content,_)},this._renderContent())))},n.prototype._toggle=function(){this.toggle()},n.prototype._renderContent=function(){var e=this.content;return\"string\"==typeof e?p.tsx(\"div\",{innerHTML:e}):p.isWidget(e)?e.render():e instanceof HTMLElement?p.tsx(\"div\",{bind:e,afterCreate:this._attachToNode}):p.isWidgetBase(e)?p.tsx(\"div\",{bind:e.domNode,afterCreate:this._attachToNode}):null},n.prototype._attachToNode=function(e){var n=this;e.appendChild(n)},t([r.aliasOf(\"viewModel.autoCollapse\")],n.prototype,\"autoCollapse\",void 0),t([r.property({dependsOn:[\"content\"]}),p.renderable()],n.prototype,\"collapseIconClass\",null),t([r.property(),p.renderable()],n.prototype,\"collapseTooltip\",void 0),t([r.property(),p.renderable()],n.prototype,\"content\",void 0),t([r.aliasOf(\"viewModel.expanded\"),p.renderable()],n.prototype,\"expanded\",void 0),t([r.property({dependsOn:[\"content\"]}),p.renderable()],n.prototype,\"expandIconClass\",null),t([r.property(),p.renderable()],n.prototype,\"expandTooltip\",void 0),t([r.aliasOf(\"viewModel.group\")],n.prototype,\"group\",void 0),t([r.property(),p.renderable()],n.prototype,\"iconNumber\",void 0),t([r.property()],n.prototype,\"label\",void 0),t([r.property(),p.renderable()],n.prototype,\"mode\",void 0),t([r.aliasOf(\"viewModel.view\"),p.renderable()],n.prototype,\"view\",void 0),t([r.property({type:d}),p.renderable(\"viewModel.state\")],n.prototype,\"viewModel\",void 0),t([p.accessibleHandler()],n.prototype,\"_toggle\",null),n=t([r.subclass(\"esri.widgets.Expand\")],n)}(r.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\"],function(e,t,n,i,o,r,p,a){return function(e){function t(t){var n=e.call(this,t)||this;return n._viewpointHandle=null,n._handles=new r,n.group=null,n}return n(t,e),t.prototype.initialize=function(){var e=this;this._handles.add(p.on(this,\"view.ui\",\"expand\",function(t){var n=t.target;n&&n!==e&&n.expanded&&n.group&&n.group===e.group&&e._collapse()}))},t.prototype.destroy=function(){this._viewpointHandle=null,this.view=null,this._handles.destroy(),this._handles=null},Object.defineProperty(t.prototype,\"autoCollapse\",{set:function(e){this._set(\"autoCollapse\",e),this._watchViewpoint()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"expanded\",{set:function(e){var t=!!e;this._set(\"expanded\",t);var n=this.get(\"view.ui\");n&&n.emit(\"expand\",{target:this}),this._viewpointHandleChange(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"view\",{set:function(e){var t=this;this._get(\"view\")!==e&&(this._set(\"view\",e),e&&p.whenTrueOnce(e,\"ready\",function(){t.view===e&&t._watchViewpoint()}))},enumerable:!0,configurable:!0}),t.prototype._viewpointHandleChange=function(e){var t=this;this._viewpointHandle&&(e?p.whenTrueOnce(this.view,\"stationary\",function(){return t._viewpointHandle.resume()}):this._viewpointHandle.pause())},t.prototype._watchViewpoint=function(){var e=this;this._handles.remove(\"viewpoint\"),this._viewpointHandle=null;var t=this,n=t.autoCollapse,i=t.view;if(i&&n){var o=\"3d\"===i.type?\"camera\":\"viewpoint\",r=p.pausable(i,o,function(){return e._collapse()});this._handles.add(r,\"viewpoint\"),this._viewpointHandle=r}},t.prototype._collapse=function(){this.expanded=!1},i([a.property({value:!1})],t.prototype,\"autoCollapse\",null),i([a.property({value:!1})],t.prototype,\"expanded\",null),i([a.property()],t.prototype,\"group\",void 0),i([a.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),i([a.property({value:null})],t.prototype,\"view\",null),t=i([a.subclass(\"esri.widgets.Expand.ExpandViewModel\")],t)}(a.declared(o))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Expand'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Mở rộng\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!../nls/common\",\"dojo/i18n!./Home/nls/Home\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Home/HomeViewModel\",\"./support/widget\"],function(e,o,t,i,n,r,l,s,a,d){var c={base:\"esri-home esri-widget--button esri-widget\",text:\"esri-icon-font-fallback-text\",homeIcon:\"esri-icon esri-icon-home\",loadingIcon:\"esri-icon-loading-indicator\",rotatingIcon:\"esri-rotating\",widgetIcon:\"esri-icon-home\",disabled:\"esri-disabled\"};return function(e){function o(o){var t=e.call(this,o)||this;return t.goToOverride=null,t.iconClass=c.widgetIcon,t.label=r.widgetLabel,t.view=null,t.viewModel=new a,t.viewpoint=null,t}return t(o,e),o.prototype.cancelGo=function(){return null},o.prototype.go=function(){return null},o.prototype.render=function(){var e,o,t=this.get(\"viewModel.state\"),i=(e={},e[c.disabled]=\"disabled\"===t,e),l=(o={},o[c.loadingIcon]=\"going-home\"===t,o[c.rotatingIcon]=\"going-home\"===t,o),s=\"going-home\"===t?n.cancel:r.title;return d.tsx(\"div\",{bind:this,class:this.classes(c.base,i),role:\"button\",tabIndex:0,onclick:this._go,onkeydown:this._go,\"aria-label\":s,title:s},d.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(c.homeIcon,l)}),d.tsx(\"span\",{class:c.text},r.button))},o.prototype._go=function(){var e=this.viewModel;\"going-home\"===e.state?e.cancelGo():e.go()},i([l.aliasOf(\"viewModel.goToOverride\")],o.prototype,\"goToOverride\",void 0),i([l.property()],o.prototype,\"iconClass\",void 0),i([l.property()],o.prototype,\"label\",void 0),i([l.aliasOf(\"viewModel.view\"),d.renderable()],o.prototype,\"view\",void 0),i([l.property({type:a}),d.renderable(\"viewModel.state\"),d.vmEvent(\"go\")],o.prototype,\"viewModel\",void 0),i([l.aliasOf(\"viewModel.viewpoint\")],o.prototype,\"viewpoint\",void 0),i([l.aliasOf(\"viewModel.cancelGo\")],o.prototype,\"cancelGo\",null),i([l.aliasOf(\"viewModel.go\")],o.prototype,\"go\",null),i([d.accessibleHandler()],o.prototype,\"_go\",null),o=i([l.subclass(\"esri.widgets.Home\")],o)}(l.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../Viewpoint\",\"../../core/Error\",\"../../core/Evented\",\"../../core/promiseUtils\",\"../../core/accessorSupport/decorators\",\"../support/GoTo\"],function(e,t,o,r,n,i,l,p,s,c,a,u){return function(e){function t(t){var o=e.call(this,t)||this;return o._initialViewpoint=null,o._goingHomeController=null,o.go=o.go.bind(o),o}return o(t,e),t.prototype.destroy=function(){this._cancelGo(),this.view=null},Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?this._goingHomeController?\"going-home\":\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"view\",{set:function(e){var t=this;this._initialViewpoint=null,this._set(\"view\",e),e&&e.when().then(function(){t.view===e&&(t._initialViewpoint=e.viewpoint.clone(),t.notifyChange(\"viewpoint\"))})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"viewpoint\",{get:function(){return this._get(\"viewpoint\")||this._initialViewpoint},set:function(e){this._set(\"viewpoint\",e)},enumerable:!0,configurable:!0}),t.prototype.go=function(){return i(this,void 0,void 0,function(){var e,t;return n(this,function(o){switch(o.label){case 0:if(!this.get(\"view.ready\"))throw new p(\"home:disabled-state\",\"Cannot go when disabled.\");this._cancelGo(),this.emit(\"go\"),e=c.createAbortController(),this._goingHomeController=e,o.label=1;case 1:return o.trys.push([1,4,,5]),[4,this.view.when()];case 2:return o.sent(),[4,this.callGoTo({target:this.viewpoint,options:{signal:e.signal}})];case 3:return o.sent(),[3,5];case 4:return t=o.sent(),[3,5];case 5:return this._goingHomeController=null,[2]}})})},t.prototype.cancelGo=function(){this._cancelGo()},t.prototype._cancelGo=function(){var e=this._goingHomeController;e&&e.abort(),this._goingHomeController=null},r([a.property()],t.prototype,\"_goingHomeController\",void 0),r([a.property({dependsOn:[\"_goingHomeController\",\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),r([a.property()],t.prototype,\"view\",null),r([a.property({type:l})],t.prototype,\"viewpoint\",null),r([a.property()],t.prototype,\"go\",null),r([a.property()],t.prototype,\"cancelGo\",null),t=r([a.subclass(\"esri.widgets.Home.HomeViewModel\")],t)}(a.declared(u.GoToMixin(s.EventedAccessor)))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Home','button':'Home','title':'Default map view'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Trang chủ\",button:\"Trang chủ\",title:\"Giao diện bản đồ mặc định\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"dojo/i18n!../nls/common\",\"dojo/i18n!./LayerList/nls/LayerList\",\"../core/Collection\",\"../core/events\",\"../core/Handles\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../libs/sortablejs/Sortable\",\"./Widget\",\"./LayerList/LayerListViewModel\",\"./LayerList/ListItem\",\"./support/widget\"],function(e,t,i,n,o,s,r,l,a,c,d,u,p,g,h,y,_){function b(e,t,i){e.splice(i,0,e.splice(t,1)[0])}function m(e){var t=e.actionsOpen,i=e.children;t&&(e.actionsOpen=!1),i.forEach(function(e){return m(e)})}var v=l.ofType(y),f={base:\"esri-layer-list esri-widget esri-widget--panel\",noItems:\"esri-layer-list__no-items\",list:\"esri-layer-list__list\",listRoot:\"esri-layer-list__list--root\",listExclusive:\"esri-layer-list__list--exclusive\",listInherited:\"esri-layer-list__list--inherited\",listIndependent:\"esri-layer-list__list--independent\",item:\"esri-layer-list__item\",itemContent:\"esri-layer-list__item-content\",itemError:\"esri-layer-list__item--error\",itemInvisibleAtScale:\"esri-layer-list__item--invisible-at-scale\",itemUpdating:\"esri-layer-list__item--updating\",itemChildren:\"esri-layer-list__item--has-children\",itemSelectable:\"esri-layer-list__item--selectable\",itemContainer:\"esri-layer-list__item-container\",actionsMenu:\"esri-layer-list__item-actions-menu\",actionsMenuItem:\"esri-layer-list__item-actions-menu-item\",actionsMenuItemActive:\"esri-layer-list__item-actions-menu-item--active\",actions:\"esri-layer-list__item-actions\",actionsList:\"esri-layer-list__item-actions-list\",action:\"esri-layer-list__item-action\",actionIcon:\"esri-layer-list__item-action-icon\",actionImage:\"esri-layer-list__item-action-image\",actionTitle:\"esri-layer-list__item-action-title\",actionToggle:\"esri-layer-list__action-toggle\",actionToggleOn:\"esri-layer-list__action-toggle--on\",label:\"esri-layer-list__item-label\",errorMessage:\"esri-layer-list__item-error-message\",title:\"esri-layer-list__item-title\",toggleVisible:\"esri-layer-list__item-toggle\",toggleVisibleIcon:\"esri-layer-list__item-toggle-icon\",childToggle:\"esri-layer-list__child-toggle\",childToggleOpen:\"esri-layer-list__child-toggle--open\",childOpened:\"esri-layer-list__child-toggle-icon--opened\",childClosed:\"esri-layer-list__child-toggle-icon--closed\",childClosed_RTL:\"esri-layer-list__child-toggle-icon--closed-rtl\",disabled:\"esri-disabled\",disabledElement:\"esri-disabled-element\",hidden:\"esri-hidden\",rotating:\"esri-rotating\",iconEllipses:\"esri-icon-handle-horizontal\",iconVisible:\"esri-icon-visible\",iconInvisible:\"esri-icon-non-visible\",iconRadioSelected:\"esri-icon-radio-checked\",iconRadioUnselected:\"esri-icon-radio-unchecked\",iconNoticeTriangle:\"esri-icon-notice-triangle\",iconChildrenOpen:\"esri-icon-down-arrow\",iconDownArrow:\"esri-icon-down-arrow\",iconRightArrow:\"esri-icon-right-triangle-arrow\",iconLeftArrow:\"esri-icon-left-triangle-arrow\",iconLoading:\"esri-icon-loading-indicator\",iconDefaultAction:\"esri-icon-default-action\",widgetIcon:\"esri-icon-layers\"},I={actions:\"actions\",actionSection:\"action-section\",items:\"items\"},A={exclusive:\"exclusive\",inherited:\"inherited\",independent:\"independent\"};return function(e){function t(t){var i=e.call(this,t)||this;return i._handles=new c,i._sortable=null,i._sortableNode=null,i._focusSortUid=null,i.iconClass=f.widgetIcon,i.label=r.widgetLabel,i.listItemCreatedFunction=null,i.multipleSelectionEnabled=!1,i.operationalItems=null,i.selectionEnabled=!1,i.selectedItems=new v,i.statusIndicatorsVisible=!0,i.view=null,i.viewModel=new h,i}return i(t,e),t.prototype.postInitialize=function(){var e=this,t=this.operationalItems;this.own(d.on(this,\"operationalItems\",\"change\",function(){return e._itemsChanged(t)}),d.init(this,\"selectionEnabled\",function(){return e._toggleSorting()}))},t.prototype.destroy=function(){var e=this._sortable;e&&e.destroy(),this._handles.destroy(),this._handles=null},t.prototype.triggerAction=function(e,t){this.viewModel.triggerAction(e,t)},t.prototype.render=function(){var e,t=this,i=this._getItems(),n=this.get(\"viewModel.state\"),o=0===i.length?_.tsx(\"div\",{class:f.noItems},r.noItemsToDisplay):_.tsx(\"ul\",{\"aria-label\":r.widgetLabel,role:this.selectionEnabled?\"listbox\":void 0,afterCreate:this._sortNodeCreated,\"data-node-ref\":\"_sortableNode\",bind:this,class:this.classes(f.list,f.listRoot,f.listIndependent)},i.map(function(e){return t._renderItem(e,null)})),s=(e={},e[f.hidden]=\"loading\"===n,e[f.disabled]=\"disabled\"===n,e);return _.tsx(\"div\",{class:this.classes(f.base,s)},o)},t.prototype._toggleSorting=function(){var e=this,t=this,i=t._sortable,n=t._sortableNode,o=t.selectionEnabled;if(n)if(i)i.option(\"disabled\",!o);else{var s=p.create(n,{dataIdAttr:\"data-layer-uid\",group:\"root-layers\",disabled:!o,onSort:function(){return e._sortLayersToItems(s.toArray())}});this._sortable=s}},t.prototype._sortNodeCreated=function(e){this._sortableNode=e,this._toggleSorting()},t.prototype._sortLayersToItems=function(e){var t=this.get(\"view.map.layers\");t&&t.sort(function(t,i){var n=e.indexOf(t.uid),o=e.indexOf(i.uid);return n>o?-1:n<o?1:0})},t.prototype._getItems=function(){var e=this;return this.operationalItems.toArray().filter(function(t){return e.errorsVisible||!t.error})},t.prototype._getSingleActionButton=function(e){return e.actionsSections.reduce(function(e){return e}).filter(function(e){return e&&\"button\"===e.type}).getItemAt(0)},t.prototype._renderItem=function(e,t){var i,n,l,a,c,d,u=this,p=this.id,g=p+\"_\"+e.uid,h=g+\"_actions\",y=g+\"__list\",b=g+\"__title\",m=e.children.length,v=!!e.error,I=!!m&&!v,w=v?r.layerError:\"\",x=e.visibilityMode,S=e.children&&e.children.toArray(),k=A.exclusive,C=A.inherited,L=(i={},i[f.listExclusive]=x===k,i[f.listInherited]=x===C,i[f.listIndependent]=x!==C&&x!==k,i),O=(n={},n[f.itemChildren]=I,n[f.itemError]=!!v,n[f.itemUpdating]=e.updating&&!t&&this.statusIndicatorsVisible,n[f.itemInvisibleAtScale]=!e.visibleAtCurrentScale,n[f.itemSelectable]=this.selectionEnabled,n),E=this._countActions(e.actionsSections),T=e.panel,M=T&&T.open?T.render():null,R=T&&T.visible?this._renderPanelButton(T):null,U=(l={},l[f.actionsMenuItemActive]=e.actionsOpen,l),V=e.actionsOpen?s.close:s.open,N=1===E&&this._getSingleActionButton(e),P=N?this._renderAction({item:e,action:N,singleAction:!0}):null,H=!N&&E?_.tsx(\"div\",{key:\"actions-menu-toggle\",\"data-item\":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(f.actionsMenuItem,U),tabindex:\"0\",role:\"button\",\"aria-controls\":h,\"aria-label\":V,title:V},_.tsx(\"span\",{\"aria-hidden\":\"true\",class:f.iconEllipses})):null,D=H||R||P?_.tsx(\"div\",{key:\"esri-layer-list__actions-menu\",class:f.actionsMenu},R,P,H):null,B=E?this._renderActionsSections(e,e.actionsSections,h):null,K=I?_.tsx(\"ul\",{key:\"esri-layer-list__list-items\",id:y,class:this.classes(f.list,L),\"aria-expanded\":e.open?\"true\":\"false\",role:x===k?\"radiogroup\":\"group\",hidden:!e.open||null},S.map(function(t){return u._renderItem(t,e)})):null,j=(a={},a[f.childToggleOpen]=e.open,a),F=e.open?s.collapse:s.expand,z=I?_.tsx(\"span\",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,\"data-item\":e,key:\"esri-layer-list__toggle-children\",class:this.classes(f.childToggle,j),tabindex:\"0\",role:\"button\",\"aria-controls\":y,\"aria-label\":F,title:F},_.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(f.childClosed,f.iconRightArrow)}),_.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(f.childOpened,f.iconDownArrow)}),_.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(f.childClosed_RTL,f.iconLeftArrow)})):null,q=this._createLabelNode(e,t,b),W=v?_.tsx(\"div\",{key:\"esri-layer-list__error\",class:f.errorMessage,role:\"alert\"},_.tsx(\"span\",null,w)):null,G=this.selectedItems.indexOf(e)>-1,J=t?null:e.get(\"layer.uid\"),Q=this.selectionEnabled?(c={bind:this,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,\"data-item\":e,tabIndex:0,\"aria-selected\":G?\"true\":\"false\",role:\"option\",\"aria-labelledby\":b},c[\"data-layer-uid\"]=J,c):(d={bind:void 0,onclick:void 0,onkeydown:void 0,\"data-item\":void 0,tabIndex:void 0,\"aria-selected\":void 0,role:void 0,\"aria-labelledby\":void 0},d[\"data-layer-uid\"]=void 0,d);return _.tsx(\"li\",o({key:e,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(f.item,O),\"aria-labelledby\":b},Q),_.tsx(\"div\",{key:\"esri-layer-list__list-item-container\",class:f.itemContainer},z,q,D),W,B,M,K)},t.prototype._focusListItem=function(e){var t=this._focusSortUid;if(e&&t){e.dataset.layerUid===t&&(e.focus(),this._focusSortUid=null)}},t.prototype._createLabelNode=function(e,t,i){var n,s=this.selectionEnabled,l=A.exclusive,a=A.inherited,c=t&&t.visibilityMode,d=(n={},n[f.iconRadioSelected]=c===l&&e.visible,n[f.iconRadioUnselected]=c===l&&!e.visible,n[f.iconVisible]=c!==l&&e.visible,n[f.iconInvisible]=c!==l&&!e.visible,n),u=c===l?\"radio\":\"switch\",p=e.title||r.untitledLayer,g=e.visibleAtCurrentScale?p:p+\" (\"+r.layerInvisibleAtScale+\")\",h=_.tsx(\"span\",{key:\"layer-title-container\",id:i,title:g,\"aria-label\":g,class:f.title},p),y=_.tsx(\"span\",{class:this.classes(f.toggleVisibleIcon,d),\"aria-hidden\":\"true\"}),b={bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,\"data-item\":e,\"data-parent-visibility\":c,tabIndex:0,\"aria-checked\":e.visible?\"true\":\"false\",role:u,\"aria-labelledby\":i},m={bind:void 0,onclick:void 0,onkeydown:void 0,\"data-item\":void 0,\"data-parent-visibility\":void 0,tabIndex:void 0,\"aria-checked\":void 0,role:void 0,\"aria-labelledby\":void 0},v=s?b:m,I=s?m:b,w=_.tsx(\"div\",o({key:e,class:f.label},I),_.tsx(\"span\",o({class:f.toggleVisible},v),y),h),x=!!e.error,S=x?_.tsx(\"span\",{key:\"notice-triangle\",\"aria-hidden\":\"true\",class:f.iconNoticeTriangle}):null;return c===a||x?_.tsx(\"div\",{key:e,class:f.label},S,h):w},t.prototype._renderPanelButton=function(e){var t,i,n=e.className,o=e.open,s=e.title,r=e.image,l=r||n?n:f.iconDefaultAction,a=this._getIconImageStyles(e),c=(t={},t[f.actionsMenuItemActive]=o,t),d=(i={},i[f.actionImage]=!!a[\"background-image\"],i);return l&&(d[l]=!!l),_.tsx(\"div\",{key:e,bind:this,\"data-panel\":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(f.actionsMenuItem,c),role:\"button\",tabindex:\"0\",title:s,\"aria-label\":s},_.tsx(\"span\",{class:this.classes(d),styles:a}))},t.prototype._watchActionSectionChanges=function(e,t){var i=this,n=I.actionSection+t;this._handles.add(e.on(\"change\",this.scheduleRender.bind(this)),n),e.forEach(function(e){return i._renderOnActionChanges(e,t)})},t.prototype._renderOnActionChanges=function(e,t){var i=this,n=I.actions+t;return\"toggle\"===e.type?void this._handles.add([d.init(e,[\"className\",\"image\",\"id\",\"title\",\"visible\",\"value\"],function(){return i.scheduleRender()})],n):\"slider\"===e.type?void this._handles.add([d.init(e,[\"className\",\"id\",\"title\",\"visible\",\"value\",\"displayValueEnabled\",\"max\",\"min\",\"step\"],function(){return i.scheduleRender()})],n):void this._handles.add([d.init(e,[\"className\",\"image\",\"id\",\"title\",\"visible\"],function(){return i.scheduleRender()})],n)},t.prototype._renderOnItemChanges=function(e){var t=this,i=e.uid,n=I.items+i;this._handles.add([d.init(e,[\"actionsOpen\",\"visible\",\"open\",\"updating\",\"title\",\"visibleAtCurrentScale\",\"error\",\"visibilityMode\",\"panel\",\"panel.title\",\"panel.content\",\"panel.className\"],function(){return t.scheduleRender()}),e.actionsSections.on(\"change\",function(){return t.scheduleRender()}),e.children.on(\"change\",function(){return t.scheduleRender()})],n),e.children.forEach(function(e){return t._renderOnItemChanges(e)}),e.actionsSections.forEach(function(e){return t._watchActionSectionChanges(e,i)})},t.prototype._itemsChanged=function(e){var t=this;this._handles.removeAll(),e.forEach(function(e){return t._renderOnItemChanges(e)}),this.scheduleRender()},t.prototype._renderActionsSections=function(e,t,i){var n=this,o=t.toArray(),s=o.map(function(t){return _.tsx(\"ul\",{key:t,class:f.actionsList},n._renderActionSection(e,t))});return _.tsx(\"div\",{role:\"group\",\"aria-expanded\":e.actionsOpen?\"true\":\"false\",key:\"esri-layer-list__actions-section\",id:i,class:f.actions,hidden:!e.actionsOpen||null},s)},t.prototype._renderActionSection=function(e,t){var i=this;return(t&&t.toArray()).map(function(t){return i._renderAction({item:e,action:t})})},t.prototype._renderAction=function(e){var t,i,n=e.item,o=e.action,s=e.singleAction,r=this._getIconImageStyles(o),l=o.active,a=o.className,c=o.disabled,d=o.title,u=\"button\"!==o.type||o.image||a?a:f.iconDefaultAction,p=(t={},t[f.actionsMenuItem]=s&&\"button\"===o.type,t[f.action]=!s&&\"toggle\"!==o.type,t[f.actionToggle]=\"toggle\"===o.type,t[f.actionToggleOn]=\"toggle\"===o.type&&o.value,t[f.disabledElement]=c,t),g=(i={},i[f.actionImage]=!l&&!!r[\"background-image\"],i[f.iconLoading]=l,i[f.rotating]=l,i);u&&(g[u]=!0);var h=_.tsx(\"span\",{key:\"action-icon\",\"aria-hidden\":\"true\",class:this.classes(f.actionIcon,g),styles:r}),y=s?null:_.tsx(\"span\",{key:\"action-title\",class:f.actionTitle},d),b=[h,y];return s?_.tsx(\"div\",{bind:this,\"data-item\":n,\"data-action\":o,role:\"button\",key:o,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:p,tabindex:\"0\",title:d,\"aria-label\":d},b):_.tsx(\"li\",{bind:this,\"data-item\":n,\"data-action\":o,key:o,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:p,tabindex:\"0\",role:\"button\",title:d,\"aria-label\":d},b)},t.prototype._countActions=function(e){return e.reduce(function(e,t){return e+t.length},0)},t.prototype._getIconImageStyles=function(e){var t=\"esri.widgets.LayerList.ListItemPanel\"===e.declaredClass||\"esri.support.Action.ActionButton\"===e.declaredClass||\"esri.support.Action.ActionToggle\"===e.declaredClass?e.image:null;return{\"background-image\":t?'url(\"'+t+'\")':null}},t.prototype._selectionKeydown=function(e){var t=[\"ArrowDown\",\"ArrowUp\"],i=a.eventKey(e);if(-1===t.indexOf(i))return void this._toggleSelection(e);e.stopPropagation();var n=e.currentTarget,o=n[\"data-item\"],s=this,r=s._sortable,l=s.selectedItems,c=l.indexOf(o)>-1,d=r.toArray(),u=e.target,p=d.indexOf(u.dataset.layerUid);if(-1!==p){if(\"ArrowDown\"===i){var g=p+1;if(g>=d.length)return;c?(b(d,p,g),r.sort(d),this._sortLayersToItems(r.toArray()),this._focusSortUid=d[g]):(this._focusSortUid=d[g],this.scheduleRender())}if(\"ArrowUp\"===i){var g=p-1;if(g<=-1)return;c?(b(d,p,g),r.sort(d),this._sortLayersToItems(r.toArray()),this._focusSortUid=d[g]):(this._focusSortUid=d[g],this.scheduleRender())}}},t.prototype._toggleActionsOpen=function(e){var t=e.currentTarget,i=t[\"data-item\"],n=i.actionsOpen,o=!n;o&&this.operationalItems.forEach(function(e){return m(e)}),i.actionsOpen=o,e.stopPropagation()},t.prototype._triggerPanel=function(e){var t=e.currentTarget,i=t[\"data-panel\"];i&&(i.open=!i.open),e.stopPropagation()},t.prototype._triggerAction=function(e){var t=e.currentTarget,i=t[\"data-action\"],n=t[\"data-item\"];\"toggle\"===i.type&&(i.value=!i.value),this.triggerAction(i,n),e.stopPropagation()},t.prototype._toggleVisibility=function(e){var t=e.currentTarget,i=t.getAttribute(\"data-parent-visibility\"),n=t[\"data-item\"];i===A.exclusive&&n.visible||(n.visible=!n.visible),e.stopPropagation()},t.prototype._toggleChildrenClick=function(e){var t=e.currentTarget,i=t[\"data-item\"];i.open=!i.open,e.stopPropagation()},t.prototype._toggleSelection=function(e){e.stopPropagation();var t=this,i=t.multipleSelectionEnabled,n=t.selectedItems,o=i&&(e.metaKey||e.ctrlKey),s=e.currentTarget,r=s[\"data-item\"],l=n.indexOf(r)>-1,a=n.length,c=l&&1===a;return o?void(l?n.remove(r):n.add(r)):a&&!c?(n.removeAll(),void n.add(r)):void(l?n.remove(r):n.add(r))},n([u.property()],t.prototype,\"iconClass\",void 0),n([u.property(),_.renderable()],t.prototype,\"errorsVisible\",void 0),n([u.property()],t.prototype,\"label\",void 0),n([u.aliasOf(\"viewModel.listItemCreatedFunction\"),_.renderable()],t.prototype,\"listItemCreatedFunction\",void 0),n([u.property()],t.prototype,\"multipleSelectionEnabled\",void 0),n([u.aliasOf(\"viewModel.operationalItems\"),_.renderable()],t.prototype,\"operationalItems\",void 0),n([u.property(),_.renderable()],t.prototype,\"selectionEnabled\",void 0),n([u.property(),_.renderable()],t.prototype,\"selectedItems\",void 0),n([u.property(),_.renderable()],t.prototype,\"statusIndicatorsVisible\",void 0),n([u.aliasOf(\"viewModel.view\"),_.renderable()],t.prototype,\"view\",void 0),n([_.vmEvent(\"trigger-action\"),u.property({type:h}),_.renderable(\"viewModel.state\")],t.prototype,\"viewModel\",void 0),n([u.aliasOf(\"viewModel.triggerAction\")],t.prototype,\"triggerAction\",null),n([_.accessibleHandler()],t.prototype,\"_toggleActionsOpen\",null),n([_.accessibleHandler()],t.prototype,\"_triggerPanel\",null),n([_.accessibleHandler()],t.prototype,\"_triggerAction\",null),n([_.accessibleHandler()],t.prototype,\"_toggleVisibility\",null),n([_.accessibleHandler()],t.prototype,\"_toggleChildrenClick\",null),n([_.accessibleHandler()],t.prototype,\"_toggleSelection\",null),t=n([u.subclass(\"esri.widgets.LayerList\")],t)}(u.declared(g))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Collection\",\"../../core/Evented\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"./ListItem\",\"./support/layerListUtils\"],function(e,t,i,r,o,n,s,a,l,c,d){var p={view:\"view\",viewLayers:\"view-layers\",mapLayers:\"map-layers\",layerViews:\"layer-views\",layerListMode:\"layer-list-mode\"},h=o.ofType(c);return function(e){function t(t){var i=e.call(this,t)||this;return i._handles=new s,i.listItemCreatedFunction=null,i.operationalItems=new h,i.view=null,i}return i(t,e),t.prototype.initialize=function(){var e=this;this._handles.add(a.init(this,[\"view\",\"view.ready\"],function(){return e._viewHandles()}),p.view)},t.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this.view=null,this.operationalItems.removeAll()},Object.defineProperty(t.prototype,\"state\",{get:function(){var e=this.get(\"view\");return this.get(\"view.ready\")?\"ready\":e?\"loading\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.triggerAction=function(e,t){e&&this.emit(\"trigger-action\",{action:e,item:t})},t.prototype._createLayerViewHandles=function(e){var t=this,i=this._handles;i.remove(p.layerViews),this._compileList(),e&&i.add(e.on(\"change\",function(){return t._compileList()}),p.layerViews)},t.prototype._createMapLayerHandles=function(e){var t=this,i=this._handles;i.remove(p.mapLayers),this._compileList(),e&&i.add(e.on(\"change\",function(){return t._compileList()}),p.mapLayers)},t.prototype._watchItemProperties=function(e){var t=this;this._handles.add([e.children.on(\"change\",function(){t._modifyListItemChildren(e.children)})],\"children-change-\"+e.uid)},t.prototype._modifyListItemChildren=function(e){var t=this;e.forEach(function(e){return t._modifyListItem(e)})},t.prototype._modifyListItem=function(e){if(\"function\"==typeof this.listItemCreatedFunction){var t={item:e};this.listItemCreatedFunction.call(null,t)}this._modifyListItemChildren(e.children)},t.prototype._createListItem=function(e){var t=this.view,i=new c({layer:e,view:t});return this._watchItemProperties(i),i},t.prototype._removeAllItems=function(){var e=this,t=e._handles,i=e.operationalItems;i.forEach(function(e){t.remove(\"children-change-\"+e.uid)}),i.removeAll()},t.prototype._getViewableLayers=function(e){if(e)return e.filter(function(e){return\"hide\"!==d.findLayerListMode(e)})},t.prototype._watchLayersListMode=function(e){var t=this,i=this._handles;i.remove(p.layerListMode),e&&e.forEach(function(e){i.add(a.watch(e,\"listMode\",function(){return t._compileList()}),p.layerListMode)})},t.prototype._compileList=function(){var e=this.get(\"view.map.layers\");this._watchLayersListMode(e);var t=this._getViewableLayers(e);if(!t||!t.length)return void this._removeAllItems();this._createNewItems(t),this._modifyOrRemoveItems(t),this._sortItems(t)},t.prototype._createNewItems=function(e){var t=this,i=this.operationalItems;e.forEach(function(e){i.find(function(t){return t.layer===e})||i.add(t._createListItem(e))})},t.prototype._modifyOrRemoveItems=function(e){var t=this,i=this,r=i._handles,o=i.operationalItems;o.forEach(function(i){if(i){e.find(function(e){return i.layer===e})?t._modifyListItem(i):(r.remove(\"children-change-\"+i.uid),o.remove(i))}})},t.prototype._sortItems=function(e){this.operationalItems.sort(function(t,i){var r=e.indexOf(t.layer),o=e.indexOf(i.layer);return r>o?-1:r<o?1:0})},t.prototype._viewHandles=function(){var e=this,t=this,i=t._handles,r=t.view;i.remove([p.mapLayers,p.layerViews,p.viewLayers]),this._compileList(),r&&r.ready&&i.add([a.init(this,\"view.map.layers\",function(t){return e._createMapLayerHandles(t)}),a.init(this,\"view.layerViews\",function(t){return e._createLayerViewHandles(t)}),a.init(this,\"listItemCreatedFunction\",function(){return e._compileList()})],p.viewLayers)},r([l.property()],t.prototype,\"listItemCreatedFunction\",void 0),r([l.property({type:h})],t.prototype,\"operationalItems\",void 0),r([l.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),r([l.property()],t.prototype,\"view\",void 0),t=r([l.subclass(\"esri.widgets.LayerList.LayerListViewModel\")],t)}(l.declared(n.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/Accessor\",\"../../core/Collection\",\"../../core/Handles\",\"../../core/Identifiable\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../layers/support/Sublayer\",\"../../support/actions/ActionBase\",\"../../support/actions/ActionButton\",\"../../support/actions/ActionSlider\",\"../../support/actions/ActionToggle\",\"./ListItemPanel\",\"./support/layerListUtils\"],function(e,t,r,i,n,o,a,l,s,p,y,d,c,u,h,f,v,w,b){var g=l.ofType({key:\"type\",defaultKeyValue:\"button\",base:u,typeMap:{button:h,toggle:v,slider:f}}),_=l.ofType(g);return function(e){function t(t){var r=e.call(this,t)||this;return r._handles=new s,r.actionsSections=new _,r.actionsOpen=!1,r.children=new(l.ofType(a)),r.error=null,r.layer=null,r.layerView=null,r.open=!1,r.panel=null,r.parent=null,r.view=null,r.visible=null,r}r(t,e),a=t,t.prototype.initialize=function(){var e=this;this._handles.add([y.init(this,\"layer\",function(t){return e._watchLayerProperties(t)}),y.init(this,\"view\",function(t){return e._updateChildren(t)}),y.init(this,\"panel\",function(t){return e._setListItemOnPanel(t)}),y.init(this,[\"layer\",\"view\"],function(){return e._getLayerView()})])},t.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this.view=null},t.prototype.castPanel=function(e){return this.get(\"panel.open\")&&!e.hasOwnProperty(\"open\")&&(e.open=!0),e?new w(e):null},Object.defineProperty(t.prototype,\"title\",{get:function(){var e=this.get(\"layer.layer\");return(!e||e&&this.get(\"layer.layer.loaded\"))&&this.get(\"layer.title\")||\"\"},set:function(e){if(void 0===e)return void this._clearOverride(\"title\");this._override(\"title\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"updating\",{get:function(){var e=this.layerView;return e?e.updating:this._isLayerUpdating(this.layer)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visibleAtCurrentScale\",{get:function(){return!b.isLayerOutsideScaleRange(this.layer,this.get(\"view.scale\"))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visibilityMode\",{get:function(){return b.findLayerVisibilityMode(this.layer)},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new a({actionsSections:this.actionsSections.clone(),actionsOpen:this.actionsOpen,children:this.children.clone(),layer:this.layer,open:this.open,panel:this.panel,title:this.title,view:this.view,visible:this.visible})},t.prototype._setListItemOnPanel=function(e){e&&(e.listItem=this)},t.prototype._updateChildren=function(e){var t=this.children;t&&t.forEach(function(t){return t.view=e})},t.prototype._addChildren=function(e){var t=this;if(this.children.removeAll(),e){this._handles.remove(\"child-list-mode\"),e.forEach(function(r){t._handles.add(y.watch(r,\"listMode\",function(){return t._addChildren(e)}),\"child-list-mode\")});var r=[];e.filter(function(e){return\"hide\"!==b.findLayerListMode(e)}).forEach(function(e){if(b.canDisplayLayer(e)){var i=new a({layer:e,parent:t,view:t.view});r.unshift(i)}}),this.children.addMany(r)}},t.prototype._watchSublayerChanges=function(e){var t=this;e&&this._handles.add(e.on(\"change\",function(){t._addChildren(e)}),\"layer\")},t.prototype._initializeChildLayers=function(e){this._addChildren(e),this._watchSublayerChanges(e)},t.prototype._watchLayerProperties=function(e){var t=this;if(this._handles&&(this._handles.remove(\"layer\"),e)){this._handles.add(y.watch(e,\"listMode\",function(){return t._watchLayerProperties(e)}),\"layer\");if(\"hide-children\"===b.findLayerListMode(e))return void this.children.removeAll();var r=b.getNormalizedChildLayerProperty(e);r&&this._handles.add(y.init(e,r,function(){e.hasOwnProperty(r)&&t._initializeChildLayers(e[r])}),\"layer\")}},t.prototype._getLayerView=function(){return o(this,void 0,void 0,function(){var e,t,r,i,o;return n(this,function(n){switch(n.label){case 0:if(e=this,t=e.layer,r=e.view,!t||!r)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,r.whenLayerView(t)];case 2:return i=n.sent(),i.layer!==this.layer?[2]:(this._set(\"layerView\",i),[3,4]);case 3:return o=n.sent(),[3,4];case 4:return[2]}})})},t.prototype._isLayerUpdating=function(e){return!(e instanceof c)&&(e&&\"loading\"===e.loadStatus)};var a;return i([d.property({type:_})],t.prototype,\"actionsSections\",void 0),i([d.property()],t.prototype,\"actionsOpen\",void 0),i([d.property({type:l})],t.prototype,\"children\",void 0),i([d.aliasOf(\"layer.loadError?\")],t.prototype,\"error\",void 0),i([d.property()],t.prototype,\"layer\",void 0),i([d.property({readOnly:!0})],t.prototype,\"layerView\",void 0),i([d.property()],t.prototype,\"open\",void 0),i([d.property({type:w})],t.prototype,\"panel\",void 0),i([d.cast(\"panel\")],t.prototype,\"castPanel\",null),i([d.property()],t.prototype,\"parent\",void 0),i([d.property({dependsOn:[\"layer.layer?.loaded\",\"layer.title\"]})],t.prototype,\"title\",null),i([d.property({dependsOn:[\"layer.loadStatus?\",\"layerView.updating\"],readOnly:!0})],t.prototype,\"updating\",null),i([d.property({value:null})],t.prototype,\"view\",void 0),i([d.aliasOf(\"layer.visible\")],t.prototype,\"visible\",void 0),i([d.property({dependsOn:[\"layer.minScale?\",\"layer.maxScale?\",\"view.scale\"],readOnly:!0})],t.prototype,\"visibleAtCurrentScale\",null),i([d.property({dependsOn:[\"layer.visibilityMode?\",\"layer.capabilities?.exportMap?.supportsSublayerVisibility\",\"layer.layer?.capabilities?.exportMap?.supportsSublayerVisibility\"],readOnly:!0})],t.prototype,\"visibilityMode\",null),t=a=i([d.subclass(\"esri.widgets.LayerList.ListItem\")],t)}(d.declared(p.IdentifiableMixin(a)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Handles\",\"../../core/Identifiable\",\"../../core/promiseUtils\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../Widget\",\"../support/widget\"],function(e,t,n,r,i,o,s,l,a,d,c){var p={base:\"esri-layer-list-panel\",content:\"esri-layer-list-panel__content\",contentLegend:\"esri-layer-list-panel__content--legend\",contentString:\"esri-layer-list-panel__content--string\",contentElement:\"esri-layer-list-panel__content--html-element\",contentWidget:\"esri-layer-list-panel__content--widget\"};return function(t){function o(e){var n=t.call(this,e)||this;return n._legend=null,n._handles=new i,n.content=null,n.image=null,n.listItem=null,n.open=!1,n.visible=!0,n}return n(o,t),o.prototype.postInitialize=function(){var e=this;this.own([l.init(this,\"content\",function(t){return e._createLegend(t)})])},o.prototype.destroy=function(){var e=this._legend;e&&e.destroy(),this._legend=null},Object.defineProperty(o.prototype,\"className\",{get:function(){var e=this.image,t=this._getFirstWidget();return this._get(\"className\")||!e&&t?t.iconClass:\"\"},set:function(e){if(void 0===e)return void this._clearOverride(\"className\");this._override(\"className\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,\"title\",{get:function(){var e=this._getFirstWidget();return this._get(\"title\")||e?e.label:\"\"},set:function(e){if(void 0===e)return void this._clearOverride(\"title\");this._override(\"title\",e)},enumerable:!0,configurable:!0}),o.prototype.render=function(){return c.tsx(\"div\",{class:p.base},this._renderContents())},o.prototype._renderContent=function(e){var t=this,n=t._legend,r=t.listItem;if(!e)return null;if(\"legend\"===e){return r&&r.view&&r.layer&&n?c.tsx(\"div\",{class:this.classes(p.content,p.contentLegend),key:n},n.render()):null}return\"string\"==typeof e?c.tsx(\"div\",{class:this.classes(p.content,p.contentString),key:e,innerHTML:e}):c.isWidget(e)?c.tsx(\"div\",{class:this.classes(p.content,p.contentWidget),key:e},e.render()):e instanceof HTMLElement?c.tsx(\"div\",{class:this.classes(p.content,p.contentElement),key:e,bind:e,afterCreate:this._attachToNode}):null},o.prototype._renderContents=function(){var e=this,t=this.content;return Array.isArray(t)?t.map(function(t){return e._renderContent(t)}):this._renderContent(t)},o.prototype._getLegendOptions=function(e){if(e){var t=e.layer,n=e.view;if(t&&n)return{view:n,layerInfos:[{layer:t,title:\"\"}]}}},o.prototype._createLegend=function(t){var n=this;this._hasLegend(t)&&!this._legend&&s.create(function(t){e([\"../Legend\"],t)}).then(function(e){var t=n,r=t._handles,i=t.listItem,o=new e(n._getLegendOptions(i));n._legend=o,n.notifyChange(\"className\"),n.notifyChange(\"title\");var s=l.init(n,[\"listItem.view\",\"listItem.layer\"],function(){return n._updateLegend(o)});r.add(s,\"legends\"),n.scheduleRender()})},o.prototype._hasLegend=function(e){return\"legend\"===e||!!Array.isArray(e)&&e.some(function(e){return\"legend\"===e})},o.prototype._attachToNode=function(e){e.appendChild(this)},o.prototype._updateLegend=function(e){var t=this.listItem;if(t){var n=t.layer,r=t.view;e.view=r,e.layerInfos=[{layer:n,title:null}],this.scheduleRender()}},o.prototype._getWidget=function(e){return\"legend\"===e?this._legend:c.isWidget(e)?e:null},o.prototype._getFirstWidget=function(){var e=this,t=this.content;if(Array.isArray(t)){var n=null;return t.some(function(t){var r=e._getWidget(t);return r&&(n=r),!!r}),n}return this._getWidget(t)},r([a.property({dependsOn:[\"content\",\"image\"]})],o.prototype,\"className\",null),r([a.property(),c.renderable()],o.prototype,\"content\",void 0),r([a.property()],o.prototype,\"image\",void 0),r([a.property()],o.prototype,\"listItem\",void 0),r([a.property({dependsOn:[\"content\"]})],o.prototype,\"title\",null),r([a.property(),c.renderable()],o.prototype,\"open\",void 0),r([a.property()],o.prototype,\"visible\",void 0),o=r([a.subclass(\"esri.widgets.LayerList.ListItemPanel\")],o)}(a.declared(o.IdentifiableMixin(d)))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Layer List','noItemsToDisplay':'There are currently no items to display.','layerInvisibleAtScale':'Invisible at current scale','layerError':'An error occurred loading this layer','untitledLayer':'Untitled layer'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Danh sách Lớp\",noItemsToDisplay:\"Hiện không có mục nào để hiển thị.\",layerInvisibleAtScale:\"Không hiển thị ở tỷ lệ hiện tại\",layerError:\"Đã xảy ra lỗi khi tải lớp này\",untitledLayer:\"Lớp chưa có tiêu đề\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,i){function n(e){if(e)return null!=e.listMode?e.listMode:void 0}function r(e){if(e)return null!=e.minScale?e.minScale:void 0}function t(e){if(e)return null!=e.maxScale?e.maxScale:void 0}function a(e){if(!e)return\"inherited\";var i=e.get(\"layer.capabilities.exportMap.supportsSublayerVisibility\");if(\"boolean\"==typeof i)return i?\"independent\":\"inherited\";var n=e.get(\"capabilities.exportMap.supportsSublayerVisibility\");return\"boolean\"==typeof n?n?\"independent\":\"inherited\":null!=e.visibilityMode?e.visibilityMode:\"independent\"}function l(e){if(e){if(!(e.listMode===u.hideChildren||\"wmts\"===e.type))return\"group\"===e.type?\"layers\":\"sublayers\"}}function d(e){return n(e)!==u.hide}function o(e,i){if(!e||isNaN(i))return!1;var n=r(e),a=t(e),l=!isNaN(n)&&n>0&&i>=n,d=!isNaN(a)&&a>0&&i<=a;return l||d}Object.defineProperty(i,\"__esModule\",{value:!0});var u={hide:\"hide\",hideChildren:\"hide-children\"};i.findLayerListMode=n,i.findLayerMinScale=r,i.findLayerMaxScale=t,i.findLayerVisibilityMode=a,i.getNormalizedChildLayerProperty=l,i.canDisplayLayer=d,i.isLayerOutsideScaleRange=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./Legend/nls/Legend\",\"../core/Handles\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../core/accessorSupport/decorators/cast\",\"./Widget\",\"./Legend/LegendViewModel\",\"./Legend/styles/Card\",\"./Legend/styles/Classic\",\"./support/widget\"],function(e,r,t,n,i,o,s,a,l,d,p,c,y,f,u){var v={widgetIcon:\"esri-icon-layer-list\"};return function(e){function r(r){var t=e.call(this,r)||this;return t._handles=new s,t.activeLayerInfos=null,t.basemapLegendVisible=!1,t.groundLegendVisible=!1,t.respectLayerVisibility=!0,t.iconClass=v.widgetIcon,t.label=o.widgetLabel,t.layerInfos=null,t.style=new f,t.view=null,t.viewModel=new c,t}return n(r,e),r.prototype.postInitialize=function(){var e=this;this.own(a.on(this,\"activeLayerInfos\",\"change\",function(){return e._refreshActiveLayerInfos(e.activeLayerInfos)}),a.init(this,\"style\",function(r,t){t&&r!==t&&t.destroy(),r&&(r.activeLayerInfos=e.activeLayerInfos,\"card\"===r.type&&(r.view=e.view))}))},r.prototype.destroy=function(){this._handles.destroy(),this._handles=null},r.prototype.castStyle=function(e){if(e instanceof y||e instanceof f)return e;if(\"string\"==typeof e)return\"card\"===e?new y:new f;if(e&&\"string\"==typeof e.type){var r=t({},e);delete r.type;return new(\"card\"===e.type?y:f)(r)}return new f},r.prototype.render=function(){return this.style.render()},r.prototype._refreshActiveLayerInfos=function(e){var r=this;this._handles.removeAll(),e.forEach(function(e){return r._renderOnActiveLayerInfoChange(e)}),this.scheduleRender()},r.prototype._renderOnActiveLayerInfoChange=function(e){var r=this,t=a.init(e,\"version\",function(){return r.scheduleRender()});this._handles.add(t,\"version_\"+e.layer.uid),e.children.forEach(function(e){return r._renderOnActiveLayerInfoChange(e)})},i([l.aliasOf(\"viewModel.activeLayerInfos\"),u.renderable()],r.prototype,\"activeLayerInfos\",void 0),i([l.aliasOf(\"viewModel.basemapLegendVisible\"),u.renderable()],r.prototype,\"basemapLegendVisible\",void 0),i([l.aliasOf(\"viewModel.groundLegendVisible\"),u.renderable()],r.prototype,\"groundLegendVisible\",void 0),i([l.aliasOf(\"viewModel.respectLayerVisibility\"),u.renderable()],r.prototype,\"respectLayerVisibility\",void 0),i([l.property()],r.prototype,\"iconClass\",void 0),i([l.property()],r.prototype,\"label\",void 0),i([l.aliasOf(\"viewModel.layerInfos\"),u.renderable()],r.prototype,\"layerInfos\",void 0),i([l.property(),u.renderable()],r.prototype,\"style\",void 0),i([d.cast(\"style\")],r.prototype,\"castStyle\",null),i([l.aliasOf(\"viewModel.view\"),u.renderable()],r.prototype,\"view\",void 0),i([l.property(),u.renderable([\"view.size\"])],r.prototype,\"viewModel\",void 0),r=i([l.subclass(\"esri.widgets.Legend\")],r)}(l.declared(p))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Collection\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../views/2d/layers/support/clusterUtils\",\"./support/ActiveLayerInfo\"],function(e,t,r,i,a,s,n,o,l,y,d){var c={state:\"state\",view:\"view\",allLayerViews:\"all-layer-views\",legendProperties:\"legend-properties\"},h=s.ofType(d),u=[\"esri.layers.CSVLayer\",\"esri.layers.FeatureLayer\",\"esri.layers.HeatmapLayer\",\"esri.layers.MapImageLayer\",\"esri.layers.PointCloudLayer\",\"esri.layers.TileLayer\",\"esri.layers.StreamLayer\",\"esri.layers.SceneLayer\",\"esri.layers.GeoRSSLayer\",\"esri.layers.GeoJSONLayer\",\"esri.layers.GroupLayer\",\"esri.layers.ImageryLayer\",\"esri.layers.WMSLayer\",\"esri.layers.WMTSLayer\"],p=[\"view.basemapView.baseLayerViews\",\"view.groundView.layerViews\",\"view.layerViews\",\"view.basemapView.referenceLayerViews\"];return function(e){function t(t){var r=e.call(this,t)||this;return r._handles=new n,r._layerViewByLayerId={},r._layerInfosByLayerViewId={},r._activeLayerInfosByLayerViewId={},r.activeLayerInfos=new h,r.basemapLegendVisible=!1,r.groundLegendVisible=!1,r.respectLayerVisibility=!0,r.layerInfos=[],r.view=null,r}return r(t,e),t.prototype.initialize=function(){this._handles.add(o.init(this,\"view\",this._viewHandles),c.view)},t.prototype.destroy=function(){this._destroyViewActiveLayerInfos(),this._handles.destroy(),this._handles=null,this.view=null},Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype._viewHandles=function(){this._handles.remove(c.state),this.view&&this._handles.add(o.init(this,\"state\",this._stateHandles),c.state)},t.prototype._stateHandles=function(){this._resetAll(),\"ready\"===this.state&&this._watchPropertiesAndAllLayerViews()},t.prototype._resetAll=function(){this._handles.remove([c.allLayerViews,c.legendProperties]),this._destroyViewActiveLayerInfos(),this.activeLayerInfos.removeAll()},t.prototype._destroyViewActiveLayerInfos=function(){Object.keys(this._activeLayerInfosByLayerViewId).forEach(this._destroyViewActiveLayerInfo,this)},t.prototype._destroyViewActiveLayerInfo=function(e){this._handles.remove(e),delete this._activeLayerInfosByLayerViewId[e]},t.prototype._watchPropertiesAndAllLayerViews=function(){var e=this.view.allLayerViews;e.length&&this._refresh(),this._handles.add(e.on(\"change\",this._allLayerViewsChangeHandle.bind(this)),c.allLayerViews),this._handles.add(o.watch(this,\"layerInfos, basemapLegendVisible, groundLegendVisible\",this._propertiesChangeHandle.bind(this)),c.legendProperties)},t.prototype._allLayerViewsChangeHandle=function(e){var t=this;e.removed.forEach(function(e){return t._destroyViewActiveLayerInfo(e.uid)}),this._refresh()},t.prototype._propertiesChangeHandle=function(){this._destroyViewActiveLayerInfos(),this._refresh()},t.prototype._refresh=function(){this._layerInfosByLayerViewId={},this.activeLayerInfos.removeAll(),this._generateLayerViews().filter(this._filterLayerViewsByLayerInfos,this).filter(this._isLayerViewSupported,this).forEach(this._generateActiveLayerInfo,this),this._sortActiveLayerInfos(this.activeLayerInfos)},t.prototype._sortActiveLayerInfos=function(e){var t={};this.view.allLayerViews.forEach(function(e,r){return t[e.layer.uid]=r}),e.sort(function(e,r){var i=t[e.layer.uid]||0;return(t[r.layer.uid]||0)-i})},t.prototype._generateLayerViews=function(){var e=[];return p.filter(this._filterLayerViews,this).map(this.get,this).filter(function(e){return null!=e}).forEach(this._collectLayerViews(\"layerViews\",e)),e},t.prototype._filterLayerViews=function(e){var t=!this.basemapLegendVisible&&(\"view.basemapView.baseLayerViews\"===e||\"view.basemapView.referenceLayerViews\"===e),r=!this.groundLegendVisible&&\"view.groundView.layerViews\"===e;return!t&&!r},t.prototype._collectLayerViews=function(e,t){var r=function(i){return i&&i.forEach(function(i){t.push(i),r(i[e])}),t};return r},t.prototype._filterLayerViewsByLayerInfos=function(e){var t=this,r=this.layerInfos;return!r||!r.length||r.some(function(r){return t._hasLayerInfo(r,e)})},t.prototype._hasLayerInfo=function(e,t){var r=this._isLayerUIDMatching(e.layer,t.layer.uid);return r&&(this._layerInfosByLayerViewId[t.uid]=e),r},t.prototype._isLayerUIDMatching=function(e,t){return e&&(e.uid===t||this._hasLayerUID(e.layers,t))},t.prototype._hasLayerUID=function(e,t){var r=this;return e&&e.some(function(e){return r._isLayerUIDMatching(e,t)})},t.prototype._isLayerViewSupported=function(e){return u.indexOf(e.layer.declaredClass)>-1&&(this._layerViewByLayerId[e.layer.uid]=e,!0)},t.prototype._generateActiveLayerInfo=function(e){var t=this;if(this._isLayerActive(e))return void this._buildActiveLayerInfo(e);this._handles.remove(e.uid),this._handles.add(o.watch(e,\"suspended, layer.legendEnabled\",function(){return t._layerActiveHandle(e)}),e.uid)},t.prototype._layerActiveHandle=function(e){this._isLayerActive(e)&&(this._handles.remove(e.uid),this._buildActiveLayerInfo(e))},t.prototype._isLayerActive=function(e){return!this.respectLayerVisibility||!e.suspended&&e.get(\"layer.legendEnabled\")},t.prototype._buildActiveLayerInfo=function(e){var t=this,r=e.layer,i=e.uid,a=this._layerInfosByLayerViewId[i],s=this._activeLayerInfosByLayerViewId[i];if(!s){var n=a&&void 0!==a.title;s=new d({layer:r,title:n?a.title:r.title,view:this.view}),this._activeLayerInfosByLayerViewId[i]=s}if(!s.parent){var l=r.parent,y=l&&this._layerViewByLayerId[l.uid];s.parent=y&&this._activeLayerInfosByLayerViewId[y.uid]}if(!this._handles.has(i)){var c=o.watch(r,\"title\",function(r){return t._titleHandle(r,s,e)}),h=o.watch(r,\"renderer?, opacity\",function(){return t._constructLegendElements(s,e)}),u=o.whenTrue(this.view,\"stationary\",function(){return t._scaleHandle(s,e)}),p=o.watch(e,\"_effectiveRenderer\",function(){return t._constructLegendElements(s,e)}),f=[c,h,u,p];if(this.respectLayerVisibility){var v=o.watch(e,\"suspended\",function(r){return t._suspendedHandle(r,s,e)}),L=o.watch(r,\"legendEnabled\",function(r){return t._legendEnabledHandle(r,s,e)});f.push(v,L)}this._handles.add(f,i),this._constructLegendElements(s,e)}this._addActiveLayerInfo(s,e)},t.prototype._titleHandle=function(e,t,r){t.title=e,this._constructLegendElements(t,r)},t.prototype._legendEnabledHandle=function(e,t,r){e?this._addActiveLayerInfo(t,r):this._removeActiveLayerInfo(t)},t.prototype._suspendedHandle=function(e,t,r){e?this._removeActiveLayerInfo(t):this._addActiveLayerInfo(t,r)},t.prototype._scaleHandle=function(e,t){e.scale!==this.view.scale&&e.isScaleDriven&&this._constructLegendElements(e,t)},t.prototype._addActiveLayerInfo=function(e,t){if(this._isLayerActive(t)&&-1===this.activeLayerInfos.indexOf(e)){var r=e.parent;r?-1===r.children.indexOf(e)&&(r.children.push(e),this._sortActiveLayerInfos(r.children)):(this.activeLayerInfos.add(e),this._sortActiveLayerInfos(this.activeLayerInfos))}},t.prototype._removeActiveLayerInfo=function(e){var t=e.parent;t?t.children.remove(e):this.activeLayerInfos.remove(e)},t.prototype._constructLegendElements=function(e,t){var r=t.layer;if(e.scale=this.view.scale,r.featureCollections?e.buildLegendElementsForFeatureCollections(r.featureCollections):r.renderer?e.buildLegendElementsForRenderer(r.renderer):r.url&&e.buildLegendElementsForTools(),r.featureReduction&&\"cluster\"===r.featureReduction.type){var i=t._effectiveRenderer,a=r.renderer.clone(),s=a&&\"visualVariables\"in a&&a.visualVariables||[];if(!(i&&\"visualVariables\"in i&&i.visualVariables))return null;var n=y.findSizeVV(i.visualVariables);y.getActiveSizeStops(this.view,n)&&(a.visualVariables=s.concat([n]),e.buildLegendElementsForRenderer(a))}},i([l.property({type:h})],t.prototype,\"activeLayerInfos\",void 0),i([l.property()],t.prototype,\"basemapLegendVisible\",void 0),i([l.property()],t.prototype,\"groundLegendVisible\",void 0),i([l.property()],t.prototype,\"respectLayerVisibility\",void 0),i([l.property()],t.prototype,\"layerInfos\",void 0),i([l.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),i([l.property()],t.prototype,\"view\",void 0),t=i([l.subclass(\"esri.widgets.Legend.LegendViewModel\")],t)}(l.declared(a))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Legend','points':'Points','lines':'Lines','polygons':'Polygons','creatingLegend':'Creating legend','noLegend':'No legend','dotValue':'1 Dot = {value} {unit}','currentObservations':'Current observations','previousObservations':'Previous observations','high':'High','low':'Low','esriMetersPerSecond':'m/s','esriKilometersPerHour':'km/h','esriKnots':'knots','esriFeetPerSecond':'ft/sec','esriMilesPerHour':'mph','showNormField':'{field} divided by {normField}','showNormPct':'{field} as a percent of the total','showRatio':'Ratio of {field} to {normField}','showRatioPercent':'{field} as a percent of {normField}','showRatioPercentTotal':'{field} as a percent of {field} and {normField}','band0':'band_0','band1':'band_1','band2':'band_2','red':'Red','green':'Green','blue':'Blue'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Chú giải\",points:\"Điểm\",lines:\"Đường\",polygons:\"Vùng\",creatingLegend:\"Đang tạo chú giải\",noLegend:\"Không có chú giải\",dotValue:\"1 Chấm = {value} {unit}\",currentObservations:\"Quan sát hiện tại\",previousObservations:\"Quan sát trước đó\",high:\"Cao\",low:\"Thấp\",esriMetersPerSecond:\"m/s\",esriKilometersPerHour:\"km/h\",esriKnots:\"điểm nút\",esriFeetPerSecond:\"ft/sec\",esriMilesPerHour:\"mph\",showNormField:\"{field} chia cho {normField}\",showNormPct:\"{field} dưới dạng phần trăm của tổng\",showRatio:\"Tỷ lệ của {field} trong {normField}\",showRatioPercent:\"{field} dưới dạng phần trăm của {normField}\",showRatioPercentTotal:\"{field} dưới dạng phần trăm của {field} và {normField}\",band0:\"band_0\",band1:\"band_1\",band2:\"band_2\",red:\"Đỏ\",green:\"Lục\",blue:\"Lam\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/assignHelper\",\"dojo/i18n!../../../nls/common\",\"dojo/i18n!../../Legend/nls/Legend\",\"../../../intl\",\"../../../core/Handles\",\"../../../core/screenUtils\",\"../../../core/accessorSupport/decorators\",\"../../../symbols/support/svgUtils\",\"../../Widget\",\"./support/utils\",\"../support/styleUtils\",\"../../support/colorUtils\",\"../../support/widget\"],function(e,t,r,a,i,s,n,o,l,c,d,p,h,y,m,g,v){function u(e){if(e){if(e.type.indexOf(\"3d\")>-1){var t=e.symbolLayers&&e.symbolLayers.length;if(!t)return;var r=e.symbolLayers.getItemAt(t-1),a=r.resource&&r.resource.primitive;return\"circle\"===a||\"cross\"===a||\"kite\"===a||\"sphere\"===a||\"cube\"===a||\"diamond\"===a}var i=e.style;return\"circle\"===i||\"diamond\"===i||\"cross\"===i}}function _(e){if(e){if(e.type.indexOf(\"3d\")>-1){var t=e.symbolLayers&&e.symbolLayers.length;if(!t)return;var r=e.symbolLayers.getItemAt(t-1),a=r.get(\"resource.primitive\");return\"triangle\"===a||\"cone\"===a||\"tetrahedron\"===a}return\"triangle\"===e.style}}var b={activated:\"esri-legend--card__carousel-indicator--activated\",base:\"esri-legend--card esri-widget\",stacked:\"esri-legend--stacked\",carouselTitle:\"esri-legend--card__carousel-title\",indicator:\"esri-legend--card__carousel-indicator\",intervalSeparator:\"esri-legend--card__interval-separator\",imageryLayerStretchedImage:\"esri-legend--card__imagery-layer-image--stretched\",imageLabel:\"esri-legend--card__image-label\",layerCaption:\"esri-legend--card__layer-caption\",labelElement:\"esri-legend--card__label-element\",layerRow:\"esri-legend--card__layer-row\",labelCell:\"esri-legend--card__label-cell\",message:\"esri-legend--card__message\",rampLabel:\"esri-legend--card__ramp-label\",section:\"esri-legend--card__section\",relationshipSection:\"esri-legend--card__relationship-section\",serviceCaptionText:\"esri-legend--card__service-caption-text\",serviceContent:\"esri-legend--card__service-content\",service:\"esri-legend--card__service\",groupLayer:\"esri-legend--card__group-layer\",groupLayerChild:\"esri-legend--card__group-layer-child\",symbol:\"esri-legend--card__symbol\",sizeRampRow:\"esri-legend--card__size-ramp-row\",symbolRow:\"esri-legend--card__symbol-row\",symbolCell:\"esri-legend--card__symbol-cell\",indicatorContainer:\"esri-legend--card__carousel-indicator-container\",intervalSeparatorsContainer:\"esri-legend--card__interval-separators-container\",relationshipLabelContainer:\"esri-legend--card__relationship-label-container\",labelContainer:\"esri-legend--card__label-container\",serviceCaptionContainer:\"esri-legend--card__service-caption-container\",symbolContainer:\"esri-legend--card__symbol-container\",sizeRampContainer:\"esri-legend--card__size-ramp-container\",hidden:\"esri-hidden\",header:\"esri-widget__heading\"},f=\"esri-legend--card__\",x=window.devicePixelRatio;return function(e){function t(t){var r=e.call(this,t)||this;return r._handles=new l,r._hasIndicators=!1,r._selectedSectionName=null,r._sectionNames=[],r._sectionMap=new Map,r.activeLayerInfos=null,r.layout=\"stack\",r.type=\"card\",r.view=null,r}return r(t,e),t.prototype.postInitialize=function(){var e=this;this.own([this.watch(\"activeLayerInfos\",function(t){e._handles.removeAll(),e._watchForSectionChanges(t)})])},t.prototype.destroy=function(){this._handles.destroy(),this._handles=null},t.prototype.render=function(){var e,t=this;this._hasIndicators=\"auto\"===this.layout&&this.view.container.clientWidth<=768||\"stack\"===this.layout;var r=this.activeLayerInfos,a=r&&r.toArray().map(function(e){return t._renderLegendForLayer(e)}).filter(function(e){return!!e});this._hasIndicators?this._selectedSectionName&&-1!==this._sectionNames.indexOf(this._selectedSectionName)||(this._selectedSectionName=this._sectionNames&&this._sectionNames[0]):this._selectedSectionName=null;var i=this._sectionNames.length,l=this._sectionNames.map(function(e,r){var a,n=o.substitute(s.pagination.pageText,{index:r+1,total:i});return v.tsx(\"div\",{key:e,\"aria-label\":n,title:n,tabIndex:0,onclick:t._selectSection,onkeydown:t._selectSection,bind:t,class:t.classes(b.indicator,(a={},a[b.activated]=t._selectedSectionName===e,a)),\"data-section-name\":e})}),c=this._hasIndicators&&i>1?v.tsx(\"div\",{class:b.indicatorContainer,key:\"carousel-navigation\"},l):null,d=this._hasIndicators?this._sectionMap.get(this._selectedSectionName):a&&a.length?a:null,p=(e={},e[b.stacked]=this._hasIndicators,e);return v.tsx(\"div\",{class:this.classes(b.base,p)},c,d||v.tsx(\"div\",{class:b.message},n.noLegend))},t.prototype._selectSection=function(e){var t=e.target,r=t.getAttribute(\"data-section-name\");r&&(this._selectedSectionName=r)},t.prototype._watchForSectionChanges=function(e){var t=this;if(this._generateSectionNames(),e){e.forEach(function(e){var r=\"activeLayerInfo-\"+e.layer.uid+\"-version-change\";t._handles.remove(r),t._watchForSectionChanges(e.children),t._handles.add(e.watch(\"version\",function(){return t._generateSectionNames()}),r)});var r=\"activeLayerInfos-collection-change\";this._handles.remove(r),this._handles.add(e.on(\"change\",function(){return t._watchForSectionChanges(e)}),r)}},t.prototype._generateSectionNames=function(){this._sectionNames.length=0,this.activeLayerInfos&&this.activeLayerInfos.forEach(this._generateSectionNamesForActiveLayerInfo,this)},t.prototype._generateSectionNamesForActiveLayerInfo=function(e){var t=this;e.children.forEach(this._generateSectionNamesForActiveLayerInfo,this),e.legendElements&&e.legendElements.forEach(function(r,a){t._sectionNames.push(\"\"+f+e.layer.uid+\"-type-\"+r.type+\"-\"+a)})},t.prototype._renderLegendForLayer=function(e){var t,r=this;if(!e.ready)return null;if(e.children.length){var a=e.children.map(function(e){return r._renderLegendForLayer(e)}).toArray();return v.tsx(\"div\",{key:e.layer.uid,class:this.classes(b.service,b.groupLayer)},v.tsx(\"div\",{class:b.serviceCaptionContainer},e.title),a)}var i=e.legendElements;if(i&&!i.length)return null;var s=i.some(function(e){return\"relationship-ramp\"===e.type}),n=i.map(function(t,a){return r._renderLegendForElement(t,e,a,s)}).filter(function(e){return!!e});if(!n.length)return null;var o=(t={},t[b.groupLayerChild]=!!e.parent,t);return v.tsx(\"div\",{key:e.layer.uid,class:this.classes(b.service,o)},v.tsx(\"div\",{class:b.serviceCaptionContainer},v.tsx(\"div\",{class:b.serviceCaptionText},e.title)),v.tsx(\"div\",{class:b.serviceContent},n))},t.prototype._renderLegendForElement=function(e,t,r,a){var i=this;void 0===a&&(a=!1);var s,n=\"color-ramp\"===e.type,o=\"opacity-ramp\"===e.type,l=\"size-ramp\"===e.type,c=t.layer,d=e.title,p=null;if(\"string\"==typeof d)p=d;else if(d){var h=m.getTitle(d,n||o);p=d.title?d.title+\" (\"+h+\")\":h}var g=\"\"+f+c.uid+\"-type-\"+e.type+\"-\"+r,u=this._hasIndicators?v.tsx(\"div\",null,v.tsx(\"h3\",{class:this.classes(b.header,b.carouselTitle)},t.title),v.tsx(\"h4\",{class:this.classes(b.header,b.layerCaption)},p)):p?v.tsx(\"h4\",{class:this.classes(b.header,b.layerCaption)},p):null,_=null;if(\"symbol-table\"===e.type){var x=e.infos.map(function(r,a){return i._renderLegendForElementInfo(r,t,e.legendType,a)}).filter(function(e){return!!e});if(x.length){var w=x[0].properties.classes&&x[0].properties.classes[b.symbolRow],L=(s={},s[b.labelContainer]=!w&&!a,s[b.relationshipLabelContainer]=a,s);_=v.tsx(\"div\",{key:g,class:b.section},u,v.tsx(\"div\",{class:this.classes(L)},x))}}else\"color-ramp\"===e.type||\"opacity-ramp\"===e.type||\"heatmap-ramp\"===e.type?_=v.tsx(\"div\",{key:g,class:b.section},u,this._renderLegendForRamp(e,c.opacity)):l?_=v.tsx(\"div\",{key:g,class:b.section},u,this._renderSizeRamps(e,c.opacity)):\"relationship-ramp\"===e.type&&(_=v.tsx(\"div\",{key:g,class:this.classes(b.section,b.relationshipSection)},u,y.renderRelationshipRamp(e,this.id,c.opacity)));return _?(this._sectionMap.set(g,_),_):null},t.prototype._renderLegendForElementInfo=function(e,t,r,a){var i,s,n,o=t.layer;if(e.type)return this._renderLegendForElement(e,t,a);var l=m.isImageryStretchedLegend(o,r);if(e.symbol&&e.preview){if(-1===e.symbol.type.indexOf(\"simple-fill\")){if(!e.label)return v.tsx(\"div\",{key:a,bind:e.preview,afterCreate:m.attachToNode});var c=(i={},i[b.symbolCell]=this._hasIndicators,i);return v.tsx(\"div\",{key:a,class:this.classes(b.layerRow,(s={},s[b.symbolRow]=this._hasIndicators,s))},v.tsx(\"div\",{class:this.classes(c),bind:e.preview,afterCreate:m.attachToNode}),v.tsx(\"div\",{class:this.classes(b.imageLabel,(n={},n[b.labelCell]=this._hasIndicators,n))},m.getTitle(e.label,!1)||\"\"))}var d=255,p=255,h=255,y=0,u=255,_=255,f=255,x=0,w=e.symbol.color&&e.symbol.color.a,L=e.symbol.outline&&e.symbol.outline.color&&e.symbol.outline.color.a;w&&(d=e.symbol.color.r,p=e.symbol.color.g,h=e.symbol.color.b,y=e.symbol.color.a*o.opacity),L&&(u=e.symbol.outline.color.r,_=e.symbol.outline.color.g,f=e.symbol.outline.color.b,x=e.symbol.outline.color.a*o.opacity);var S=!e.symbol.color||g.isBright(e.symbol.color),I=S?\"black\":\"white\",C=S?\"rgba(255, 255, 255, .6)\":\"rgba(0, 0, 0, .6)\",R={background:w?\"rgba(\"+d+\", \"+p+\", \"+h+\", \"+y+\")\":\"none\",color:I,textShadow:\"-1px -1px 0 \"+C+\",\\n 1px -1px 0 \"+C+\",\\n -1px 1px 0 \"+C+\",\\n 1px 1px 0 \"+C,border:L?\"1px solid rgba(\"+u+\", \"+_+\", \"+f+\", \"+x+\")\":\"none\"};return v.tsx(\"div\",{key:a,class:b.layerRow},v.tsx(\"div\",{class:b.labelElement,styles:R},\" \",e.label,\" \"))}if(e.src){var k=this._renderImage(e,o,l);return v.tsx(\"div\",{key:a,class:b.layerRow},k,v.tsx(\"div\",{class:b.imageLabel},e.label||\"\"))}},t.prototype._renderImage=function(e,t,r){var a,i=e.label,s=e.src,n=e.opacity,o=(a={},a[b.imageryLayerStretchedImage]=r,a[b.symbol]=!r,a),l={opacity:\"\"+(null!=n?n:t.opacity)};return v.tsx(\"img\",{alt:m.getTitle(i,!1),src:s,border:0,width:e.width,height:e.height,class:this.classes(o),styles:l})},t.prototype._drawImageOnSizeRamp=function(e,t,r){var a=r.x,i=r.y,s=r.width,n=r.height,o=new Image;o.src=t,o.onload=function(){e.drawImage(o,a,i,s,n),URL.revokeObjectURL(t)}},t.prototype._attachSizeRampToNode=function(e){var t=e[\"data-layer-opacity\"];null!=t&&(e.style.opacity=t.toString());var r,a,i=e[\"data-legend-element\"],s=i.infos,n=s[0],o=s[s.length-1],l=n.symbol,d=o.symbol,p=\"picture-marker\"===l.type,h=_(l),y=u(l);if(p)r=l.url,a=d.url;else{if(n.preview){var m=new Blob([n.preview.innerHTML],{type:\"image/svg+xml\"});r=URL.createObjectURL(m)}if(o.preview){var g=new Blob([o.preview.innerHTML],{type:\"image/svg+xml\"});a=URL.createObjectURL(g)}}var v=c.pt2px(n.size+n.outlineSize)*x,b=c.pt2px(o.size+o.outlineSize)*x,f=this._hasIndicators?v:v+100*x,w=this._hasIndicators?f+50*x:v,L=document.createElement(\"canvas\");L.width=f,L.height=w,L.style.width=L.width/x+\"px\",L.style.height=L.height/x+\"px\";var S=L.getContext(\"2d\");if(this._hasIndicators){this._drawImageOnSizeRamp(S,r,{x:0,y:0,width:v,height:v}),this._drawImageOnSizeRamp(S,a,{x:f/2-b/2,y:w-b,width:b,height:b}),S.beginPath();var I=y?f/2:f,C=f/2-b/2,R=w-(h?0:y?b/2:b);S.moveTo(0,I),S.lineTo(C,R);var k=f,N=y?f/2:f,T=f/2+b/2,z=w-(h?0:y?b/2:b);S.moveTo(k,N),S.lineTo(T,z)}else{this._drawImageOnSizeRamp(S,r,{x:f-v,y:0,width:v,height:v}),this._drawImageOnSizeRamp(S,a,{x:0,y:w/2-b/2,width:b,height:b}),S.beginPath();var E=b-(y||h?b/2:0),F=w/2-b/2,O=f-(y||h?v/2:v);S.moveTo(E,F),S.lineTo(O,0);var U=b-(y?b/2:0),A=w/2+b/2,M=f-(y?v/2:v),H=w;S.moveTo(U,A),S.lineTo(M,H)}S.strokeStyle=\"#ddd\",S.stroke(),e.appendChild(L)},t.prototype._renderSizeRamps=function(e,t){var r,a=e.infos,i=a[0].label,s=a[a.length-1].label;return v.tsx(\"div\",{class:this.classes(b.layerRow,(r={},r[b.sizeRampRow]=this._hasIndicators,r))},v.tsx(\"div\",{class:b.rampLabel},this._hasIndicators?i:s),v.tsx(\"div\",{class:b.sizeRampContainer},v.tsx(\"div\",{bind:this,\"data-layer-opacity\":t,\"data-legend-element\":e,afterCreate:this._attachSizeRampToNode})),v.tsx(\"div\",{class:b.rampLabel},this._hasIndicators?s:i))},t.prototype._renderLegendForRamp=function(e,t){var r=e.infos,a=\"heatmap-ramp\"===e.type,i=r.length-1,s=i>2&&!a?25*i:100,o=s+20,l=r.slice(0).reverse();l.forEach(function(e,t){e.offset=a?e.ratio:t/i});var c=l.length-1,d=l.length%2!=0&&l[l.length/2|0],h=d&&v.tsx(\"div\",{class:b.intervalSeparatorsContainer},v.tsx(\"div\",{class:b.intervalSeparator},\"|\"),v.tsx(\"div\",{class:b.rampLabel},d.label)),y=r[r.length-1].label,m=r[0].label,g=null;null!=t&&(g=\"opacity: \"+t);var u=[[{shape:{type:\"path\",path:\"M0 12.5 L10 0 L10 25 Z\"},fill:l[0].color,stroke:{width:0}},{shape:{type:\"rect\",x:10,y:0,width:s,height:25},fill:{type:\"linear\",x1:10,y1:0,x2:s+10,y2:0,colors:l},stroke:{width:0}},{shape:{type:\"path\",path:\"M\"+(s+10)+\" 0 L\"+o+\" 12.5 L\"+(s+10)+\" 25 Z\"},fill:l[c].color,stroke:{width:0}}]],_=p.renderSVG(u,o,25);return v.tsx(\"div\",{class:b.layerRow},v.tsx(\"div\",{class:b.rampLabel},a?n[y]:y),v.tsx(\"div\",{class:b.symbolContainer},v.tsx(\"div\",{style:g},_),h),v.tsx(\"div\",{class:b.rampLabel},a?n[m]:m))},a([v.renderable(),d.property()],t.prototype,\"activeLayerInfos\",void 0),a([d.property()],t.prototype,\"layout\",void 0),a([d.property({readOnly:!0})],t.prototype,\"type\",void 0),a([d.property()],t.prototype,\"view\",void 0),a([v.accessibleHandler()],t.prototype,\"_selectSection\",null),t=a([d.subclass(\"esri.widgets.Legend.styles.Card\")],t)}(d.declared(h))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"dojo/i18n!../../Legend/nls/Legend\",\"../../../intl\",\"../../../core/accessorSupport/decorators\",\"../../Widget\",\"./support/utils\",\"../support/styleUtils\",\"../../support/widget\"],function(e,r,t,l,a,s,i,n,o,d,p){var y={widget:\"esri-widget\",base:\"esri-legend esri-widget--panel\",service:\"esri-legend__service\",label:\"esri-legend__service-label\",layer:\"esri-legend__layer\",groupLayer:\"esri-legend__group-layer\",groupLayerChild:\"esri-legend__group-layer-child\",layerTable:\"esri-legend__layer-table\",layerTableSizeRamp:\"esri-legend__layer-table--size-ramp\",layerChildTable:\"esri-legend__layer-child-table\",layerCaption:\"esri-legend__layer-caption\",layerBody:\"esri-legend__layer-body\",layerRow:\"esri-legend__layer-row\",layerCell:\"esri-legend__layer-cell\",layerInfo:\"esri-legend__layer-cell esri-legend__layer-cell--info\",imageryLayerStretchedImage:\"esri-legend__imagery-layer-image--stretched\",imageryLayerCellStretched:\"esri-legend__imagery-layer-cell--stretched\",imageryLayerInfoStretched:\"esri-legend__imagery-layer-info--stretched\",symbolContainer:\"esri-legend__layer-cell esri-legend__layer-cell--symbols\",symbol:\"esri-legend__symbol\",rampContainer:\"esri-legend__ramps\",sizeRamp:\"esri-legend__size-ramp\",colorRamp:\"esri-legend__color-ramp\",opacityRamp:\"esri-legend__opacity-ramp\",borderlessRamp:\"esri-legend__borderless-ramp\",rampTick:\"esri-legend__ramp-tick\",rampFirstTick:\"esri-legend__ramp-tick-first\",rampLastTick:\"esri-legend__ramp-tick-last\",rampLabelsContainer:\"esri-legend__ramp-labels\",rampLabel:\"esri-legend__ramp-label\",message:\"esri-legend__message\",header:\"esri-widget__heading\",hidden:\"esri-hidden\"};return function(e){function r(r){var t=e.call(this,r)||this;return t.activeLayerInfos=null,t.type=\"classic\",t}return t(r,e),r.prototype.render=function(){var e=this,r=this.activeLayerInfos,t=this.classes(y.base,y.widget),l=r&&r.toArray().map(function(r){return e._renderLegendForLayer(r)}).filter(function(e){return!!e});return p.tsx(\"div\",{class:t},l&&l.length?l:p.tsx(\"div\",{class:y.message},a.noLegend))},r.prototype._renderLegendForLayer=function(e){var r,t=this;if(!e.ready)return null;var l=!!e.children.length,a=\"esri-legend__\"+e.layer.uid+\"-version-\"+e.version,s=e.title?p.tsx(\"h3\",{class:this.classes(y.header,y.label)},e.title):null;if(l){var i=e.children.map(function(e){return t._renderLegendForLayer(e)}).toArray();return p.tsx(\"div\",{key:a,class:this.classes(y.service,y.groupLayer)},s,i)}var n=e.legendElements;if(n&&!n.length)return null;var o=n.map(function(r){return t._renderLegendForElement(r,e.layer)}).filter(function(e){return!!e});if(!o.length)return null;var d=(r={},r[y.groupLayerChild]=!!e.parent,r);return p.tsx(\"div\",{key:a,class:this.classes(y.service,d)},s,p.tsx(\"div\",{class:y.layer},o))},r.prototype._renderLegendForElement=function(e,r,t){var l,a=this,s=\"color-ramp\"===e.type,i=\"opacity-ramp\"===e.type,n=\"size-ramp\"===e.type,c=null;if(\"symbol-table\"===e.type||n){var g=e.infos.map(function(t){return a._renderLegendForElementInfo(t,r,n,e.legendType)}).filter(function(e){return!!e});g.length&&(c=p.tsx(\"div\",{class:y.layerBody},g))}else\"color-ramp\"===e.type||\"opacity-ramp\"===e.type||\"heatmap-ramp\"===e.type||\"stretch-ramp\"===e.type?c=this._renderLegendForRamp(e,r.opacity):\"relationship-ramp\"===e.type&&(c=o.renderRelationshipRamp(e,this.id,r.opacity));if(!c)return null;var m=e.title,_=null;if(\"string\"==typeof m)_=m;else if(m){var u=d.getTitle(m,s||i);_=d.isRendererTitle(m,s||i)&&m.title?m.title+\" (\"+u+\")\":u}var h=t?y.layerChildTable:y.layerTable,v=_?p.tsx(\"div\",{class:y.layerCaption},_):null,f=(l={},l[y.layerTableSizeRamp]=n||!t,l);return p.tsx(\"div\",{class:this.classes(h,f)},v,c)},r.prototype._renderLegendForRamp=function(e,r){var t=this,l=e.infos,s=\"opacity-ramp\"===e.type,i=\"heatmap-ramp\"===e.type,n=\"stretch-ramp\"===e.type,o=e.preview,c=s?y.opacityRamp:\"\";o.className=y.colorRamp+\" \"+c,null!=r&&(o.style.opacity=r.toString());var g=l.map(function(e){return p.tsx(\"div\",{class:e.label?y.rampLabel:null},i?a[e.label]:n?t._getStretchStopLabel(e):e.label)}),m={width:\"24px\"},_={height:o.style.height};return p.tsx(\"div\",{class:y.layerRow},p.tsx(\"div\",{class:y.symbolContainer,styles:m},p.tsx(\"div\",{class:y.rampContainer,bind:o,afterCreate:d.attachToNode})),p.tsx(\"div\",{class:y.layerInfo},p.tsx(\"div\",{class:y.rampLabelsContainer,styles:_},g)))},r.prototype._getStretchStopLabel=function(e){return e.label?a[e.label]+\": \"+s.formatNumber(e.value,{style:\"decimal\"}):\"\"},r.prototype._renderLegendForElementInfo=function(e,r,t,l){var a,s;if(e.type)return this._renderLegendForElement(e,r,!0);var i=null,n=d.isImageryStretchedLegend(r,l);if(e.symbol&&e.preview?i=p.tsx(\"div\",{class:y.symbol,bind:e.preview,afterCreate:d.attachToNode}):e.src&&(i=this._renderImage(e,r,n)),!i)return null;var o=(a={},a[y.imageryLayerInfoStretched]=n,a),c=(s={},s[y.imageryLayerInfoStretched]=n,s[y.sizeRamp]=!n&&t,s);return p.tsx(\"div\",{class:y.layerRow},p.tsx(\"div\",{class:this.classes(y.symbolContainer,c)},i),p.tsx(\"div\",{class:this.classes(y.layerInfo,o)},d.getTitle(e.label,!1)||\"\"))},r.prototype._renderImage=function(e,r,t){var l,a=e.label,s=e.src,i=e.opacity,n=(l={},l[y.imageryLayerStretchedImage]=t,l[y.symbol]=!t,l),o={opacity:\"\"+(null!=i?i:r.opacity)};return p.tsx(\"img\",{alt:d.getTitle(a,!1),src:s,border:0,width:e.width,height:e.height,class:this.classes(n),styles:o})},l([p.renderable(),i.property()],r.prototype,\"activeLayerInfos\",void 0),l([i.property({readOnly:!0})],r.prototype,\"type\",void 0),r=l([i.subclass(\"esri.widgets.Legend.styles.Classic\")],r)}(i.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../symbols/support/svgUtils\",\"../../../support/widget\"],function(e,a,r,l){function t(e,a,r){var t=e.focus,s=e.labels,o=!!t,d=i(e,a,r);return o?l.tsx(\"div\",{class:n.diamondContainer},l.tsx(\"div\",{class:n.diamondLeftCol},s.left),l.tsx(\"div\",{class:n.diamondMidCol},l.tsx(\"div\",{class:n.diamondMidColLabel},s.top),d,l.tsx(\"div\",{class:n.diamondMidColLabel},s.bottom)),l.tsx(\"div\",{class:n.diamondRightCol},s.right)):l.tsx(\"div\",{class:n.squareTable},l.tsx(\"div\",{class:n.squareTableRow},l.tsx(\"div\",{class:l.classes(n.squareTableCell,n.squareTableLabel,n.squareTableLabelRightBottom)},s.left),l.tsx(\"div\",{class:n.squareTableCell}),l.tsx(\"div\",{class:l.classes(n.squareTableCell,n.squareTableLabel,n.squareTableLabelLeftBottom)},s.top)),l.tsx(\"div\",{class:n.squareTableRow},l.tsx(\"div\",{class:n.squareTableCell}),d,l.tsx(\"div\",{class:n.squareTableCell})),l.tsx(\"div\",{class:n.squareTableRow},l.tsx(\"div\",{class:l.classes(n.squareTableCell,n.squareTableLabel,n.squareTableLabelRightTop)},s.bottom),l.tsx(\"div\",{class:n.squareTableCell}),l.tsx(\"div\",{class:l.classes(n.squareTableCell,n.squareTableLabel,n.squareTableLabelLeftTop)},s.right)))}function s(e,a,r){var l=r+\"_arrowStart\",t=r+\"_arrowEnd\",s=\"left\"===e,i={markerStart:null,markerEnd:null};switch(a){case\"HL\":s?i.markerStart=\"url(#\"+t+\")\":i.markerEnd=\"url(#\"+l+\")\";break;case\"LL\":i.markerStart=\"url(#\"+t+\")\";break;case\"LH\":s?i.markerEnd=\"url(#\"+l+\")\":i.markerStart=\"url(#\"+t+\")\";break;default:i.markerEnd=\"url(#\"+l+\")\"}return i}function i(e,a,t,i){void 0===i&&(i=60);var d=e.focus,m=e.numClasses,u=e.colors,b=e.rotation,p=!!d,h=Math.sqrt(Math.pow(i,2)+Math.pow(i,2))+(p?0:5),c=null;null!=t&&(c=\"opacity: \"+t);for(var x=[],f=[],q=[],k=i||75,T=k/m,_=0;_<m;_++)for(var v=_*T,g=0;g<m;g++){var L=g*T,C=r.generateFillAttributes(u[_][g]),w=r.generateStrokeAttributes(null),R={type:\"rect\",x:L,y:v,width:T,height:T};x.push(r.renderDef(C)),f.push(r.renderShape(R,C.fill,w,null)),q.push(r.getBoundingBox(R))}var y=null;p||(y=\"margin: -15px -15px -18px -15px\");var M=s(\"left\",d,a),S=s(\"right\",d,a),B=r.computeBBox(q),E=r.getTransformMatrix(B,h,h,0,!1,b),H=r.getTransformMatrix(B,h,h,0,!1,p?-45:null);return l.tsx(\"div\",{style:c,class:p?n.diamondMidColRamp:n.squareTableCell},l.tsx(\"svg\",{xmlns:o,width:h,height:h,style:y},l.tsx(\"defs\",null,l.tsx(\"marker\",{id:a+\"_arrowStart\",markerWidth:\"10\",markerHeight:\"10\",refX:\"5\",refY:\"5\",markerUnits:\"strokeWidth\",orient:\"auto\"},l.tsx(\"polyline\",{points:\"0,0 5,5 0,10\",fill:\"none\",stroke:\"#555555\",\"stroke-width\":\"1\"})),l.tsx(\"marker\",{id:a+\"_arrowEnd\",markerWidth:\"10\",markerHeight:\"10\",refX:\"0\",refY:\"5\",markerUnits:\"strokeWidth\",orient:\"auto\"},l.tsx(\"polyline\",{points:\"5,0 0,5 5,10\",fill:\"none\",stroke:\"#555555\",\"stroke-width\":\"1\"})),x),l.tsx(\"g\",{transform:E},f),l.tsx(\"g\",{transform:H},l.tsx(\"line\",{fill:\"none\",stroke:\"#555555\",\"stroke-width\":\"1\",\"marker-start\":M.markerStart,\"marker-end\":M.markerEnd,x1:-10,y1:i-15,x2:-10,y2:15}),l.tsx(\"line\",{fill:\"none\",stroke:\"#555555\",\"stroke-width\":\"1\",\"marker-start\":S.markerStart,\"marker-end\":S.markerEnd,x1:15,y1:i+10,x2:i-15,y2:i+10}))))}Object.defineProperty(a,\"__esModule\",{value:!0});var o=\"http://www.w3.org/2000/svg\",n={diamondContainer:\"esri-relationship-ramp--diamond__container\",diamondLeftCol:\"esri-relationship-ramp--diamond__left-column\",diamondRightCol:\"esri-relationship-ramp--diamond__right-column\",diamondMidCol:\"esri-relationship-ramp--diamond__middle-column\",diamondMidColLabel:\"esri-relationship-ramp--diamond__middle-column--label\",diamondMidColRamp:\"esri-relationship-ramp--diamond__middle-column--ramp\",squareTable:\"esri-relationship-ramp--square__table\",squareTableRow:\"esri-relationship-ramp--square__table-row\",squareTableCell:\"esri-relationship-ramp--square__table-cell\",squareTableLabel:\"esri-relationship-ramp--square__table-label\",squareTableLabelLeftBottom:\"esri-relationship-ramp--square__table-label--left-bottom\",squareTableLabelRightBottom:\"esri-relationship-ramp--square__table-label--right-bottom\",squareTableLabelLeftTop:\"esri-relationship-ramp--square__table-label--left-top\",squareTableLabelRightTop:\"esri-relationship-ramp--square__table-label--right-top\"};a.renderRelationshipRamp=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/assignHelper\",\"../../../core/tsSupport/declareExtendsHelper\",\"../../../core/tsSupport/decorateHelper\",\"../../../core/tsSupport/awaiterHelper\",\"../../../core/tsSupport/generatorHelper\",\"../../../Color\",\"../../../request\",\"../../../symbols\",\"../../../core/Accessor\",\"../../../core/arrayUtils\",\"../../../core/Collection\",\"../../../core/Handles\",\"../../../core/Logger\",\"../../../core/maybe\",\"../../../core/promiseUtils\",\"../../../core/urlUtils\",\"../../../core/watchUtils\",\"../../../core/accessorSupport/decorators\",\"../../../layers/support/ExportImageParameters\",\"../../../layers/support/fieldUtils\",\"../../../renderers/support/jsonUtils\",\"../../../renderers/visualVariables/SizeVariable\",\"../../../symbols/support/symbolUtils\",\"../../../symbols/support/utils\",\"../../../views/2d/layers/support/clusterUtils\",\"./colorRampUtils\",\"./heatmapRampUtils\",\"./relationshipRampUtils\",\"./sizeRampUtils\",\"./utils\",\"@dojo/framework/shim/Promise\"],function(e,t,r,n,l,i,s,a,o,u,c,d,p,y,f,h,m,g,b,v,_,S,E,L,R,w,C,F,I,T,z,V){function M(e){return\"raster-colormap\"===e.type}function x(e){return\"raster-stretch\"===e.type}function O(e){return\"esri.renderers.SimpleRenderer\"===e.declaredClass}function P(e){return\"esri.renderers.ClassBreaksRenderer\"===e.declaredClass}function D(e){return\"esri.renderers.UniqueValueRenderer\"===e.declaredClass}function A(e){return\"esri.renderers.HeatmapRenderer\"===e.declaredClass}function U(e){return B(e)||N(e)||W(e)||k(e)}function k(e){return\"esri.renderers.PointCloudRGBRenderer\"===e.declaredClass}function B(e){return\"esri.renderers.PointCloudClassBreaksRenderer\"===e.declaredClass}function N(e){return\"esri.renderers.PointCloudStretchRenderer\"===e.declaredClass}function W(e){return\"esri.renderers.PointCloudUniqueValueRenderer\"===e.declaredClass}function H(e){return\"esri.renderers.DotDensityRenderer\"===e.declaredClass}function j(e){return O(e)||P(e)||D(e)||x(e)||M(e)||A(e)||B(e)||N(e)||W(e)||H(e)}function q(e){return\"esri.layers.WMSLayer\"===e.declaredClass}function G(e){return\"esri.layers.WMTSLayer\"===e.declaredClass}function J(e){return\"esri.layers.MapImageLayer\"===e.declaredClass}function $(e){return\"esri.layers.FeatureLayer\"===e.declaredClass}function Z(e){return e.declaredClass===X}var Q=f.getLogger(\"esri.widgets.Legend.support.ActiveLayerInfo\"),X=\"esri.layers.ImageryLayer\",K=/^\\s*(return\\s+)?\\$view\\.scale\\s*(;)?\\s*$/i,Y=new u.SimpleMarkerSymbol({size:6,outline:{color:[128,128,128,.5],width:.5}}),ee=new u.SimpleFillSymbol({style:\"solid\"}),te=new u.SimpleMarkerSymbol({style:\"path\",path:\"M10,5 L5,0 0,5 M5,0 L5,15\",size:15,outline:{width:1,color:[85,85,85,1]}});return function(t){function u(e){var r=t.call(this,e)||this;return r._handles=new y,r._hasColorRamp=!1,r._hasOpacityRamp=!1,r._hasSizeRamp=!1,r._legendResponse={},r._webStyleSymbolCache=new Map,r._dotDensityUrlCache=new Map,r.children=new p,r.layer=null,r.legendElements=[],r.parent=null,r.scale=null,r.title=null,r.view=null,r}return n(u,t),u.prototype.initialize=function(){var e=this,t=function(){return e.notifyChange(\"ready\")};this._handles.add([b.on(this,\"children\",\"change\",function(r){var n=r.added,l=r.removed,i=e._handles;n.map(function(e){var r=\"activeLayerInfo-ready-watcher-\"+e.layer.uid;i.add(b.init(e,\"ready\",t),r)}),l.forEach(function(e){return i.remove(e.layer.uid)}),t()})])},u.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this._legendResponse=null,this._webStyleSymbolCache=null,this._dotDensityUrlCache=null},Object.defineProperty(u.prototype,\"ready\",{get:function(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,\"isScaleDriven\",{get:function(){var e=this,t=this.layer;if(null===t)return!1;if(\"featureReduction\"in t&&t.featureReduction&&\"cluster\"===t.featureReduction.type)return!0;if(\"renderer\"in t&&t.renderer){if(\"dot-density\"===t.renderer.type)return!0;var r=t.get(\"renderer.valueExpression\");if(K.test(r))return!0;var n=t.get(\"renderer.visualVariables\");return n&&n.some(function(t){return e._isScaleDrivenSizeVariable(t)})}return!0},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,\"version\",{get:function(){return this._get(\"version\")+1},enumerable:!0,configurable:!0}),u.prototype.buildLegendElementsForFeatureCollections=function(e){return i(this,void 0,void 0,function(){var t,r=this;return s(this,function(n){return this.legendElements=[],t=e.map(function(e){if($(e))return r._buildRendererLegendElements(e.renderer,e.title,\"append\");if(e.featureSet&&e.featureSet.features.length){var t=e.layerDefinition,n=t&&t.drawingInfo,l=n&&E.fromJSON(n.renderer);return l?r._buildRendererLegendElements(l,e.name,\"append\"):(Q.warn(\"drawingInfo not available!\"),null)}return null}),[2,m.eachAlways(t).then(function(){})]})})},u.prototype.buildLegendElementsForRenderer=function(e){return i(this,void 0,void 0,function(){return s(this,function(t){return[2,this._buildRendererLegendElements(e,null,\"replace\")]})})},u.prototype.buildLegendElementsForTools=function(){return i(this,void 0,void 0,function(){var e,t=this;return s(this,function(r){switch(r.label){case 0:return e=this.layer,G(e)?(this._constructLegendElementsForWMTSlayer(),[3,6]):[3,1];case 1:return q(e)?(this._constructLegendElementsForWMSSublayers(),[3,6]):[3,2];case 2:return J(e)?[4,this._constructLegendElementsForSublayers()]:[3,4];case 3:return r.sent(),[3,6];case 4:return this._handles.remove(\"imageryLayers-watcher\"),[4,this._getLegendLayers().then(function(r){t.legendElements=[],r.forEach(function(r){if(Z(e)){var n=e.watch(\"renderingRule, bandIds\",function(){t._legendResponse.default=null,t.buildLegendElementsForTools()});t._handles.add(n,\"imageryLayers-watcher\")}var l=t._generateSymbolTableElementForLegendLayer(r);l&&l.infos.length&&(Z(e)&&(l.title=e.title),t.legendElements.push(l)),t.notifyChange(\"ready\")}),t.notifyChange(\"ready\")}).catch(function(e){Q.warn(\"Request to server for legend has failed!\",e)})];case 5:r.sent(),r.label=6;case 6:return[2]}})})},u.prototype._isGroupActive=function(){var e=this.children;return!!e.length&&e.some(function(e){return e.ready})},u.prototype._isScaleDrivenSizeVariable=function(e){if(e&&\"size\"!==e.type)return!1;var t=e,r=t.minSize,n=t.maxSize;return\"object\"==typeof r&&r?this._isScaleDrivenSizeVariable(r):\"object\"==typeof n&&n?this._isScaleDrivenSizeVariable(n):!!t.expression||K.test(t.valueExpression)},u.prototype._buildRendererLegendElements=function(e,t,r){return i(this,void 0,void 0,function(){var n,l;return s(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this._getRendererLegendElements(e,t)];case 1:return n=i.sent(),\"append\"===r?Array.prototype.push.apply(this.legendElements,n):this.legendElements=n,this.notifyChange(\"ready\"),[3,3];case 2:return l=i.sent(),Q.warn(\"error while building legend for layer!\",l),[3,3];case 3:return[2]}})})},u.prototype._constructLegendElementsForWMTSlayer=function(){this.legendElements=[],this._handles.remove(\"wmts-activeLayer-watcher\");var e=this.layer,t=e.activeLayer;if(this._handles.add(b.watch(this.layer,\"activeLayer\",this._constructLegendElementsForWMTSlayer.bind(this)),\"wmts-activeLayer-watcher\"),t.styleId&&t.styles){var r=null;t.styles.some(function(e){return t.styleId===e.id&&(r=e.legendUrl,!0)}),r&&(this.legendElements=[{type:\"symbol-table\",title:t.title,infos:[{src:r,opacity:e.opacity}]}])}this.notifyChange(\"ready\")},u.prototype._constructLegendElementsForWMSSublayers=function(){this.legendElements=[],this._handles.remove(\"wms-sublayers-watcher\");var e=this.layer,t=null;(e.customParameters||e.customLayerParameters)&&(t=r({},e.customParameters,e.customLayerParameters)),this._handles.add(b.watch(this.layer,\"sublayers\",this._constructLegendElementsForWMSSublayers.bind(this)),\"wms-sublayers-watcher\"),this.legendElements=this._generateLegendElementsForWMSSublayers(e.sublayers,t),this.notifyChange(\"ready\")},u.prototype._generateLegendElementsForWMSSublayers=function(e,t){var r=this,n=[];return this._handles.add(e.on(\"change\",this._constructLegendElementsForWMSSublayers.bind(this)),\"wms-sublayers-watcher\"),e.forEach(function(e){var l=e.watch(\"title, visible, legendEnabled\",function(){return r._constructLegendElementsForWMSSublayers()});if(r._handles.add(l,\"wms-sublayers-watcher\"),e.visible&&e.legendEnabled){var i=r._generateSymbolTableElementForWMSSublayer(e,t);i&&i.infos.length&&n.unshift(i)}}),n},u.prototype._generateSymbolTableElementForWMSSublayer=function(e,t){if(!e.legendUrl&&e.sublayers){var r=this._generateLegendElementsForWMSSublayers(e.sublayers,t).filter(function(e){return e});return{type:\"symbol-table\",title:e.title,infos:r}}return this._generateSymbolTableElementForLegendUrl(e,t)},u.prototype._generateSymbolTableElementForLegendUrl=function(e,t){var r=e.legendUrl;if(r){var n={type:\"symbol-table\",title:e.title||e.name||e.id&&e.id+\"\",infos:[]};return t&&(r+=\"?\"+g.objectToQuery(t)),n.infos.push({src:r,opacity:e.layer&&e.layer.opacity}),n}},u.prototype._getLegendLayers=function(e){var t=this,r=e&&e.hasDynamicLayers,n=r?e.dynamicLayers:null,l=n||\"default\",i=this._legendResponse&&this._legendResponse[l];return i?m.resolve(i):this._legendRequest(n).then(function(e){var r=e.layers;return t._legendResponse[l]=r,r})},u.prototype._legendRequest=function(e){var t=this.layer,n={f:\"json\",dynamicLayers:e};if(Z(t)){var l=t;if(l.renderingRule&&(n.renderingRule=JSON.stringify(l.renderingRule.toJSON())),l.bandIds&&(n.bandIds=l.bandIds.join()),l.raster||l.viewId){var i=l.raster,s=l.viewId;n=r({raster:i,viewId:s},n)}}var a=t.url.replace(/(\\/)+$/,\"\");if(\"version\"in t&&t.version>=10.01){var u=a.indexOf(\"?\");u>-1?a=a.substring(0,u)+\"/legend\"+a.substring(u):a+=\"/legend\"}else{var c=a.toLowerCase().indexOf(\"/rest/\"),d=a.substring(0,c)+a.substring(c+5,a.length);a=\"https://utility.arcgis.com/sharing/tools/legend?soapUrl=\"+encodeURI(d)+\"&returnbytes=true\"}return o(a,{query:n}).then(function(e){return e.data})},u.prototype._constructLegendElementsForSublayers=function(){var e=this;this.legendElements=[],this._handles.remove(\"sublayers-watcher\");var t=this.layer,r=new _.ExportImageParameters({layer:t});return this._getLegendLayers(r).then(function(r){var n={};r.forEach(function(e){n[e.layerId]=e}),e._handles.add(b.watch(t,\"sublayers\",e._constructLegendElementsForSublayers.bind(e)),\"sublayers-watcher\"),e.legendElements=e._generateLegendElementsForSublayers(t.sublayers,n,t.opacity),e.notifyChange(\"ready\")}).catch(function(e){Q.warn(\"Request to server for legend has failed!\",e)}).then(function(){return r.destroy()})},u.prototype._generateLegendElementsForSublayers=function(e,t,r){var n=this,l=[];return this._handles.add(e.on(\"change\",this._constructLegendElementsForSublayers.bind(this)),\"sublayers-watcher\"),e.forEach(function(e){var i=e.watch(\"renderer, opacity, title, visible\",function(){return n._constructLegendElementsForSublayers()});if(n._handles.add(i,\"sublayers-watcher\"),e.visible&&e.legendEnabled){var s=e&&null!=e.opacity?e.opacity:null,a=null!=s?s*r:r,o=n._generateSymbolTableElementForSublayer(e,t,a);o&&o.infos.length&&l.unshift(o)}}),l},u.prototype._generateSymbolTableElementForSublayer=function(e,t,r){var n=t[e.id];if(!n&&e.sublayers){var l=this._generateLegendElementsForSublayers(e.sublayers,t,r).filter(function(e){return e});return{type:\"symbol-table\",title:e.title,infos:l}}return this._generateSymbolTableElementForLegendLayer(n,e,r)},u.prototype._generateSymbolTableElementForLegendLayer=function(e,t,r){var n=this;if(e){var l=t&&t.renderer,i=t&&t.title||e.layerName;if(l){var s=t&&t.title||this._getRendererTitle(l,t);s&&(i&&(s.title=i),i=s)}var a={type:\"symbol-table\",title:i,infos:[]};if(e.legendType&&(a.legendType=e.legendType),e.legend&&this._isLegendLayerInScale(e,t)){var o=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;a.infos=o.map(function(t){var l=t.url;if(t.imageData&&t.imageData.length>0)l=\"data:image/png;base64,\"+t.imageData;else{if(0===l.indexOf(\"http\"))return null;l=g.addTokenParameter(n.layer.url+\"/\"+e.layerId+\"/images/\"+l)}return{label:t.label,src:l,opacity:r,width:t.width,height:t.height}}).filter(function(e){return!!e})}return a.infos.length?a:null}},u.prototype._isLegendLayerInScale=function(e,t){var r=t||this.layer,n=null,l=null,i=!0;return!r.minScale&&0!==r.minScale||!r.maxScale&&0!==r.maxScale?(0===e.minScale&&r.tileInfo&&(n=r.tileInfo.lods[0].scale),0===e.maxScale&&r.tileInfo&&(l=r.tileInfo.lods[r.tileInfo.lods.length-1].scale)):(n=Math.min(r.minScale,e.minScale)||r.minScale||e.minScale,l=Math.max(r.maxScale,e.maxScale)),(n>0&&n<this.scale||l>this.scale)&&(i=!1),i},u.prototype._sanitizeLegendForSublayer=function(e,t){if(\"version\"in this.layer&&this.layer.version<10.1||0===e.length)return e;var r=t.renderer,n=e.some(function(e){return e.values}),l=null,i=null;return n&&e.some(function(e,t){return e.values||(l=t,i=e,i.label||(i.label=\"others\")),null!=i}),r?\"unique-value\"===r.type?i&&(e.splice(l,1),e.push(i)):\"class-breaks\"===r.type&&(i&&e.splice(l,1),e.reverse(),i&&e.push(i)):i&&(e.splice(l,1),e.push(i)),e},u.prototype._getRendererLegendElements=function(e,t){return i(this,void 0,void 0,function(){return s(this,function(r){return j(e)?U(e)?[2,this._constructPointCloudRendererLegendElements(e,t)]:\"dot-density\"===e.type?[2,this._constructDotDensityRendererLegendElements(e)]:[2,this._constructRendererLegendElements(e,t)]:(Q.warn(\"Renderer not supported!\"),[2,[]])})})},u.prototype._getPointCloudRendererTitle=function(e){return e.legendOptions&&e.legendOptions.title||e.field},u.prototype._constructPointCloudRendererLegendElements=function(e,t){var r=this,n=[],l=null,i=null;if(B(e))l={type:\"symbol-table\",title:t||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach(function(e){l.infos.unshift({label:e.label||e.minValue+\" - \"+e.maxValue,value:[e.minValue,e.maxValue],symbol:r._getAppliedCloneSymbol(Y,e.color)})});else if(N(e)){var s=e.stops,a=null;if(s.length&&(1===s.length&&(a=s[0].color),!a)){var o=s[0].value,u=s[s.length-1].value;if(null!=o&&null!=u){var c=o+(u-o)/2;a=F.getColorFromPointCloudStops(c,s)}}l={type:\"symbol-table\",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(Y,a||Y.color)}]};var d=F.getRampStopsForPointCloud(e.stops);i={type:\"color-ramp\",title:t||this._getPointCloudRendererTitle(e),infos:d,preview:R.renderColorRampPreviewHTML(d.map(function(e){return e.color}))}}else W(e)&&(l={type:\"symbol-table\",title:t||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos.forEach(function(e){l.infos.push({label:e.label||e.values.join(\", \"),value:e.values.join(\", \"),symbol:r._getAppliedCloneSymbol(Y,e.color)})}));l&&l.infos.length&&n.push(l),i&&i.infos.length&&n.push(i);var p=n.reduce(function(e,t){return e.concat(t.infos)},[]).filter(function(e){return!!e.symbol}).map(function(e){return r._getSymbolPreview(e)});return m.eachAlways(p).then(function(){return n})},u.prototype._getElementInfoForDotDensity=function(e,t){var r=e.backgroundColor,n=e.outline,l=e.dotSize,i=l+\"-\"+t+\"-\"+r+\"-\"+(n&&JSON.stringify(n.toJSON())),s=this._dotDensityUrlCache,a=s.has(i)?s.get(i):R.renderDotDensityPreviewHTML(e,t);return s.set(i,a),{opacity:1,src:a.src,preview:a,width:a.width,height:a.height}},u.prototype._constructDotDensityRendererLegendElements=function(e){var t=this,r=e.calculateDotValue(this.view.scale),n=e.legendOptions&&e.legendOptions.unit,l={type:\"symbol-table\",title:{value:r&&Math.round(r),unit:n||\"\"},infos:[]};return e.attributes.forEach(function(r){var n=t._getElementInfoForDotDensity(e,r.color);n.label=r.label||r.valueExpressionTitle||r.field,l.infos.push(n)}),m.resolve([l])},u.prototype._constructRendererLegendElements=function(e,t){return i(this,void 0,void 0,function(){var r,n,l,i,a,o,u,c,d,p,y,f,g,b,v,_,S,E,L,w,C,F,z,V,U,g,k,B,N,W,H,j,q,G,J,$,Z=this;return s(this,function(s){switch(s.label){case 0:return[4,this._loadRenderer(e)];case 1:return r=s.sent(),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,[4,this._getVisualVariableLegendElements(r)];case 2:return n=s.sent()||[],(l={type:\"symbol-table\",title:t||this._getRendererTitle(r),infos:[]},i=null,a=!1,A(r))?(o=I.getHeatmapRampStops(r),n.push({type:\"heatmap-ramp\",title:t,infos:o,preview:R.renderColorRampPreviewHTML(o.map(function(e){return e.color}))}),[3,10]):[3,3];case 3:if(!D(r))return[3,4];if(u=r&&r.authoringInfo,c=u&&\"relationship\"===u.type){if(d=u.focus,p=u.numClasses,y=u.field1,f=u.field2,p&&y&&f){for(g=this.layer,b=[y,f],v=T.getRotationAngleForFocus(d)||0,_=0,S=b;_<S.length;_++)E=S[_],L=E.field,w=E.normalizationField,C={field:this._getFieldAlias(L,g),normField:w&&this._getFieldAlias(w,g)},F=te.clone(),F.angle=v,l.infos.push({label:C,symbol:F}),v+=90;z=T.getRelationshipRampElement({focus:d,numClasses:p,infos:r.uniqueValueInfos}),n.unshift(z)}}else V=r.field,r.uniqueValueInfos.forEach(function(e){e.symbol&&l.infos.push({label:e.label||Z._getDomainName(V,e.value)||e.value,value:e.value,symbol:e.symbol})});return r.defaultSymbol&&(l.infos.push({label:r.defaultLabel||\"others\",symbol:r.defaultSymbol}),a=!0),[3,10];case 4:return P(r)?(i=this._isUnclassedRenderer(r),U=!i||!this._hasSizeRamp,U&&(r.classBreakInfos.forEach(function(e){e.symbol&&l.infos.unshift({label:e.label||(i?null:e.minValue+\" - \"+e.maxValue),value:[e.minValue,e.maxValue],symbol:e.symbol})}),i&&(l.title=null),this._updateInfosforClassedSizeRenderer(r,l.infos)),r.defaultSymbol&&!i&&(l.infos.push({label:r.defaultLabel||\"others\",symbol:r.defaultSymbol}),a=!0),[3,10]):[3,5];case 5:return x(r)?(g=this.layer,k=void 0,B=void 0,r.statistics&&(k=r.statistics[0].min||r.statistics[0][0],B=r.statistics[0].max||r.statistics[0][1]),N=[],H=h.unwrap,g.renderingRule?[4,g.generateRasterInfo(g.renderingRule)]:[3,7]):[3,9];case 6:return j=s.sent(),[3,8];case 7:j=g.serviceRasterInfo,s.label=8;case 8:return W=H.apply(void 0,[j]),q=W.keyProperties.BandProperties,1===W.bandCount?(k=k||W.statistics&&W.statistics[0].min,B=B||W.statistics&&W.statistics[0].max,k&&B?n.push(this._getStretchLegendElements(r,{min:k,max:B})):this.buildLegendElementsForTools()):g.bandIds&&1===g.bandIds.length?(k=k||W.statistics&&W.statistics[g.bandIds[0]].min,B=B||W.statistics&&W.statistics[g.bandIds[0]].max,k&&B?n.push(this._getStretchLegendElements(r,{min:k,max:B})):this.buildLegendElementsForTools()):W.bandCount>=3?q&&q.length>=W.bandCount?g.bandIds&&3===g.bandIds.length?(N=g.bandIds.map(function(e){return q[e].BandName}),l.infos=this._createSymbolTableElementMultiBand(N)):\"lerc\"===g.format?(N=[0,1,2].map(function(e){return q[e].BandName}),l.infos=this._createSymbolTableElementMultiBand(N)):this.buildLegendElementsForTools():\"lerc\"===g.format?(N=[\"band0\",\"band1\",\"band2\"],l.infos=this._createSymbolTableElementMultiBand(N)):this.buildLegendElementsForTools():this.buildLegendElementsForTools(),[3,10];case 9:M(r)?r.colormapInfos.forEach(function(e){l.infos.push({label:e.label,value:e.value,symbol:Z._getAppliedCloneSymbol(ee,e.color)})}):O(r)&&r.symbol&&!this._hasSizeRamp&&l.infos.push({label:r.label,symbol:r.symbol}),s.label=10;case 10:return G=r.defaultSymbol,!G||a||O(r)||i&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||n.push({type:\"symbol-table\",infos:[{label:r.defaultLabel||\"others\",symbol:G}]}),l.infos.length&&n.unshift(l),J=this._getSymbolConfig(\"visualVariables\"in r&&r.visualVariables),$=n.reduce(function(e,t){return e.concat(t.infos)},[]).filter(function(e){return!(!e||!e.symbol)}).map(function(e){return Z._getSymbolPreview(e,J)}),r=null,[4,m.eachAlways($)];case 11:return s.sent(),[2,n]}})})},u.prototype._getStretchLegendElements=function(e,t){var r=e.colorRamp,n=F.getStrectchRampStops(r,t);return{type:\"stretch-ramp\",title:\"\",infos:n,preview:R.renderColorRampPreviewHTML(n.map(function(e){return e.color}))}},u.prototype._createSymbolTableElementMultiBand=function(e){var t=[],r=[\"red\",\"green\",\"blue\"];return e.forEach(function(e,n){t.push({label:{colorName:r[n],bandName:e},src:V.RGB_IMG_SOURCE[n],opacity:1})}),t},u.prototype._updateInfosforClassedSizeRenderer=function(e,t){var r=e.authoringInfo&&\"class-breaks-size\"===e.authoringInfo.type,n=e.classBreakInfos.some(function(e){return w.isVolumetricSymbol(e.symbol)});if(r&&n){var l=z.REAL_WORLD_MAX_SIZE,i=z.REAL_WORLD_MIN_SIZE,s=e.classBreakInfos.length,a=(l-i)/(s>1?s-1:s);t.forEach(function(e,t){e.size=l-a*t})}},u.prototype._getSymbolConfig=function(e){var t=!1,r=!1;if(e)for(var n=0;n<e.length&&(!t||!r);n++){var l=e[n];\"size\"===l.type&&(\"height\"===l.axis&&(t=!0),\"width-and-depth\"===l.axis&&(r=!0))}return t&&r?\"tall\":null},u.prototype._getSymbolPreview=function(e,t){return R.renderPreviewHTML(e.symbol,{size:e.size,opacity:this.layer.opacity,symbolConfig:t,rotation:e.symbol.angle}).then(function(t){return e.preview=t,e}).catch(function(){return e.preview=null,e})},u.prototype._loadRenderer=function(e){return i(this,void 0,void 0,function(){var t,r,n,l,i=this;return s(this,function(s){switch(s.label){case 0:return t=[],e=e.clone(),[4,this._getMedianColor(e)];case 1:return r=s.sent(),(P(e)||D(e))&&(n=e.classBreakInfos||e.uniqueValueInfos,l=n.map(function(e){return i._fetchSymbol(e.symbol,r).then(function(t){e.symbol=t}).catch(function(){e.symbol=null})}),Array.prototype.push.apply(t,l)),t.push(this._fetchSymbol(e.symbol||e.defaultSymbol,e.defaultSymbol?null:r).then(function(t){i._applySymbolToRenderer(e,t,O(e))}).catch(function(){i._applySymbolToRenderer(e,null,O(e))})),[2,m.eachAlways(t).then(function(){return e})]}})})},u.prototype._applySymbolToRenderer=function(e,t,r){r?e.symbol=t:e.defaultSymbol=t},u.prototype._getMedianColor=function(t){return i(this,void 0,void 0,function(){var r,n,l,i,a;return s(this,function(s){switch(s.label){case 0:if(!(\"visualVariables\"in t&&t.visualVariables))return[2,null];if(!(r=d.find(t.visualVariables,function(e){return\"color\"===e.type})))return[2,null];if(n=null,l=null,r.stops){if(1===r.stops.length)return[2,r.stops[0].color];n=r.stops[0].value,l=r.stops[r.stops.length-1].value}return i=n+(l-n)/2,[4,new Promise(function(t,r){e([\"../../../renderers/visualVariables/support/visualVariableUtils\"],t,r)})];case 1:return a=s.sent().getColor,[2,a(r,i)]}})})},u.prototype._fetchSymbol=function(e,t){var r=this;if(!e)return m.reject();if(\"web-style\"===e.type){var n=e.portal,l=n&&n.url,i=n&&n.user&&n.user.username,s=e.name+\"-\"+e.styleName+\"-\"+e.styleUrl+\"-\"+l+\"-\"+i,a=this._webStyleSymbolCache;return a.has(s)||a.set(s,e.fetchSymbol()),a.get(s).then(function(e){return r._getAppliedCloneSymbol(e,t)}).catch(function(){return Q.warn(\"Fetching web-style failed!\"),m.reject()})}return m.resolve(this._getAppliedCloneSymbol(e,t))},u.prototype._getAppliedCloneSymbol=function(e,t){if(!e)return e;var r=e.clone(),n=r.type,l=n.indexOf(\"3d\")>-1,i=t&&t.toRgba();return l?this._applyColorTo3dSymbol(r,i):r.color&&(r.color=new a(i||r.color)),r},u.prototype._applyColorTo3dSymbol=function(e,t){t&&e.symbolLayers.forEach(function(e){e&&(e.material||(e.material={}),e.material.color=new a(t))})},u.prototype._createClusterSizeVariable=function(e){var t=C.getActiveSizeStops(this.view,e);return new L({field:e.field,legendOptions:{title:\"Number of features\"},minSize:t[2].size,minDataValue:t[2].value,maxSize:t[3].size,maxDataValue:t[3].value})},u.prototype._getVisualVariableLegendElements=function(e){return i(this,void 0,void 0,function(){var t,r,n,l,a,o,u,c,d,p,y=this;return s(this,function(f){switch(f.label){case 0:return\"visualVariables\"in e&&e.visualVariables?(t=e.visualVariables,r=[],n=[],l=[],a=this.layer,t.forEach(function(e){\"color\"===e.type?r.push(e):\"size\"===e.type?(\"levels\"in e&&e.levels&&(e=y._createClusterSizeVariable(e)),n.push(e)):\"opacity\"===e.type&&l.push(e)}),o=r.concat(n,l),0===r.length&&P(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&(d=e.classBreakInfos[0],u=d&&d.symbol),0===r.length&&O(e)&&(u=e.symbol),u&&(u.type.indexOf(\"3d\")>-1?(p=u.symbolLayers.getItemAt(0),\"water\"===p.type?h.isSome(p.color)&&(c=p.color):h.isSome(p.material)&&h.isSome(p.material.color)&&(c=p.material.color)):u.url||(c=u.color)),[4,m.all(o.map(function(t){return i(y,void 0,void 0,function(){var r,n,l,i,o,u,d,p,o;return s(this,function(s){switch(s.label){case 0:return t.legendOptions&&!1===t.legendOptions.showLegend?[3,8]:(r=this._getRampTitle(t,a),n=null,l=\"getField\"in a&&a.getField&&a.getField(t.field),i=l&&S.isDateField(l),\"color\"!==t.type?[3,2]:[4,F.getRampStops(t,null,i)]);case 1:return o=s.sent(),n={type:\"color-ramp\",title:r,infos:o,preview:R.renderColorRampPreviewHTML(o.map(function(e){return e.color}))},this._hasColorRamp||(this._hasColorRamp=!(null==n.infos||!n.infos.length)),[3,7];case 2:return\"size\"!==t.type||\"$view.scale\"===t.valueExpression?[3,5]:(u={type:\"size-ramp\",title:r},d=z.getRampStops,p=[e,t],[4,this._getMedianColor(e)]);case 3:return[4,d.apply(void 0,p.concat([s.sent(),this.scale,this.view,i]))];case 4:return u.infos=s.sent(),n=u,this._hasSizeRamp||(this._hasSizeRamp=!(null==n.infos||!n.infos.length)),[3,7];case 5:return\"opacity\"!==t.type?[3,7]:[4,F.getRampStops(t,c,i)];case 6:o=s.sent(),n={type:\"opacity-ramp\",title:r,infos:o,preview:R.renderColorRampPreviewHTML(o.map(function(e){return e.color}))},this._hasOpacityRamp||(this._hasOpacityRamp=!(null==n.infos||!n.infos.length)),s.label=7;case 7:return[2,n&&n.infos?n:null];case 8:return[2,void 0]}})})}))]):[2,null];case 1:return[2,f.sent().filter(function(e){return!!e})]}})})},u.prototype._getDomainName=function(e,t){if(e&&\"function\"!=typeof e){var r=this.layer,n=r.getField&&r.getField(e),l=n&&r.getFieldDomain?r.getFieldDomain(n.name):null;return l&&l.codedValues?l.getName(t):null}return null},u.prototype._getRampTitle=function(e,t){var r=e.field,n=e.normalizationField,l=!1,i=!1,s=!1,a=null;if(r=\"function\"==typeof r?null:r,n=\"function\"==typeof n?null:n,null!=(e.legendOptions&&e.legendOptions.title))a=e.legendOptions.title;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if(\"renderer\"in t&&t.renderer&&\"authoringInfo\"in t.renderer&&t.renderer.authoringInfo&&t.renderer.authoringInfo.visualVariables)for(var o=t.renderer.authoringInfo.visualVariables,u=0;u<o.length;u++){var c=o[u];if(\"color\"===c.type){if(\"ratio\"===c.style){l=!0;break}if(\"percent\"===c.style){i=!0;break}if(\"percent-of-total\"===c.style){s=!0;break}}}a={field:r&&this._getFieldAlias(r,t),normField:n&&this._getFieldAlias(n,t),ratio:l,ratioPercent:i,ratioPercentTotal:s}}return a},u.prototype._getRendererTitle=function(e,t){var r=e;if(r.legendOptions&&r.legendOptions.title)return r.legendOptions.title;if(r.valueExpressionTitle)return r.valueExpressionTitle;var n=this.layer,l=r.field,i=null,s=null;P(r)&&(i=r.normalizationField,s=\"percent-of-total\"===r.normalizationType),l=\"function\"==typeof l?null:l,i=\"function\"==typeof i?null:i;var a=null;return(l||i)&&(a={field:t?l:l&&this._getFieldAlias(l,n),normField:t?i:i&&this._getFieldAlias(i,n),normByPct:s}),a},u.prototype._getFieldAlias=function(e,t){var r=\"popupTemplate\"in t&&t.popupTemplate,n=r&&r.fieldInfos,l=\"function\"==typeof e?null:\"getField\"in t&&t.getField&&t.getField(e),i=null;n&&n.some(function(t){return e===t.fieldName&&(i=t,!0)});var s=i||l,a=null;return s&&(a=i&&i.label||l&&l.alias||\"name\"in s&&s.name||\"fieldName\"in s&&s.fieldName),a},u.prototype._isUnclassedRenderer=function(e){var t=e.visualVariables,r=P(e)&&e.classBreakInfos&&1===e.classBreakInfos.length,n=!1;return r&&t&&(n=e.field?t.some(function(t){return!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField)}):!!t.length),n},l([v.property()],u.prototype,\"children\",void 0),l([v.property()],u.prototype,\"layer\",void 0),l([v.property()],u.prototype,\"legendElements\",void 0),l([v.property()],u.prototype,\"parent\",void 0),l([v.property({readOnly:!0})],u.prototype,\"ready\",null),l([v.property()],u.prototype,\"scale\",void 0),l([v.property({dependsOn:[\"layer.renderer?.valueExpression?\",\"layer.renderer?.visualVariables?\",\"layer.featureReduction?\"],readOnly:!0})],u.prototype,\"isScaleDriven\",null),l([v.property()],u.prototype,\"title\",void 0),l([v.property({dependsOn:[\"ready\"],readOnly:!0,value:0})],u.prototype,\"version\",null),l([v.property()],u.prototype,\"view\",void 0),u=l([v.subclass(\"esri.widgets.Legend.support.ActiveLayerInfo\")],u)}(v.declared(c))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/awaiterHelper\",\"../../../core/tsSupport/generatorHelper\",\"../../../Color\",\"../../../core/promiseUtils\",\"./utils\",\"@dojo/framework/shim/Promise\"],function(e,r,n,o,l,t,u){function a(e,r){var n=[],o=e.length-1;return 5===e.length?n.push(0,2,4):n.push(0,o),e.map(function(e,l){return n.indexOf(l)>-1?u.createStopLabel(e,l,o,r):null})}function i(r,l,u){return n(this,void 0,void 0,function(){var i,c,p,v,f,h,m,d,b=this;return o(this,function(w){switch(w.label){case 0:return i=!1,c=[],p=[],(r.stops&&(v=r.stops,c=v.map(function(e){return e.value}),(i=v.some(function(e){return!!e.label}))&&(p=v.map(function(e){return e.label}))),f=c[0],h=c[c.length-1],null==f&&null==h)?[2,null]:(m=i?null:a(c,u),[4,t.all(c.map(function(t,u){return n(b,void 0,void 0,function(){var n,a,c;return o(this,function(o){switch(o.label){case 0:return\"opacity\"!==r.type?[3,2]:[4,s(t,r,l)];case 1:return a=o.sent(),[3,4];case 2:return[4,new Promise(function(r,n){e([\"../../../renderers/visualVariables/support/visualVariableUtils\"],r,n)})];case 3:a=o.sent().getColor(r,t),o.label=4;case 4:return n=a,c=i?p[u]:m[u],[2,{value:t,color:n,label:c}]}})})}))]);case 1:return d=w.sent(),[2,d.reverse()]}})})}function s(r,t,u){return void 0===u&&(u=h),n(this,void 0,void 0,function(){var n,a;return o(this,function(o){switch(o.label){case 0:return n=new l(u),[4,new Promise(function(r,n){e([\"../../../renderers/visualVariables/support/visualVariableUtils\"],r,n)})];case 1:return a=o.sent().getOpacity(t,r),null!=a&&(n.a=a),[2,n]}})})}function c(e){var r=!1,n=[],o=[];n=e.map(function(e){return e.value}),(r=e.some(function(e){return!!e.label}))&&(o=e.map(function(e){return e.label}));var l=n[0],t=n[n.length-1];if(null==l&&null==t)return null;var u=r?null:a(n,!1);return n.map(function(n,l){return{value:n,color:p(n,e),label:r?o[l]:u[l]}}).reverse()}function p(e,r){var n=v(e,r),o=n.startIndex,t=n.endIndex,u=n.weight;if(o===t)return r[o].color;var a=l.blendColors(r[o].color,r[t].color,u);return new l(a)}function v(e,r){var n=0,o=r.length-1;return r.some(function(r,l){return e<r.value?(o=l,!0):(n=l,!1)}),{startIndex:n,endIndex:o,weight:(e-r[n].value)/(r[o].value-r[n].value)}}function f(e,r){var n=[];if(e&&\"multipart\"===e.type)e.colorRamps.reverse().forEach(function(o,t){0===t?n.push({value:r.max,color:new l(o.toColor),label:\"high\"}):n.push({value:null,color:new l(o.toColor),label:\"\"}),t===e.colorRamps.length-1?n.push({value:r.min,color:new l(o.fromColor),label:\"low\"}):n.push({value:null,color:new l(o.fromColor),label:\"\"})});else{var o=void 0,t=void 0;e&&\"algorithmic\"===e.type?(o=e.fromColor,t=e.toColor):(o=[0,0,0,1],t=[255,255,255,1]),n=[{value:r.max,color:new l(t),label:\"high\"},{value:r.min,color:new l(o),label:\"low\"}]}return n}Object.defineProperty(r,\"__esModule\",{value:!0});var h=new l([64,64,64]);r.getRampStops=i,r.getRampStopsForPointCloud=c,r.getColorFromPointCloudStops=p,r.getStrectchRampStops=f});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../renderers/support/HeatmapColorStop\"],function(o,r,e){function t(o){var r=o.colorStops,t=r.length-1;if(r&&r[0]){var a=r[t];a&&1!==a.ratio&&(r=r.slice(0),r.push(new e.HeatmapColorStop({ratio:1,color:a.color})),t++)}return r.map(function(o,r){var e=\"\";return 0===r?e=\"low\":r===t&&(e=\"high\"),{color:o.color,label:e,ratio:o.ratio}}).reverse()}Object.defineProperty(r,\"__esModule\",{value:!0}),r.getHeatmapRampStops=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../symbols/support/gfxUtils\",\"../../../symbols/support/previewSymbol3D\"],function(t,e,r,o){function l(t){if(t){var e=t.type;if(e.indexOf(\"3d\")>-1)return o.getSymbolLayerFill(t.symbolLayers.getItemAt(0));if(\"simple-line\"===e){var l=r.getStroke(t);return l&&l.color}if(\"simple-marker\"===t.type&&(\"x\"===t.style||\"cross\"===t.style)){var l=r.getStroke(t);return l&&l.color}return r.getFill(t)}}function s(t,e){var r=e.HH.label,o=e.LL.label,l=e.HL.label,s=e.LH.label;switch(t){case\"HH\":return{top:r,bottom:o,left:l,right:s};case\"HL\":return{top:l,bottom:s,left:o,right:r};case\"LL\":return{top:o,bottom:r,left:s,right:l};case\"LH\":return{top:s,bottom:l,left:r,right:o};default:return{top:r,bottom:o,left:l,right:s}}}function n(t){var e=t.focus,r=t.infos,o=t.numClasses,n=u[o],i={};r.forEach(function(t){i[t.value]={label:t.label,fill:l(t.symbol)}});for(var H=[],L=0;L<o;L++){for(var f=[],p=0;p<o;p++){var M=i[n[L][p]];f.push(M.fill)}H.push(f)}return{type:\"relationship-ramp\",numClasses:o,focus:e,colors:H,labels:s(e,i),rotation:a(e)}}function a(t){var e=i[t];return t&&null==e&&(e=i.HH),e||0}Object.defineProperty(e,\"__esModule\",{value:!0});var i={HH:315,HL:45,LL:135,LH:225},u={2:[[\"HL\",\"HH\"],[\"LL\",\"LH\"]],3:[[\"HL\",\"HM\",\"HH\"],[\"ML\",\"MM\",\"MH\"],[\"LL\",\"LM\",\"LH\"]],4:[[\"HL\",\"HM1\",\"HM2\",\"HH\"],[\"M2L\",\"M2M1\",\"M2M2\",\"M2H\"],[\"M1L\",\"M1M1\",\"M1M2\",\"M1H\"],[\"LL\",\"LM1\",\"LM2\",\"LH\"]]};e.getRelationshipRampElement=n,e.getRotationAngleForFocus=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/tsSupport/awaiterHelper\",\"../../../core/tsSupport/generatorHelper\",\"../../../symbols\",\"../../../core/promiseUtils\",\"../../../renderers/support/numberUtils\",\"../../../symbols/support/utils\",\"./utils\",\"@dojo/framework/shim/Promise\"],function(e,r,n,t,l,i,s,u,o){function a(e){return\"esri.symbols.SimpleMarkerSymbol\"===e.declaredClass}function c(e){return\"esri.symbols.PictureMarkerSymbol\"===e.declaredClass}function f(e){return\"esri.symbols.SimpleLineSymbol\"===e.declaredClass}function m(e){return\"esri.symbols.TextSymbol\"===e.declaredClass}function p(e,r){var n=e.length-1;return e.map(function(e,t){return o.createStopLabel(e,t,n,r)})}function b(e,l,o,a,c,f){return n(this,void 0,void 0,function(){var m,b,y,v,d,g,w,z,V,D,x,E,M,O,R,I,k,A=this;return t(this,function(C){switch(C.label){case 0:return m=l.legendOptions,b=m&&m.customValues,y=h(e,o),(v=!!y,d=!!b,g=null!=l.minSize&&null!=l.maxSize,w=l.stops&&l.stops.length>1,z=!!l.target,v&&(d||g||w&&!z))?(V=u.isVolumetricSymbol(y),D=null,x=null,E=null,!V||w?[3,1]:(x=s.round([l.minDataValue,l.maxDataValue]),[3,4])):[2,void 0];case 1:return M=b,M?[3,3]:[4,S(l,y,a,c)];case 2:M=C.sent(),C.label=3;case 3:x=M,C.label=4;case 4:return!x&&w&&(x=l.stops.map(function(e){return e.value}),(D=l.stops.some(function(e){return!!e.label}))&&(E=l.stops.map(function(e){return e.label}))),(V&&x&&x.length>2&&(x=[x[0],x[x.length-1]]),x)?(O=[r.REAL_WORLD_MIN_SIZE,r.REAL_WORLD_MAX_SIZE],R=u.getSymbolOutlineSize(y),I=D?null:p(x,f),[4,i.all(x.map(function(e,r){return n(A,void 0,void 0,function(){var n,i,s,u;return t(this,function(t){switch(t.label){case 0:return V?(s=O[r],[3,3]):[3,1];case 1:return[4,L(l,y,e,a,c)];case 2:s=t.sent(),t.label=3;case 3:return n=s,i=_(y,n),u=D?E[r]:I[r],[2,{value:e,symbol:i,label:u,size:n,outlineSize:R}]}})})}))]):[2,null];case 5:return k=C.sent(),[2,k.reverse()]}})})}function h(e,r){var n=null,t=null;if(\"simple\"===e.type)n=e.symbol;else if(\"class-breaks\"===e.type){var l=e.classBreakInfos;n=l&&l[0]&&l[0].symbol,t=l.length>1}else if(\"unique-value\"===e.type){var l=e.uniqueValueInfos;n=l&&l[0]&&l[0].symbol,t=l.length>1}return!n||y(n)?null:(n=n.clone(),(r||t)&&(n.type.indexOf(\"3d\")>-1?v(n):d(n)),n)}function y(e){if(e){if(l.isSymbol3D(e)){return!!e.symbolLayers&&e.symbolLayers.some(function(e){return e&&\"fill\"===e.type})}return-1!==e.type.indexOf(\"fill\")}return!1}function v(e){u.isVolumetricSymbol(e)||(\"line-3d\"===e.type?e.symbolLayers.forEach(function(e){e.material={color:x}}):e.symbolLayers.forEach(function(e){\"icon\"!==e.type||e.resource&&e.resource.href?e.material={color:D}:(e.material={color:V},e.outline={color:x,size:1.5})}))}function d(e){-1!==e.type.indexOf(\"line\")?e.color=x:(e.color=V,\"simple-marker\"===e.type&&(e.outline={color:x,width:1.5}))}function S(r,l,i,u){return n(this,void 0,void 0,function(){var n,o,a,c,f;return t(this,function(t){switch(t.label){case 0:return[4,new Promise(function(r,n){e([\"../../../renderers/visualVariables/support/visualVariableUtils\"],r,n)})];case 1:if(n=t.sent().getSizeRangeAtScale(r,i,u),o=n&&g(n),!n&&!o)return[2,void 0];a=o.map(function(e){return w(e,r,n)}),a=s.round(a),c=1,t.label=2;case 2:return c<a.length-1?[4,z(r,l,a[c],a[c-1],i,u)]:[3,5];case 3:f=t.sent(),f&&(a[c]=f[0],o[c]=f[1]),t.label=4;case 4:return c++,[3,2];case 5:return[2,a]}})})}function g(e){for(var r=e.minSize,n=e.maxSize,t=M,l=(n-r)/(t-1),i=[],s=0;s<t;s++)i.push(r+l*s);return i}function w(e,r,n){var t=n.minSize,l=n.maxSize,i=r.minDataValue,s=r.maxDataValue,u=null;if(e<=t)u=i;else if(e>=l)u=s;else{var o=(e-t)/(l-t);u=o*(s-i)+i}return u}function z(e,r,l,i,u,o){return n(this,void 0,void 0,function(){var n,a,c,f,m,p,b,h,y,v,d,S,g,w,z,_,V,D,x,M,O,R;return t(this,function(t){switch(t.label){case 0:return[4,L(e,r,l,u,o)];case 1:return a=t.sent(),[4,L(e,r,i,u,o)];case 2:c=t.sent(),f=s.numDigits(l),m=f.fractional,p=E,b=f.integer,h=null,y=null,l>0&&l<1&&(h=Math.pow(10,m),l*=h,b=s.numDigits(l).integer),v=b-1,t.label=3;case 3:return v>=0?(d=Math.pow(10,v),S=Math.floor(l/d)*d,g=Math.ceil(l/d)*d,null!=h&&(S/=h,g/=h),w=(S+g)/2,n=s.round([S,w,g],{indexes:[1]}),w=n[1],[4,L(e,r,S,u,o)]):[3,8];case 4:return z=t.sent(),[4,L(e,r,g,u,o)];case 5:return _=t.sent(),[4,L(e,r,w,u,o)];case 6:if(V=t.sent(),D=s.percentChange(a,z,c,null),x=s.percentChange(a,_,c,null),M=s.percentChange(a,V,c,null),O=D.previous<=p,R=x.previous<=p,O&&R&&(D.previous<=x.previous?(O=!0,R=!1):(R=!0,O=!1)),O?y=[S,z]:R?y=[g,_]:M.previous<=p&&(y=[w,V]),y)return[3,8];t.label=7;case 7:return v--,[3,3];case 8:return[2,y]}})})}function L(r,l,i,s,u){return n(this,void 0,void 0,function(){var n;return t(this,function(t){switch(t.label){case 0:return[4,new Promise(function(r,n){e([\"../../../renderers/visualVariables/support/visualVariableUtils\"],r,n)})];case 1:return n=t.sent().getSize,[2,n(r,i,{scale:s,view:u,shape:\"simple-marker\"===l.type?l.style:null})]}})})}function _(e,r){var n=e.clone();if(l.isSymbol3D(n))u.isVolumetricSymbol(n)||n.symbolLayers.forEach(function(e){\"fill\"!==e.type&&(e.size=r)});else if(a(n))n.size=r;else if(c(n)){var t=n.width,i=n.height;n.height=r,n.width=r*(t/i)}else f(n)?n.width=r:m(n)&&n.font&&(n.font.size=r);return n}Object.defineProperty(r,\"__esModule\",{value:!0}),r.REAL_WORLD_MAX_SIZE=30,r.REAL_WORLD_MIN_SIZE=12;var V=[255,255,255],D=[200,200,200],x=[128,128,128],E=20,M=5;r.getRampStops=b});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/i18n!../../Legend/nls/Legend\",\"../../../intl\"],function(e,n,i,t){function r(e,n){return n}function o(e){var n=this;e.appendChild(n)}function l(e,n){if(e){if(\"string\"==typeof e)return e;if(\"value\"in e||\"unit\"in e)return t.substitute(i.dotValue,e);if(\"colorName\"in e||\"bandName\"in e)return i[e.colorName]+\": \"+(i[e.bandName]||e.bandName);var o=null;return r(e,n)?o=e.ratioPercentTotal?\"showRatioPercentTotal\":e.ratioPercent?\"showRatioPercent\":e.ratio?\"showRatio\":e.normField?\"showNormField\":e.field?\"showField\":null:d(e,n)&&(o=e.normField?\"showNormField\":e.normByPct?\"showNormPct\":e.field?\"showField\":null),o?t.substitute(\"showField\"===o?\"{field}\":i[o],{field:e.field,normField:e.normField}):null}}function d(e,n){return!n}function a(e,n){return!!(n&&\"Stretched\"===n&&e.version>=10.3&&\"esri.layers.ImageryLayer\"===e.declaredClass)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.attachToNode=o,n.getTitle=l,n.isRendererTitle=d,n.isImageryStretchedLegend=a});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../intl/date\",\"../../../renderers/support/numberUtils\"],function(A,a,e,t){function r(A,a,r,U){var g=\"\";0===a?g=o+\" \":a===r&&(g=i+\" \");var n=null;return n=U?e.formatDate(A,I):t.format(A),g+n}Object.defineProperty(a,\"__esModule\",{value:!0});var o=\"<\",i=\">\",I=e.convertDateFormatToIntlOptions(\"short-date\");a.createStopLabel=r,a.RGB_IMG_SOURCE=[\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwcdIkqhiWn5fHwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6JrzFUAAAAASUVORK5CYII=\",\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwaeIkqhiWl5/HwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6sKxboAAAAASUVORK5CYII=\",\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwadJEqhiWl5fPwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu75+IUcAAAAASUVORK5CYII=\"]});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!../nls/common\",\"dojo/i18n!./Locate/nls/Locate\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Locate/LocateViewModel\",\"./support/widget\"],function(e,o,t,i,a,l,n,r,c,s){var d={base:\"esri-locate esri-widget--button esri-widget\",text:\"esri-icon-font-fallback-text\",icon:\"esri-icon\",locate:\"esri-icon-locate\",loading:\"esri-icon-loading-indicator\",rotating:\"esri-rotating\",widgetIcon:\"esri-icon-north-navigation\",disabled:\"esri-disabled\",hidden:\"esri-hidden\"};return function(e){function o(o){var t=e.call(this,o)||this;return t.geolocationOptions=null,t.goToLocationEnabled=null,t.goToOverride=null,t.graphic=null,t.iconClass=d.widgetIcon,t.label=l.widgetLabel,t.scale=null,t.useHeadingEnabled=null,t.view=null,t.viewModel=new c,t}return t(o,e),o.prototype.cancelLocate=function(){},o.prototype.locate=function(){},o.prototype.render=function(){var e,o,t=this.get(\"viewModel.state\"),i=\"locating\"===t,n=(e={},e[d.disabled]=\"disabled\"===t,e[d.hidden]=\"feature-unsupported\"===t,e),r=(o={},o[d.loading]=i,o[d.rotating]=i,o[d.locate]=!i,o),c=\"locating\"===t?a.cancel:l.title;return s.tsx(\"div\",{bind:this,class:this.classes(d.base,n),hidden:\"feature-unsupported\"===t,onclick:this._locate,onkeydown:this._locate,role:\"button\",tabIndex:0,\"aria-label\":c,title:c},s.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(d.icon,r)}),s.tsx(\"span\",{class:d.text},l.title))},o.prototype._locate=function(){var e=this.viewModel;\"locating\"===e.state?e.cancelLocate():e.locate()},i([n.aliasOf(\"viewModel.geolocationOptions\")],o.prototype,\"geolocationOptions\",void 0),i([n.aliasOf(\"viewModel.goToLocationEnabled\")],o.prototype,\"goToLocationEnabled\",void 0),i([n.aliasOf(\"viewModel.goToOverride\")],o.prototype,\"goToOverride\",void 0),i([n.aliasOf(\"viewModel.graphic\")],o.prototype,\"graphic\",void 0),i([n.property()],o.prototype,\"iconClass\",void 0),i([n.property()],o.prototype,\"label\",void 0),i([n.aliasOf(\"viewModel.scale\")],o.prototype,\"scale\",void 0),i([n.aliasOf(\"viewModel.useHeadingEnabled\")],o.prototype,\"useHeadingEnabled\",void 0),i([n.aliasOf(\"viewModel.view\")],o.prototype,\"view\",void 0),i([n.property({type:c}),s.renderable(\"viewModel.state\"),s.vmEvent([\"locate\",\"locate-error\"])],o.prototype,\"viewModel\",void 0),i([n.aliasOf(\"viewModel.cancelLocate\")],o.prototype,\"cancelLocate\",null),i([n.aliasOf(\"viewModel.locate\")],o.prototype,\"locate\",null),i([s.accessibleHandler()],o.prototype,\"_locate\",null),o=i([n.subclass(\"esri.widgets.Locate\")],o)}(n.declared(r))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"dojo/i18n!./nls/Locate\",\"../../PopupTemplate\",\"../../core/Error\",\"../../core/geolocationUtils\",\"../../core/Handles\",\"../../core/promiseUtils\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../Popup/actions\",\"../support/GeolocationPositioning\"],function(e,t,o,r,a,l,i,n,c,s,p,d,u,h,f,g){var m={title:i.currentLocation,fieldInfos:[{fieldName:\"timestamp\",label:i.timestamp,format:{dateFormat:\"short-date-short-time\"}},{fieldName:\"latitude\",label:i.latitude,format:{places:4,digitSeparator:!0}},{fieldName:\"longitude\",label:i.longitude,format:{places:4,digitSeparator:!0}},{fieldName:\"accuracy\",label:i.accuracy,format:{places:0,digitSeparator:!0}},{fieldName:\"altitude\",label:i.altitude,format:{places:0,digitSeparator:!0}},{fieldName:\"altitudeAccuracy\",label:i.altitudeAccuracy,format:{places:0,digitSeparator:!0}},{fieldName:\"heading\",label:i.heading,format:{places:0,digitSeparator:!0}},{fieldName:\"speed\",label:i.speed,format:{places:0,digitSeparator:!0}}],actions:[f.removeSelectedFeature.clone()],content:[{type:\"fields\"}]};return function(e){function t(t){var o=e.call(this,t)||this;return o._locateController=null,o._handles=new p,o.locate=o.locate.bind(o),o.graphic&&(o.graphic.popupTemplate=new n(m)),o._handles.add(u.on(o,\"view.popup\",\"trigger-action\",function(e){return f.triggerAction({event:e,view:o.view})})),o}return o(t,e),t.prototype.destroy=function(){this.cancelLocate(),this._handles.destroy(),this._handles=null},Object.defineProperty(t.prototype,\"state\",{get:function(){return this._geolocationUsable?this.get(\"view.ready\")?this._locateController?\"locating\":\"ready\":\"disabled\":\"feature-unsupported\"},enumerable:!0,configurable:!0}),t.prototype.locate=function(){return l(this,void 0,void 0,function(){var e,t,o;return a(this,function(r){switch(r.label){case 0:if(this.cancelLocate(),\"disabled\"===this.state)throw new c(\"locate:disabled-state\",\"Cannot locate when disabled.\");if(\"feature-unsupported\"===this.state)throw new c(\"locate:feature-unsupported-state\",\"Cannot locate in unsecure domain.\");e=d.createAbortController(),this._locateController=e,r.label=1;case 1:return r.trys.push([1,4,,5]),[4,s.getCurrentPosition(this.geolocationOptions)];case 2:return t=r.sent(),[4,this._setPosition(t,{signal:e.signal})];case 3:return t=r.sent(),this._locateController!==e?[2,null]:(this.graphic&&(this.graphic=this.graphic.clone(),this.view.graphics.push(this.graphic)),this.emit(\"locate\",{position:t}),this._locateController=null,[2,t]);case 4:throw o=r.sent(),this._locateController=null,this.emit(\"locate-error\",{error:o}),o;case 5:return[2]}})})},t.prototype.cancelLocate=function(){this._clear(),this._locateController&&this._locateController.abort(),this._locateController=null},r([h.property()],t.prototype,\"_locateController\",void 0),r([h.property({dependsOn:[\"view.ready\",\"_locateController\",\"_geolocationUsable\"],readOnly:!0})],t.prototype,\"state\",null),r([h.property()],t.prototype,\"locate\",null),r([h.property()],t.prototype,\"cancelLocate\",null),t=r([h.subclass(\"esri.widgets.Locate.LocateViewModel\")],t)}(h.declared(g))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Locate','title':'Find my location','currentLocation':'Current location','timestamp':'Timestamp','latitude':'Latitude','longitude':'Longitude','accuracy':'Accuracy','altitude':'Altitude','altitudeAccuracy':'Altitude accuracy','heading':'Heading','speed':'Speed'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Định vị\",title:\"Tìm vị trí của tôi\",currentLocation:\"Vị trí hiện tại\",timestamp:\"Kiểu thời gian\",latitude:\"Vĩ độ\",longitude:\"Kinh độ\",accuracy:\"Độ chính xác\",altitude:\"Độ cao\",altitudeAccuracy:\"Độ chính xác của độ cao\",heading:\"Tiêu đề\",speed:\"Tốc độ\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/awaiterHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/generatorHelper\",\"dojo/i18n!./Measurement/nls/Measurement\",\"../core/compilerUtils\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Measurement/MeasurementViewModel\",\"./support/widget\",\"@dojo/framework/shim/Promise\"],function(e,t,i,r,n,s,o,a,c,u,l,d,v){function p(e){return e&&(\"esri.widgets.AreaMeasurement2D\"===e.declaredClass||\"esri.widgets.AreaMeasurement3D\"===e.declaredClass)}var w={base:\"esri-measurement\",widgetIcon:\"esri-icon-measure\"};return function(t){function i(e){var i=t.call(this,e)||this;return i._widgets=new Map,i.activeTool=null,i.activeWidget=null,i.areaUnit=null,i.iconClass=w.widgetIcon,i.label=a.widgetLabel,i.linearUnit=null,i.view=null,i.viewModel=new d,i}return n(i,t),i.prototype.postInitialize=function(){var e=this;this.activeWidget&&this.viewModel.set(\"activeViewModel\",this.activeWidget.viewModel),this.view&&this.activeTool&&this._getActiveWidget().then(function(t){e._set(\"activeWidget\",t)}),this.own([this.watch([\"view\",\"activeTool\"],function(){e._getActiveWidget().then(function(t){e._set(\"activeWidget\",t)})}),this.watch(\"activeWidget\",function(t,i){e.viewModel.set(\"activeViewModel\",t?t.viewModel:null),i&&(i.visible=!1)}),this.watch([\"areaUnit\",\"linearUnit\"],function(){return e._updateWidgetUnits()})])},i.prototype.destroy=function(){this._destroyWidgets()},i.prototype.render=function(){var e=this.activeWidget,t=e&&!e.destroyed?e.render():null;return v.tsx(\"div\",{class:w.base},t)},i.prototype.clear=function(){this.activeTool=null,this._destroyWidgets()},i.prototype.startMeasurement=function(){var e=this.viewModel.activeViewModel;e&&e.newMeasurement()},i.prototype._createWidget=function(t){return r(this,void 0,void 0,function(){var i,r,n,s,a,u,l,d,v,p,w;return o(this,function(o){switch(o.label){case 0:switch(i=this,r=i.areaUnit,n=i.linearUnit,s=i.view,a=t){case\"area\":return[3,1];case\"distance\":return[3,7];case\"direct-line\":return[3,9]}return[3,11];case 1:switch(u=s.type,l=u){case\"2d\":return[3,2];case\"3d\":return[3,4]}return[3,6];case 2:return[4,new Promise(function(t,i){e([\"./AreaMeasurement2D\"],t,i)})];case 3:return d=o.sent(),[2,new d({view:s,unit:r})];case 4:return[4,new Promise(function(t,i){e([\"./AreaMeasurement3D\"],t,i)})];case 5:return v=o.sent(),[2,new v({view:s,unit:r})];case 6:return c.neverReached(u),[2,null];case 7:return[4,new Promise(function(t,i){e([\"./DistanceMeasurement2D\"],t,i)})];case 8:return p=o.sent(),[2,new p({view:s,unit:n})];case 9:return[4,new Promise(function(t,i){e([\"./DirectLineMeasurement3D\"],t,i)})];case 10:return w=o.sent(),[2,new w({view:s,unit:n})];case 11:return c.neverReached(t),[2,null]}})})},i.prototype._destroyWidgets=function(){this._widgets.forEach(function(e){return e.destroy()}),this._widgets.clear()},i.prototype._getActiveWidget=function(){return r(this,void 0,void 0,function(){var e,t,i,r;return o(this,function(n){switch(n.label){case 0:return e=this,(t=e.activeTool,(i=e.view)&&t)?(r=null,this._widgets.has(t)?(r=this._widgets.get(t),r.visible=!0,[3,3]):[3,1]):[2,null];case 1:return[4,this._createWidget(t)];case 2:if(!(r=n.sent()))return[2,null];r.viewModel.newMeasurement(),this._widgets.set(t,r),n.label=3;case 3:return[2,r]}})})},i.prototype._updateWidgetUnits=function(){var e=this;this._widgets.forEach(function(t){var i=e,r=i.areaUnit,n=i.linearUnit;t.unit=p(t)?r:n})},s([u.aliasOf(\"viewModel.activeTool\")],i.prototype,\"activeTool\",void 0),s([u.property({readOnly:!0}),v.renderable()],i.prototype,\"activeWidget\",void 0),s([u.aliasOf(\"viewModel.areaUnit\")],i.prototype,\"areaUnit\",void 0),s([u.property()],i.prototype,\"iconClass\",void 0),s([u.property()],i.prototype,\"label\",void 0),s([u.aliasOf(\"viewModel.linearUnit\")],i.prototype,\"linearUnit\",void 0),s([u.aliasOf(\"viewModel.view\"),v.renderable()],i.prototype,\"view\",void 0),s([u.property({type:d}),v.renderable([\"viewModel.state\"])],i.prototype,\"viewModel\",void 0),i=s([u.subclass(\"esri.widgets.Measurement\")],i)}(u.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/unitUtils\",\"../../core/accessorSupport/decorators\",\"../support/commonProperties\"],function(e,t,r,i,o,n,a,p){return function(e){function t(t){var r=e.call(this,t)||this;return r.activeTool=null,r.activeViewModel=null,r.view=null,r}return r(t,e),Object.defineProperty(t.prototype,\"areaUnit\",{get:function(){return this.defaultUnit},set:function(e){if(void 0===e)return void this._clearOverride(\"areaUnit\");this._override(\"areaUnit\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"linearUnit\",{get:function(){return this.defaultUnit},set:function(e){if(void 0===e)return void this._clearOverride(\"linearUnit\");this._override(\"linearUnit\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){var e=this.activeViewModel;return e?e.state:\"disabled\"},enumerable:!0,configurable:!0}),i([a.property({type:[\"area\",\"distance\",\"direct-line\"]})],t.prototype,\"activeTool\",void 0),i([a.property()],t.prototype,\"activeViewModel\",void 0),i([a.property({type:n.measurementAreaUnits,dependsOn:[\"defaultUnit\"]})],t.prototype,\"areaUnit\",null),i([a.property(p.defaultUnitPropertyMetadata)],t.prototype,\"defaultUnit\",void 0),i([a.property({type:n.measurementLengthUnits,dependsOn:[\"defaultUnit\"]})],t.prototype,\"linearUnit\",null),i([a.property({dependsOn:[\"activeViewModel\",\"activeViewModel.state\"],readOnly:!0})],t.prototype,\"state\",null),i([a.property()],t.prototype,\"view\",void 0),t=i([a.subclass(\"esri.widgets.Measurement.MeasurementViewModel\")],t)}(a.declared(o))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Measurement'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Đo lường\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./NavigationToggle/nls/NavigationToggle\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./NavigationToggle/NavigationToggleViewModel\",\"./support/widget\"],function(t,e,o,i,a,n,l,r,s){var g={base:\"esri-navigation-toggle esri-widget\",button:\"esri-navigation-toggle__button esri-widget--button\",activeButton:\"esri-navigation-toggle__button--active\",panButton:\"esri-navigation-toggle__button--pan\",rotateButton:\"esri-navigation-toggle__button--rotate\",isLayoutHorizontal:\"esri-navigation-toggle--horizontal\",rotationIcon:\"esri-icon-rotate\",panIcon:\"esri-icon-pan\",widgetIcon:\"esri-icon-pan2\",disabled:\"esri-disabled\"};return function(t){function e(e){var o=t.call(this,e)||this;return o.iconClass=g.widgetIcon,o.label=a.widgetLabel,o.view=null,o.viewModel=new r,o}return o(e,t),Object.defineProperty(e.prototype,\"layout\",{set:function(t){\"horizontal\"!==t&&(t=\"vertical\"),this._set(\"layout\",t)},enumerable:!0,configurable:!0}),e.prototype.toggle=function(){},e.prototype.render=function(){var t,e,o,i=\"disabled\"===this.get(\"viewModel.state\"),n=\"pan\"===this.get(\"viewModel.navigationMode\"),l=(t={},t[g.disabled]=i,t[g.isLayoutHorizontal]=\"horizontal\"===this.layout,t),r=(e={},e[g.activeButton]=n,e),p=(o={},o[g.activeButton]=!n,o),d=i?-1:0;return s.tsx(\"div\",{bind:this,class:this.classes(g.base,l),onclick:this._toggle,onkeydown:this._toggle,tabIndex:d,\"aria-label\":a.toggle,title:a.toggle},s.tsx(\"div\",{class:this.classes(g.button,g.panButton,r)},s.tsx(\"span\",{class:g.panIcon})),s.tsx(\"div\",{class:this.classes(g.button,g.rotateButton,p)},s.tsx(\"span\",{class:g.rotationIcon})))},e.prototype._toggle=function(){this.toggle()},i([n.property()],e.prototype,\"iconClass\",void 0),i([n.property()],e.prototype,\"label\",void 0),i([n.property({value:\"vertical\"}),s.renderable()],e.prototype,\"layout\",null),i([n.aliasOf(\"viewModel.view\"),s.renderable()],e.prototype,\"view\",void 0),i([n.property({type:r}),s.renderable([\"viewModel.state\",\"viewModel.navigationMode\"])],e.prototype,\"viewModel\",void 0),i([n.aliasOf(\"viewModel.toggle\")],e.prototype,\"toggle\",null),i([s.accessibleHandler()],e.prototype,\"_toggle\",null),e=i([n.subclass(\"esri.widgets.NavigationToggle\")],e)}(n.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\"],function(e,t,o,i,n,r,a,s){return function(e){function t(t){var o=e.call(this,t)||this;return o._handles=new r,o.navigationMode=\"pan\",o.view=null,o.toggle=o.toggle.bind(o),o}return o(t,e),t.prototype.initialize=function(){this._handles.add(a.when(this,\"view.inputManager\",this._setNavigationMode.bind(this)))},t.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this.view=null},Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")&&\"3d\"===this.view.type?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.toggle=function(){\"disabled\"!==this.state&&(this.navigationMode=\"pan\"!==this.navigationMode?\"pan\":\"rotate\",this._setNavigationMode())},t.prototype._setNavigationMode=function(){this.get(\"view.inputManager\").primaryDragAction=\"pan\"===this.navigationMode?\"pan\":\"rotate\"},i([s.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),i([s.property()],t.prototype,\"navigationMode\",void 0),i([s.property()],t.prototype,\"view\",void 0),i([s.property()],t.prototype,\"toggle\",null),t=i([s.subclass(\"esri.widgets.NavigationToggleViewModel\")],t)}(s.declared(n))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Navigation Toggle','toggle':'Toggle to pan or rotate in 3D'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Bật/tắt Điều hướng\",toggle:\"Chuyển đổi để dịch chuyển hoặc xoay dưới dạng 3D\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/generatorHelper\",\"../core/tsSupport/awaiterHelper\",\"dojo/i18n!../nls/common\",\"dojo/i18n!./Popup/nls/Popup\",\"../intl\",\"../core/events\",\"../core/Handles\",\"../core/Logger\",\"../core/promiseUtils\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./Spinner\",\"./Widget\",\"./Popup/PopupViewModel\",\"./support/widget\",\"./support/widgetUtils\"],function(e,t,o,i,n,r,s,a,l,u,p,c,d,h,f,g,_,v,b,y,w){function m(e,t){return void 0===t?C+\"__\"+e:C+\"__\"+e+\"-\"+t}function M(){return s(this,void 0,void 0,function(){return r(this,function(t){return[2,h.create(function(t){e([\"./Feature\"],function(e){t(e)})})]})})}var k={iconLeftTriangleArrow:\"esri-icon-left-triangle-arrow\",iconRightTriangleArrow:\"esri-icon-right-triangle-arrow\",iconDockToTop:\"esri-icon-maximize\",iconDockToBottom:\"esri-icon-dock-bottom\",iconDockToLeft:\"esri-icon-dock-left\",iconDockToRight:\"esri-icon-dock-right\",iconClose:\"esri-icon-close\",iconUndock:\"esri-icon-minimize\",iconCheckMark:\"esri-icon-check-mark\",iconLoading:\"esri-icon-loading-indicator\",iconDefaultAction:\"esri-icon-default-action\",iconActionsMenu:\"esri-icon-handle-horizontal\",rotating:\"esri-rotating\",base:\"esri-popup\",widget:\"esri-widget\",main:\"esri-popup__main-container\",loadingContainer:\"esri-popup__loading-container\",isCollapsible:\"esri-popup--is-collapsible\",isCollapsed:\"esri-popup--is-collapsed\",shadow:\"esri-popup--shadow\",isDocked:\"esri-popup--is-docked\",isDockedTopLeft:\"esri-popup--is-docked-top-left\",isDockedTopCenter:\"esri-popup--is-docked-top-center\",isDockedTopRight:\"esri-popup--is-docked-top-right\",isDockedBottomLeft:\"esri-popup--is-docked-bottom-left\",isDockedBottomCenter:\"esri-popup--is-docked-bottom-center\",isDockedBottomRight:\"esri-popup--is-docked-bottom-right\",alignTopCenter:\"esri-popup--aligned-top-center\",alignBottomCenter:\"esri-popup--aligned-bottom-center\",alignTopLeft:\"esri-popup--aligned-top-left\",alignBottomLeft:\"esri-popup--aligned-bottom-left\",alignTopRight:\"esri-popup--aligned-top-right\",alignBottomRight:\"esri-popup--aligned-bottom-right\",isFeatureMenuOpen:\"esri-popup--feature-menu-open\",isActionsMenuOpen:\"esri-popup--actions-menu-open\",hasFeatureUpdated:\"esri-popup--feature-updated\",header:\"esri-popup__header\",headerButtons:\"esri-popup__header-buttons\",headerContainer:\"esri-popup__header-container\",headerContainerButton:\"esri-popup__header-container--button\",headerTitle:\"esri-popup__header-title\",content:\"esri-popup__content\",footer:\"esri-popup__footer\",footerHasPagination:\"esri-popup__footer--has-pagination\",footerHasActions:\"esri-popup__footer--has-actions\",footerHasActionsMenu:\"esri-popup__footer--has-actions-menu\",button:\"esri-popup__button\",buttonDisabled:\"esri-popup__button--disabled\",buttonDock:\"esri-popup__button--dock\",icon:\"esri-popup__icon\",iconDock:\"esri-popup__icon--dock-icon\",inlineActionsContainer:\"esri-popup__inline-actions-container\",actionsMenuButton:\"esri-popup__actions-menu-button\",actions:\"esri-popup__actions\",action:\"esri-popup__action\",actionImage:\"esri-popup__action-image\",actionText:\"esri-popup__action-text\",actionToggle:\"esri-popup__action-toggle\",actionToggleOn:\"esri-popup__action-toggle--on\",pointer:\"esri-popup__pointer\",pointerDirection:\"esri-popup__pointer-direction\",navigation:\"esri-popup__navigation\",paginationPrevious:\"esri-popup__pagination-previous\",paginationNext:\"esri-popup__pagination-next\",paginationPreviousIconLTR:\"esri-popup__pagination-previous-icon\",paginationPreviousIconRTL:\"esri-popup__pagination-previous-icon--rtl\",paginationNextIconLTR:\"esri-popup__pagination-next-icon\",paginationNextIconRTL:\"esri-popup__pagination-next-icon--rtl\",featureMenu:\"esri-popup__feature-menu\",featureMenuList:\"esri-popup__feature-menu-list\",featureMenuItem:\"esri-popup__feature-menu-item\",featureMenuViewport:\"esri-popup__feature-menu-viewport\",featureMenuHeader:\"esri-popup__feature-menu-header\",featureMenuNote:\"esri-popup__feature-menu-note\",featureMenuSelected:\"esri-popup__feature-menu-item--selected\",featureMenuButton:\"esri-popup__feature-menu-button\",featureMenuTitle:\"esri-popup__feature-menu-title\",collapseButton:\"esri-popup__collapse-button\"},x={buttonEnabled:!0,position:\"auto\",breakpoint:{width:544}},C=\"esri-popup\",F=d.getLogger(\"esri.widgets.Popup\");return function(e){function t(t){var o=e.call(this,t)||this;return o._blurContainer=!1,o._containerNode=null,o._mainContainerNode=null,o._featureMenuNode=null,o._actionsMenuNode=null,o._focusContainer=!1,o._focusDockButton=!1,o._focusFeatureMenuButton=!1,o._focusActionsMenuButton=!1,o._focusFirstFeature=!1,o._focusFirstAction=!1,o._handles=new c,o._pointerOffsetInPx=16,o._spinner=null,o.actions=null,o.alignment=\"auto\",o.autoCloseEnabled=null,o.autoOpenEnabled=null,o.defaultPopupTemplateEnabled=null,o.content=null,o.collapsed=!1,o.collapseEnabled=!0,o.dockEnabled=!1,o.featureCount=null,o.featureMenuOpen=!1,o.features=null,o.featureNavigationEnabled=!0,o.goToOverride=null,o.highlightEnabled=null,o.location=null,o.featureWidgets=[],o.label=l.widgetLabel,o.promises=null,o.selectedFeature=null,o.selectedFeatureIndex=null,o.selectedFeatureWidget=null,o.spinnerEnabled=!0,o.title=null,o.updateLocationEnabled=null,o.view=null,o.viewModel=new b,o.visible=null,o._addSelectedFeatureIndexHandle(),o.own([f.watch(o,\"viewModel.screenLocation\",function(){return o._positionContainer()}),f.whenFalse(o,\"viewModel.visible\",function(){return o.selectedFeatureWidget&&o.selectedFeatureWidget.destroyCharts()}),f.watch(o,[\"viewModel.visible\",\"dockEnabled\"],function(){return o._toggleScreenLocationEnabled()}),f.watch(o,\"viewModel.screenLocation\",function(e,t){!!e!=!!t&&o.reposition()}),f.watch(o,\"viewModel.features\",function(){return o._updateFeatureWidgets()}),f.watch(o,[\"viewModel.view.padding\",\"viewModel.view.size\",\"viewModel.visible\",\"viewModel.waitingForResult\",\"viewModel.location\",\"alignment\"],function(){return o.reposition()}),f.watch(o,\"spinnerEnabled\",function(e){return o._spinnerEnabledChange(e)}),f.watch(o,\"viewModel.view.size\",function(e,t){return o._updateDockEnabledForViewSize(e,t)}),f.watch(o,\"viewModel.view\",function(e,t){return o._viewChange(e,t)}),f.watch(o,\"viewModel.view.ready\",function(e,t){return o._viewReadyChange(e,t)}),f.watch(o,[\"viewModel.waitingForResult\",\"viewModel.location\"],function(){return o._displaySpinner()}),f.watch(o,[\"featureWidgets\",\"viewModel.selectedFeatureIndex\"],function(){return o._updateFeatureWidget()}),f.watch(o,\"selectedFeatureWidget.viewModel.title\",function(e){return o._setTitleFromFeatureWidget(e)}),f.watch(o,[\"selectedFeatureWidget.viewModel.content\",\"selectedFeatureWidget.viewModel.waitingForContent\"],function(){return o._setContentFromFeatureWidget()}),f.whenFalse(o,\"collapsed\",function(){\"xsmall\"===o.get(\"viewModel.view.widthBreakpoint\")&&o.visible&&o.collapseEnabled&&o.viewModel.centerAtLocation()}),f.on(o,\"viewModel.allActions\",\"change\",function(){return o._watchActions()}),f.init(o,\"viewModel.allActions\",function(){return o._watchActions()})]),o}return o(t,e),t.prototype.destroy=function(){this._destroyFeatureWidgets(),this._destroySpinner(),this._handles&&this._handles.destroy(),this._handles=null},Object.defineProperty(t.prototype,\"actionsMenuOpen\",{get:function(){return!!this.viewModel.visible&&this._get(\"actionsMenuOpen\")},set:function(e){this._set(\"actionsMenuOpen\",!!e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"currentAlignment\",{get:function(){return this._getCurrentAlignment()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"currentDockPosition\",{get:function(){return this._getCurrentDockPosition()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"dockOptions\",{get:function(){return this._get(\"dockOptions\")||x},set:function(e){var t=n({},x),o=this.get(\"viewModel.view.breakpoints\"),i={};o&&(i.width=o.xsmall,i.height=o.xsmall);var r=n({},t,e),s=n({},t.breakpoint,i),a=r.breakpoint;!0===a?r.breakpoint=s:\"object\"==typeof a&&(r.breakpoint=n({},s,a)),this._set(\"dockOptions\",r),this._setCurrentDockPosition(),this.reposition()},enumerable:!0,configurable:!0}),t.prototype.blur=function(){this.visible||F.warn(\"Popup cannot be blurred while visible is false\"),this._blurContainer=!0,this.scheduleRender()},t.prototype.clear=function(){this.viewModel.clear()},t.prototype.close=function(){this.visible=!1},t.prototype.focus=function(){this.visible||F.warn(\"Popup cannot be focused while visible is false\"),this._focusContainer=!0,this.scheduleRender()},t.prototype.next=function(){return this.viewModel.next()},t.prototype.open=function(e){this._handles.remove(\"selected-index\");var t=!!e&&!!e.featureMenuOpen,o=!!e&&!!e.actionsMenuOpen,i=!!e&&!!e.collapsed,n={collapsed:i,actionsMenuOpen:o,featureMenuOpen:t};\"xsmall\"===this.get(\"viewModel.view.widthBreakpoint\")&&(n.collapsed=!0),this.set(n),this.viewModel.open(e),this._addSelectedFeatureIndexHandle()},t.prototype.previous=function(){return this.viewModel.previous()},t.prototype.reposition=function(){this.renderNow(),this._positionContainer(),this._setCurrentAlignment()},t.prototype.triggerAction=function(e){this.viewModel.triggerAction(e)},t.prototype.render=function(){var e,t,o,i,n,r,s,p=this,c=this,d=c.actionsMenuOpen,h=c.collapsed,f=c.collapseEnabled,g=c.dockEnabled,_=c.featureMenuOpen,v=c.featureNavigationEnabled,b=c.featureWidgets,M=c.visible,x=this.viewModel,C=x.content,F=x.featureCount,A=x.pendingPromisesCount,O=x.selectedFeatureIndex,T=x.title,E=M&&F>1&&v,D=E?2:3,P=this._divideActions(D),N=P.inlineActions,L=P.menuActions,B=E&&_,I=L.length>1&&d,W=E&&this._getPageText(F,O),R=this._renderContent(),S=w.isRTL(),H=!!(this.get(\"selectedFeatureWidget\")?this.get(\"selectedFeatureWidget.viewModel.waitingForContent\")||this.get(\"selectedFeatureWidget.viewModel.content\"):R),U=!!(f&&T&&H),V=U&&!B&&h,K=this.get(\"viewModel.view.widthBreakpoint\"),z=g?l.undock:l.dock,j=this,q=j.currentAlignment,G=j.currentDockPosition,J=A?y.tsx(\"div\",{key:m(\"loading-container\"),role:\"presentation\",class:k.loadingContainer,\"aria-label\":a.loading,title:a.loading},y.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(k.icon,k.iconLoading,k.rotating)})):null,Q=(e={},e[k.iconRightTriangleArrow]=S,e[k.paginationPreviousIconRTL]=S,e[k.iconLeftTriangleArrow]=!S,e[k.paginationPreviousIconLTR]=!S,e),X=y.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(k.icon,Q)}),Y=y.tsx(\"div\",{role:\"button\",tabIndex:0,bind:this,onclick:this._previous,onkeydown:this._previous,class:this.classes(k.button,k.paginationPrevious),\"aria-label\":l.previous,title:l.previous},X),Z=(t={},t[k.iconLeftTriangleArrow]=S,t[k.paginationNextIconRTL]=S,t[k.iconRightTriangleArrow]=!S,t[k.paginationNextIconLTR]=!S,t),$=y.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(k.icon,Z)}),ee=y.tsx(\"div\",{role:\"button\",tabIndex:0,bind:this,onclick:this._next,onkeydown:this._next,class:this.classes(k.button,k.paginationNext),\"aria-label\":l.next,title:l.next},$),te=w.cssTransition(\"enter\",k.hasFeatureUpdated),oe=this.id+\"-feature-menu\",ie=y.tsx(\"div\",{role:\"button\",tabIndex:0,bind:this,onclick:this._toggleFeatureMenu,onkeydown:this._toggleFeatureMenu,afterCreate:this._focusFeatureMenuButtonNode,afterUpdate:this._focusFeatureMenuButtonNode,class:this.classes(k.button,k.featureMenuButton),\"aria-haspopup\":\"true\",\"aria-controls\":oe,\"aria-expanded\":_,\"aria-label\":a.menu,title:a.menu},W),ne=E?[Y,J||ie,ee]:null,re=this._wouldDockTo(),se=(o={},o[k.iconUndock]=g,o[k.iconDock]=!g,o[k.iconDockToRight]=!g&&(\"top-right\"===re||\"bottom-right\"===re),o[k.iconDockToLeft]=!g&&(\"top-left\"===re||\"bottom-left\"===re),o[k.iconDockToTop]=!g&&\"top-center\"===re,o[k.iconDockToBottom]=!g&&\"bottom-center\"===re,o),ae=y.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(se,k.icon)}),le=\"xsmall\"!==K&&this.get(\"dockOptions.buttonEnabled\")?y.tsx(\"div\",{role:\"button\",\"aria-label\":z,title:z,tabIndex:0,bind:this,onclick:this._toggleDockEnabled,onkeydown:this._toggleDockEnabled,afterCreate:this._focusDockButtonNode,afterUpdate:this._focusDockButtonNode,class:this.classes(k.button,k.buttonDock)},ae):null,ue=(i={},i[k.headerContainerButton]=U,i),pe=U?\"button\":\"heading\",ce=U?V?a.expand:a.collapse:\"\",de=this.id+\"-popup-title\",he=T?y.tsx(\"div\",{class:this.classes(k.headerContainer,ue),key:T,enterAnimation:te,id:de,role:pe,\"aria-label\":ce,title:ce,tabIndex:U?0:-1,bind:this,onclick:this._toggleCollapsed,onkeydown:this._toggleCollapsed},y.tsx(\"h2\",{class:k.headerTitle,innerHTML:T})):null,fe=y.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(k.icon,k.iconClose)}),ge=y.tsx(\"div\",{role:\"button\",tabIndex:0,bind:this,onclick:this._close,onkeydown:this._close,class:k.button,\"aria-label\":a.close,title:a.close},fe),_e=y.tsx(\"header\",{class:k.header},he,y.tsx(\"div\",{class:k.headerButtons},le,ge)),ve=this.id+\"-popup-content\",be=!H||U&&V?null:y.tsx(\"article\",{key:C,enterAnimation:te,id:ve,class:k.content},R),ye=\"bottom-left\"===q||\"bottom-center\"===q||\"bottom-right\"===q||\"top-left\"===G||\"top-center\"===G||\"top-right\"===G,we=\"top-left\"===q||\"top-center\"===q||\"top-right\"===q||\"bottom-left\"===G||\"bottom-center\"===G||\"bottom-right\"===G,me=d?a.close:a.open,Me=L.length?y.tsx(\"div\",{key:m(\"actions-menu-button\"),class:this.classes(k.button,k.actionsMenuButton),role:\"button\",id:this.id+\"-actions-menu-button\",\"aria-haspopup\":\"true\",\"aria-controls\":d?this.id+\"-actions-menu\":null,tabIndex:0,bind:this,onclick:this._toggleActionsMenu,onkeydown:this._toggleActionsMenu,afterCreate:this._focusActionsMenuButtonNode,afterUpdate:this._focusActionsMenuButtonNode,\"aria-label\":me,title:me},y.tsx(\"span\",{\"aria-hidden\":\"true\",class:k.iconActionsMenu})):null,ke=N.length&&N.toArray().map(function(e,t){return p._renderAction({action:e,index:t,type:\"inline\"})}),xe=L.length&&d?y.tsx(\"ul\",{id:this.id+\"-actions-menu\",role:\"menu\",\"aria-labelledby\":this.id+\"-actions-menu-button\",key:m(\"actions\"),class:k.actions,bind:this,onkeyup:this._handleActionMenuKeyup,afterCreate:this._actionsMenuNodeUpdated,afterUpdate:this._actionsMenuNodeUpdated},L.toArray().map(function(e,t){return p._renderAction({action:e,index:t+D,type:\"menu-item\"})})):null,Ce=ke?y.tsx(\"div\",{key:\"inline-actions-container\",class:k.inlineActionsContainer},ke,Me,xe):null,Fe=E?y.tsx(\"section\",{key:m(\"navigation\"),class:this.classes(k.navigation)},ne):null,Ae=(n={},n[k.footerHasPagination]=E,n[k.footerHasActions]=!!N.length,n[k.footerHasActionsMenu]=!!L.length,n),Oe=E||N.length?y.tsx(\"div\",{key:m(\"feature-buttons\"),class:this.classes(k.footer,Ae)},Ce,Fe):null,Te=this._renderFeatureMenuNode(b,O,oe),Ee=u.substitute(l.selectedFeatures,{total:b.length}),De=y.tsx(\"section\",{key:m(\"menu\"),class:k.featureMenu},y.tsx(\"h2\",{class:k.featureMenuHeader},Ee),y.tsx(\"nav\",{class:k.featureMenuViewport,afterCreate:this._featureMenuViewportNodeUpdated,afterUpdate:this._featureMenuViewportNodeUpdated},Te)),Pe=g?null:y.tsx(\"div\",{key:m(\"pointer\"),class:k.pointer,role:\"presentation\"},y.tsx(\"div\",{class:this.classes(k.pointerDirection,k.shadow)})),Ne=this.get(\"selectedFeature.layer.title\"),Le=this.get(\"selectedFeature.layer.id\"),Be=(r={},r[k.shadow]=g,r[k.isCollapsible]=U,r[k.isCollapsed]=V,r),Ie=(s={},s[k.alignTopCenter]=M&&\"top-center\"===q,s[k.alignBottomCenter]=M&&\"bottom-center\"===q,s[k.alignTopLeft]=M&&\"top-left\"===q,s[k.alignBottomLeft]=M&&\"bottom-left\"===q,s[k.alignTopRight]=M&&\"top-right\"===q,s[k.alignBottomRight]=\"bottom-right\"===q,s[k.isDocked]=M&&g,s[k.shadow]=M&&!g,s[k.isDockedTopLeft]=M&&\"top-left\"===G,s[k.isDockedTopCenter]=M&&\"top-center\"===G,s[k.isDockedTopRight]=M&&\"top-right\"===G,s[k.isDockedBottomLeft]=M&&\"bottom-left\"===G,s[k.isDockedBottomCenter]=M&&\"bottom-center\"===G,s[k.isDockedBottomRight]=M&&\"bottom-right\"===G,s[k.isFeatureMenuOpen]=M&&B,s[k.isActionsMenuOpen]=M&&I,s),We=ye?De:null,Re=we?De:null,Se=ye?Oe:null,He=we?Oe:null,Ue=y.tsx(\"div\",{class:this.classes(k.main,k.widget,Be),tabIndex:-1,role:\"dialog\",\"aria-labelledby\":he?de:\"\",\"aria-describedby\":be?ve:\"\",bind:this,onkeyup:this._handleMainKeyup,afterCreate:this._mainContainerNodeUpdated,afterUpdate:this._mainContainerNodeUpdated},Se,We,_e,be,He,Re);return y.tsx(\"div\",{key:m(\"base\"),class:this.classes(k.base,Ie),role:\"presentation\",\"data-layer-title\":Ne,\"data-layer-id\":Le,bind:this,afterCreate:this._positionContainer,afterUpdate:this._positionContainer},M?[Ue,Pe]:null)},t.prototype._watchActions=function(){var e=this,t=this.viewModel.allActions;this._handles.remove(\"actions\"),t&&t.forEach(function(t){e._handles.add(f.watch(t,[\"active\",\"className\",\"disabled\",\"id\",\"title\",\"image\",\"visible\"],function(){return e.scheduleRender()}),\"actions\")})},t.prototype._divideActions=function(e){var t=this.viewModel.allActions;return{inlineActions:t.slice(0,e),menuActions:t.slice(e)}},t.prototype._featureMenuOpenChanged=function(e){e?this._focusFirstFeature=!0:this._focusFeatureMenuButton=!0},t.prototype._actionsMenuOpenChanged=function(e){e?this._focusFirstAction=!0:this._focusActionsMenuButton=!0},t.prototype._setTitleFromFeatureWidget=function(e){this.selectedFeatureWidget&&(this.viewModel.title=e||\"\")},t.prototype._setContentFromFeatureWidget=function(){var e=this.selectedFeatureWidget;e&&(this.viewModel.content=e)},t.prototype._handleFeatureMenuKeyup=function(e){\"Escape\"===p.eventKey(e)&&(e.stopPropagation(),this._focusFeatureMenuButton=!0,this.featureMenuOpen=!1,this.scheduleRender())},t.prototype._handleActionMenuKeyup=function(e){\"Escape\"===p.eventKey(e)&&(e.stopPropagation(),this._focusActionsMenuButton=!0,this.actionsMenuOpen=!1,this.scheduleRender())},t.prototype._handleFeatureMenuItemKeyup=function(e){var t=p.eventKey(e),o=this._featureMenuNode,i=e.currentTarget,n=i[\"data-feature-index\"];if(o){var r=o.querySelectorAll(\"li\"),s=r.length;if(\"ArrowUp\"===t){e.stopPropagation();var a=n-1,l=(a+s)%s;return void r[l].focus()}if(\"ArrowDown\"===t){e.stopPropagation();var u=n+1,l=(u+s)%s;return void r[l].focus()}if(\"Home\"===t){e.stopPropagation();return void r[0].focus()}if(\"End\"===t){e.stopPropagation();return void r[r.length-1].focus()}}},t.prototype._handleActionMenuItemKeyup=function(e){var t=p.eventKey(e),o=this._actionsMenuNode,i=e.currentTarget,n=i[\"data-action-index\"];if(o){var r=o.querySelectorAll(\"li\"),s=r.length;if(\"ArrowUp\"===t){e.stopPropagation();var a=n-1,l=(a+s)%s;return void r[l].focus()}if(\"ArrowDown\"===t){e.stopPropagation();var u=n+1,l=(u+s)%s;return void r[l].focus()}if(\"Home\"===t){e.stopPropagation();return void r[0].focus()}if(\"End\"===t){e.stopPropagation();return void r[r.length-1].focus()}}},t.prototype._handleMainKeyup=function(e){var t=p.eventKey(e);\"ArrowLeft\"===t&&(e.stopPropagation(),this.previous()),\"ArrowRight\"===t&&(e.stopPropagation(),this.next())},t.prototype._spinnerEnabledChange=function(e){if(this._destroySpinner(),e){var t=this.get(\"viewModel.view\");this._createSpinner(t)}},t.prototype._displaySpinner=function(){var e=this._spinner;if(e){var t=this.viewModel,o=t.location;if(t.waitingForResult)return void e.show({location:o});e.hide()}},t.prototype._getIconStyles=function(e){return{\"background-image\":e?\"url(\"+e+\")\":\"\"}},t.prototype._renderAction=function(e){var t,o,i=e.action,n=e.index,r=e.type,s=this.get(\"selectedFeature.attributes\"),a=i.title,l=i.className,p=i.image,c=p||l?l:k.iconDefaultAction,d=a&&s?u.substitute(a,s):a,h=c&&s?u.substitute(c,s):c,f=p&&s?u.substitute(p,s):p,g=(t={},t[k.iconLoading]=i.active,t[k.rotating]=i.active,t[k.icon]=!!c,t[k.actionImage]=!i.active&&!!f,t);h&&(g[h]=!i.active);var _=(o={},o[k.action]=\"toggle\"!==i.type,o[k.actionToggle]=\"toggle\"===i.type,o[k.actionToggleOn]=\"toggle\"===i.type&&i.value,o[k.buttonDisabled]=i.disabled,o),v=y.tsx(\"span\",{key:\"text\",class:k.actionText},d),b=y.tsx(\"span\",{key:\"icon\",\"aria-hidden\":\"true\",class:this.classes(k.icon,g),styles:this._getIconStyles(f)}),w=[b,v],m=\"menu-item\"===r?y.tsx(\"li\",{key:i,role:\"menuitem\",tabIndex:0,title:d,\"aria-label\":d,class:this.classes(k.button,_),onkeyup:this._handleActionMenuItemKeyup,bind:this,\"data-action-index\":n,onclick:this._triggerAction,onkeydown:this._triggerAction},w):y.tsx(\"div\",{key:i,role:\"button\",tabIndex:0,title:d,\"aria-label\":d,class:this.classes(k.button,_),onkeyup:this._handleActionMenuItemKeyup,bind:this,\"data-action-index\":n,onclick:this._triggerAction,onkeydown:this._triggerAction},w);return i.visible?m:null},t.prototype._addSelectedFeatureIndexHandle=function(){var e=this,t=f.watch(this,\"viewModel.selectedFeatureIndex\",function(t,o){return e._selectedFeatureIndexUpdated(t,o)});this._handles.add(t,\"selected-index\")},t.prototype._selectedFeatureIndexUpdated=function(e,t){this.featureCount&&e!==t&&-1!==e&&(this.actionsMenuOpen=!1,this.featureMenuOpen=!1)},t.prototype._updateFeatureWidget=function(){var e=this,t=e.featureWidgets,o=e.selectedFeatureWidget;o&&o.destroyCharts();var i=this.viewModel.selectedFeatureIndex,n=t[i]||null;this._set(\"selectedFeatureWidget\",n)},t.prototype._destroyFeatureWidgets=function(){this.featureWidgets.forEach(function(e){return e.destroy()}),this._set(\"featureWidgets\",[])},t.prototype._updateFeatureWidgets=function(){return s(this,void 0,void 0,function(){var e,t,o,i,s,a,l=this;return r(this,function(r){switch(r.label){case 0:return e=this,t=e.features,o=e.featureWidgets,t&&t.length?[4,M()]:(this._destroyFeatureWidgets(),[2]);case 1:return i=r.sent(),s=o.slice(0),a=[],t.forEach(function(e,t){if(e){var o=null;if(s.some(function(t,i){return t&&t.graphic===e&&(o=t,s.splice(i,1)),!!o}),o)a[t]=o;else{var r=new i({defaultPopupTemplateEnabled:l.defaultPopupTemplateEnabled,graphic:e,spatialReference:l.get(\"view.spatialReference\"),map:l.get(\"view.map\")});r.visibleElements=n({},r.visibleElements,{title:!1}),a[t]=r}}}),s.forEach(function(e){return e&&e.destroy()}),this._set(\"featureWidgets\",a),[2]}})})},t.prototype._isScreenLocationWithinView=function(e,t){return e.x>-1&&e.y>-1&&e.x<=t.width&&e.y<=t.height},t.prototype._isOutsideView=function(e){var t=e.popupHeight,o=e.popupWidth,i=e.screenLocation,n=e.side,r=e.view;if(isNaN(o)||isNaN(t)||!r||!i)return!1;var s=r.padding;return\"right\"===n&&i.x+o/2>r.width-s.right||(\"left\"===n&&i.x-o/2<s.left||(\"top\"===n&&i.y-t<s.top||\"bottom\"===n&&i.y+t>r.height-s.bottom))},t.prototype._determineCurrentAlignment=function(){function e(e){return parseInt(e.replace(/[^-\\d\\.]/g,\"\"),10)}var t=this,o=t._pointerOffsetInPx,i=t._containerNode,n=t._mainContainerNode,r=t.viewModel,s=r.screenLocation,a=r.view;if(!s||!a||!i)return\"top-center\";if(!this._isScreenLocationWithinView(s,a))return this._get(\"currentAlignment\")||\"top-center\";var l=n?window.getComputedStyle(n,null):null,u=l?e(l.getPropertyValue(\"max-height\")):0,p=l?e(l.getPropertyValue(\"height\")):0,c=i.getBoundingClientRect(),d=c.height,h=c.width,f=h+o,g=Math.max(d,u,p)+o,_=this._isOutsideView({popupHeight:g,popupWidth:f,screenLocation:s,side:\"right\",view:a}),v=this._isOutsideView({popupHeight:g,popupWidth:f,screenLocation:s,side:\"left\",view:a}),b=this._isOutsideView({popupHeight:g,popupWidth:f,screenLocation:s,side:\"top\",view:a}),y=this._isOutsideView({popupHeight:g,popupWidth:f,screenLocation:s,side:\"bottom\",view:a});return v?b?\"bottom-right\":\"top-right\":_?b?\"bottom-left\":\"top-left\":b?y?\"top-center\":\"bottom-center\":\"top-center\"},t.prototype._getCurrentAlignment=function(){var e=this,t=e.alignment;return e.dockEnabled?null:\"auto\"===t?this._determineCurrentAlignment():\"function\"==typeof t?t.call(this):t},t.prototype._setCurrentAlignment=function(){this._set(\"currentAlignment\",this._getCurrentAlignment())},t.prototype._setCurrentDockPosition=function(){this._set(\"currentDockPosition\",this._getCurrentDockPosition())},t.prototype._getDockPosition=function(){var e=this.get(\"dockOptions.position\");return\"auto\"===e?this._determineCurrentDockPosition():\"function\"==typeof e?e.call(this):e},t.prototype._getCurrentDockPosition=function(){return this.dockEnabled?this._getDockPosition():null},t.prototype._wouldDockTo=function(){return this.dockEnabled?null:this._getDockPosition()},t.prototype._renderFeatureMenuItemNode=function(e,t,o){var i,n=t===o,r=(i={},i[k.featureMenuSelected]=n,i),s=n?y.tsx(\"span\",{key:m(\"feature-menu-selected-feature-\"+o),title:l.selectedFeature,\"aria-label\":l.selectedFeature,class:k.iconCheckMark}):null,u=y.tsx(\"span\",{innerHTML:e.title||a.untitled});return y.tsx(\"li\",{role:\"menuitem\",tabIndex:-1,key:m(\"feature-menu-feature-\"+o),class:this.classes(r,k.featureMenuItem),bind:this,\"data-feature-index\":t,onkeyup:this._handleFeatureMenuItemKeyup,onclick:this._selectFeature,onkeydown:this._selectFeature},y.tsx(\"span\",{class:k.featureMenuTitle},u,s))},t.prototype._renderFeatureMenuNode=function(e,t,o){var i=this;return e.length>1?y.tsx(\"ol\",{class:k.featureMenuList,id:o,bind:this,afterCreate:this._featureMenuNodeUpdated,afterUpdate:this._featureMenuNodeUpdated,onkeyup:this._handleFeatureMenuKeyup,role:\"menu\"},e.map(function(e,o){return i._renderFeatureMenuItemNode(e,o,t)})):null},t.prototype._determineCurrentDockPosition=function(){var e=this.get(\"viewModel.view\"),t=w.isRTL()?\"top-left\":\"top-right\";if(!e)return t;var o=e.padding||{left:0,right:0,top:0,bottom:0},i=e.width-o.left-o.right,n=e.get(\"breakpoints\");return n&&i<=n.xsmall?\"bottom-center\":t},t.prototype._renderContent=function(){var e=this.get(\"viewModel.content\");return e?\"string\"==typeof e?y.tsx(\"div\",{key:e,innerHTML:e}):y.isWidget(e)&&!e.destroyed?y.tsx(\"div\",{key:e},e.render()):e instanceof HTMLElement?y.tsx(\"div\",{key:e,bind:e,afterCreate:this._attachToNode}):y.isWidgetBase(e)?y.tsx(\"div\",{key:e,bind:e.domNode,afterCreate:this._attachToNode}):void 0:null},t.prototype._attachToNode=function(e){var t=this;e.appendChild(t)},t.prototype._positionContainer=function(e){if(void 0===e&&(e=this._containerNode),e&&(this._containerNode=e),e){var t=this.viewModel.screenLocation,o=e.getBoundingClientRect().width,i=this._calculatePositionStyle(t,o);i&&(e.style.top=i.top,e.style.left=i.left,e.style.bottom=i.bottom,e.style.right=i.right)}},t.prototype._calculateFullWidth=function(e){var t=this,o=t.currentAlignment,i=t._pointerOffsetInPx;return\"top-left\"===o||\"bottom-left\"===o||\"top-right\"===o||\"bottom-right\"===o?e+i:e},t.prototype._calculateAlignmentPosition=function(e,t,o,i){var n=this,r=n.currentAlignment,s=n._pointerOffsetInPx,a=i/2,l=o.height-t,u=o.width-e,p=this.view.padding;return\"bottom-center\"===r?{top:t+s-p.top,left:e-a-p.left}:\"top-left\"===r?{bottom:l+s-p.bottom,right:u+s-p.right}:\"bottom-left\"===r?{top:t+s-p.top,right:u+s-p.right}:\"top-right\"===r?{bottom:l+s-p.bottom,left:e+s-p.left}:\"bottom-right\"===r?{top:t+s-p.top,left:e+s-p.left}:\"top-center\"===r?{bottom:l+s-p.bottom,left:e-a-p.left}:void 0},t.prototype._calculatePositionStyle=function(e,t){var o=this,i=o.dockEnabled,n=o.view;if(n){if(i)return{left:\"\",top:\"\",right:\"\",bottom:\"\"};if(e&&t){var r=this._calculateFullWidth(t),s=this._calculateAlignmentPosition(e.x,e.y,n,r);if(s)return{top:void 0!==s.top?s.top+\"px\":\"auto\",left:void 0!==s.left?s.left+\"px\":\"auto\",bottom:void 0!==s.bottom?s.bottom+\"px\":\"auto\",right:void 0!==s.right?s.right+\"px\":\"auto\"}}}},t.prototype._viewChange=function(e,t){e&&t&&(this.close(),this.clear())},t.prototype._viewReadyChange=function(e,t){if(e){var o=this.get(\"viewModel.view\");return void this._wireUpView(o)}t&&(this.close(),this.clear())},t.prototype._wireUpView=function(e){if(this._destroySpinner(),e){this.spinnerEnabled&&this._createSpinner(e),this._setDockEnabledForViewSize(this.dockOptions)}},t.prototype._dockingThresholdCrossed=function(e,t,o){var i=e[0],n=e[1],r=t[0],s=t[1],a=o.width,l=o.height;return i<=a&&r>a||i>a&&r<=a||n<=l&&s>l||n>l&&s<=l},t.prototype._updateDockEnabledForViewSize=function(e,t){if(e&&t){var o=this.get(\"viewModel.view.padding\")||{left:0,right:0,top:0,bottom:0},i=o.left+o.right,n=o.top+o.bottom,r=[],s=[];r[0]=e[0]-i,r[1]=e[1]-n,s[0]=t[0]-i,s[1]=t[1]-n;var a=this.dockOptions,l=a.breakpoint;this._dockingThresholdCrossed(r,s,l)&&this._setDockEnabledForViewSize(a),this._setCurrentDockPosition()}},t.prototype._focusDockButtonNode=function(e){this._focusDockButton&&(this._focusDockButton=!1,e.focus())},t.prototype._mainContainerNodeUpdated=function(e){return this._mainContainerNode=e,this._focusContainer?(this._focusContainer=!1,void e.focus()):this._blurContainer?(this._blurContainer=!1,void e.blur()):void 0},t.prototype._featureMenuNodeUpdated=function(e){if(this._featureMenuNode=e,e&&this._focusFirstFeature){this._focusFirstFeature=!1;var t=e.querySelectorAll(\"li\");if(t.length){t[0].focus()}}},t.prototype._actionsMenuNodeUpdated=function(e){if(this._actionsMenuNode=e,e&&this._focusFirstAction){this._focusFirstAction=!1;var t=e.querySelectorAll(\"li\");if(t.length){t[0].focus()}}},t.prototype._focusFeatureMenuButtonNode=function(e){this._focusFeatureMenuButton&&(this._focusFeatureMenuButton=!1,e.focus())},t.prototype._focusActionsMenuButtonNode=function(e){this._focusActionsMenuButton&&(this._focusActionsMenuButton=!1,e.focus())},t.prototype._featureMenuViewportNodeUpdated=function(e){e&&(e.scrollTop=0)},t.prototype._toggleScreenLocationEnabled=function(){var e=this,t=e.dockEnabled,o=e.visible,i=e.viewModel;if(i){var n=o&&!t;i.screenLocationEnabled=n}},t.prototype._shouldDockAtCurrentViewSize=function(e){var t=e.breakpoint,o=this.get(\"viewModel.view.ui\"),i=o.width,n=o.height;if(isNaN(i)||isNaN(n))return!1;var r=t.hasOwnProperty(\"width\")&&i<=t.width,s=t.hasOwnProperty(\"height\")&&n<=t.height;return r||s},t.prototype._setDockEnabledForViewSize=function(e){e.breakpoint&&(this.dockEnabled=this._shouldDockAtCurrentViewSize(e))},t.prototype._getPageText=function(e,t){return u.substitute(l.pageText,{index:t+1,total:e})},t.prototype._destroySpinner=function(){var e=this,t=e._spinner,o=e.view;t&&(o&&o.ui&&o.ui.remove(this._spinner,\"popup-spinner\"),t.destroy(),this._spinner=null)},t.prototype._createSpinner=function(e){e&&(this._spinner=new _({view:e}),e.ui.add(this._spinner,{key:\"popup-spinner\",position:\"manual\"}))},t.prototype._toggleCollapsed=function(){this.collapsed=!this.collapsed},t.prototype._close=function(){this.close(),this.view&&this.view.focus()},t.prototype._toggleDockEnabled=function(){this.dockEnabled=!this.dockEnabled,this._focusDockButton=!0,this.scheduleRender()},t.prototype._toggleFeatureMenu=function(){var e=!this.featureMenuOpen;this._featureMenuOpenChanged(e),this.actionsMenuOpen=!1,this.featureMenuOpen=e},t.prototype._toggleActionsMenu=function(){var e=!this.actionsMenuOpen;this._actionsMenuOpenChanged(e),this.featureMenuOpen=!1,this.actionsMenuOpen=e},t.prototype._triggerAction=function(e){var t=e.currentTarget,o=t[\"data-action-index\"],i=this.viewModel.allActions.getItemAt(o);i&&\"toggle\"===i.type&&(i.value=!i.value),this.actionsMenuOpen=!1,this.viewModel.triggerAction(o)},t.prototype._selectFeature=function(e){var t=e.currentTarget,o=t[\"data-feature-index\"];isNaN(o)||(this.viewModel.selectedFeatureIndex=o),this.featureMenuOpen=!1,this._focusFeatureMenuButton=!0,this.scheduleRender()},t.prototype._next=function(){this.next()},t.prototype._previous=function(){this.previous()},i([g.aliasOf(\"viewModel.actions\"),y.renderable()],t.prototype,\"actions\",void 0),i([g.property({dependsOn:[\"viewModel.visible\"]}),y.renderable()],t.prototype,\"actionsMenuOpen\",null),i([g.property()],t.prototype,\"alignment\",void 0),i([g.aliasOf(\"viewModel.autoCloseEnabled\")],t.prototype,\"autoCloseEnabled\",void 0),i([g.aliasOf(\"viewModel.autoOpenEnabled\")],t.prototype,\"autoOpenEnabled\",void 0),i([g.aliasOf(\"viewModel.defaultPopupTemplateEnabled\")],t.prototype,\"defaultPopupTemplateEnabled\",void 0),i([g.aliasOf(\"viewModel.content\"),y.renderable()],t.prototype,\"content\",void 0),i([g.property(),y.renderable()],t.prototype,\"collapsed\",void 0),i([g.property(),y.renderable()],t.prototype,\"collapseEnabled\",void 0),i([g.property({readOnly:!0,dependsOn:[\"dockEnabled\",\"alignment\"]}),y.renderable()],t.prototype,\"currentAlignment\",null),i([g.property({readOnly:!0,dependsOn:[\"viewModel.view.ready\",\"dockEnabled\",\"dockOptions\"]}),y.renderable()],t.prototype,\"currentDockPosition\",null),i([g.property(),y.renderable()],t.prototype,\"dockOptions\",null),\ni([g.property(),y.renderable()],t.prototype,\"dockEnabled\",void 0),i([g.aliasOf(\"viewModel.featureCount\"),y.renderable()],t.prototype,\"featureCount\",void 0),i([g.property(),y.renderable()],t.prototype,\"featureMenuOpen\",void 0),i([g.aliasOf(\"viewModel.features\"),y.renderable()],t.prototype,\"features\",void 0),i([g.property(),y.renderable()],t.prototype,\"featureNavigationEnabled\",void 0),i([g.aliasOf(\"viewModel.goToOverride\")],t.prototype,\"goToOverride\",void 0),i([g.aliasOf(\"viewModel.highlightEnabled\")],t.prototype,\"highlightEnabled\",void 0),i([g.aliasOf(\"viewModel.location\"),y.renderable()],t.prototype,\"location\",void 0),i([g.property({readOnly:!0}),y.renderable()],t.prototype,\"featureWidgets\",void 0),i([g.property()],t.prototype,\"label\",void 0),i([g.aliasOf(\"viewModel.promises\")],t.prototype,\"promises\",void 0),i([g.aliasOf(\"viewModel.selectedFeature\"),y.renderable()],t.prototype,\"selectedFeature\",void 0),i([g.aliasOf(\"viewModel.selectedFeatureIndex\"),y.renderable()],t.prototype,\"selectedFeatureIndex\",void 0),i([g.property({readOnly:!0}),y.renderable()],t.prototype,\"selectedFeatureWidget\",void 0),i([g.property()],t.prototype,\"spinnerEnabled\",void 0),i([g.aliasOf(\"viewModel.title\"),y.renderable()],t.prototype,\"title\",void 0),i([g.aliasOf(\"viewModel.updateLocationEnabled\")],t.prototype,\"updateLocationEnabled\",void 0),i([g.aliasOf(\"viewModel.view\")],t.prototype,\"view\",void 0),i([g.property({type:b}),y.renderable([\"viewModel.view.widthBreakpoint\",\"viewModel.allActions\",\"viewModel.screenLocation\",\"viewModel.screenLocationEnabled\",\"viewModel.state\",\"viewModel.pendingPromisesCount\",\"viewModel.promiseCount\",\"viewModel.waitingForResult\"]),y.vmEvent([\"triggerAction\",\"trigger-action\"])],t.prototype,\"viewModel\",void 0),i([g.aliasOf(\"viewModel.visible\"),y.renderable()],t.prototype,\"visible\",void 0),i([y.accessibleHandler()],t.prototype,\"_toggleCollapsed\",null),i([y.accessibleHandler()],t.prototype,\"_close\",null),i([y.accessibleHandler()],t.prototype,\"_toggleDockEnabled\",null),i([y.accessibleHandler()],t.prototype,\"_toggleFeatureMenu\",null),i([y.accessibleHandler()],t.prototype,\"_toggleActionsMenu\",null),i([y.accessibleHandler()],t.prototype,\"_triggerAction\",null),i([y.accessibleHandler()],t.prototype,\"_selectFeature\",null),i([y.accessibleHandler()],t.prototype,\"_next\",null),i([y.accessibleHandler()],t.prototype,\"_previous\",null),t=i([g.subclass(\"esri.widgets.Popup\")],t)}(g.declared(v))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/assignHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../geometry\",\"../../core/Collection\",\"../../core/Error\",\"../../core/Handles\",\"../../core/Logger\",\"../../core/maybe\",\"../../core/promiseUtils\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\",\"../../geometry/support/webMercatorUtils\",\"../../support/actions/ActionBase\",\"../../support/actions/ActionButton\",\"../../support/actions/ActionToggle\",\"../../views/input/InputManager\",\"../../views/support/layerViewUtils\",\"./actions\",\"../support/AnchorElementViewModel\",\"../support/GoTo\"],function(e,t,o,n,r,i,a,s,p,u,l,c,d,h,f,g,y,v,m,b,w,F,_,P,C){var T=p.ofType({key:\"type\",defaultKeyValue:\"button\",base:v,typeMap:{button:m,toggle:b}}),E=function(){return new T([_.zoomToFeature.clone()])},O=c.getLogger(\"esri.widgets.Popup.PopupViewModel\");return function(e){function t(t){var o=e.call(this,t)||this;return o._handles=new l,o._pendingPromises=new Set,o._zoomToLocation=null,o._fetchFeaturesController=null,o.actions=E(),o.defaultPopupTemplateEnabled=!1,o.autoCloseEnabled=!1,o.autoOpenEnabled=!0,o.content=null,o.highlightEnabled=!0,o.title=null,o.updateLocationEnabled=!1,o.view=null,o.visible=!1,o.zoomFactor=4,o}return o(t,e),t.prototype.initialize=function(){var e=this;this._handles.add([f.init(this,[\"autoOpenEnabled\",\"view\"],this._autoOpenEnabledChange),this.on(\"view-change\",this._autoClose),f.watch(this,[\"highlightEnabled\",\"selectedFeature\",\"visible\",\"view\"],this._highlightFeature),f.watch(this,\"view.animation.state\",function(t){e._zoomToLocation||(_.zoomToFeature.disabled=\"waiting-for-target\"===t)}),f.watch(this,\"location\",function(t){var o=e,n=o.selectedFeature;o.updateLocationEnabled&&t&&(!n||n.geometry)&&e.centerAtLocation()}),f.watch(this,\"selectedFeature\",function(t){if(t){var o=e,n=o.location,r=o.updateLocationEnabled,i=o.view;if((r||!n)&&t.geometry)return void(e.location=d.unwrap(e._getPointFromGeometry(t.geometry)));r&&!t.geometry&&e.centerAtLocation().then(function(){e.location=i.center.clone()})}}),this.on(\"trigger-action\",function(t){return _.triggerAction({event:t,view:e.view})})])},t.prototype.destroy=function(){this._cancelFetchingFeatures(),this._handles.destroy(),this._handles=null,this._pendingPromises.clear(),this.view=null},Object.defineProperty(t.prototype,\"allActions\",{get:function(){var e=this._get(\"allActions\")||new T;e.removeAll();var t=this.selectedFeature&&(\"function\"==typeof this.selectedFeature.getEffectivePopupTemplate&&this.selectedFeature.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled)||this.selectedFeature.popupTemplate),o=t&&t.actions,n=t&&t.overwriteActions,r=n?o:o?o.concat(this.actions):this.actions;return r&&r.filter(Boolean).forEach(function(t){return e.add(t)}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"featureCount\",{get:function(){return this.features.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"features\",{get:function(){return this._get(\"features\")||[]},set:function(e){var t=e||[];this._set(\"features\",t);var o=this,n=o.pendingPromisesCount,r=o.promiseCount,i=o.selectedFeatureIndex,a=r&&t.length;if(a&&n&&-1===i)return void(this.selectedFeatureIndex=0);a&&-1!==i||(this.selectedFeatureIndex=t.length?0:-1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"location\",{get:function(){return this._get(\"location\")||null},set:function(e){var t=this.get(\"view.spatialReference.isWebMercator\");e&&e.get(\"spatialReference.isWGS84\")&&t&&(e=y.geographicToWebMercator(e)),this._set(\"location\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"pendingPromisesCount\",{get:function(){return this._pendingPromises.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"waitingForResult\",{get:function(){return this.pendingPromisesCount>0&&0===this.featureCount},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"promiseCount\",{get:function(){return this.promises.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"promises\",{get:function(){return this._get(\"promises\")||[]},set:function(e){var t=this;if(this._pendingPromises.clear(),this.features=[],!Array.isArray(e)||!e.length)return this._set(\"promises\",[]),void this.notifyChange(\"pendingPromisesCount\");this._set(\"promises\",e),e=e.slice(0),e.forEach(function(e){t._pendingPromises.add(e);var o=function(o){t._pendingPromises.has(e)&&t._updateFeatures(o),t._updatePendingPromises(e)},n=function(){return t._updatePendingPromises(e)};e.then(o,n)}),this.notifyChange(\"pendingPromisesCount\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"selectedFeature\",{get:function(){var e=this,t=e.features,o=e.selectedFeatureIndex;return-1===o?null:t[o]||null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"selectedFeatureIndex\",{get:function(){var e=this._get(\"selectedFeatureIndex\");return\"number\"==typeof e?e:-1},set:function(e){var t=this.featureCount;e=isNaN(e)||e<-1||!t?-1:(e+t)%t,this._set(\"selectedFeatureIndex\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.centerAtLocation=function(){var e=this.view,t=this._getSelectedTarget();if(!t){var o=new u(\"center-at-location:invalid-target-or-view\",\"Cannot center at a location without a target and view.\",{target:t,view:e});return O.error(o),h.reject(o)}return this.callGoTo({target:{target:t,scale:e.scale}})},t.prototype.clear=function(){this.set({promises:[],features:[],content:null,title:null,location:null})},t.prototype.open=function(e){var t=this,o=r({updateLocationEnabled:!1,promises:[],fetchFeatures:!1,visible:!1},e),n=o.fetchFeatures;delete o.fetchFeatures;var i=n?this._fetchFeatures(o.location||this.location):h.resolve();this.set(o),i.then(function(){t._setVisibleWhenContentExists()})},t.prototype.triggerAction=function(e){var t=this.allActions.getItemAt(e);t&&this.emit(\"trigger-action\",{action:t})},t.prototype.next=function(){return this.selectedFeatureIndex=this.selectedFeatureIndex+1,this},t.prototype.previous=function(){return this.selectedFeatureIndex=this.selectedFeatureIndex-1,this},t.prototype.zoomToLocation=function(){var e=this,t=this,o=t.location,n=t.selectedFeature,r=t.view,i=t.zoomFactor,a=this._getSelectedTarget();if(!a){var s=new u(\"zoom-to:invalid-target-or-view\",\"Cannot zoom to location without a target and view.\",{target:a,view:r});return O.error(s),h.reject(s)}var p=r.scale/i,l=this.get(\"selectedFeature.geometry\"),c=l||o,d=c&&\"point\"===c.type,f=d&&this._isScreenSize(n);_.zoomToFeature.active=!0,_.zoomToFeature.disabled=!0;var g=this.callGoTo({target:{target:a,scale:f?p:void 0}}).then(function(){f&&(e.location=c),_.zoomToFeature.active=!1,_.zoomToFeature.disabled=!1,e._zoomToLocation=null}).catch(function(){_.zoomToFeature.active=!1,_.zoomToFeature.disabled=!1,e._zoomToLocation=null});return this._zoomToLocation=g,g},t.prototype._getSelectedTarget=function(){var e=this,t=e.selectedFeature,o=e.location,n=e.view;if(!n)return null;var r=\"3d\"===n.type,i=this.get(\"selectedFeature.geometry\");return r?t||o:i||o},t.prototype._fetchPopupFeatures=function(e){var t=this.view;if(this._cancelFetchingFeatures(),!t||!e){var o=new u(\"fetch-features:invalid-screenPoint-or-view\",\"Cannot fetch features without a screenPoint and view.\",{screenPoint:e,view:t});return O.error(o),h.reject(o)}var n=h.createAbortController();return this._fetchFeaturesController=n,t.fetchPopupFeatures(e,{defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:n.signal})},t.prototype._autoOpenEnabledChange=function(){var e=this,t=this,o=t._handles,n=t.autoOpenEnabled;if(o.remove(\"auto-fetch-features\"),n&&this.view){var r=this.view.on(\"click\",function(t){\"mouse\"===t.pointerType&&0!==t.button||e._fetchFeaturesAndOpen(t)},w.ViewEventPriorities.WIDGET);o.add(r,\"auto-fetch-features\")}},t.prototype._cancelFetchingFeatures=function(){var e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null},t.prototype._fetchFeatures=function(e){var t=this,o=this.view;if(!e||!o){var n=new u(\"open:invalid-location-or-view\",\"Cannot fetch content without a location and view.\",{location:e,view:o});return O.error(n),h.reject(n)}var r=\"function\"==typeof o.toScreen?o.toScreen(e):null;return this._fetchPopupFeatures(r).then(function(e){var o=e.promises;t.promises=o})},t.prototype._fetchFeaturesAndOpen=function(e){var t=e.screenPoint,o=e.mapPoint,n=this.view;this._fetchPopupFeatures(t).then(function(e){var t=e.promises,r=e.location;return n.popup.open({location:r||o,promises:t}),e})},t.prototype._updatePendingPromises=function(e){e&&this._pendingPromises.has(e)&&(this._pendingPromises.delete(e),this.notifyChange(\"pendingPromisesCount\"))},t.prototype._setVisibleWhenContentExists=function(){var e=this,t=this,o=t._handles,n=t.promiseCount;if(o.remove(\"pendingVisible\"),!n)return void this.set(\"visible\",!0);var r=f.init(this,\"pendingPromisesCount\",function(t){e.featureCount&&(e.set(\"visible\",!0),o.remove(\"pendingVisible\")),t||o.remove(\"pendingVisible\")});o.add(r,\"pendingVisible\")},t.prototype._autoClose=function(){this.autoCloseEnabled&&(this.visible=!1)},t.prototype._isScreenSize=function(e){var t=this.view;if(\"3d\"!==t.type||!e||\"esri.Graphic\"!==e.declaredClass)return!0;var o=t.getViewForGraphic(e);if(o&&\"whenGraphicBounds\"in o){var n=!1;return o.whenGraphicBounds(e,{useViewElevation:!0}).then(function(e){n=!e||!e.boundingBox||e.boundingBox[0]===e.boundingBox[3]&&e.boundingBox[1]===e.boundingBox[4]&&e.boundingBox[2]===e.boundingBox[5]}),n}return!0},t.prototype._getPointFromGeometry=function(e){return d.isNone(e)?null:\"point\"===e.type?e:\"extent\"===e.type?e.center:\"polygon\"===e.type?e.centroid:\"multipoint\"===e.type?e.extent.center:\"polyline\"===e.type?e.extent.center:null},t.prototype._highlightFeature=function(){return a(this,void 0,void 0,function(){var e,t,o,n,r,a,s,p,u,l,c,d;return i(this,function(i){switch(i.label){case 0:return e=\"highlight\",(this._handles.remove(e),t=this,o=t.selectedFeature,n=t.highlightEnabled,r=t.view,a=t.visible,o&&r&&n&&a)?(s=o.layer,s?[4,r.when()]:[2]):[2];case 1:return i.sent(),[4,r.whenLayerView(s)];case 2:return(p=i.sent())&&F.hasHighlight(p)?(u=s.objectIdField,l=o.attributes,c=l&&l[u],d=p.highlight(c||o),this._handles.add(d,e),[2]):[2]}})})},t.prototype._updateFeatures=function(e){var t=this.features;if(e&&e.length){if(!t.length)return void(this.features=e);var o=e.filter(function(e){return-1===t.indexOf(e)});this.features=t.concat(o)}},n([g.property({type:T})],t.prototype,\"actions\",void 0),n([g.property({dependsOn:[\"actions.length\",\"selectedFeature.sourceLayer.popupTemplate.actions.length\",\"selectedFeature.sourceLayer.popupTemplate.overwriteActions\",\"selectedFeature.popupTemplate.actions.length\",\"selectedFeature.popupTemplate.overwriteActions\"],readOnly:!0})],t.prototype,\"allActions\",null),n([g.property({type:Boolean})],t.prototype,\"defaultPopupTemplateEnabled\",void 0),n([g.property()],t.prototype,\"autoCloseEnabled\",void 0),n([g.property()],t.prototype,\"autoOpenEnabled\",void 0),n([g.property()],t.prototype,\"content\",void 0),n([g.property({readOnly:!0,dependsOn:[\"features\"]})],t.prototype,\"featureCount\",null),n([g.property()],t.prototype,\"features\",null),n([g.property()],t.prototype,\"highlightEnabled\",void 0),n([g.property({type:s.Point})],t.prototype,\"location\",null),n([g.property({readOnly:!0,dependsOn:[\"promises\"]})],t.prototype,\"pendingPromisesCount\",null),n([g.property({readOnly:!0,dependsOn:[\"featureCount\",\"pendingPromisesCount\"]})],t.prototype,\"waitingForResult\",null),n([g.property({readOnly:!0,dependsOn:[\"promises\"]})],t.prototype,\"promiseCount\",null),n([g.property()],t.prototype,\"promises\",null),n([g.property({value:null,readOnly:!0,dependsOn:[\"features\",\"selectedFeatureIndex\",\"updateLocationEnabled\"]})],t.prototype,\"selectedFeature\",null),n([g.property({value:-1})],t.prototype,\"selectedFeatureIndex\",null),n([g.property({readOnly:!0,dependsOn:[\"view.ready\"]})],t.prototype,\"state\",null),n([g.property()],t.prototype,\"title\",void 0),n([g.property()],t.prototype,\"updateLocationEnabled\",void 0),n([g.property()],t.prototype,\"view\",void 0),n([g.property()],t.prototype,\"visible\",void 0),n([g.property()],t.prototype,\"zoomFactor\",void 0),n([g.property()],t.prototype,\"centerAtLocation\",null),n([g.property()],t.prototype,\"zoomToLocation\",null),t=n([g.subclass(\"esri.widgets.Popup.PopupViewModel\")],t)}(g.declared(C.GoToMixin(P)))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"dojo/i18n!../../nls/common\",\"dojo/i18n!./nls/Popup\",\"../../core/Error\",\"../../core/promiseUtils\",\"../../support/actions/ActionButton\"],function(e,r,i,o,t,n,a){Object.defineProperty(r,\"__esModule\",{value:!0});var c={iconZoom:\"esri-icon-zoom-in-magnifying-glass\",iconTrash:\"esri-icon-trash\"};r.zoomToFeature=new a({id:\"zoom-to-feature\",title:o.zoom,className:c.iconZoom}),r.removeSelectedFeature=new a({id:\"remove-selected-feature\",title:i.remove,className:c.iconTrash}),r.all=[r.zoomToFeature,r.removeSelectedFeature],r.triggerAction=function(e){var i=e.event,o=e.view,a=i.action,c=o&&o.popup;if(!a)return n.reject(new t(\"trigger-action:missing-arguments\",\"Event has no action\"));if(!c)return n.reject(new t(\"trigger-action:missing-arguments\",\"view.popup is missing\"));var s=a.disabled,u=a.id;if(!u)return n.reject(new t(\"trigger-action:invalid-action\",\"action.id is missing\"));if(s)return n.reject(new t(\"trigger-action:invalid-action\",\"Action is disabled\"));if(u===r.zoomToFeature.id)return c.viewModel.zoomToLocation();if(u===r.removeSelectedFeature.id){c.close();var m=c.selectedFeature;if(!m)return n.reject(new t(\"trigger-action:\"+r.removeSelectedFeature.id,\"selectedFeature is required\",{selectedFeature:m}));var d=m.sourceLayer;return d?d.remove(m):o.graphics.remove(m),n.resolve()}return n.reject(new t(\"trigger-action:unknown-action\",\"Unable to identify action to perform\",{action:a,popup:c}))}});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Popup','zoom':'Zoom to','next':'Next feature','previous':'Previous feature','dock':'Dock','undock':'Undock','pageText':'{index} of {total}','selectedFeature':'Selected feature','selectedFeatures':'{total} results','tooManyFields':'This layer has too many fields, some will not be displayed.'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Cửa sổ pop-up\",zoom:\"Phóng tới\",next:\"Tính năng tiếp\",previous:\"Tính năng trước\",dock:\"Bến tàu\",undock:\"Bỏ gắn\",pageText:\"{index} trên {total}\",selectedFeature:\"Đối tượng được chọn\",selectedFeatures:\"{total} kết quả\",tooManyFields:\"Lớp này có quá nhiều trường, một số trường sẽ không được hiển thị.\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Defines the layout template options used by the {@link module:esri/widgets/Print|Print} widget to generate the print page.\n *\n * @name templateOptions\n * @since 4.6\n * @instance\n *\n * @example\n * templateOptions: {\n * title: \"My Print\",\n * author: \"Sam\",\n * copyright: \"My Company\",\n * legendEnabled: false\n * }\n *\n * @type {module:esri/widgets/Print/TemplateOptions}\n * @autocast\n */\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./Print/nls/Print\",\"../core/Collection\",\"../core/events\",\"../core/Logger\",\"../core/urlUtils\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../tasks/support/PrintTemplate\",\"./Widget\",\"./Print/FileLink\",\"./Print/PrintViewModel\",\"./Print/TemplateOptions\",\"./support/widget\"],function(t,e,i,n,a,o,s,r,l,p,d,c,u,h,b,_,v){var y=o.ofType(h),x={base:\"esri-print esri-widget esri-widget--panel\",headerTitle:\"esri-print__header-title\",inputText:\"esri-print__input-text\",layoutTabList:\"esri-print__layout-tab-list\",layoutTab:\"esri-print__layout-tab\",layoutSection:\"esri-print__layout-section\",mapOnlySection:\"esri-print__map-only-section\",scaleInput:\"esri-print__scale-input\",loader:\"esri-print__loader\",advancedOptionsButton:\"esri-print__advanced-options-button\",advancedOptionsButtonContainer:\"esri-print__advanced-options-button-container\",advancedOptionsButtonTitle:\"esri-print__advanced-options-button-title\",advancedOptionsButtonIconOpened:\"esri-print__advanced-options-button-icon--opened\",advancedOptionsButtonIconClosed:\"esri-print__advanced-options-button-icon--closed\",advancedOptionsButtonIconClosed_RTL:\"esri-print__advanced-options-button-icon--closed-rtl\",refreshButton:\"esri-print__refresh-button\",swapButton:\"esri-print__swap-button\",linkButton:\"esri-print__link-button\",printButton:\"esri-print__export-button\",formSectionContainer:\"esri-print__form-section-container\",advancedOptionsSection:\"esri-print__advanced-options-section\",advancedOptionsContainer:\"esri-print__advanced-options-container\",authorInfoContainer:\"esri-print__author-info-container\",copyrightInfoContainer:\"esri-print__copyright-info-container\",exportedFilesContainer:\"esri-print__export-panel-container\",exportedFilesTitle:\"esri-print__export-title\",exportedFile:\"esri-print__exported-file\",exportedFileLink:\"esri-widget__anchor esri-print__exported-file-link\",exportedFileLinkTitle:\"esri-print__exported-file-link-title\",heightContainer:\"esri-print__height-container\",legendInfoContainer:\"esri-print__legend-info-container\",printWidgetContainer:\"esri-print__container\",panelContainer:\"esri-print__panel-container\",scaleInfoContainer:\"esri-print__scale-info-container\",scaleInputContainer:\"esri-print__scale-input-container\",sizeContainer:\"esri-print__size-container\",widthContainer:\"esri-print__width-container\",widgetButton:\"esri-widget--button\",button:\"esri-button\",select:\"esri-select\",header:\"esri-widget__heading\",input:\"esri-input\",disabled:\"esri-disabled\",anchorDisabled:\"esri-widget__anchor--disabled\",buttonDisabled:\"esri-button--disabled\",panelError:\"esri-print__panel--error\",exportedFileError:\"esri-print__exported-file--error\",hide:\"esri-hidden\",rotate:\"esri-rotating\",iconCheckMark:\"esri-icon-check-mark\",iconDownload:\"esri-icon-download\",iconError:\"esri-icon-error\",iconPrinter:\"esri-icon-printer\",iconRightTriangleArrow:\"esri-icon-right-triangle-arrow\",iconLeftTriangleArrow:\"esri-icon-left-triangle-arrow\",iconDownArrow:\"esri-icon-down-arrow\",iconRefresh:\"esri-icon-refresh\",iconSpinner:\"esri-icon-loading-indicator\",iconSwap:\"esri-icon-swap\",iconLinked:\"esri-icon-link-horizontal\",iconUnlinked:\"esri-icon-unlocked-link-horizontal\",widgetIcon:\"esri-icon-printer\"},f=r.getLogger(\"esri.widgets.Print\");return function(t){function e(e){var i=t.call(this,e)||this;return i._activeTabFocusRequested=!1,i._advancedOptionsVisibleForLayout=!1,i._advancedOptionsVisibleForMapOnly=!1,i._awaitingServerResponse=!1,i._exportedFileNameMap={},i._layoutTabSelected=!0,i._pendingExportScroll=!1,i._rootNode=null,i.exportedLinks=new y,i.iconClass=x.widgetIcon,i.label=a.widgetLabel,i.templateOptions=new _,i.printServiceUrl=null,i.view=null,i.viewModel=new b,i._focusOnTabChange=i._focusOnTabChange.bind(i),i}return i(e,t),e.prototype.postInitialize=function(){var t=this;this.own([p.init(this,\"viewModel.templatesInfo\",function(e){var i=t.templateOptions,n=i.format,a=i.layout;if(e){var o=a===e.layout.defaultValue||a&&\"MAP_ONLY\"===a.toUpperCase()||e.layout.choiceList&&e.layout.choiceList.indexOf(a)>-1,s=n===e.format.defaultValue||e.format.choiceList&&e.format.choiceList.indexOf(n)>-1;o||(a&&f.warn(\"User sets an invalid layout, resetting it to the default valid one...\"),t.templateOptions.layout=e.layout.defaultValue),s||(n&&f.warn(\"User sets an invalid format, resetting it to the default valid one...\"),t.templateOptions.format=e.format.defaultValue),a&&\"MAP_ONLY\"===a.toUpperCase()&&(t._layoutTabSelected=!1)}}),p.init(this,\"templateOptions.format\",function(e){var i=t.viewModel.templatesInfo;if(i&&e){var n=!1;i.format.choiceList&&i.format.choiceList.forEach(function(i){i.toUpperCase()===e.toUpperCase()&&(t.templateOptions.format=i,n=!0)}),n||(t.templateOptions.format=i.format.defaultValue,f.warn(\"User sets an invalid format, resetting it to the default valid one...\")),t.scheduleRender()}}),p.init(this,\"templateOptions.layout\",function(e){var i=t.viewModel.templatesInfo;if(i&&e){t._layoutTabSelected=\"MAP_ONLY\"!==e.toUpperCase();var n=!t._layoutTabSelected;n||i.layout.choiceList&&i.layout.choiceList.forEach(function(i){i.toUpperCase()===e.toUpperCase()&&(t.templateOptions.layout=i,n=!0)}),n||(t.templateOptions.layout=i.layout.defaultValue,f.warn(\"User sets an invalid layout, resetting it to the default valid one...\")),t.scheduleRender()}}),p.init(this,\"templateOptions.dpi\",function(e){if(e<=0)return void(t.templateOptions.dpi=1);t.scheduleRender()}),p.init(this,\"viewModel.view.scale\",function(e){var i=t.templateOptions,n=i.scale;i.scaleEnabled&&n||(t.templateOptions.scale=e)}),p.whenOnce(this,\"printServiceUrl\",function(){var e=setTimeout(function(){t._awaitingServerResponse=!0,t.scheduleRender()},500);t.viewModel.load().then(function(){return clearTimeout(e)})})]);var e=this.templateOptions,i=e.height,n=e.width;this.templateOptions.width=n||800,this.templateOptions.height=i||1100},e.prototype.render=function(){var t,e=this.templateOptions,i=e.attributionEnabled,n=e.author,o=e.copyright,s=e.dpi,r=e.format,l=e.height,p=e.layout,d=e.legendEnabled,c=e.scaleEnabled,u=e.scale,h=e.width,b=this.renderTitleOrFileNameSection(),_=this.get(\"viewModel.templatesInfo.format.choiceList\")||[],y=_.length>0?_.map(function(t){var e=t===r;return v.tsx(\"option\",{key:t,selected:e,value:t},t.toUpperCase())}):v.tsx(\"option\",{key:\"format-default-option\"},a.formatDefaultOption),f=v.tsx(\"div\",{class:x.formSectionContainer},v.tsx(\"label\",null,a.fileFormatTitle,v.tsx(\"select\",{class:x.select,onchange:this._updateFromOption,\"data-target-property\":\"format\",bind:this},y))),g=this.get(\"viewModel.templatesInfo.layout.choiceList\")||[],m=g.length>0?g.map(function(t){var e=t===p,i=a[t]||t;return v.tsx(\"option\",{key:t,selected:e,value:t},i)}):v.tsx(\"option\",{key:\"layout-default-option\"},a.layoutDefaultOption),O=v.tsx(\"div\",{class:x.formSectionContainer},v.tsx(\"label\",null,a.layoutTitle,v.tsx(\"select\",{class:x.select,onchange:this._updateFromOption,\"data-target-property\":\"layout\",bind:this},m))),w=v.tsx(\"div\",{class:x.formSectionContainer},v.tsx(\"label\",null,a.dpi,v.tsx(\"input\",{type:\"number\",class:this.classes(x.inputText,x.input),\"data-input-name\":\"dpi\",oninput:this._updateInputValue,value:\"\"+s,min:\"1\",tabIndex:0,bind:this}))),T=v.tsx(\"div\",{class:this.classes(x.scaleInfoContainer,x.formSectionContainer)},v.tsx(\"label\",null,v.tsx(\"input\",{\"data-option-name\":\"scaleEnabled\",checked:c,type:\"checkbox\",tabIndex:0,onchange:this._toggleInputValue,bind:this}),a.scale),v.tsx(\"div\",{class:x.scaleInputContainer},v.tsx(\"input\",{\"aria-label\":a.scaleLabel,\"aria-valuenow\":\"\"+u,role:\"spinbutton\",type:\"number\",class:this.classes(x.inputText,x.input,x.scaleInput),tabIndex:0,\"data-input-name\":\"scale\",oninput:this._updateInputValue,disabled:!c,value:\"\"+u,bind:this}),v.tsx(\"button\",{role:\"button\",\"aria-label\":a.reset,class:this.classes(x.widgetButton,x.refreshButton,x.iconRefresh),tabIndex:0,onclick:this._resetToCurrentScale,bind:this}))),C=this._advancedOptionsVisibleForLayout?v.tsx(\"div\",{\"aria-labelledby\":this.id+\"__advancedOptionsForLayout\",class:x.advancedOptionsContainer},T,v.tsx(\"div\",{class:this.classes(x.authorInfoContainer,x.formSectionContainer)},v.tsx(\"label\",null,a.author,v.tsx(\"input\",{type:\"text\",value:n,class:this.classes(x.inputText,x.input),tabIndex:0,\"data-input-name\":\"author\",oninput:this._updateInputValue,bind:this}))),v.tsx(\"div\",{class:this.classes(x.copyrightInfoContainer,x.formSectionContainer)},v.tsx(\"label\",null,a.copyright,v.tsx(\"input\",{type:\"text\",class:this.classes(x.inputText,x.input),tabIndex:0,value:o,\"data-input-name\":\"copyright\",oninput:this._updateInputValue,bind:this}))),w,v.tsx(\"div\",{class:this.classes(x.legendInfoContainer,x.formSectionContainer)},v.tsx(\"label\",null,v.tsx(\"input\",{type:\"checkbox\",\"data-option-name\":\"legendEnabled\",tabIndex:0,checked:d,onchange:this._toggleInputValue,bind:this}),a.legend))):null,I=this._advancedOptionsVisibleForMapOnly?v.tsx(\"div\",{\"aria-labelledby\":this.id+\"__advancedOptionsForMapOnly\",class:x.advancedOptionsContainer},T,w,v.tsx(\"div\",{class:x.formSectionContainer},v.tsx(\"label\",null,v.tsx(\"input\",{\"data-option-name\":\"attributionEnabled\",type:\"checkbox\",onchange:this._toggleInputValue,tabIndex:0,checked:i,bind:this}),a.attribution))):null,S=this._layoutTabSelected?v.tsx(\"section\",{key:\"esri-print__layoutContent\",id:this.id+\"__layoutContent\",\"aria-labelledby\":this.id+\"__layoutTab\",class:x.layoutSection,role:\"tabpanel\",\"aria-selected\":this._layoutTabSelected},v.tsx(\"div\",{class:x.panelContainer},b,O,this._layoutTabSelected?f:null),v.tsx(\"div\",{class:this.classes(x.panelContainer,x.advancedOptionsSection)},v.tsx(\"button\",{\"aria-label\":a.advancedOptions,\"aria-expanded\":this._advancedOptionsVisibleForLayout?\"true\":\"false\",role:\"button\",class:x.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this},v.tsx(\"div\",{class:x.advancedOptionsButtonContainer},v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconRightTriangleArrow,x.advancedOptionsButtonIconClosed)}),v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconLeftTriangleArrow,x.advancedOptionsButtonIconClosed_RTL)}),v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconDownArrow,x.advancedOptionsButtonIconOpened)}),v.tsx(\"span\",{class:x.advancedOptionsButtonTitle},a.advancedOptions))),C)):v.tsx(\"section\",{key:\"esri-print__mapOnlyContent\",id:this.id+\"__mapOnlyContent\",\"aria-selected\":!this._layoutTabSelected,\"aria-labelledby\":this.id+\"__mapOnlyTab\",class:x.mapOnlySection,role:\"tabpanel\"},v.tsx(\"div\",{class:x.panelContainer},b,this._layoutTabSelected?null:f,v.tsx(\"div\",{class:this.classes(x.sizeContainer,x.formSectionContainer)},v.tsx(\"div\",{class:x.widthContainer},v.tsx(\"label\",null,a.width,v.tsx(\"input\",{type:\"text\",class:this.classes(x.inputText,x.input),\"data-input-name\":\"width\",onchange:this._updateInputValue,value:\"\"+h,tabIndex:0,bind:this}))),v.tsx(\"div\",{class:x.heightContainer},v.tsx(\"label\",null,a.height,v.tsx(\"input\",{type:\"text\",class:this.classes(x.inputText,x.input),\"data-input-name\":\"height\",onchange:this._updateInputValue,value:\"\"+l,tabIndex:0,bind:this}))),v.tsx(\"button\",{role:\"button\",\"aria-label\":a.swap,class:this.classes(x.widgetButton,x.swapButton,x.iconSwap),onclick:this._switchInput,tabIndex:0,bind:this})),v.tsx(\"div\",{class:this.classes(x.panelContainer,x.advancedOptionsSection)},v.tsx(\"button\",{\"aria-label\":a.advancedOptions,\"aria-expanded\":this._advancedOptionsVisibleForMapOnly?\"true\":\"false\",role:\"button\",class:x.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this},v.tsx(\"div\",{class:x.advancedOptionsButtonContainer},v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconRightTriangleArrow,x.advancedOptionsButtonIconClosed)}),v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconLeftTriangleArrow,x.advancedOptionsButtonIconClosed_RTL)}),v.tsx(\"span\",{\"aria-hidden\":\"true\",class:this.classes(x.iconDownArrow,x.advancedOptionsButtonIconOpened)}),v.tsx(\"span\",{class:x.advancedOptionsButtonTitle},a.advancedOptions))),I))),L=this.exportedLinks.toArray(),k=this._renderExportedLink(L),F=(t={},t[x.buttonDisabled]=!p&&!r,t),M=null!=this.get(\"view\")&&\"2d\"!==this.get(\"view.type\"),E=v.tsx(\"div\",{class:x.panelError},M?a.sceneViewError:a.serviceError),V=v.tsx(\"div\",null,v.tsx(\"ul\",{class:x.layoutTabList,role:\"tablist\",onclick:this._toggleLayoutPanel,onkeydown:this._handleLayoutPanelKeyDown,bind:this},v.tsx(\"li\",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:this.id+\"__layoutTab\",\"data-tab-id\":\"layoutTab\",class:x.layoutTab,role:\"tab\",tabIndex:0,\"aria-selected\":\"\"+this._layoutTabSelected},a.layoutTab),v.tsx(\"li\",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:this.id+\"__mapOnlyTab\",\"data-tab-id\":\"mapOnlyTab\",class:x.layoutTab,role:\"tab\",tabIndex:0,\"aria-selected\":\"\"+!this._layoutTabSelected},a.mapOnlyTab)),S,v.tsx(\"button\",{\"aria-label\":a.exportDescription,role:\"button\",class:this.classes(x.printButton,x.button,F),tabIndex:0,onclick:this._handlePrintMap,bind:this},a.export),v.tsx(\"div\",{class:x.exportedFilesContainer,afterUpdate:this._scrollExportIntoView,onclick:this._removeLink,bind:this},v.tsx(\"h3\",{class:this.classes(x.exportedFilesTitle,x.header)},a.exportText),L.length>0?null:v.tsx(\"div\",null,v.tsx(\"div\",null,a.exportHint)),k)),B=v.tsx(\"div\",null,v.tsx(\"div\",{class:x.printWidgetContainer},v.tsx(\"header\",{class:x.headerTitle},a.export),this.error||!this.printServiceUrl||M||!this.view?E:V)),A=\"initializing\"===this.get(\"viewModel.state\"),P=A?this._renderLoader():B;return v.tsx(\"div\",{afterCreate:v.storeNode,bind:this,class:x.base,\"data-node-ref\":\"_rootNode\"},P)},e.prototype.renderTitleOrFileNameSection=function(){var t,e,i,n,o=this.templateOptions;return this._layoutTabSelected?(t=a.title,e=a.titlePlaceHolder,i=o.title,n=\"title\"):(t=a.fileName,e=a.fileNamePlaceHolder,i=o.fileName,n=\"fileName\"),v.tsx(\"div\",{class:x.formSectionContainer,key:n},v.tsx(\"label\",null,t,v.tsx(\"input\",{type:\"text\",tabIndex:0,placeholder:e,class:this.classes(x.inputText,x.input),value:i,\"data-input-name\":n,oninput:this._updateInputValue,bind:this})))},e.prototype._focusOnTabChange=function(t){if(this._activeTabFocusRequested){var e=t.getAttribute(\"data-tab-id\");(\"layoutTab\"===e&&this._layoutTabSelected||\"mapOnlyTab\"===e&&!this._layoutTabSelected)&&(t.focus(),this._activeTabFocusRequested=!1)}},e.prototype._renderLoader=function(){var t,e=(t={},t[x.loader]=this._awaitingServerResponse,t);return v.tsx(\"div\",{class:this.classes(e),key:\"loader\"})},e.prototype._createFileLink=function(t,e){var i=e||a.untitled,n=t.format.toLowerCase(),o=n.indexOf(\"png\")>-1?\"png\":n,s=i+o;return void 0!==this._exportedFileNameMap[s]?this._exportedFileNameMap[s]++:this._exportedFileNameMap[s]=0,new h({name:i,extension:o,count:this._exportedFileNameMap[s]})},e.prototype._toPrintTemplate=function(t){var e=t.attributionEnabled,i=t.author,n=t.copyright,a=t.dpi,o=t.forceFeatureAttributes,s=t.format,r=t.height,l=t.layout,p=t.legendEnabled,d=t.title,u=t.scale,h=t.width,b=new c({attributionVisible:e,layoutOptions:{authorText:i||\"\",copyrightText:n||\"\",titleText:d||\"\"},forceFeatureAttributes:o,format:s,layout:l,outScale:u});return h&&(b.exportOptions.width=h),r&&(b.exportOptions.height=r),a&&(b.exportOptions.dpi=a),p||(b.layoutOptions.legendLayers=[]),b},e.prototype._resetToCurrentScale=function(){this.templateOptions.scale=this.viewModel.view.scale},e.prototype._updateInputValue=function(t){var e=t.target,i=e.getAttribute(\"data-input-name\");this.templateOptions[i]=e.value},e.prototype._handlePrintMap=function(){var t=this;this._pendingExportScroll=!0;var e=this.templateOptions,i=this._toPrintTemplate(e),n=this._layoutTabSelected?i.layoutOptions.titleText:e.fileName,a=this._createFileLink(i,n);this.exportedLinks.add(a),this.viewModel.print(i).then(function(t){a.set({url:t&&t.url,state:\"ready\"})}).catch(function(){a.set({state:\"error\"})}).then(function(){return t.scheduleRender()})},e.prototype._updateFromOption=function(t){var e=t.target,i=e.selectedOptions?e.selectedOptions.item(0).value:e.options[e.selectedIndex].value,n=e.getAttribute(\"data-target-property\");this.templateOptions[n]=i},e.prototype._switchInput=function(){var t;t=[this.templateOptions.height,this.templateOptions.width],this.templateOptions.width=t[0],this.templateOptions.height=t[1]},e.prototype._showAdvancedOptions=function(){this._layoutTabSelected?this._advancedOptionsVisibleForLayout=!this._advancedOptionsVisibleForLayout:this._advancedOptionsVisibleForMapOnly=!this._advancedOptionsVisibleForMapOnly},e.prototype._scrollExportIntoView=function(){if(this._pendingExportScroll){this._pendingExportScroll=!1;var t=this,e=t._rootNode,i=t._rootNode,n=i.clientHeight,a=i.scrollHeight,o=a-n;o>0&&(e.scrollTop=o)}},e.prototype._toggleInputValue=function(t){var e=t.target,i=e.getAttribute(\"data-option-name\");this.templateOptions[i]=e.checked,\"scaleEnabled\"===i&&(this.viewModel.scaleEnabled=this.templateOptions.scaleEnabled,this.templateOptions[i]||this._resetToCurrentScale())},e.prototype._removeLink=function(t){var e=t.target,i=e[\"data-item\"];i&&\"error\"===i.state&&this.exportedLinks.remove(i)},e.prototype._renderExportedLink=function(t){var e=this;return t.map(function(t){var i,n,o,s=(i={},i[x.anchorDisabled]=\"pending\"===t.state||\"error\"===t.state,i),r=(n={},n[x.iconSpinner]=\"pending\"===t.state,n[x.rotate]=\"pending\"===t.state,n[x.iconDownload]=\"ready\"===t.state,n[x.iconError]=\"error\"===t.state,n[x.exportedFileError]=\"error\"===t.state,n),p=(o={},o[x.exportedFileError]=\"error\"===t.state,o),d=\"\"===t.url?null:t.url;d&&(d=l.addProxy(d));var c;return c=\"pending\"===t.state?a.pending:\"ready\"===t.state?a.ready:a.error,v.tsx(\"div\",{\"aria-label\":c,key:t.formattedName,class:x.exportedFile},v.tsx(\"a\",{\"aria-label\":t.formattedName+\". \"+a.linkReady,href:d,rel:\"noreferrer\",tabIndex:0,target:\"_blank\",class:e.classes(x.exportedFileLink,s)},v.tsx(\"span\",{\"data-item\":t,class:e.classes(r)}),v.tsx(\"span\",{\"data-item\":t,class:e.classes(x.exportedFileLinkTitle,p)},t.formattedName)))})},e.prototype._toggleLayoutPanel=function(t){var e=t.target;this._toggleTab(e.getAttribute(\"data-tab-id\"))},e.prototype._toggleTab=function(t){if(this._layoutTabSelected=\"layoutTab\"===t,this._layoutTabSelected){var e=this.get(\"viewModel.templatesInfo.layout.choiceList\");this.templateOptions.layout=e&&e[0]}else this.templateOptions.layout=\"MAP_ONLY\";this._activeTabFocusRequested=!0},e.prototype._handleLayoutPanelKeyDown=function(t){var e=s.eventKey(t),i=t.target,n=i.getAttribute(\"data-tab-id\");if(\"Enter\"===e||\" \"===e)return this._toggleTab(n),t.preventDefault(),void t.stopPropagation();\"ArrowLeft\"!==e&&\"ArrowRight\"!==e||(this._toggleTab(\"layoutTab\"===n?\"mapOnlyTab\":\"layoutTab\"),t.preventDefault(),t.stopPropagation())},n([d.property({type:y}),v.renderable()],e.prototype,\"exportedLinks\",void 0),n([d.property()],e.prototype,\"iconClass\",void 0),n([d.property()],e.prototype,\"label\",void 0),n([v.renderable(),d.property({type:_})],e.prototype,\"templateOptions\",void 0),n([d.aliasOf(\"viewModel.error\")],e.prototype,\"error\",void 0),n([d.aliasOf(\"viewModel.printServiceUrl\")],e.prototype,\"printServiceUrl\",void 0),n([d.aliasOf(\"viewModel.view\"),v.renderable()],e.prototype,\"view\",void 0),n([d.property({type:b}),v.renderable([\"viewModel.templatesInfo\",\"viewModel.state\"])],e.prototype,\"viewModel\",void 0),e=n([d.subclass(\"esri.widgets.Print\")],e)}(d.declared(u))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\"],function(t,e,o,r,i,n,s,p){return function(t){function e(e){var o=t.call(this,e)||this;return o._handles=new n,o.state=\"pending\",o.url=\"\",o}return o(e,t),e.prototype.initialize=function(){var t=this;this._handles.add([s.init(this,[\"extension\",\"name\"],function(){return t._setFormattedFileName()})])},e.prototype.destroy=function(){this._handles.destroy()},e.prototype._setFormattedFileName=function(){if(this.name&&this.extension){var t=this.name+\".\"+this.extension,e=t;this.count&&(e=this.name+\"(\"+this.count+\").\"+this.extension),this.formattedName=e}},r([p.property()],e.prototype,\"count\",void 0),r([p.property()],e.prototype,\"extension\",void 0),r([p.property()],e.prototype,\"formattedName\",void 0),r([p.property()],e.prototype,\"name\",void 0),r([p.property()],e.prototype,\"state\",void 0),r([p.property()],e.prototype,\"url\",void 0),e=r([p.subclass(\"esri.widgets.print.FileLink\")],e)}(p.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../core/tsSupport/assignHelper\",\"../../intl\",\"../../request\",\"../../Viewpoint\",\"../../core/arrayUtils\",\"../../core/Error\",\"../../core/Handles\",\"../../core/Loadable\",\"../../core/promiseUtils\",\"../../core/accessorSupport/decorators\",\"../../geometry/Extent\",\"../../tasks/PrintTask\",\"../../tasks/support/fileFormat\",\"../../tasks/support/layoutTemplate\",\"../../tasks/support/PrintParameters\",\"../../views/2d/viewpointUtils\"],function(e,t,r,i,o,n,a,s,l,p,u,c,d,f,h,v,y,m,w,S,g,O){function x(e){e.layoutOptions||(e.layoutOptions={}),e.layoutOptions.customTextElements||(e.layoutOptions.customTextElements=[]);u.find(e.layoutOptions.customTextElements,function(e){return\"date\"in e})||e.layoutOptions.customTextElements.push({date:s.formatDate(Date.now(),s.convertDateFormatToIntlOptions(\"short-date\"))})}return function(e){function t(t){var r=e.call(this,t)||this;return r._handles=new d,r._viewpoint=null,r.view=null,r.printServiceUrl=null,r.updateDelay=1e3,r.templatesInfo=null,r.scaleEnabled=!1,r.error=null,r.print=r.print.bind(r),r}return r(t,e),t.prototype.destroy=function(){this._handles.destroy(),this._handles=null,this.view=null},Object.defineProperty(t.prototype,\"_printTask\",{get:function(){return new m(this.printServiceUrl,{updateDelay:this.updateDelay})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return\"loading\"===this.loadStatus?\"initializing\":this.error||\"failed\"===this.loadStatus?\"error\":this.get(\"view.ready\")&&\"loaded\"===this.loadStatus?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),t.prototype.load=function(e){return this.addResolvingPromise(this._loadServiceDescription(e)),this.when()},t.prototype.print=function(e){var t;if(!this.view)return h.reject(new c(\"print:view-required\",\"view is not set\"));this.scaleEnabled?(this._viewpoint||(this._viewpoint=this.view.viewpoint.clone()),t=this._getExtent(this._viewpoint,e.outScale)):(this._viewpoint=null,t=this._getExtent(this.view.viewpoint)),x(e);var r=new g({view:this.view,template:e,extent:t});return this._printTask.execute(r).catch(function(e){return h.reject(new c(\"print:export-error\",\"An error occurred while exporting the web map.\",{error:e}))})},t.prototype._loadServiceDescription=function(e){return n(this,void 0,void 0,function(){var t;return o(this,function(r){switch(r.label){case 0:return[4,this._getPrintTemplatesFromService(e)];case 1:return t=r.sent(),this._set(\"templatesInfo\",t),[2]}})})},t.prototype._getPrintTemplatesFromService=function(e){var t=this;return-1===this.printServiceUrl.toLowerCase().split(\"/\").indexOf(\"gpserver\")?(this.error=new c(\"print:invalid-print-service-url\",\"Can't fetch print templates information from provided URL\",{url:this.printServiceUrl}),h.reject(this.error)):l(this.printServiceUrl,a({},e,{query:{f:\"json\"},timeout:6e4})).then(function(e){var r=e&&e.data,i=r&&r.parameters,o=null,n=null;return i.forEach(function(e){var t,r=e.choiceList&&e.choiceList.slice();if(r&&r.length&&e.defaultValue&&(t=r.indexOf(e.defaultValue)),t>-1&&(r.splice(t,1),r.unshift(e.defaultValue)),\"Format\"===e.name)o={defaultValue:w.fromJSON(e.defaultValue),choiceList:r.map(w.fromJSON)};else if(\"Layout_Template\"===e.name){r=r.filter(function(e){return\"map_only\"!==e.toLowerCase()});var i,a=void 0;r.some(function(e,t){var r=e.toLowerCase();return r.indexOf(\"letter\")>-1&&r.indexOf(\"landscape\")>-1?(i=t,!0):r.indexOf(\"a4\")>-1&&r.indexOf(\"landscape\")>-1&&(i=t,!1)}),i&&(a=r[i],r.splice(i,1),r.unshift(a)),n={defaultValue:S.fromJSON(r&&r[0]||e.defaultValue),choiceList:r.map(S.fromJSON)}}}),t.error=null,{format:o,layout:n}}).catch(function(e){throw t.error=new c(\"print:unavailable-service-info\",\"Can't fetch templates info from service\",{error:e}),t.error})},t.prototype._getExtent=function(e,t){var r=t||this.view.scale,i=this.get(\"view.size\"),o=e?e.targetGeometry:null;return O.getExtent(new y,new p({scale:r,targetGeometry:o}),i)},i([v.property()],t.prototype,\"view\",void 0),i([v.property()],t.prototype,\"printServiceUrl\",void 0),i([v.property({dependsOn:[\"printServiceUrl\"],type:m})],t.prototype,\"_printTask\",null),i([v.property({dependsOn:[\"view.ready\",\"error\",\"loadStatus\"],readOnly:!0})],t.prototype,\"state\",null),i([v.property()],t.prototype,\"updateDelay\",void 0),i([v.property({readOnly:!0})],t.prototype,\"templatesInfo\",void 0),i([v.property()],t.prototype,\"scaleEnabled\",void 0),i([v.property()],t.prototype,\"error\",void 0),t=i([v.subclass(\"esri.widgets.Print.PrintViewModel\")],t)}(v.declared(f))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\n/**\n * Defines the layout template options used by the {@link module:esri/widgets/Print|Print} widget to generate the print page.\n *\n * @module esri/widgets/Print/TemplateOptions\n * @since 4.6\n *\n * @see module:esri/widgets/Print\n * @see module:esri/tasks/support/PrintTemplate\n *\n * @example\n *\n * templateOptions = new TemplateOptions({\n * title: \"My Print\",\n * author: \"Sam\",\n * copyright: \"My Company\",\n * legendEnabled: false\n * });\n */\n\n// copyright\n\n/**\n * The text used for the copyright if the specified layout contains an copyright text element.\n *\n * @name copyright\n * @instance\n * @type {string}\n */\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(t,e,o,r,p,i){return function(t){function e(e){var o=t.call(this,e)||this;return o.attributionEnabled=!0,o.author=null,o.copyright=null,o.dpi=96,o.fileName=null,o.forceFeatureAttributes=!1,o.format=null,o.layout=null,o.legendEnabled=!0,o.height=null,o.scaleEnabled=!1,o.title=null,o.width=null,o}return o(e,t),r([i.property()],e.prototype,\"attributionEnabled\",void 0),r([i.property()],e.prototype,\"author\",void 0),r([i.property()],e.prototype,\"copyright\",void 0),r([i.property()],e.prototype,\"dpi\",void 0),r([i.property()],e.prototype,\"fileName\",void 0),r([i.property()],e.prototype,\"forceFeatureAttributes\",void 0),r([i.property()],e.prototype,\"format\",void 0),r([i.property()],e.prototype,\"layout\",void 0),r([i.property()],e.prototype,\"legendEnabled\",void 0),r([i.property()],e.prototype,\"height\",void 0),r([i.property()],e.prototype,\"scale\",void 0),r([i.property()],e.prototype,\"scaleEnabled\",void 0),r([i.property()],e.prototype,\"title\",void 0),r([i.property()],e.prototype,\"width\",void 0),e=r([i.subclass(\"esri.widgets.Print.TemplateOptions\")],e)}(i.declared(p))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Print','title':'Title','fileName':'File name','titlePlaceHolder':'Title of file','fileNamePlaceHolder':'File name','formatDefaultOption':'Select format','fileFormatTitle':'File format','layoutTitle':'Page setup','layoutDefaultOption':'Select page setup','scale':'Set scale','scaleLabel':'scale','reset':'reset','author':'Author','copyright':'Copyright','legend':'Include legend','lock':'lock','swap':'swap','panelToggle':'Panel toggle','advancedOptions':'Advanced options','width':'Width','height':'Height','dpi':'DPI','attribution':'Include attribution','layoutTab':'Layout','mapOnlyTab':'Map only','untitled':'untitled','pending':'Exporting','ready':'Open this','linkReady':'Open in new window.','error':'Select this to remove it.','sceneViewError':'Printing is not supported in SceneView.','serviceError':'There seems to have been an error.','export':'Export','exportDescription':'Export. Exported files will appear below.','exportText':'Exported files','exportHint':'Your exported files will appear here.','a3-landscape':'A3 landscape','a3-portrait':'A3 portrait','a4-landscape':'A4 landscape','a4-portrait':'A4 portrait','letter-ansi-a-landscape':'Letter ANSI A landscape','letter-ansi-a-portrait':'Letter ANSI A portrait','tabloid-ansi-b-landscape':'Tabloid ANSI B landscape','tabloid-ansi-b-portrait':'Tabloid ANSI B portrait'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"In\",title:\"Tiêu đề\",fileName:\"Tên tệp\",titlePlaceHolder:\"Tiêu đề tệp\",fileNamePlaceHolder:\"Tên tệp\",formatDefaultOption:\"Chọn định dạng\",fileFormatTitle:\"Định dạng tệp\",layoutTitle:\"Thiết lập trang\",layoutDefaultOption:\"Chọn thiết lập trang\",scale:\"Thiết lập tỷ lệ\",scaleLabel:\"tỷ lệ\",reset:\"thiết lập lại\",author:\"Tác giả\",copyright:\"Bản quyền\",legend:\"Bao gồm chú giải\",lock:\"khóa\",swap:\"hoán đổi\",panelToggle:\"Thay đổi bảng điều khiển\",advancedOptions:\"Tùy chọn nâng cao\",width:\"Chiều rộng\",height:\"Chiều cao\",dpi:\"DPI\",attribution:\"Bao gồm thuộc tính\",layoutTab:\"Bố cục\",mapOnlyTab:\"Chỉ bản đồ\",untitled:\"chưa có tiêu đề\",pending:\"Đang xuất\",ready:\"Mở mục này\",linkReady:\"Mở trong cửa sổ mới.\",error:\"Chọn mục này để loại bỏ.\",sceneViewError:\"Không hỗ trợ in trong SceneView.\",serviceError:\"Dường như đã có lỗi.\",export:\"Xuất\",exportDescription:\"Xuất. Tệp đã xuất sẽ xuất hiện dưới đây.\",exportText:\"Tệp đã xuất\",exportHint:\"Tệp đã xuất của bạn sẽ xuất hiện tại đây.\",\"a3-landscape\":\"A3 ngang\",\"a3-portrait\":\"A3 dọc\",\"a4-landscape\":\"A4 ngang\",\"a4-portrait\":\"A4 dọc\",\"letter-ansi-a-landscape\":\"Letter ANSI A ngang\",\"letter-ansi-a-portrait\":\"Letter ANSI A dọc\",\"tabloid-ansi-b-landscape\":\"Báo khổ nhỏ ANSI B ngang\",\"tabloid-ansi-b-portrait\":\"Báo khổ nhỏ ANSI B dọc\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/promiseUtils\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Spinner/SpinnerViewModel\",\"./support/widget\"],function(e,i,t,o,n,r,s,a,l,p){var c={base:\"esri-spinner\",spinnerStart:\"esri-spinner--start\",spinnerFinish:\"esri-spinner--finish\"};return function(e){function i(i){var t=e.call(this,i)||this;return t._animationDelay=500,t._animationPromise=null,t.location=null,t.view=null,t.viewModel=new l,t.visible=!1,t}return t(i,e),i.prototype.postInitialize=function(){var e=this;this.own([r.watch(this,\"visible\",function(i){return e._visibleChange(i)})])},i.prototype.destroy=function(){this._animationPromise=null},i.prototype.show=function(e){var i=this,t=e.location,o=e.promise;t&&(this.viewModel.location=t),this.visible=!0;var n=function(){return i.hide()};o&&o.catch(function(){}).then(n)},i.prototype.hide=function(){this.visible=!1},i.prototype.render=function(){var e,i=this.visible,t=this.viewModel.screenLocation,o=!!t,n=i&&o,r=!i&&o,s=(e={},e[c.spinnerStart]=n,e[c.spinnerFinish]=r,e),a=this._getPositionStyles();return p.tsx(\"div\",{class:this.classes(c.base,s),styles:a})},i.prototype._visibleChange=function(e){var i=this;if(e)return void(this.viewModel.screenLocationEnabled=!0);var t=n.after(this._animationDelay);this._animationPromise=t,t.catch(function(){}).then(function(){i._animationPromise===t&&(i.viewModel.screenLocationEnabled=!1,i._animationPromise=null)})},i.prototype._getPositionStyles=function(){var e=this.viewModel,i=e.screenLocation,t=e.view;if(!t||!i)return{};var o=t.padding;return{left:i.x-o.left+\"px\",top:i.y-o.top+\"px\"}},o([s.aliasOf(\"viewModel.location\")],i.prototype,\"location\",void 0),o([s.aliasOf(\"viewModel.view\")],i.prototype,\"view\",void 0),o([s.property({type:l}),p.renderable([\"viewModel.screenLocation\",\"viewModel.screenLocationEnabled\"])],i.prototype,\"viewModel\",void 0),o([s.aliasOf(\"viewModel.visible\")],i.prototype,\"visible\",void 0),i=o([s.subclass(\"esri.widgets.Spinner\")],i)}(s.declared(a))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"../support/AnchorElementViewModel\"],function(e,r,o,t,s,i){return function(e){function r(r){var o=e.call(this,r)||this;return o.visible=!1,o}return o(r,e),t([s.property()],r.prototype,\"visible\",void 0),r=t([s.subclass(\"esri.widgets.CompassViewModel\")],r)}(s.declared(i))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/assignHelper\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"../core/Collection\",\"../core/domUtils\",\"../core/Evented\",\"../core/Handles\",\"../core/Logger\",\"../core/watchUtils\",\"../core/accessorSupport/decorators\",\"../libs/maquette/index\",\"./support/widget\"],function(e,t,r,o,n,i,s,d,a,c,l,p,h,u){var y=c.getLogger(\"esri.widgets.Widget\"),v=0,g={widgetIcon:\"esri-icon-checkbox-unchecked\"};return function(e){function t(t,r){var o=e.call(this,t,r)||this;return o._attached=!1,o.destroyed=!1,o.domNode=null,o.iconClass=g.widgetIcon,o.label=o.declaredClass.split(\".\").pop(),o.visible=!0,o._internalHandles=new a,o.render=o.render.bind(o),o}return o(t,e),t.prototype.normalizeCtorArgs=function(e,t){var o=r({},e);return t&&(o.container=t),o},t.prototype.initialize=function(){var e=this;this._internalHandles.add(this._renderableProps.map(function(t){return l.init(e,t,function(e,r){var o=this;if(i.isCollection(r)&&this._internalHandles.remove(this.declaredClass+\":\"+t+\"-collection-change-event-listener\"),i.isCollection(e)){var n=e.on(\"change\",function(){return o.scheduleRender()});this._internalHandles.add(n,this.declaredClass+\":\"+t+\"-collection-change-event-listener\")}this.scheduleRender()})})),this._delegatedEventNames.length&&this._internalHandles.add(l.init(this,\"viewModel\",function(){e._get(\"viewModel\")&&e._internalHandles.remove(\"delegated-events\"),e._delegatedEventNames.map(function(t){return e.viewModel.on(t,function(r){e.emit(t,r)})})}),\"delegated-events\"),this.postInitialize(),this._internalHandles.add(l.whenOnce(this,\"container\",function(t){return e._attach(t)}))},t.prototype.postInitialize=function(){},t.prototype.destroy=function(){this.destroyed||(this.viewModel&&(this.viewModel.destroy(),this.viewModel=null),this._detach(this.container),this._internalHandles.destroy(),this._emitter.clear(),this._set(\"destroyed\",!0))},t.prototype.startup=function(){y.warn(\"Widget.startup() is deprecated and no longer needed\")},Object.defineProperty(t.prototype,\"container\",{set:function(e){this._get(\"container\")||this._set(\"container\",e)},enumerable:!0,configurable:!0}),t.prototype.castContainer=function(e){return s.byId(e)},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._get(\"id\")||this.get(\"container.id\")||Date.now().toString(16)+\"-widget-\"+v++},set:function(e){e&&this._set(\"id\",e)},enumerable:!0,configurable:!0}),t.prototype.render=function(){throw new Error(\"not implemented\")},t.prototype.scheduleRender=function(){this._projector.scheduleRender()},t.prototype.classes=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return u.classes.apply(this,e)},t.prototype.own=function(e){arguments.length>1&&(e=Array.prototype.slice.call(arguments)),this._internalHandles.add(e)},t.prototype.renderNow=function(){this._projector.renderNow()},t.prototype._attach=function(e){e&&(this._projector.merge(e,this.render),this._attached=!0)},t.prototype._detach=function(e){e&&this._attached&&(this._projector.detach(this.render),e.parentNode&&e.parentNode.removeChild(e),this._attached=!1)},n([p.shared(h.createProjector())],t.prototype,\"_projector\",void 0),n([p.shared([])],t.prototype,\"_renderableProps\",void 0),n([p.shared([])],t.prototype,\"_delegatedEventNames\",void 0),n([p.property({value:null})],t.prototype,\"container\",null),n([p.cast(\"container\")],t.prototype,\"castContainer\",null),n([p.property({readOnly:!0})],t.prototype,\"destroyed\",void 0),n([p.property({aliasOf:\"container\"})],t.prototype,\"domNode\",void 0),n([p.property()],t.prototype,\"iconClass\",void 0),n([p.property({dependsOn:[\"container\"]})],t.prototype,\"id\",null),n([p.property()],t.prototype,\"label\",void 0),n([p.property()],t.prototype,\"viewModel\",void 0),n([p.property()],t.prototype,\"visible\",void 0),t=n([p.subclass(\"esri.widgets.Widget\")],t)}(p.declared(d.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../core/tsSupport/declareExtendsHelper\",\"../core/tsSupport/decorateHelper\",\"dojo/i18n!./Zoom/nls/Zoom\",\"../core/accessorSupport/decorators\",\"./Widget\",\"./Zoom/IconButton\",\"./Zoom/ZoomViewModel\",\"./support/widget\"],function(o,t,e,n,i,r,l,s,a,u){var p={base:\"esri-zoom esri-widget\",horizontalLayout:\"esri-zoom--horizontal\",zoomInIcon:\"esri-icon-plus\",zoomOutIcon:\"esri-icon-minus\",widgetIcon:\"esri-icon-zoom-in-magnifying-glass\"};return function(o){function t(t){var e=o.call(this,t)||this;return e.iconClass=p.widgetIcon,e.label=i.widgetLabel,e.view=null,e.viewModel=new a,e}return e(t,o),t.prototype.postInitialize=function(){this._zoomInButton=new s({action:this.zoomIn,iconClass:p.zoomInIcon,title:i.zoomIn}),this._zoomOutButton=new s({action:this.zoomOut,iconClass:p.zoomOutIcon,title:i.zoomOut})},Object.defineProperty(t.prototype,\"layout\",{set:function(o){\"horizontal\"!==o&&(o=\"vertical\"),this._set(\"layout\",o)},enumerable:!0,configurable:!0}),t.prototype.render=function(){var o,t=this.viewModel,e=(o={},o[p.horizontalLayout]=\"horizontal\"===this.layout,o);return this._zoomInButton.enabled=\"ready\"===t.state&&t.canZoomIn,this._zoomOutButton.enabled=\"ready\"===t.state&&t.canZoomOut,u.tsx(\"div\",{class:this.classes(p.base,e)},this._zoomInButton.render(),this._zoomOutButton.render())},t.prototype.zoomIn=function(){},t.prototype.zoomOut=function(){},n([r.property()],t.prototype,\"iconClass\",void 0),n([r.property()],t.prototype,\"label\",void 0),n([r.property({value:\"vertical\"}),u.renderable()],t.prototype,\"layout\",null),n([r.aliasOf(\"viewModel.view\"),u.renderable()],t.prototype,\"view\",void 0),n([r.property({type:a}),u.renderable([\"viewModel.canZoomIn\",\"viewModel.canZoomOut\",\"viewModel.state\"])],t.prototype,\"viewModel\",void 0),n([r.aliasOf(\"viewModel.zoomIn\")],t.prototype,\"zoomIn\",null),n([r.aliasOf(\"viewModel.zoomOut\")],t.prototype,\"zoomOut\",null),t=n([r.subclass(\"esri.widgets.Zoom\")],t)}(r.declared(l))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\",\"../Widget\",\"../support/widget\"],function(t,e,i,r,o,s,n){var a={button:\"esri-widget--button esri-widget\",disabled:\"esri-disabled\",interactive:\"esri-interactive\",iconText:\"esri-icon-font-fallback-text\",icon:\"esri-icon\"};return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.enabled=!0,e.iconClass=\"\",e.title=\"\",e}return i(e,t),e.prototype.render=function(){var t,e,i=this.enabled?0:-1,r=(t={},t[a.disabled]=!this.enabled,t[a.interactive]=this.enabled,t),o=(e={},e[this.iconClass]=!!this.iconClass,e);return n.tsx(\"div\",{bind:this,class:this.classes(a.button,r),onclick:this._triggerAction,onkeydown:this._triggerAction,role:\"button\",tabIndex:i,title:this.title},n.tsx(\"span\",{\"aria-hidden\":\"true\",role:\"presentation\",class:this.classes(a.icon,o)}),n.tsx(\"span\",{class:a.iconText},this.title))},e.prototype._triggerAction=function(){this.action.call(this)},r([o.property()],e.prototype,\"action\",void 0),r([o.property(),n.renderable()],e.prototype,\"enabled\",void 0),r([o.property(),n.renderable()],e.prototype,\"iconClass\",void 0),r([o.property(),n.renderable()],e.prototype,\"title\",void 0),r([n.accessibleHandler()],e.prototype,\"_triggerAction\",null),e=r([o.subclass(\"esri.widgets.IconButton\")],e)}(o.declared(s))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,t,r,i,n,o){return function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,\"canZoomIn\",{get:function(){if(!this.get(\"view.ready\"))return!1;var e=this.get(\"view.animation.target.scale\")||this.get(\"view.scale\"),t=this.get(\"view.constraints.effectiveMaxScale\");return 0===t||e>t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"canZoomOut\",{get:function(){if(!this.get(\"view.ready\"))return!1;var e=this.get(\"view.animation.target.scale\")||this.get(\"view.scale\"),t=this.get(\"view.constraints.effectiveMinScale\");return 0===t||e<t},enumerable:!0,configurable:!0}),i([o.property({dependsOn:[\"view.ready\",\"view.scale\",\"view.animation.target.scale\",\"view.constraints.effectiveMaxScale\"],readOnly:!0})],t.prototype,\"canZoomIn\",null),i([o.property({dependsOn:[\"view.ready\",\"view.scale\",\"view.animation.target.scale\",\"view.constraints.effectiveMinScale\"],readOnly:!0})],t.prototype,\"canZoomOut\",null),i([o.property()],t.prototype,\"view\",void 0),t=i([o.subclass(\"esri.widgets.Zoom.ZoomConditions2D\")],t)}(o.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,n,p){return function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),Object.defineProperty(r.prototype,\"canZoomIn\",{get:function(){return!!this.get(\"view.ready\")},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"canZoomOut\",{get:function(){return!!this.get(\"view.ready\")},enumerable:!0,configurable:!0}),t([p.property({dependsOn:[\"view.ready\"],readOnly:!0})],r.prototype,\"canZoomIn\",null),t([p.property({dependsOn:[\"view.ready\"],readOnly:!0})],r.prototype,\"canZoomOut\",null),t([p.property()],r.prototype,\"view\",void 0),r=t([p.subclass(\"esri.widgets.Zoom.ZoomConditions3D\")],r)}(p.declared(n))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Accessor\",\"../../core/accessorSupport/decorators\",\"./ZoomConditions2D\",\"./ZoomConditions3D\"],function(o,t,e,n,r,i,p,a){return function(o){function t(t){var e=o.call(this,t)||this;return e.canZoomIn=!1,e.canZoomOut=!1,e.zoomIn=e.zoomIn.bind(e),e.zoomOut=e.zoomOut.bind(e),e}return e(t,o),t.prototype.destroy=function(){this.view=null},Object.defineProperty(t.prototype,\"state\",{get:function(){return this.get(\"view.ready\")?\"ready\":\"disabled\"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"view\",{set:function(o){o?\"2d\"===o.type?this._zoomConditions=new p({view:o}):\"3d\"===o.type&&(this._zoomConditions=new a({view:o})):this._zoomConditions=null,this._set(\"view\",o)},enumerable:!0,configurable:!0}),t.prototype.zoomIn=function(){if(this.canZoomIn){var o=this.view;\"2d\"===o.type?o.mapViewNavigation.zoomIn():o.goTo({zoomFactor:2})}},t.prototype.zoomOut=function(){if(this.canZoomOut){var o=this.view;\"2d\"===o.type?o.mapViewNavigation.zoomOut():o.goTo({zoomFactor:.5})}},n([i.property()],t.prototype,\"_zoomConditions\",void 0),n([i.property({aliasOf:\"_zoomConditions.canZoomIn\",readOnly:!0})],t.prototype,\"canZoomIn\",void 0),n([i.property({aliasOf:\"_zoomConditions.canZoomOut\",readOnly:!0})],t.prototype,\"canZoomOut\",void 0),n([i.property({dependsOn:[\"view.ready\"],readOnly:!0})],t.prototype,\"state\",null),n([i.property()],t.prototype,\"view\",null),n([i.property()],t.prototype,\"zoomIn\",null),n([i.property()],t.prototype,\"zoomOut\",null),t=n([i.subclass(\"esri.widgets.Zoom.ZoomViewModel\")],t)}(i.declared(r))});","/*\n * This module was modified by dojo-webpack-plugin to disable some locales\n * that were excluded by the plugin's 'locales' option\n */\ndefine(({'root':({'widgetLabel':'Zoom','zoomIn':'Zoom in','zoomOut':'Zoom out'}),'ar':false,'bs':false,'ca':false,'cs':false,'da':false,'de':false,'el':false,'es':false,'et':false,'fi':false,'fr':false,'he':false,'hr':false,'hu':false,'id':false,'it':false,'ja':false,'ko':false,'lv':false,'lt':false,'nl':false,'nb':false,'pl':false,'pt-br':false,'pt-pt':false,'ro':false,'ru':false,'sl':false,'sr':false,'sv':false,'th':false,'tr':false,'uk':false,'vi':1,'zh-cn':false,'zh-hk':false,'zh-tw':false}))","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine({widgetLabel:\"Thu phóng\",zoomIn:\"Thu nhỏ\",zoomOut:\"Phóng to\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/Evented\",\"../../core/Handles\",\"../../core/watchUtils\",\"../../core/watchUtils\",\"../../core/accessorSupport/decorators\"],function(e,t,n,o,i,r,a,c,s){return function(e){function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var o=e.apply(this,t)||this;return o._anchorHandles=new r,o.location=null,o.screenLocation=null,o.screenLocationEnabled=!1,o.view=null,o._anchorHandles.add([c.watch(o,[\"screenLocationEnabled\",\"location\",\"view.size\",\"view.stationary\"],function(){return o._updateScreenPointAndHandle()}),c.watch(o,[\"view\",\"view.ready\"],function(){return o._wireUpView()})]),o}return n(t,e),t.prototype.destroy=function(){this.view=null,this._anchorHandles&&this._anchorHandles.destroy(),this._anchorHandles=null,this._viewpointHandle=null},t.prototype._wireUpView=function(){var e=this;if(this._anchorHandles.remove(\"view\"),this._viewpointHandle=null,this.get(\"view.ready\")){this._setScreenLocation();var t=this.view,n=\"3d\"===t.type?\"camera\":\"viewpoint\",o=a.pausable(t,n,function(){return e._viewpointChange()});this._anchorHandles.add(o,\"view\"),this._viewpointHandle=o,this._toggleWatchingViewpoint()}},t.prototype._viewpointChange=function(){this._setScreenLocation(),this.emit(\"view-change\")},t.prototype._updateScreenPointAndHandle=function(){this._setScreenLocation(),this._toggleWatchingViewpoint()},t.prototype._toggleWatchingViewpoint=function(){var e=this,t=e._viewpointHandle,n=e.location,o=e.screenLocationEnabled;if(t){n&&o?t.resume():t.pause()}},t.prototype._setScreenLocation=function(){var e=this,t=e.location,n=e.view,o=e.screenLocationEnabled,i=this.get(\"view.ready\"),r=o&&t&&i,a=r?n.toScreen(t):null;this._set(\"screenLocation\",a)},o([s.property()],t.prototype,\"location\",void 0),o([s.property({readOnly:!0})],t.prototype,\"screenLocation\",void 0),o([s.property()],t.prototype,\"screenLocationEnabled\",void 0),o([s.property()],t.prototype,\"view\",void 0),t=o([s.subclass(\"esri.widgets.support.AnchorElementViewModel\")],t)}(s.declared(i.EventedAccessor))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/tsSupport/generatorHelper\",\"../../core/tsSupport/awaiterHelper\",\"../../Graphic\",\"../../core/Accessor\",\"../../core/Error\",\"../../core/Evented\",\"../../core/geolocationUtils\",\"../../core/promiseUtils\",\"../../core/accessorSupport/decorators\",\"../../symbols/PictureMarkerSymbol\",\"./GoTo\"],function(t,e,o,i,r,n,a,s,p,c,l,u,d,g,h){return function(e){function s(){var o=null!==e&&e.apply(this,arguments)||this;return o._geolocationUsable=!0,o._iconPath=t.toUrl(\"../../images/support/sdk_gps_location.png\"),o.geolocationOptions=null,o.goToLocationEnabled=!0,o.graphic=new a({symbol:new g({url:o._iconPath,width:21,height:21})}),o.scale=null,o.useHeadingEnabled=!0,o.view=null,o}return o(s,e),s.prototype.initialize=function(){l.supported()||(this._geolocationUsable=!1)},s.prototype.destroy=function(){this._clear(),this.view=null},s.prototype._clear=function(){this.view&&this.view.graphics.remove(this.graphic)},s.prototype._getScaleWithinConstraints=function(t,e){if(!e)return t;if(\"2d\"===e.type){var o=e.constraints,i=o.effectiveMaxScale,r=o.effectiveMinScale;return Math.min(r,Math.max(i,t))}return t},s.prototype._getScale=function(t){var e=this.scale,o=\"number\"==typeof e?e:2500;return this._getScaleWithinConstraints(o,t)},s.prototype._getHeading=function(t,e){var o=e&&e.spatialReference,i=o&&(o.isWebMercator||o.isGeographic),r=t.coords&&t.coords.heading;if(!(!i||\"number\"!=typeof r||isNaN(r)||r<0||r>360))return r},s.prototype._addHeading=function(t){var e=t.heading,o=t.target,i=t.view;if(i&&\"number\"==typeof e&&!isNaN(e))return\"3d\"===i.type?void(o.heading=e):void(\"2d\"===i.type&&(o.rotation=360-e))},s.prototype._animatePoint=function(t,e,o,i){var r=this.view;if(!this.goToLocationEnabled||!r)return u.resolve(e);var n=this.useHeadingEnabled?this._getHeading(e,r):void 0,a={target:t,scale:o};return this._addHeading({heading:n,target:a,view:r}),this.callGoTo({target:a,options:i}).then(function(){return e})},s.prototype._setPosition=function(t,e){return n(this,void 0,void 0,function(){var o,i,n,a,s,c,u,d,g,h,y,v,f,_;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,l.positionToPoint({position:t,view:this.view},e)];case 1:return o=r.sent(),i=this.graphic,n=t.timestamp,a=t.coords,s=a.accuracy,c=a.altitude,u=a.altitudeAccuracy,d=a.heading,g=a.latitude,h=a.longitude,y=a.speed,v={timestamp:n,accuracy:s,altitude:c,altitudeAccuracy:u,heading:d,latitude:g,longitude:h,speed:y},i&&(i.geometry=o,i.attributes=v),f=this._getScale(this.view),[2,this._animatePoint(o,t,f,e)];case 2:throw _=r.sent(),new p(\"positioning:invalid-point\",\"Cannot position invalid point\",{error:_});case 3:return[2]}})})},i([d.property()],s.prototype,\"_geolocationUsable\",void 0),i([d.property()],s.prototype,\"geolocationOptions\",void 0),i([d.property()],s.prototype,\"goToLocationEnabled\",void 0),i([d.property()],s.prototype,\"graphic\",void 0),i([d.property()],s.prototype,\"scale\",void 0),i([d.property()],s.prototype,\"useHeadingEnabled\",void 0),i([d.property()],s.prototype,\"view\",void 0),s=i([d.subclass(\"esri.widgets.support.GeolocationPositioning\")],s)}(d.declared(h.GoToMixin(c.EventedMixin(s))))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/tsSupport/declareExtendsHelper\",\"../../core/tsSupport/decorateHelper\",\"../../core/accessorSupport/decorators\"],function(e,r,o,t,i){Object.defineProperty(r,\"__esModule\",{value:!0}),r.GoToMixin=function(e){return function(e){function r(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var t=e.apply(this,r)||this;return t.goToOverride=null,t.view=null,t}return o(r,e),r.prototype.callGoTo=function(e){var r=this.view;return this.goToOverride?this.goToOverride(r,e):r.goTo(e.target,e.options)},t([i.property()],r.prototype,\"goToOverride\",void 0),t([i.property()],r.prototype,\"view\",void 0),r=t([i.subclass(\"esri.widgets.support.GoTo\")],r)}(i.declared(e))}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../Color\"],function(n,r,t){function e(n,r){return n&&r&&n.r===r.r&&n.g===r.g&&n.b===r.b&&n.a===r.a}function o(n){return n?\"#\"+n.trim().replace(/#/g,\"\").substr(0,6):\"\"}function u(n){return new t(n)}function i(n){return a(n)||h(n)}function a(n){return!!n&&4===n.length&&s.test(n)}function h(n){return!!n&&7===n.length&&v.test(n)}function d(n){return u(n).toHex()}function g(n){return c(n)?f(n):l(n,3)}function c(n){return.299*n.r+.587*n.g+.114*n.b>=127}function f(n,r){void 0===r&&(r=1);var e=Math.pow(.7,r);return new t([Math.round(n.r*e),Math.round(n.g*e),Math.round(n.b*e),n.a])}function l(n,r){void 0===r&&(r=1);var e=Math.pow(.7,r),o=30,u=n.r,i=n.g,a=n.b;return u<o&&(u=o),i<o&&(i=o),a<o&&(a=o),new t([Math.min(255,Math.round(u/e)),Math.min(255,Math.round(i/e)),Math.min(255,Math.round(a/e)),n.a])}function M(n,r){var e=n.r,o=n.g,u=n.b,i=n.a;return i<1&&(e=Math.round(i*e+(1-i)*r.r),o=Math.round(i*o+(1-i)*r.g),u=Math.round(i*u+(1-i)*r.b)),new t({r:e,g:o,b:u})}function b(n,r){return void 0===r&&(r=m),c(M(n,r))?\"light\":\"dark\"}Object.defineProperty(r,\"__esModule\",{value:!0});var s=/^#[0-9A-F]{3}$/i,v=/^#[0-9A-F]{6}$/i,m=new t({r:255,g:255,b:255});r.equal=e,r.normalizeHex=o,r.normalizeColor=u,r.isValidHex=i,r.isShorthandHex=a,r.isLonghandHex=h,r.toHex=d,r.getContrastingColor=g,r.isBright=c,r.darker=f,r.brighter=l,r.blendWithBackground=M,r.getColorTheme=b});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/unitUtils\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaultUnitPropertyMetadata={dependsOn:[\"view.map.portalItem.portal.units\",\"view.map.portalItem.portal.user.units\",\"view.spatialReference\"],readOnly:!0,get:function(){var e=this.view;if(!e)return\"metric\";var t=e.get(\"map.portalItem.portal\");if(t){switch(t.get(\"user.units\")||t.units){case\"metric\":return\"metric\";case\"english\":return\"imperial\"}}return r.getDefaultUnitSystem(e.spatialReference)||\"metric\"}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./decorators/accessibleHandler\",\"./decorators/renderable\",\"./decorators/vmEvent\"],function(e,r,o,n,t){function a(e){for(var o in e)r.hasOwnProperty(o)||(r[o]=e[o])}Object.defineProperty(r,\"__esModule\",{value:!0}),a(o),a(n),a(t)});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(e,n){function t(){return function(e,n){return{value:o(e[n])}}}function r(e){var n=e.type;return e instanceof KeyboardEvent||\"keyup\"===n||\"keydown\"===n||\"keypress\"===n}function o(e){return function(n){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];if(r(n))return void(\"Enter\"!==n.key&&\" \"!==n.key||(n.preventDefault(),n.stopPropagation(),n.target.click()));e.call.apply(e,[this,n].concat(t))}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.accessibleHandler=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],function(n,e){function r(n){return n.split(\",\").map(function(n){return n.trim()})}function t(n,e){return n.map(function(n){return i(n,e)})}function i(n,e){return 0===n.indexOf(e)?n:e+\".\"+n}Object.defineProperty(e,\"__esModule\",{value:!0}),e.splitProps=r,e.normalizePropNames=t});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./propUtils\"],function(e,r,n){function o(e){var r=\"string\"==typeof e?n.splitProps(e):e;return function(e,o){e._renderableProps||(e._renderableProps=[]);var p=e._renderableProps;if(!r)return void p.push(o);p.push.apply(p,n.normalizePropNames(r,o))}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.renderable=o});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./propUtils\"],function(e,t,n){function r(e){return function(t){t._delegatedEventNames||(t._delegatedEventNames=[]);var r=Array.isArray(e)?e:n.splitProps(e);t._delegatedEventNames=t._delegatedEventNames.concat(r)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.vmEvent=r});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"maquette-jsx\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0}),t.tsx=r.jsx});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../core/has\"],function(e,t,s){Object.defineProperty(t,\"__esModule\",{value:!0}),s.add(\"esri-svg-classlist\",\"classList\"in SVGElement.prototype);var n=function(){function e(e){this._node=e}return e.prototype.add=function(e){var t=this._node;t.className.baseVal=(t.className.baseVal+\" \"+e).trim()},e.prototype.contains=function(e){return this._node.className.baseVal.split(\" \").indexOf(e)>-1},e.prototype.remove=function(e){for(var t=this._node,s=\"\",n=0,o=t.className.baseVal.split(\" \");n<o.length;n++){var a=o[n];a!==e&&(s+=a+\" \")}t.className.baseVal=s.trim()},e.prototype.toggle=function(e,t){var s,n=this.contains(e);return s=n?!0!==t&&\"remove\":!1!==t&&\"add\",s&&this[s](e),void 0!==t?t:!n},e}();t.DOMTokenListSubset=n,s(\"esri-svg-classlist\")||Object.defineProperty(SVGElement.prototype,\"classList\",{get:function(){return new n(this)}})});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./decorators\",\"./jsxFactory\",\"./widgetUtils\",\"./shim/SVGElement\"],function(e,t,n,o,i){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}function f(e){return e&&\"function\"==typeof e.render}function u(e){return e&&\"function\"==typeof e.postMixInProperties&&\"function\"==typeof e.buildRendering&&\"function\"==typeof e.postCreate&&\"function\"==typeof e.startup}Object.defineProperty(t,\"__esModule\",{value:!0}),r(n),r(o),r(i),t.isWidget=f,t.isWidgetBase=u});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../core/ArrayPool\",\"../../core/has\",\"../../core/Logger\",\"../../libs/sanitizer/Sanitizer\",\"maquette-css-transitions\"],function(e,r,t,i,n,o,s){function a(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return g&&e.length<2&&l.error(\"[Widget] `join` is intended for 2 or more CSS classes.\"),e.join(\" \")}function d(e){for(var r=t.acquire(),i=0;i<arguments.length;i++){var n=arguments[i],o=typeof n;if(\"string\"===o)r.push(n);else if(Array.isArray(n))r.push.apply(r,n);else if(\"object\"===o)for(var s in n)n[s]&&r.push(s)}var a=r.join(\" \");return t.release(r),a}function u(){return\"rtl\"===document.dir}function f(e){var r=e.getAttribute(\"data-node-ref\");if(g){if(!r)return void l.error(\"[Widget] node ref not found, did you forget the 'data-node-ref' attribute?\");if(!(r in this))return void l.error(\"[Widget] cannot store \"+r+\" if not defined on instance.\")}this[r]=e}function c(e,r){return(\"enter\"===e?s.createEnterCssTransition:s.createExitCssTransition)(r)}Object.defineProperty(r,\"__esModule\",{value:!0});var g=i(\"dojo-debug-messages\"),l=n.getLogger(\"esri.widgets.support.widgetUtils\");r.join=a,r.classes=d,r.isRTL=u,r.storeNode=f,r.cssTransition=c,r.sanitizer=new o});","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function count(values, valueof) {\n let count = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n return count;\n}\n","function length(array) {\n return array.length | 0;\n}\n\nfunction empty(length) {\n return !(length > 0);\n}\n\nfunction arrayify(values) {\n return typeof values !== \"object\" || \"length\" in values ? values : Array.from(values);\n}\n\nfunction reducer(reduce) {\n return values => reduce(...values);\n}\n\nexport default function cross(...values) {\n const reduce = typeof values[values.length - 1] === \"function\" && reducer(values.pop());\n values = values.map(arrayify);\n const lengths = values.map(length);\n const j = values.length - 1;\n const index = new Array(j + 1).fill(0);\n const product = [];\n if (j < 0 || lengths.some(empty)) return product;\n while (true) {\n product.push(index.map((j, i) => values[i][j]));\n let i = j;\n while (++index[i] === lengths[i]) {\n if (i === 0) return reduce ? product.map(reduce) : product;\n index[i--] = 0;\n }\n }\n}\n","export default function cumsum(values, valueof) {\n var sum = 0, index = 0;\n return Float64Array.from(values, valueof === undefined\n ? v => (sum += +v || 0)\n : v => (sum += +valueof(v, index++, values) || 0));\n}","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","import variance from \"./variance.js\";\n\nexport default function deviation(values, valueof) {\n const v = variance(values, valueof);\n return v ? Math.sqrt(v) : v;\n}\n","export default function difference(values, ...others) {\n values = new Set(values);\n for (const other of others) {\n for (const value of other) {\n values.delete(value);\n }\n }\n return values;\n}\n","export default function disjoint(values, other) {\n const iterator = other[Symbol.iterator](), set = new Set();\n for (const v of values) {\n if (set.has(v)) return false;\n let value, done;\n while (({value, done} = iterator.next())) {\n if (done) break;\n if (Object.is(v, value)) return false;\n set.add(value);\n }\n }\n return true;\n}\n","export default function every(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n for (const value of values) {\n if (!test(value, ++index, values)) {\n return false;\n }\n }\n return true;\n}\n","export default function(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","export default function filter(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n const array = [];\n let index = -1;\n for (const value of values) {\n if (test(value, ++index, values)) {\n array.push(value);\n }\n }\n return array;\n}\n","// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","import ascending from \"./ascending.js\";\n\nexport default function greatest(values, compare = ascending) {\n let max;\n let defined = false;\n if (compare.length === 1) {\n let maxValue;\n for (const element of values) {\n const value = compare(element);\n if (defined\n ? ascending(value, maxValue) > 0\n : ascending(value, value) === 0) {\n max = element;\n maxValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined\n ? compare(value, max) > 0\n : compare(value, value) === 0) {\n max = value;\n defined = true;\n }\n }\n }\n return max;\n}\n","import ascending from \"./ascending.js\";\nimport maxIndex from \"./maxIndex.js\";\n\nexport default function greatestIndex(values, compare = ascending) {\n if (compare.length === 1) return maxIndex(values, compare);\n let maxValue;\n let max = -1;\n let index = -1;\n for (const value of values) {\n ++index;\n if (max < 0\n ? compare(value, value) === 0\n : compare(value, maxValue) > 0) {\n maxValue = value;\n max = index;\n }\n }\n return max;\n}\n","import {InternMap} from \"internmap\";\nimport identity from \"./identity.js\";\n\nexport default function group(values, ...keys) {\n return nest(values, identity, identity, keys);\n}\n\nexport function groups(values, ...keys) {\n return nest(values, Array.from, identity, keys);\n}\n\nexport function rollup(values, reduce, ...keys) {\n return nest(values, identity, reduce, keys);\n}\n\nexport function rollups(values, reduce, ...keys) {\n return nest(values, Array.from, reduce, keys);\n}\n\nexport function index(values, ...keys) {\n return nest(values, identity, unique, keys);\n}\n\nexport function indexes(values, ...keys) {\n return nest(values, Array.from, unique, keys);\n}\n\nfunction unique(values) {\n if (values.length !== 1) throw new Error(\"duplicate key\");\n return values[0];\n}\n\nfunction nest(values, map, reduce, keys) {\n return (function regroup(values, i) {\n if (i >= keys.length) return reduce(values);\n const groups = new InternMap();\n const keyof = keys[i++];\n let index = -1;\n for (const value of values) {\n const key = keyof(value, ++index, values);\n const group = groups.get(key);\n if (group) group.push(value);\n else groups.set(key, [value]);\n }\n for (const [key, values] of groups) {\n groups.set(key, regroup(values, i));\n }\n return map(groups);\n })(values, 0);\n}\n","import ascending from \"./ascending.js\";\nimport group, {rollup} from \"./group.js\";\nimport sort from \"./sort.js\";\n\nexport default function groupSort(values, reduce, key) {\n return (reduce.length === 1\n ? sort(rollup(values, reduce, key), (([ak, av], [bk, bv]) => ascending(av, bv) || ascending(ak, bk)))\n : sort(group(values, key), (([ak, av], [bk, bv]) => reduce(av, bv) || ascending(ak, bk))))\n .map(([key]) => key);\n}\n","export default function(x) {\n return x;\n}\n","export {default as bisect, bisectRight, bisectLeft, bisectCenter} from \"./bisect.js\";\nexport {default as ascending} from \"./ascending.js\";\nexport {default as bisector} from \"./bisector.js\";\nexport {default as count} from \"./count.js\";\nexport {default as cross} from \"./cross.js\";\nexport {default as cumsum} from \"./cumsum.js\";\nexport {default as descending} from \"./descending.js\";\nexport {default as deviation} from \"./deviation.js\";\nexport {default as extent} from \"./extent.js\";\nexport {Adder, fsum, fcumsum} from \"./fsum.js\";\nexport {default as group, groups, index, indexes, rollup, rollups} from \"./group.js\";\nexport {default as groupSort} from \"./groupSort.js\";\nexport {default as bin, default as histogram} from \"./bin.js\"; // Deprecated; use bin.\nexport {default as thresholdFreedmanDiaconis} from \"./threshold/freedmanDiaconis.js\";\nexport {default as thresholdScott} from \"./threshold/scott.js\";\nexport {default as thresholdSturges} from \"./threshold/sturges.js\";\nexport {default as max} from \"./max.js\";\nexport {default as maxIndex} from \"./maxIndex.js\";\nexport {default as mean} from \"./mean.js\";\nexport {default as median} from \"./median.js\";\nexport {default as merge} from \"./merge.js\";\nexport {default as min} from \"./min.js\";\nexport {default as minIndex} from \"./minIndex.js\";\nexport {default as nice} from \"./nice.js\";\nexport {default as pairs} from \"./pairs.js\";\nexport {default as permute} from \"./permute.js\";\nexport {default as quantile, quantileSorted} from \"./quantile.js\";\nexport {default as quickselect} from \"./quickselect.js\";\nexport {default as range} from \"./range.js\";\nexport {default as least} from \"./least.js\";\nexport {default as leastIndex} from \"./leastIndex.js\";\nexport {default as greatest} from \"./greatest.js\";\nexport {default as greatestIndex} from \"./greatestIndex.js\";\nexport {default as scan} from \"./scan.js\"; // Deprecated; use leastIndex.\nexport {default as shuffle, shuffler} from \"./shuffle.js\";\nexport {default as sum} from \"./sum.js\";\nexport {default as ticks, tickIncrement, tickStep} from \"./ticks.js\";\nexport {default as transpose} from \"./transpose.js\";\nexport {default as variance} from \"./variance.js\";\nexport {default as zip} from \"./zip.js\";\nexport {default as every} from \"./every.js\";\nexport {default as some} from \"./some.js\";\nexport {default as filter} from \"./filter.js\";\nexport {default as map} from \"./map.js\";\nexport {default as reduce} from \"./reduce.js\";\nexport {default as reverse} from \"./reverse.js\";\nexport {default as sort} from \"./sort.js\";\nexport {default as difference} from \"./difference.js\";\nexport {default as disjoint} from \"./disjoint.js\";\nexport {default as intersection} from \"./intersection.js\";\nexport {default as subset} from \"./subset.js\";\nexport {default as superset} from \"./superset.js\";\nexport {default as union} from \"./union.js\";\nexport {InternMap, InternSet} from \"internmap\";\n","import set from \"./set.js\";\n\nexport default function intersection(values, ...others) {\n values = new Set(values);\n others = others.map(set);\n out: for (const value of values) {\n for (const other of others) {\n if (!other.has(value)) {\n values.delete(value);\n continue out;\n }\n }\n }\n return values;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function least(values, compare = ascending) {\n let min;\n let defined = false;\n if (compare.length === 1) {\n let minValue;\n for (const element of values) {\n const value = compare(element);\n if (defined\n ? ascending(value, minValue) < 0\n : ascending(value, value) === 0) {\n min = element;\n minValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined\n ? compare(value, min) < 0\n : compare(value, value) === 0) {\n min = value;\n defined = true;\n }\n }\n }\n return min;\n}\n","import ascending from \"./ascending.js\";\nimport minIndex from \"./minIndex.js\";\n\nexport default function leastIndex(values, compare = ascending) {\n if (compare.length === 1) return minIndex(values, compare);\n let minValue;\n let min = -1;\n let index = -1;\n for (const value of values) {\n ++index;\n if (min < 0\n ? compare(value, value) === 0\n : compare(value, minValue) < 0) {\n minValue = value;\n min = index;\n }\n }\n return min;\n}\n","export default function map(values, mapper) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n if (typeof mapper !== \"function\") throw new TypeError(\"mapper is not a function\");\n return Array.from(values, (value, index) => mapper(value, index, values));\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function maxIndex(values, valueof) {\n let max;\n let maxIndex = -1;\n let index = -1;\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value, maxIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value, maxIndex = index;\n }\n }\n }\n return maxIndex;\n}\n","export default function mean(values, valueof) {\n let count = 0;\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n }\n if (count) return sum / count;\n}\n","import quantile from \"./quantile.js\";\n\nexport default function(values, valueof) {\n return quantile(values, 0.5, valueof);\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function minIndex(values, valueof) {\n let min;\n let minIndex = -1;\n let index = -1;\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value, minIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value, minIndex = index;\n }\n }\n }\n return minIndex;\n}\n","import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","export default function pairs(values, pairof = pair) {\n const pairs = [];\n let previous;\n let first = false;\n for (const value of values) {\n if (first) pairs.push(pairof(previous, value));\n previous = value;\n first = true;\n }\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","export default function(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import max from \"./max.js\";\nimport min from \"./min.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import ascending from \"./ascending.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare = ascending) {\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export default function reduce(values, reducer, value) {\n if (typeof reducer !== \"function\") throw new TypeError(\"reducer is not a function\");\n const iterator = values[Symbol.iterator]();\n let done, next, index = -1;\n if (arguments.length < 3) {\n ({done, value} = iterator.next());\n if (done) return;\n ++index;\n }\n while (({done, value: next} = iterator.next()), !done) {\n value = reducer(value, next, ++index, values);\n }\n return value;\n}\n","export default function reverse(values) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n return Array.from(values).reverse();\n}\n","import leastIndex from \"./leastIndex.js\";\n\nexport default function scan(values, compare) {\n const index = leastIndex(values, compare);\n return index < 0 ? undefined : index;\n}\n","export default function set(values) {\n return values instanceof Set ? values : new Set(values);\n}\n","export default shuffler(Math.random);\n\nexport function shuffler(random) {\n return function shuffle(array, i0 = 0, i1 = array.length) {\n let m = i1 - (i0 = +i0);\n while (m) {\n const i = random() * m-- | 0, t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n return array;\n };\n}\n","export default function some(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n for (const value of values) {\n if (test(value, ++index, values)) {\n return true;\n }\n }\n return false;\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f = ascending] = F;\n if (f.length === 1 || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascending(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascending(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(f);\n}\n","import superset from \"./superset.js\";\n\nexport default function subset(values, other) {\n return superset(other, values);\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","export default function superset(values, other) {\n const iterator = values[Symbol.iterator](), set = new Set();\n for (const o of other) {\n if (set.has(o)) continue;\n let value, done;\n while (({value, done} = iterator.next())) {\n if (done) return false;\n set.add(value);\n if (Object.is(o, value)) break;\n }\n }\n return true;\n}\n","import count from \"../count.js\";\nimport quantile from \"../quantile.js\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(count(values), -1 / 3)));\n}\n","import count from \"../count.js\";\nimport deviation from \"../deviation.js\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(count(values), -1 / 3)));\n}\n","import count from \"../count.js\";\n\nexport default function(values) {\n return Math.ceil(Math.log(count(values)) / Math.LN2) + 1;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","import min from \"./min.js\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","export default function union(...others) {\n const set = new Set();\n for (const other of others) {\n for (const o of other) {\n set.add(o);\n }\n }\n return set;\n}\n","export default function variance(values, valueof) {\n let count = 0;\n let delta;\n let mean = 0;\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n }\n if (count > 1) return sum / (count - 1);\n}\n","import transpose from \"./transpose.js\";\n\nexport default function() {\n return transpose(arguments);\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, touch, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nfunction toucher(identifier) {\n return function(target) {\n return touch(target, event.touches, identifier);\n };\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n brush.clear = function(group) {\n brush.move(group, null);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n else this.emit(\"brush\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n pointer = event.touches ? toucher(event.changedTouches[0].identifier) : mouse,\n point0 = pointer(that),\n point = point0,\n emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = pointer(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush();\n }\n }\n\n function ended() {\n nopropagation();\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end();\n }\n\n function keydowned() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function touchmoved() {\n emitter(this, arguments).moved();\n }\n\n function touchended() {\n emitter(this, arguments).ended();\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","export {\n default as brush,\n brushX,\n brushY,\n brushSelection\n} from \"./brush.js\";\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","export {default as color, rgb, hsl} from \"./color.js\";\nexport {default as lab, hcl, lch, gray} from \"./lab.js\";\nexport {default as cubehelix} from \"./cubehelix.js\";\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return hcl2lab(this).rgb();\n }\n}));\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export {default as dispatch} from \"./dispatch.js\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","export {default as drag} from \"./drag.js\";\nexport {default as dragDisable, yesdrag as dragEnable} from \"./nodrag.js\";\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {tpmt} from \"./math.js\";\n\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * tpmt(-(--t)) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * tpmt(-t) * Math.sin((s - t) / p)\n : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","import {tpmt} from \"./math.js\";\n\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\n\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}\n","export {\n linear as easeLinear\n} from \"./linear.js\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./quad.js\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./cubic.js\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./poly.js\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./sin.js\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./exp.js\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./circle.js\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./bounce.js\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./back.js\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./elastic.js\";\n","export function linear(t) {\n return +t;\n}\n","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","export {default as formatDefaultLocale, format, formatPrefix} from \"./defaultLocale.js\";\nexport {default as formatLocale} from \"./locale.js\";\nexport {default as formatSpecifier, FormatSpecifier} from \"./formatSpecifier.js\";\nexport {default as precisionFixed} from \"./precisionFixed.js\";\nexport {default as precisionPrefix} from \"./precisionPrefix.js\";\nexport {default as precisionRound} from \"./precisionRound.js\";\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export {default as cluster} from \"./cluster.js\";\nexport {default as hierarchy} from \"./hierarchy/index.js\";\nexport {default as pack} from \"./pack/index.js\";\nexport {default as packSiblings} from \"./pack/siblings.js\";\nexport {default as packEnclose} from \"./pack/enclose.js\";\nexport {default as partition} from \"./partition.js\";\nexport {default as stratify} from \"./stratify.js\";\nexport {default as tree} from \"./tree.js\";\nexport {default as treemap} from \"./treemap/index.js\";\nexport {default as treemapBinary} from \"./treemap/binary.js\";\nexport {default as treemapDice} from \"./treemap/dice.js\";\nexport {default as treemapSlice} from \"./treemap/slice.js\";\nexport {default as treemapSliceDice} from \"./treemap/sliceDice.js\";\nexport {default as treemapSquarify} from \"./treemap/squarify.js\";\nexport {default as treemapResquarify} from \"./treemap/resquarify.js\";\n","import {shuffle, slice} from \"../array.js\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import {packEnclose} from \"./siblings.js\";\nimport {optional} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","import enclose from \"./enclose.js\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","import roundNode from \"./treemap/round.js\";\nimport treemapDice from \"./treemap/dice.js\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index.js\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\nimport {phi, squarifyRatio} from \"./squarify.js\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import dice from \"./dice.js\";\nimport slice from \"./slice.js\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {hue} from \"./color.js\";\n\nexport default function(a, b) {\n var i = hue(+a, +b);\n return function(t) {\n var x = i(t);\n return x - 360 * Math.floor(x / 360);\n };\n}\n","export {default as interpolate} from \"./value.js\";\nexport {default as interpolateArray} from \"./array.js\";\nexport {default as interpolateBasis} from \"./basis.js\";\nexport {default as interpolateBasisClosed} from \"./basisClosed.js\";\nexport {default as interpolateDate} from \"./date.js\";\nexport {default as interpolateDiscrete} from \"./discrete.js\";\nexport {default as interpolateHue} from \"./hue.js\";\nexport {default as interpolateNumber} from \"./number.js\";\nexport {default as interpolateNumberArray} from \"./numberArray.js\";\nexport {default as interpolateObject} from \"./object.js\";\nexport {default as interpolateRound} from \"./round.js\";\nexport {default as interpolateString} from \"./string.js\";\nexport {interpolateTransformCss, interpolateTransformSvg} from \"./transform/index.js\";\nexport {default as interpolateZoom} from \"./zoom.js\";\nexport {default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed} from \"./rgb.js\";\nexport {default as interpolateHsl, hslLong as interpolateHslLong} from \"./hsl.js\";\nexport {default as interpolateLab} from \"./lab.js\";\nexport {default as interpolateHcl, hclLong as interpolateHclLong} from \"./hcl.js\";\nexport {default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong} from \"./cubehelix.js\";\nexport {default as piecewise} from \"./piecewise.js\";\nexport {default as quantize} from \"./quantize.js\";\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color.js\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import decompose, {identity} from \"./decompose.js\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","export {default as path} from \"./path.js\";\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./band.js\";\n\nexport {\n default as scaleIdentity\n} from \"./identity.js\";\n\nexport {\n default as scaleLinear\n} from \"./linear.js\";\n\nexport {\n default as scaleLog\n} from \"./log.js\";\n\nexport {\n default as scaleSymlog\n} from \"./symlog.js\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./ordinal.js\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./pow.js\";\n\nexport {\n default as scaleRadial\n} from \"./radial.js\";\n\nexport {\n default as scaleQuantile\n} from \"./quantile.js\";\n\nexport {\n default as scaleQuantize\n} from \"./quantize.js\";\n\nexport {\n default as scaleThreshold\n} from \"./threshold.js\";\n\nexport {\n default as scaleTime\n} from \"./time.js\";\n\nexport {\n default as scaleUtc\n} from \"./utcTime.js\";\n\nexport {\n default as scaleSequential,\n sequentialLog as scaleSequentialLog,\n sequentialPow as scaleSequentialPow,\n sequentialSqrt as scaleSequentialSqrt,\n sequentialSymlog as scaleSequentialSymlog\n} from \"./sequential.js\";\n\nexport {\n default as scaleSequentialQuantile\n} from \"./sequentialQuantile.js\";\n\nexport {\n default as scaleDiverging,\n divergingLog as scaleDivergingLog,\n divergingPow as scaleDivergingPow,\n divergingSqrt as scaleDivergingSqrt,\n divergingSymlog as scaleDivergingSymlog\n} from \"./diverging.js\";\n\nexport {\n default as tickFormat\n} from \"./tickFormat.js\";\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","export default function number(x) {\n return +x;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","export {default as create} from \"./create\";\nexport {default as creator} from \"./creator\";\nexport {default as local} from \"./local\";\nexport {default as matcher} from \"./matcher\";\nexport {default as mouse} from \"./mouse\";\nexport {default as namespace} from \"./namespace\";\nexport {default as namespaces} from \"./namespaces\";\nexport {default as clientPoint} from \"./point\";\nexport {default as select} from \"./select\";\nexport {default as selectAll} from \"./selectAll\";\nexport {default as selection} from \"./selection/index\";\nexport {default as selector} from \"./selector\";\nexport {default as selectorAll} from \"./selectorAll\";\nexport {styleValue as style} from \"./selection/style\";\nexport {default as touch} from \"./touch\";\nexport {default as touches} from \"./touches\";\nexport {default as window} from \"./window\";\nexport {event, customEvent} from \"./selection/on\";\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export default function() {\n return !this.node();\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_join from \"./join\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","export {default as arc} from \"./arc.js\";\nexport {default as area} from \"./area.js\";\nexport {default as line} from \"./line.js\";\nexport {default as pie} from \"./pie.js\";\nexport {default as areaRadial, default as radialArea} from \"./areaRadial.js\"; // Note: radialArea is deprecated!\nexport {default as lineRadial, default as radialLine} from \"./lineRadial.js\"; // Note: radialLine is deprecated!\nexport {default as pointRadial} from \"./pointRadial.js\";\nexport {linkHorizontal, linkVertical, linkRadial} from \"./link/index.js\";\n\nexport {default as symbol, symbols} from \"./symbol.js\";\nexport {default as symbolCircle} from \"./symbol/circle.js\";\nexport {default as symbolCross} from \"./symbol/cross.js\";\nexport {default as symbolDiamond} from \"./symbol/diamond.js\";\nexport {default as symbolSquare} from \"./symbol/square.js\";\nexport {default as symbolStar} from \"./symbol/star.js\";\nexport {default as symbolTriangle} from \"./symbol/triangle.js\";\nexport {default as symbolWye} from \"./symbol/wye.js\";\n\nexport {default as curveBasisClosed} from \"./curve/basisClosed.js\";\nexport {default as curveBasisOpen} from \"./curve/basisOpen.js\";\nexport {default as curveBasis} from \"./curve/basis.js\";\nexport {default as curveBundle} from \"./curve/bundle.js\";\nexport {default as curveCardinalClosed} from \"./curve/cardinalClosed.js\";\nexport {default as curveCardinalOpen} from \"./curve/cardinalOpen.js\";\nexport {default as curveCardinal} from \"./curve/cardinal.js\";\nexport {default as curveCatmullRomClosed} from \"./curve/catmullRomClosed.js\";\nexport {default as curveCatmullRomOpen} from \"./curve/catmullRomOpen.js\";\nexport {default as curveCatmullRom} from \"./curve/catmullRom.js\";\nexport {default as curveLinearClosed} from \"./curve/linearClosed.js\";\nexport {default as curveLinear} from \"./curve/linear.js\";\nexport {monotoneX as curveMonotoneX, monotoneY as curveMonotoneY} from \"./curve/monotone.js\";\nexport {default as curveNatural} from \"./curve/natural.js\";\nexport {default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore} from \"./curve/step.js\";\n\nexport {default as stack} from \"./stack.js\";\nexport {default as stackOffsetExpand} from \"./offset/expand.js\";\nexport {default as stackOffsetDiverging} from \"./offset/diverging.js\";\nexport {default as stackOffsetNone} from \"./offset/none.js\";\nexport {default as stackOffsetSilhouette} from \"./offset/silhouette.js\";\nexport {default as stackOffsetWiggle} from \"./offset/wiggle.js\";\nexport {default as stackOrderAppearance} from \"./order/appearance.js\";\nexport {default as stackOrderAscending} from \"./order/ascending.js\";\nexport {default as stackOrderDescending} from \"./order/descending.js\";\nexport {default as stackOrderInsideOut} from \"./order/insideOut.js\";\nexport {default as stackOrderNone} from \"./order/none.js\";\nexport {default as stackOrderReverse} from \"./order/reverse.js\";\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function() {}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","import constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","export {\n default as timeInterval\n} from \"./interval.js\";\n\nexport {\n default as timeMillisecond,\n milliseconds as timeMilliseconds,\n default as utcMillisecond,\n milliseconds as utcMilliseconds\n} from \"./millisecond.js\";\n\nexport {\n default as timeSecond,\n seconds as timeSeconds,\n default as utcSecond,\n seconds as utcSeconds\n} from \"./second.js\";\n\nexport {\n default as timeMinute,\n minutes as timeMinutes\n} from \"./minute.js\";\n\nexport {\n default as timeHour,\n hours as timeHours\n} from \"./hour.js\";\n\nexport {\n default as timeDay,\n days as timeDays\n} from \"./day.js\";\n\nexport {\n sunday as timeWeek,\n sundays as timeWeeks,\n sunday as timeSunday,\n sundays as timeSundays,\n monday as timeMonday,\n mondays as timeMondays,\n tuesday as timeTuesday,\n tuesdays as timeTuesdays,\n wednesday as timeWednesday,\n wednesdays as timeWednesdays,\n thursday as timeThursday,\n thursdays as timeThursdays,\n friday as timeFriday,\n fridays as timeFridays,\n saturday as timeSaturday,\n saturdays as timeSaturdays\n} from \"./week.js\";\n\nexport {\n default as timeMonth,\n months as timeMonths\n} from \"./month.js\";\n\nexport {\n default as timeYear,\n years as timeYears\n} from \"./year.js\";\n\nexport {\n default as utcMinute,\n utcMinutes as utcMinutes\n} from \"./utcMinute.js\";\n\nexport {\n default as utcHour,\n utcHours as utcHours\n} from \"./utcHour.js\";\n\nexport {\n default as utcDay,\n utcDays as utcDays\n} from \"./utcDay.js\";\n\nexport {\n utcSunday as utcWeek,\n utcSundays as utcWeeks,\n utcSunday as utcSunday,\n utcSundays as utcSundays,\n utcMonday as utcMonday,\n utcMondays as utcMondays,\n utcTuesday as utcTuesday,\n utcTuesdays as utcTuesdays,\n utcWednesday as utcWednesday,\n utcWednesdays as utcWednesdays,\n utcThursday as utcThursday,\n utcThursdays as utcThursdays,\n utcFriday as utcFriday,\n utcFridays as utcFridays,\n utcSaturday as utcSaturday,\n utcSaturdays as utcSaturdays\n} from \"./utcWeek.js\";\n\nexport {\n default as utcMonth,\n utcMonths as utcMonths\n} from \"./utcMonth.js\";\n\nexport {\n default as utcYear,\n utcYears as utcYears\n} from \"./utcYear.js\";\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./defaultLocale.js\";\nexport {default as timeFormatLocale} from \"./locale.js\";\nexport {default as isoFormat} from \"./isoFormat.js\";\nexport {default as isoParse} from \"./isoParse.js\";\n","import {utcFormat} from \"./defaultLocale.js\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat.js\";\nimport {utcParse} from \"./defaultLocale.js\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","export {\n default as timeInterval\n} from \"./interval.js\";\n\nexport {\n default as timeMillisecond,\n milliseconds as timeMilliseconds,\n default as utcMillisecond,\n milliseconds as utcMilliseconds\n} from \"./millisecond.js\";\n\nexport {\n default as timeSecond,\n seconds as timeSeconds,\n default as utcSecond,\n seconds as utcSeconds\n} from \"./second.js\";\n\nexport {\n default as timeMinute,\n minutes as timeMinutes\n} from \"./minute.js\";\n\nexport {\n default as timeHour,\n hours as timeHours\n} from \"./hour.js\";\n\nexport {\n default as timeDay,\n days as timeDays\n} from \"./day.js\";\n\nexport {\n sunday as timeWeek,\n sundays as timeWeeks,\n sunday as timeSunday,\n sundays as timeSundays,\n monday as timeMonday,\n mondays as timeMondays,\n tuesday as timeTuesday,\n tuesdays as timeTuesdays,\n wednesday as timeWednesday,\n wednesdays as timeWednesdays,\n thursday as timeThursday,\n thursdays as timeThursdays,\n friday as timeFriday,\n fridays as timeFridays,\n saturday as timeSaturday,\n saturdays as timeSaturdays\n} from \"./week.js\";\n\nexport {\n default as timeMonth,\n months as timeMonths\n} from \"./month.js\";\n\nexport {\n default as timeYear,\n years as timeYears\n} from \"./year.js\";\n\nexport {\n default as utcMinute,\n utcMinutes as utcMinutes\n} from \"./utcMinute.js\";\n\nexport {\n default as utcHour,\n utcHours as utcHours\n} from \"./utcHour.js\";\n\nexport {\n default as utcDay,\n utcDays as utcDays\n} from \"./utcDay.js\";\n\nexport {\n utcSunday as utcWeek,\n utcSundays as utcWeeks,\n utcSunday as utcSunday,\n utcSundays as utcSundays,\n utcMonday as utcMonday,\n utcMondays as utcMondays,\n utcTuesday as utcTuesday,\n utcTuesdays as utcTuesdays,\n utcWednesday as utcWednesday,\n utcWednesdays as utcWednesdays,\n utcThursday as utcThursday,\n utcThursdays as utcThursdays,\n utcFriday as utcFriday,\n utcFridays as utcFridays,\n utcSaturday as utcSaturday,\n utcSaturdays as utcSaturdays\n} from \"./utcWeek.js\";\n\nexport {\n default as utcMonth,\n utcMonths as utcMonths\n} from \"./utcMonth.js\";\n\nexport {\n default as utcYear,\n utcYears as utcYears\n} from \"./utcYear.js\";\n\nexport {\n utcTicks,\n utcTickInterval,\n timeTicks,\n timeTickInterval\n} from \"./ticks.js\";\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","export {\n now,\n timer,\n timerFlush\n} from \"./timer.js\";\n\nexport {\n default as timeout\n} from \"./timeout.js\";\n\nexport {\n default as interval\n} from \"./interval.js\";\n","import {Timer, now} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Transition} from \"./transition/index.js\";\nimport {SCHEDULED} from \"./transition/schedule.js\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./selection/index.js\";\nexport {default as transition} from \"./transition/index.js\";\nexport {default as active} from \"./active.js\";\nexport {default as interrupt} from \"./interrupt.js\";\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n });\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n end: transition_end\n};\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","/*\r\n * (C) Copyright IBM Corp. 2012, 2016 All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nmodule.exports = undefined;\r\n","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/nls/vi/basemaps\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/nls/basemaps.js?absMid=esri/nls/basemaps\"\n], function(loader, runner) {\n return runner(loader, \"esri/nls/basemaps\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/nls/vi/common\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/nls/common.js?absMid=esri/nls/common\"\n], function(loader, runner) {\n return runner(loader, \"esri/nls/common\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Attribution/nls/vi/Attribution\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Attribution/nls/Attribution.js?absMid=esri/widgets/Attribution/nls/Attribution\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Attribution/nls/Attribution\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/BasemapToggle/nls/vi/BasemapToggle\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/BasemapToggle/nls/BasemapToggle.js?absMid=esri/widgets/BasemapToggle/nls/BasemapToggle\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/BasemapToggle/nls/BasemapToggle\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Compass/nls/vi/Compass\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Compass/nls/Compass.js?absMid=esri/widgets/Compass/nls/Compass\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Compass/nls/Compass\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Expand/nls/vi/Expand\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Expand/nls/Expand.js?absMid=esri/widgets/Expand/nls/Expand\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Expand/nls/Expand\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Home/nls/vi/Home\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Home/nls/Home.js?absMid=esri/widgets/Home/nls/Home\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Home/nls/Home\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/LayerList/nls/vi/LayerList\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/LayerList/nls/LayerList.js?absMid=esri/widgets/LayerList/nls/LayerList\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/LayerList/nls/LayerList\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Legend/nls/vi/Legend\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Legend/nls/Legend.js?absMid=esri/widgets/Legend/nls/Legend\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Legend/nls/Legend\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Locate/nls/vi/Locate\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Locate/nls/Locate.js?absMid=esri/widgets/Locate/nls/Locate\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Locate/nls/Locate\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Measurement/nls/vi/Measurement\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Measurement/nls/Measurement.js?absMid=esri/widgets/Measurement/nls/Measurement\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Measurement/nls/Measurement\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/NavigationToggle/nls/vi/NavigationToggle\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/NavigationToggle/nls/NavigationToggle.js?absMid=esri/widgets/NavigationToggle/nls/NavigationToggle\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/NavigationToggle/nls/NavigationToggle\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Popup/nls/vi/Popup\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Popup/nls/Popup.js?absMid=esri/widgets/Popup/nls/Popup\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Popup/nls/Popup\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Print/nls/vi/Print\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Print/nls/Print.js?absMid=esri/widgets/Print/nls/Print\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Print/nls/Print\", __webpack_require__.dj.c(), false);\n});","define([\"dojo/i18n\", \"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/dojo-webpack-plugin/loaders/dojo/runner.js\"\n,\"esri/widgets/Zoom/nls/vi/Zoom\"\n,\"C:/Jenkins/workspace/_chinh-vien-thong_web-gis_master/node_modules/arcgis-js-api/widgets/Zoom/nls/Zoom.js?absMid=esri/widgets/Zoom/nls/Zoom\"\n], function(loader, runner) {\n return runner(loader, \"esri/widgets/Zoom/nls/Zoom\", __webpack_require__.dj.c(), false);\n});","/*\n * (C) Copyright HCL Technologies Ltd. 2019\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\ndefine([], function() {\n\treturn function(ldr, name, req, async) {\n\t\tvar resolveFn, result, resultSet;\n\t\tldr.load(name, req, function(data) {\n\t\t\tresult = data;\n\t\t\tresultSet = true;\n\t\t\tif (resolveFn) {\n\t\t\t\tresolveFn(data);\n\t\t\t}\n\t\t}, {isBuild:true});\n\t\tif (resultSet) {\n\t\t\treturn result;\n\t\t} else if (!async) {\n\t\t\tthrow new Error(name + ' unavailable');\n\t\t}\n\t\tresult = new Promise(function(resolve) {\n\t\t\tresolveFn = resolve;\n\t\t});\n\t\tresult.__DOJO_WEBPACK_DEFINE_PROMISE__ = true;\n\t\treturn result;\n\t};\n});\n","define([\n\t\"./has\",\n\t\"./_base/lang\",\n\t\"./errors/CancelError\",\n\t\"./promise/Promise\",\n\t\"./has!config-deferredInstrumentation?./promise/instrumentation\"\n], function(has, lang, CancelError, Promise, instrumentation){\n\t\"use strict\";\n\n\t// module:\n\t//\t\tdojo/Deferred\n\n\tvar PROGRESS = 0,\n\t\t\tRESOLVED = 1,\n\t\t\tREJECTED = 2;\n\tvar FULFILLED_ERROR_MESSAGE = \"This deferred has already been fulfilled.\";\n\n\tvar freezeObject = Object.freeze || function(){};\n\n\tvar signalWaiting = function(waiting, type, result, rejection, deferred){\n\t\tif(has(\"config-deferredInstrumentation\")){\n\t\t\tif(type === REJECTED && Deferred.instrumentRejected && waiting.length === 0){\n\t\t\t\tDeferred.instrumentRejected(result, false, rejection, deferred);\n\t\t\t}\n\t\t}\n\n\t\tfor(var i = 0; i < waiting.length; i++){\n\t\t\tsignalListener(waiting[i], type, result, rejection);\n\t\t}\n\t};\n\n\tvar signalListener = function(listener, type, result, rejection){\n\t\tvar func = listener[type];\n\t\tvar deferred = listener.deferred;\n\t\tif(func){\n\t\t\ttry{\n\t\t\t\tvar newResult = func(result);\n\t\t\t\tif(type === PROGRESS){\n\t\t\t\t\tif(typeof newResult !== \"undefined\"){\n\t\t\t\t\t\tsignalDeferred(deferred, type, newResult);\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tif(newResult && typeof newResult.then === \"function\"){\n\t\t\t\t\t\tlistener.cancel = newResult.cancel;\n\t\t\t\t\t\tnewResult.then(\n\t\t\t\t\t\t\t\t// Only make resolvers if they're actually going to be used\n\t\t\t\t\t\t\t\tmakeDeferredSignaler(deferred, RESOLVED),\n\t\t\t\t\t\t\t\tmakeDeferredSignaler(deferred, REJECTED),\n\t\t\t\t\t\t\t\tmakeDeferredSignaler(deferred, PROGRESS));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsignalDeferred(deferred, RESOLVED, newResult);\n\t\t\t\t}\n\t\t\t}catch(error){\n\t\t\t\tsignalDeferred(deferred, REJECTED, error);\n\t\t\t}\n\t\t}else{\n\t\t\tsignalDeferred(deferred, type, result);\n\t\t}\n\n\t\tif(has(\"config-deferredInstrumentation\")){\n\t\t\tif(type === REJECTED && Deferred.instrumentRejected){\n\t\t\t\tDeferred.instrumentRejected(result, !!func, rejection, deferred.promise);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar makeDeferredSignaler = function(deferred, type){\n\t\treturn function(value){\n\t\t\tsignalDeferred(deferred, type, value);\n\t\t};\n\t};\n\n\tvar signalDeferred = function(deferred, type, result){\n\t\tif(!deferred.isCanceled()){\n\t\t\tswitch(type){\n\t\t\t\tcase PROGRESS:\n\t\t\t\t\tdeferred.progress(result);\n\t\t\t\t\tbreak;\n\t\t\t\tcase RESOLVED:\n\t\t\t\t\tdeferred.resolve(result);\n\t\t\t\t\tbreak;\n\t\t\t\tcase REJECTED:\n\t\t\t\t\tdeferred.reject(result);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\tvar Deferred = function(canceler){\n\t\t// summary:\n\t\t//\t\tCreates a new deferred. This API is preferred over\n\t\t//\t\t`dojo/_base/Deferred`.\n\t\t// description:\n\t\t//\t\tCreates a new deferred, as an abstraction over (primarily)\n\t\t//\t\tasynchronous operations. The deferred is the private interface\n\t\t//\t\tthat should not be returned to calling code. That's what the\n\t\t//\t\t`promise` is for. See `dojo/promise/Promise`.\n\t\t// canceler: Function?\n\t\t//\t\tWill be invoked if the deferred is canceled. The canceler\n\t\t//\t\treceives the reason the deferred was canceled as its argument.\n\t\t//\t\tThe deferred is rejected with its return value, or a new\n\t\t//\t\t`dojo/errors/CancelError` instance.\n\n\t\t// promise: dojo/promise/Promise\n\t\t//\t\tThe public promise object that clients can add callbacks to. \n\t\tvar promise = this.promise = new Promise();\n\n\t\tvar deferred = this;\n\t\tvar fulfilled, result, rejection;\n\t\tvar canceled = false;\n\t\tvar waiting = [];\n\n\t\tif(has(\"config-deferredInstrumentation\") && Error.captureStackTrace){\n\t\t\tError.captureStackTrace(deferred, Deferred);\n\t\t\tError.captureStackTrace(promise, Deferred);\n\t\t}\n\n\t\tthis.isResolved = promise.isResolved = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been resolved.\n\t\t\t// returns: Boolean\n\n\t\t\treturn fulfilled === RESOLVED;\n\t\t};\n\n\t\tthis.isRejected = promise.isRejected = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been rejected.\n\t\t\t// returns: Boolean\n\n\t\t\treturn fulfilled === REJECTED;\n\t\t};\n\n\t\tthis.isFulfilled = promise.isFulfilled = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been resolved or rejected.\n\t\t\t// returns: Boolean\n\n\t\t\treturn !!fulfilled;\n\t\t};\n\n\t\tthis.isCanceled = promise.isCanceled = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been canceled.\n\t\t\t// returns: Boolean\n\n\t\t\treturn canceled;\n\t\t};\n\n\t\tthis.progress = function(update, strict){\n\t\t\t// summary:\n\t\t\t//\t\tEmit a progress update on the deferred.\n\t\t\t// description:\n\t\t\t//\t\tEmit a progress update on the deferred. Progress updates\n\t\t\t//\t\tcan be used to communicate updates about the asynchronous\n\t\t\t//\t\toperation before it has finished.\n\t\t\t// update: any\n\t\t\t//\t\tThe progress update. Passed to progbacks.\n\t\t\t// strict: Boolean?\n\t\t\t//\t\tIf strict, will throw an error if the deferred has already\n\t\t\t//\t\tbeen fulfilled and consequently no progress can be emitted.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns the original promise for the deferred.\n\n\t\t\tif(!fulfilled){\n\t\t\t\tsignalWaiting(waiting, PROGRESS, update, null, deferred);\n\t\t\t\treturn promise;\n\t\t\t}else if(strict === true){\n\t\t\t\tthrow new Error(FULFILLED_ERROR_MESSAGE);\n\t\t\t}else{\n\t\t\t\treturn promise;\n\t\t\t}\n\t\t};\n\n\t\tthis.resolve = function(value, strict){\n\t\t\t// summary:\n\t\t\t//\t\tResolve the deferred.\n\t\t\t// description:\n\t\t\t//\t\tResolve the deferred, putting it in a success state.\n\t\t\t// value: any\n\t\t\t//\t\tThe result of the deferred. Passed to callbacks.\n\t\t\t// strict: Boolean?\n\t\t\t//\t\tIf strict, will throw an error if the deferred has already\n\t\t\t//\t\tbeen fulfilled and consequently cannot be resolved.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns the original promise for the deferred.\n\n\t\t\tif(!fulfilled){\n\t\t\t\t// Set fulfilled, store value. After signaling waiting listeners unset\n\t\t\t\t// waiting.\n\t\t\t\tsignalWaiting(waiting, fulfilled = RESOLVED, result = value, null, deferred);\n\t\t\t\twaiting = null;\n\t\t\t\treturn promise;\n\t\t\t}else if(strict === true){\n\t\t\t\tthrow new Error(FULFILLED_ERROR_MESSAGE);\n\t\t\t}else{\n\t\t\t\treturn promise;\n\t\t\t}\n\t\t};\n\n\t\tvar reject = this.reject = function(error, strict){\n\t\t\t// summary:\n\t\t\t//\t\tReject the deferred.\n\t\t\t// description:\n\t\t\t//\t\tReject the deferred, putting it in an error state.\n\t\t\t// error: any\n\t\t\t//\t\tThe error result of the deferred. Passed to errbacks.\n\t\t\t// strict: Boolean?\n\t\t\t//\t\tIf strict, will throw an error if the deferred has already\n\t\t\t//\t\tbeen fulfilled and consequently cannot be rejected.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns the original promise for the deferred.\n\n\t\t\tif(!fulfilled){\n\t\t\t\tif(has(\"config-deferredInstrumentation\") && Error.captureStackTrace){\n\t\t\t\t\tError.captureStackTrace(rejection = {}, reject);\n\t\t\t\t}\n\t\t\t\tsignalWaiting(waiting, fulfilled = REJECTED, result = error, rejection, deferred);\n\t\t\t\twaiting = null;\n\t\t\t\treturn promise;\n\t\t\t}else if(strict === true){\n\t\t\t\tthrow new Error(FULFILLED_ERROR_MESSAGE);\n\t\t\t}else{\n\t\t\t\treturn promise;\n\t\t\t}\n\t\t};\n\n\t\tthis.then = promise.then = function(callback, errback, progback){\n\t\t\t// summary:\n\t\t\t//\t\tAdd new callbacks to the deferred.\n\t\t\t// description:\n\t\t\t//\t\tAdd new callbacks to the deferred. Callbacks can be added\n\t\t\t//\t\tbefore or after the deferred is fulfilled.\n\t\t\t// callback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise is resolved.\n\t\t\t//\t\tReceives the resolution value.\n\t\t\t// errback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise is rejected.\n\t\t\t//\t\tReceives the rejection error.\n\t\t\t// progback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise emits a progress\n\t\t\t//\t\tupdate. Receives the progress update.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns a new promise for the result of the callback(s).\n\t\t\t//\t\tThis can be used for chaining many asynchronous operations.\n\n\t\t\tvar listener = [progback, callback, errback];\n\t\t\t// Ensure we cancel the promise we're waiting for, or if callback/errback\n\t\t\t// have returned a promise, cancel that one.\n\t\t\tlistener.cancel = promise.cancel;\n\t\t\tlistener.deferred = new Deferred(function(reason){\n\t\t\t\t// Check whether cancel is really available, returned promises are not\n\t\t\t\t// required to expose `cancel`\n\t\t\t\treturn listener.cancel && listener.cancel(reason);\n\t\t\t});\n\t\t\tif(fulfilled && !waiting){\n\t\t\t\tsignalListener(listener, fulfilled, result, rejection);\n\t\t\t}else{\n\t\t\t\twaiting.push(listener);\n\t\t\t}\n\t\t\treturn listener.deferred.promise;\n\t\t};\n\n\t\tthis.cancel = promise.cancel = function(reason, strict){\n\t\t\t// summary:\n\t\t\t//\t\tInform the deferred it may cancel its asynchronous operation.\n\t\t\t// description:\n\t\t\t//\t\tInform the deferred it may cancel its asynchronous operation.\n\t\t\t//\t\tThe deferred's (optional) canceler is invoked and the\n\t\t\t//\t\tdeferred will be left in a rejected state. Can affect other\n\t\t\t//\t\tpromises that originate with the same deferred.\n\t\t\t// reason: any\n\t\t\t//\t\tA message that may be sent to the deferred's canceler,\n\t\t\t//\t\texplaining why it's being canceled.\n\t\t\t// strict: Boolean?\n\t\t\t//\t\tIf strict, will throw an error if the deferred has already\n\t\t\t//\t\tbeen fulfilled and consequently cannot be canceled.\n\t\t\t// returns: any\n\t\t\t//\t\tReturns the rejection reason if the deferred was canceled\n\t\t\t//\t\tnormally.\n\n\t\t\tif(!fulfilled){\n\t\t\t\t// Cancel can be called even after the deferred is fulfilled\n\t\t\t\tif(canceler){\n\t\t\t\t\tvar returnedReason = canceler(reason);\n\t\t\t\t\treason = typeof returnedReason === \"undefined\" ? reason : returnedReason;\n\t\t\t\t}\n\t\t\t\tcanceled = true;\n\t\t\t\tif(!fulfilled){\n\t\t\t\t\t// Allow canceler to provide its own reason, but fall back to a CancelError\n\t\t\t\t\tif(typeof reason === \"undefined\"){\n\t\t\t\t\t\treason = new CancelError();\n\t\t\t\t\t}\n\t\t\t\t\treject(reason);\n\t\t\t\t\treturn reason;\n\t\t\t\t}else if(fulfilled === REJECTED && result === reason){\n\t\t\t\t\treturn reason;\n\t\t\t\t}\n\t\t\t}else if(strict === true){\n\t\t\t\tthrow new Error(FULFILLED_ERROR_MESSAGE);\n\t\t\t}\n\t\t};\n\n\t\tfreezeObject(promise);\n\t};\n\n\tDeferred.prototype.toString = function(){\n\t\t// returns: String\n\t\t//\t\tReturns `[object Deferred]`.\n\n\t\treturn \"[object Deferred]\";\n\t};\n\n\tif(instrumentation){\n\t\tinstrumentation(Deferred);\n\t}\n\n\treturn Deferred;\n});\n","define([\"./aspect\", \"./on\"], function(aspect, on){\n\t// module:\n\t//\t\tdojo/Evented\n\n \t\"use strict\";\n \tvar after = aspect.after;\n\tfunction Evented(){\n\t\t// summary:\n\t\t//\t\tA class that can be used as a mixin or base class,\n\t\t//\t\tto add on() and emit() methods to a class\n\t\t//\t\tfor listening for events and emitting events:\n\t\t// example:\n\t\t//\t\t|\tdefine([\"dojo/Evented\", \"dojo/_base/declare\", \"dojo/Stateful\"\n\t\t//\t\t|\t], function(Evented, declare, Stateful){\n\t\t//\t\t|\t\tvar EventedStateful = declare([Evented, Stateful], {...});\n\t\t//\t\t|\t\tvar instance = new EventedStateful();\n\t\t//\t\t|\t\tinstance.on(\"open\", function(event){\n\t\t//\t\t|\t\t... do something with event\n\t\t//\t\t|\t });\n\t\t//\t\t|\n\t\t//\t\t|\tinstance.emit(\"open\", {name:\"some event\", ...});\n\t}\n\tEvented.prototype = {\n\t\ton: function(type, listener){\n\t\t\treturn on.parse(this, type, listener, function(target, type){\n\t\t\t\treturn after(target, 'on' + type, listener, true);\n\t\t\t});\n\t\t},\n\t\temit: function(type, event){\n\t\t\tvar args = [this];\n\t\t\targs.push.apply(args, arguments);\n\t\t\treturn on.emit.apply(on, args);\n\t\t}\n\t};\n\treturn Evented;\n});\n","define([\"./_base/declare\", \"./_base/lang\", \"./_base/array\", \"./when\"], function(declare, lang, array, when){\n\t// module:\n\t//\t\tdojo/Stateful\n\nreturn declare(\"dojo.Stateful\", null, {\n\t// summary:\n\t//\t\tBase class for objects that provide named properties with optional getter/setter\n\t//\t\tcontrol and the ability to watch for property changes\n\t//\n\t//\t\tThe class also provides the functionality to auto-magically manage getters\n\t//\t\tand setters for object attributes/properties.\n\t//\t\t\n\t//\t\tGetters and Setters should follow the format of _xxxGetter or _xxxSetter where \n\t//\t\tthe xxx is a name of the attribute to handle. So an attribute of \"foo\" \n\t//\t\twould have a custom getter of _fooGetter and a custom setter of _fooSetter.\n\t//\n\t// example:\n\t//\t|\trequire([\"dojo/Stateful\", function(Stateful) {\n\t//\t|\t\tvar obj = new Stateful();\n\t//\t|\t\tobj.watch(\"foo\", function(){\n\t//\t|\t\t\tconsole.log(\"foo changed to \" + this.get(\"foo\"));\n\t//\t|\t\t});\n\t//\t|\t\tobj.set(\"foo\",\"bar\");\n\t//\t|\t});\n\n\t// _attrPairNames: Hash\n\t//\t\tUsed across all instances a hash to cache attribute names and their getter \n\t//\t\tand setter names.\n\t_attrPairNames: {},\n\n\t_getAttrNames: function(name){\n\t\t// summary:\n\t\t//\t\tHelper function for get() and set().\n\t\t//\t\tCaches attribute name values so we don't do the string ops every time.\n\t\t// tags:\n\t\t//\t\tprivate\n\n\t\tvar apn = this._attrPairNames;\n\t\tif(apn[name]){ return apn[name]; }\n\t\treturn (apn[name] = {\n\t\t\ts: \"_\" + name + \"Setter\",\n\t\t\tg: \"_\" + name + \"Getter\"\n\t\t});\n\t},\n\n\tpostscript: function(/*Object?*/ params){\n\t\t// Automatic setting of params during construction\n\t\tif (params){ this.set(params); }\n\t},\n\n\t_get: function(name, names){\n\t\t// summary:\n\t\t//\t\tPrivate function that does a get based off a hash of names\n\t\t// names:\n\t\t//\t\tHash of names of custom attributes\n\t\treturn typeof this[names.g] === \"function\" ? this[names.g]() : this[name];\n\t},\n\tget: function(/*String*/name){\n\t\t// summary:\n\t\t//\t\tGet a property on a Stateful instance.\n\t\t// name:\n\t\t//\t\tThe property to get.\n\t\t// returns:\n\t\t//\t\tThe property value on this Stateful instance.\n\t\t// description:\n\t\t//\t\tGet a named property on a Stateful object. The property may\n\t\t//\t\tpotentially be retrieved via a getter method in subclasses. In the base class\n\t\t//\t\tthis just retrieves the object's property.\n\t\t// example:\n\t\t//\t|\trequire([\"dojo/Stateful\", function(Stateful) {\n\t\t//\t|\t\tvar stateful = new Stateful({foo: 3});\n\t\t//\t|\t\tstateful.get(\"foo\") // returns 3\n\t\t//\t|\t\tstateful.foo // returns 3\n\t\t//\t|\t});\n\n\t\treturn this._get(name, this._getAttrNames(name)); //Any\n\t},\n\tset: function(/*String*/name, /*Object*/value){\n\t\t// summary:\n\t\t//\t\tSet a property on a Stateful instance\n\t\t// name:\n\t\t//\t\tThe property to set.\n\t\t// value:\n\t\t//\t\tThe value to set in the property.\n\t\t// returns:\n\t\t//\t\tThe function returns this dojo.Stateful instance.\n\t\t// description:\n\t\t//\t\tSets named properties on a stateful object and notifies any watchers of\n\t\t//\t\tthe property. A programmatic setter may be defined in subclasses.\n\t\t// example:\n\t\t//\t|\trequire([\"dojo/Stateful\", function(Stateful) {\n\t\t//\t|\t\tvar stateful = new Stateful();\n\t\t//\t|\t\tstateful.watch(function(name, oldValue, value){\n\t\t//\t|\t\t\t// this will be called on the set below\n\t\t//\t|\t\t}\n\t\t//\t|\t\tstateful.set(foo, 5);\n\t\t//\tset() may also be called with a hash of name/value pairs, ex:\n\t\t//\t|\t\tstateful.set({\n\t\t//\t|\t\t\tfoo: \"Howdy\",\n\t\t//\t|\t\t\tbar: 3\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\t\t//\tThis is equivalent to calling set(foo, \"Howdy\") and set(bar, 3)\n\n\t\t// If an object is used, iterate through object\n\t\tif(typeof name === \"object\"){\n\t\t\tfor(var x in name){\n\t\t\t\tif(name.hasOwnProperty(x) && x !=\"_watchCallbacks\"){\n\t\t\t\t\tthis.set(x, name[x]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tvar names = this._getAttrNames(name),\n\t\t\toldValue = this._get(name, names),\n\t\t\tsetter = this[names.s],\n\t\t\tresult;\n\t\tif(typeof setter === \"function\"){\n\t\t\t// use the explicit setter\n\t\t\tresult = setter.apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t}else{\n\t\t\t// no setter so set attribute directly\n\t\t\tthis[name] = value;\n\t\t}\n\t\tif(this._watchCallbacks){\n\t\t\tvar self = this;\n\t\t\t// If setter returned a promise, wait for it to complete, otherwise call watches immediately\n\t\t\twhen(result, function(){\n\t\t\t\tself._watchCallbacks(name, oldValue, value);\n\t\t\t});\n\t\t}\n\t\treturn this; // dojo/Stateful\n\t},\n\t_changeAttrValue: function(name, value){\n\t\t// summary:\n\t\t//\t\tInternal helper for directly changing an attribute value.\n\t\t//\n\t\t// name: String\n\t\t//\t\tThe property to set.\n\t\t// value: Mixed\n\t\t//\t\tThe value to set in the property.\n\t\t//\n\t\t// description:\n\t\t//\t\tDirectly change the value of an attribute on an object, bypassing any \n\t\t//\t\taccessor setter. Also handles the calling of watch and emitting events. \n\t\t//\t\tIt is designed to be used by descendant class when there are two values \n\t\t//\t\tof attributes that are linked, but calling .set() is not appropriate.\n\n\t\tvar oldValue = this.get(name);\n\t\tthis[name] = value;\n\t\tif(this._watchCallbacks){\n\t\t\tthis._watchCallbacks(name, oldValue, value);\n\t\t}\n\t\treturn this; // dojo/Stateful\n\t},\n\twatch: function(/*String?*/name, /*Function*/callback){\n\t\t// summary:\n\t\t//\t\tWatches a property for changes\n\t\t// name:\n\t\t//\t\tIndicates the property to watch. This is optional (the callback may be the\n\t\t//\t\tonly parameter), and if omitted, all the properties will be watched\n\t\t// returns:\n\t\t//\t\tAn object handle for the watch. The unwatch method of this object\n\t\t//\t\tcan be used to discontinue watching this property:\n\t\t//\t\t|\tvar watchHandle = obj.watch(\"foo\", callback);\n\t\t//\t\t|\twatchHandle.unwatch(); // callback won't be called now\n\t\t// callback:\n\t\t//\t\tThe function to execute when the property changes. This will be called after\n\t\t//\t\tthe property has been changed. The callback will be called with the |this|\n\t\t//\t\tset to the instance, the first argument as the name of the property, the\n\t\t//\t\tsecond argument as the old value and the third argument as the new value.\n\n\t\tvar callbacks = this._watchCallbacks;\n\t\tif(!callbacks){\n\t\t\tvar self = this;\n\t\t\tcallbacks = this._watchCallbacks = function(name, oldValue, value, ignoreCatchall){\n\t\t\t\tvar notify = function(propertyCallbacks){\n\t\t\t\t\tif(propertyCallbacks){\n\t\t\t\t\t\tpropertyCallbacks = propertyCallbacks.slice();\n\t\t\t\t\t\tfor(var i = 0, l = propertyCallbacks.length; i < l; i++){\n\t\t\t\t\t\t\tpropertyCallbacks[i].call(self, name, oldValue, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tnotify(callbacks['_' + name]);\n\t\t\t\tif(!ignoreCatchall){\n\t\t\t\t\tnotify(callbacks[\"*\"]); // the catch-all\n\t\t\t\t}\n\t\t\t}; // we use a function instead of an object so it will be ignored by JSON conversion\n\t\t}\n\t\tif(!callback && typeof name === \"function\"){\n\t\t\tcallback = name;\n\t\t\tname = \"*\";\n\t\t}else{\n\t\t\t// prepend with dash to prevent name conflicts with function (like \"name\" property)\n\t\t\tname = '_' + name;\n\t\t}\n\t\tvar propertyCallbacks = callbacks[name];\n\t\tif(typeof propertyCallbacks !== \"object\"){\n\t\t\tpropertyCallbacks = callbacks[name] = [];\n\t\t}\n\t\tpropertyCallbacks.push(callback);\n\n\t\t// TODO: Remove unwatch in 2.0\n\t\tvar handle = {};\n\t\thandle.unwatch = handle.remove = function(){\n\t\t\tvar index = array.indexOf(propertyCallbacks, callback);\n\t\t\tif(index > -1){\n\t\t\t\tpropertyCallbacks.splice(index, 1);\n\t\t\t}\n\t\t};\n\t\treturn handle; //Object\n\t}\n\n});\n\n});\n","define([\"./kernel\", \"./lang\", \"./array\", \"./config\"], function(dojo, lang, ArrayUtil, config){\n\n\tvar Color = dojo.Color = function(/*Array|String|Object*/ color){\n\t\t// summary:\n\t\t//\t\tTakes a named string, hex string, array of rgb or rgba values,\n\t\t//\t\tan object with r, g, b, and a properties, or another `Color` object\n\t\t//\t\tand creates a new Color instance to work from.\n\t\t//\n\t\t// example:\n\t\t//\t\tWork with a Color instance:\n\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t//\t|\t\tvar c = new Color();\n\t\t//\t|\t\tc.setColor([0,0,0]); // black\n\t\t//\t|\t\tvar hex = c.toHex(); // #000000\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tWork with a node's color:\n\t\t//\t| \n\t\t//\t|\trequire([\"dojo/_base/color\", \"dojo/dom-style\"], function(Color, domStyle){\n\t\t//\t|\t\tvar color = domStyle(\"someNode\", \"backgroundColor\");\n\t\t//\t|\t\tvar n = new Color(color);\n\t\t//\t|\t\t// adjust the color some\n\t\t//\t|\t\tn.r *= .5;\n\t\t//\t|\t\tconsole.log(n.toString()); // rgb(128, 255, 255);\n\t\t//\t|\t});\n\t\tif(color){ this.setColor(color); }\n\t};\n\n\t// FIXME:\n\t// there's got to be a more space-efficient way to encode or discover\n\t// these!! Use hex?\n\tColor.named = {\n\t\t// summary:\n\t\t//\t\tDictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values.\n\t\t\"black\": [0,0,0],\n\t\t\"silver\": [192,192,192],\n\t\t\"gray\":\t [128,128,128],\n\t\t\"white\": [255,255,255],\n\t\t\"maroon\": [128,0,0],\n\t\t\"red\":\t [255,0,0],\n\t\t\"purple\": [128,0,128],\n\t\t\"fuchsia\":[255,0,255],\n\t\t\"green\": [0,128,0],\n\t\t\"lime\":\t [0,255,0],\n\t\t\"olive\": [128,128,0],\n\t\t\"yellow\": [255,255,0],\n\t\t\"navy\":\t [0,0,128],\n\t\t\"blue\":\t [0,0,255],\n\t\t\"teal\":\t [0,128,128],\n\t\t\"aqua\":\t [0,255,255],\n\t\t\"transparent\": config.transparentColor || [0,0,0,0]\n\t};\n\n\tlang.extend(Color, {\n\t\tr: 255, g: 255, b: 255, a: 1,\n\t\t_set: function(r, g, b, a){\n\t\t\tvar t = this; t.r = r; t.g = g; t.b = b; t.a = a;\n\t\t},\n\t\tsetColor: function(/*Array|String|Object*/ color){\n\t\t\t// summary:\n\t\t\t//\t\tTakes a named string, hex string, array of rgb or rgba values,\n\t\t\t//\t\tan object with r, g, b, and a properties, or another `Color` object\n\t\t\t//\t\tand sets this color instance to that value.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t\t//\t|\t\tvar c = new Color(); // no color\n\t\t\t//\t|\t\tc.setColor(\"#ededed\"); // greyish\n\t\t\t//\t|\t});\n\t\t\tif(lang.isString(color)){\n\t\t\t\tColor.fromString(color, this);\n\t\t\t}else if(lang.isArray(color)){\n\t\t\t\tColor.fromArray(color, this);\n\t\t\t}else{\n\t\t\t\tthis._set(color.r, color.g, color.b, color.a);\n\t\t\t\tif(!(color instanceof Color)){ this.sanitize(); }\n\t\t\t}\n\t\t\treturn this;\t// Color\n\t\t},\n\t\tsanitize: function(){\n\t\t\t// summary:\n\t\t\t//\t\tEnsures the object has correct attributes\n\t\t\t// description:\n\t\t\t//\t\tthe default implementation does nothing, include dojo.colors to\n\t\t\t//\t\taugment it with real checks\n\t\t\treturn this;\t// Color\n\t\t},\n\t\ttoRgb: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns 3 component array of rgb values\n\t\t\t// example:\n\t\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t\t//\t|\t\tvar c = new Color(\"#000000\");\n\t\t\t//\t|\t\tconsole.log(c.toRgb()); // [0,0,0]\n\t\t\t//\t|\t});\n\t\t\tvar t = this;\n\t\t\treturn [t.r, t.g, t.b]; // Array\n\t\t},\n\t\ttoRgba: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a 4 component array of rgba values from the color\n\t\t\t//\t\trepresented by this object.\n\t\t\tvar t = this;\n\t\t\treturn [t.r, t.g, t.b, t.a];\t// Array\n\t\t},\n\t\ttoHex: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a CSS color string in hexadecimal representation\n\t\t\t// example:\n\t\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t\t//\t|\t\tconsole.log(new Color([0,0,0]).toHex()); // #000000\n\t\t\t//\t|\t});\n\t\t\tvar arr = ArrayUtil.map([\"r\", \"g\", \"b\"], function(x){\n\t\t\t\tvar s = this[x].toString(16);\n\t\t\t\treturn s.length < 2 ? \"0\" + s : s;\n\t\t\t}, this);\n\t\t\treturn \"#\" + arr.join(\"\");\t// String\n\t\t},\n\t\ttoCss: function(/*Boolean?*/ includeAlpha){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a css color string in rgb(a) representation\n\t\t\t// example:\n\t\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t\t//\t|\t\tvar c = new Color(\"#FFF\").toCss();\n\t\t\t//\t|\t\tconsole.log(c); // rgb('255','255','255')\n\t\t\t//\t|\t});\n\t\t\tvar t = this, rgb = t.r + \", \" + t.g + \", \" + t.b;\n\t\t\treturn (includeAlpha ? \"rgba(\" + rgb + \", \" + t.a : \"rgb(\" + rgb) + \")\";\t// String\n\t\t},\n\t\ttoString: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a visual representation of the color\n\t\t\treturn this.toCss(true); // String\n\t\t}\n\t});\n\n\tColor.blendColors = dojo.blendColors = function(\n\t\t/*Color*/ start,\n\t\t/*Color*/ end,\n\t\t/*Number*/ weight,\n\t\t/*Color?*/ obj\n\t){\n\t\t// summary:\n\t\t//\t\tBlend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,\n\t\t//\t\tcan reuse a previously allocated Color object for the result\n\t\tvar t = obj || new Color();\n\t\tt.r = Math.round(start.r + (end.r - start.r) * weight);\n\t\tt.g = Math.round(start.g + (end.g - start.g) * weight);\n\t\tt.b = Math.round(start.b + (end.b - start.b) * weight);\n\t\tt.a = start.a + (end.a - start.a) * weight;\n\t\treturn t.sanitize();\t// Color\n\t};\n\n\tColor.fromRgb = dojo.colorFromRgb = function(/*String*/ color, /*Color?*/ obj){\n\t\t// summary:\n\t\t//\t\tReturns a `Color` instance from a string of the form\n\t\t//\t\t\"rgb(...)\" or \"rgba(...)\". Optionally accepts a `Color`\n\t\t//\t\tobject to update with the parsed value and return instead of\n\t\t//\t\tcreating a new object.\n\t\t// returns:\n\t\t//\t\tA Color object. If obj is passed, it will be the return value.\n\t\tvar m = color.toLowerCase().match(/^rgba?\\(([\\s\\.,0-9]+)\\)/);\n\t\treturn m && Color.fromArray(m[1].split(/\\s*,\\s*/), obj);\t// Color\n\t};\n\n\tColor.fromHex = dojo.colorFromHex = function(/*String*/ color, /*Color?*/ obj){\n\t\t// summary:\n\t\t//\t\tConverts a hex string with a '#' prefix to a color object.\n\t\t//\t\tSupports 12-bit #rgb shorthand. Optionally accepts a\n\t\t//\t\t`Color` object to update with the parsed value.\n\t\t//\n\t\t// returns:\n\t\t//\t\tA Color object. If obj is passed, it will be the return value.\n\t\t//\n\t\t// example:\n\t\t//\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t//\t|\t\tvar thing = new Color().fromHex(\"#ededed\"); // grey, longhand\n\t\t//\t|\t\tvar thing2 = new Color().fromHex(\"#000\"); // black, shorthand\n\t\t//\t|\t});\n\t\tvar t = obj || new Color(),\n\t\t\tbits = (color.length == 4) ? 4 : 8,\n\t\t\tmask = (1 << bits) - 1;\n\t\tcolor = Number(\"0x\" + color.substr(1));\n\t\tif(isNaN(color)){\n\t\t\treturn null; // Color\n\t\t}\n\t\tArrayUtil.forEach([\"b\", \"g\", \"r\"], function(x){\n\t\t\tvar c = color & mask;\n\t\t\tcolor >>= bits;\n\t\t\tt[x] = bits == 4 ? 17 * c : c;\n\t\t});\n\t\tt.a = 1;\n\t\treturn t;\t// Color\n\t};\n\n\tColor.fromArray = dojo.colorFromArray = function(/*Array*/ a, /*Color?*/ obj){\n\t\t// summary:\n\t\t//\t\tBuilds a `Color` from a 3 or 4 element array, mapping each\n\t\t//\t\telement in sequence to the rgb(a) values of the color.\n\t\t// example:\n\t\t//\t\t|\trequire([\"dojo/_base/color\"], function(Color){\n\t\t//\t\t|\t\tvar myColor = new Color().fromArray([237,237,237,0.5]); // grey, 50% alpha\n\t\t//\t\t|\t});\n\t\t// returns:\n\t\t//\t\tA Color object. If obj is passed, it will be the return value.\n\t\tvar t = obj || new Color();\n\t\tt._set(Number(a[0]), Number(a[1]), Number(a[2]), Number(a[3]));\n\t\tif(isNaN(t.a)){ t.a = 1; }\n\t\treturn t.sanitize();\t// Color\n\t};\n\n\tColor.fromString = dojo.colorFromString = function(/*String*/ str, /*Color?*/ obj){\n\t\t// summary:\n\t\t//\t\tParses `str` for a color value. Accepts hex, rgb, and rgba\n\t\t//\t\tstyle color values.\n\t\t// description:\n\t\t//\t\tAcceptable input values for str may include arrays of any form\n\t\t//\t\taccepted by dojo.colorFromArray, hex strings such as \"#aaaaaa\", or\n\t\t//\t\trgb or rgba strings such as \"rgb(133, 200, 16)\" or \"rgba(10, 10,\n\t\t//\t\t10, 50)\"\n\t\t// returns:\n\t\t//\t\tA Color object. If obj is passed, it will be the return value.\n\t\tvar a = Color.named[str];\n\t\treturn a && Color.fromArray(a, obj) || Color.fromRgb(str, obj) || Color.fromHex(str, obj);\t// Color\n\t};\n\n\treturn Color;\n});\n","define([\n\t\"./kernel\",\n\t\"../Deferred\",\n\t\"../promise/Promise\",\n\t\"../errors/CancelError\",\n\t\"../has\",\n\t\"./lang\",\n\t\"../when\"\n], function(dojo, NewDeferred, Promise, CancelError, has, lang, when){\n\t// module:\n\t//\t\tdojo/_base/Deferred\n\n\tvar mutator = function(){};\n\tvar freeze = Object.freeze || function(){};\n\t// A deferred provides an API for creating and resolving a promise.\n\tvar Deferred = dojo.Deferred = function(/*Function?*/ canceller){\n\t\t// summary:\n\t\t//\t\tDeprecated. This module defines the legacy dojo/_base/Deferred API.\n\t\t//\t\tNew code should use dojo/Deferred instead.\n\t\t// description:\n\t\t//\t\tThe Deferred API is based on the concept of promises that provide a\n\t\t//\t\tgeneric interface into the eventual completion of an asynchronous action.\n\t\t//\t\tThe motivation for promises fundamentally is about creating a\n\t\t//\t\tseparation of concerns that allows one to achieve the same type of\n\t\t//\t\tcall patterns and logical data flow in asynchronous code as can be\n\t\t//\t\tachieved in synchronous code. Promises allows one\n\t\t//\t\tto be able to call a function purely with arguments needed for\n\t\t//\t\texecution, without conflating the call with concerns of whether it is\n\t\t//\t\tsync or async. One shouldn't need to alter a call's arguments if the\n\t\t//\t\timplementation switches from sync to async (or vice versa). By having\n\t\t//\t\tasync functions return promises, the concerns of making the call are\n\t\t//\t\tseparated from the concerns of asynchronous interaction (which are\n\t\t//\t\thandled by the promise).\n\t\t//\n\t\t//\t\tThe Deferred is a type of promise that provides methods for fulfilling the\n\t\t//\t\tpromise with a successful result or an error. The most important method for\n\t\t//\t\tworking with Dojo's promises is the then() method, which follows the\n\t\t//\t\tCommonJS proposed promise API. An example of using a Dojo promise:\n\t\t//\n\t\t//\t\t|\tvar resultingPromise = someAsyncOperation.then(function(result){\n\t\t//\t\t|\t\t... handle result ...\n\t\t//\t\t|\t},\n\t\t//\t\t|\tfunction(error){\n\t\t//\t\t|\t\t... handle error ...\n\t\t//\t\t|\t});\n\t\t//\n\t\t//\t\tThe .then() call returns a new promise that represents the result of the\n\t\t//\t\texecution of the callback. The callbacks will never affect the original promises value.\n\t\t//\n\t\t//\t\tThe Deferred instances also provide the following functions for backwards compatibility:\n\t\t//\n\t\t//\t\t- addCallback(handler)\n\t\t//\t\t- addErrback(handler)\n\t\t//\t\t- callback(result)\n\t\t//\t\t- errback(result)\n\t\t//\n\t\t//\t\tCallbacks are allowed to return promises themselves, so\n\t\t//\t\tyou can build complicated sequences of events with ease.\n\t\t//\n\t\t//\t\tThe creator of the Deferred may specify a canceller. The canceller\n\t\t//\t\tis a function that will be called if Deferred.cancel is called\n\t\t//\t\tbefore the Deferred fires. You can use this to implement clean\n\t\t//\t\taborting of an XMLHttpRequest, etc. Note that cancel will fire the\n\t\t//\t\tdeferred with a CancelledError (unless your canceller returns\n\t\t//\t\tanother kind of error), so the errbacks should be prepared to\n\t\t//\t\thandle that error for cancellable Deferreds.\n\t\t// example:\n\t\t//\t|\tvar deferred = new Deferred();\n\t\t//\t|\tsetTimeout(function(){ deferred.callback({success: true}); }, 1000);\n\t\t//\t|\treturn deferred;\n\t\t// example:\n\t\t//\t\tDeferred objects are often used when making code asynchronous. It\n\t\t//\t\tmay be easiest to write functions in a synchronous manner and then\n\t\t//\t\tsplit code using a deferred to trigger a response to a long-lived\n\t\t//\t\toperation. For example, instead of register a callback function to\n\t\t//\t\tdenote when a rendering operation completes, the function can\n\t\t//\t\tsimply return a deferred:\n\t\t//\n\t\t//\t\t|\t// callback style:\n\t\t//\t\t|\tfunction renderLotsOfData(data, callback){\n\t\t//\t\t|\t\tvar success = false\n\t\t//\t\t|\t\ttry{\n\t\t//\t\t|\t\t\tfor(var x in data){\n\t\t//\t\t|\t\t\t\trenderDataitem(data[x]);\n\t\t//\t\t|\t\t\t}\n\t\t//\t\t|\t\t\tsuccess = true;\n\t\t//\t\t|\t\t}catch(e){ }\n\t\t//\t\t|\t\tif(callback){\n\t\t//\t\t|\t\t\tcallback(success);\n\t\t//\t\t|\t\t}\n\t\t//\t\t|\t}\n\t\t//\n\t\t//\t\t|\t// using callback style\n\t\t//\t\t|\trenderLotsOfData(someDataObj, function(success){\n\t\t//\t\t|\t\t// handles success or failure\n\t\t//\t\t|\t\tif(!success){\n\t\t//\t\t|\t\t\tpromptUserToRecover();\n\t\t//\t\t|\t\t}\n\t\t//\t\t|\t});\n\t\t//\t\t|\t// NOTE: no way to add another callback here!!\n\t\t// example:\n\t\t//\t\tUsing a Deferred doesn't simplify the sending code any, but it\n\t\t//\t\tprovides a standard interface for callers and senders alike,\n\t\t//\t\tproviding both with a simple way to service multiple callbacks for\n\t\t//\t\tan operation and freeing both sides from worrying about details\n\t\t//\t\tsuch as \"did this get called already?\". With Deferreds, new\n\t\t//\t\tcallbacks can be added at any time.\n\t\t//\n\t\t//\t\t|\t// Deferred style:\n\t\t//\t\t|\tfunction renderLotsOfData(data){\n\t\t//\t\t|\t\tvar d = new Deferred();\n\t\t//\t\t|\t\ttry{\n\t\t//\t\t|\t\t\tfor(var x in data){\n\t\t//\t\t|\t\t\t\trenderDataitem(data[x]);\n\t\t//\t\t|\t\t\t}\n\t\t//\t\t|\t\t\td.callback(true);\n\t\t//\t\t|\t\t}catch(e){\n\t\t//\t\t|\t\t\td.errback(new Error(\"rendering failed\"));\n\t\t//\t\t|\t\t}\n\t\t//\t\t|\t\treturn d;\n\t\t//\t\t|\t}\n\t\t//\n\t\t//\t\t|\t// using Deferred style\n\t\t//\t\t|\trenderLotsOfData(someDataObj).then(null, function(){\n\t\t//\t\t|\t\tpromptUserToRecover();\n\t\t//\t\t|\t});\n\t\t//\t\t|\t// NOTE: addErrback and addCallback both return the Deferred\n\t\t//\t\t|\t// again, so we could chain adding callbacks or save the\n\t\t//\t\t|\t// deferred for later should we need to be notified again.\n\t\t// example:\n\t\t//\t\tIn this example, renderLotsOfData is synchronous and so both\n\t\t//\t\tversions are pretty artificial. Putting the data display on a\n\t\t//\t\ttimeout helps show why Deferreds rock:\n\t\t//\n\t\t//\t\t|\t// Deferred style and async func\n\t\t//\t\t|\tfunction renderLotsOfData(data){\n\t\t//\t\t|\t\tvar d = new Deferred();\n\t\t//\t\t|\t\tsetTimeout(function(){\n\t\t//\t\t|\t\t\ttry{\n\t\t//\t\t|\t\t\t\tfor(var x in data){\n\t\t//\t\t|\t\t\t\t\trenderDataitem(data[x]);\n\t\t//\t\t|\t\t\t\t}\n\t\t//\t\t|\t\t\t\td.callback(true);\n\t\t//\t\t|\t\t\t}catch(e){\n\t\t//\t\t|\t\t\t\td.errback(new Error(\"rendering failed\"));\n\t\t//\t\t|\t\t\t}\n\t\t//\t\t|\t\t}, 100);\n\t\t//\t\t|\t\treturn d;\n\t\t//\t\t|\t}\n\t\t//\n\t\t//\t\t|\t// using Deferred style\n\t\t//\t\t|\trenderLotsOfData(someDataObj).then(null, function(){\n\t\t//\t\t|\t\tpromptUserToRecover();\n\t\t//\t\t|\t});\n\t\t//\n\t\t//\t\tNote that the caller doesn't have to change his code at all to\n\t\t//\t\thandle the asynchronous case.\n\n\t\tvar result, finished, canceled, fired, isError, head, nextListener;\n\t\tvar promise = (this.promise = new Promise());\n\n\t\tfunction complete(value){\n\t\t\tif(finished){\n\t\t\t\tthrow new Error(\"This deferred has already been resolved\");\n\t\t\t}\n\t\t\tresult = value;\n\t\t\tfinished = true;\n\t\t\tnotify();\n\t\t}\n\t\tfunction notify(){\n\t\t\tvar mutated;\n\t\t\twhile(!mutated && nextListener){\n\t\t\t\tvar listener = nextListener;\n\t\t\t\tnextListener = nextListener.next;\n\t\t\t\tif((mutated = (listener.progress == mutator))){ // assignment and check\n\t\t\t\t\tfinished = false;\n\t\t\t\t}\n\n\t\t\t\tvar func = (isError ? listener.error : listener.resolved);\n\t\t\t\tif(has(\"config-useDeferredInstrumentation\")){\n\t\t\t\t\tif(isError && NewDeferred.instrumentRejected){\n\t\t\t\t\t\tNewDeferred.instrumentRejected(result, !!func);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(func){\n\t\t\t\t\ttry{\n\t\t\t\t\t\tvar newResult = func(result);\n\t\t\t\t\t\tif (newResult && typeof newResult.then === \"function\"){\n\t\t\t\t\t\t\tnewResult.then(lang.hitch(listener.deferred, \"resolve\"), lang.hitch(listener.deferred, \"reject\"), lang.hitch(listener.deferred, \"progress\"));\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar unchanged = mutated && newResult === undefined;\n\t\t\t\t\t\tif(mutated && !unchanged){\n\t\t\t\t\t\t\tisError = newResult instanceof Error;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlistener.deferred[unchanged && isError ? \"reject\" : \"resolve\"](unchanged ? result : newResult);\n\t\t\t\t\t}catch(e){\n\t\t\t\t\t\tlistener.deferred.reject(e);\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tif(isError){\n\t\t\t\t\t\tlistener.deferred.reject(result);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tlistener.deferred.resolve(result);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.isResolved = promise.isResolved = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been resolved.\n\t\t\t// returns: Boolean\n\n\t\t\treturn fired == 0;\n\t\t};\n\n\t\tthis.isRejected = promise.isRejected = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been rejected.\n\t\t\t// returns: Boolean\n\n\t\t\treturn fired == 1;\n\t\t};\n\n\t\tthis.isFulfilled = promise.isFulfilled = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been resolved or rejected.\n\t\t\t// returns: Boolean\n\n\t\t\treturn fired >= 0;\n\t\t};\n\n\t\tthis.isCanceled = promise.isCanceled = function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the deferred has been canceled.\n\t\t\t// returns: Boolean\n\n\t\t\treturn canceled;\n\t\t};\n\n\t\t// calling resolve will resolve the promise\n\t\tthis.resolve = this.callback = function(value){\n\t\t\t// summary:\n\t\t\t//\t\tFulfills the Deferred instance successfully with the provide value\n\t\t\tthis.fired = fired = 0;\n\t\t\tthis.results = [value, null];\n\t\t\tcomplete(value);\n\t\t};\n\n\n\t\t// calling error will indicate that the promise failed\n\t\tthis.reject = this.errback = function(error){\n\t\t\t// summary:\n\t\t\t//\t\tFulfills the Deferred instance as an error with the provided error\n\t\t\tisError = true;\n\t\t\tthis.fired = fired = 1;\n\t\t\tif(has(\"config-useDeferredInstrumentation\")){\n\t\t\t\tif(NewDeferred.instrumentRejected){\n\t\t\t\t\tNewDeferred.instrumentRejected(error, !!nextListener);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcomplete(error);\n\t\t\tthis.results = [null, error];\n\t\t};\n\t\t// call progress to provide updates on the progress on the completion of the promise\n\t\tthis.progress = function(update){\n\t\t\t// summary:\n\t\t\t//\t\tSend progress events to all listeners\n\t\t\tvar listener = nextListener;\n\t\t\twhile(listener){\n\t\t\t\tvar progress = listener.progress;\n\t\t\t\tprogress && progress(update);\n\t\t\t\tlistener = listener.next;\n\t\t\t}\n\t\t};\n\t\tthis.addCallbacks = function(callback, errback){\n\t\t\t// summary:\n\t\t\t//\t\tAdds callback and error callback for this deferred instance.\n\t\t\t// callback: Function?\n\t\t\t//\t\tThe callback attached to this deferred object.\n\t\t\t// errback: Function?\n\t\t\t//\t\tThe error callback attached to this deferred object.\n\t\t\t// returns:\n\t\t\t//\t\tReturns this deferred object.\n\t\t\tthis.then(callback, errback, mutator);\n\t\t\treturn this;\t// Deferred\n\t\t};\n\t\t// provide the implementation of the promise\n\t\tpromise.then = this.then = function(/*Function?*/resolvedCallback, /*Function?*/errorCallback, /*Function?*/progressCallback){\n\t\t\t// summary:\n\t\t\t//\t\tAdds a fulfilledHandler, errorHandler, and progressHandler to be called for\n\t\t\t//\t\tcompletion of a promise. The fulfilledHandler is called when the promise\n\t\t\t//\t\tis fulfilled. The errorHandler is called when a promise fails. The\n\t\t\t//\t\tprogressHandler is called for progress events. All arguments are optional\n\t\t\t//\t\tand non-function values are ignored. The progressHandler is not only an\n\t\t\t//\t\toptional argument, but progress events are purely optional. Promise\n\t\t\t//\t\tproviders are not required to ever create progress events.\n\t\t\t//\n\t\t\t//\t\tThis function will return a new promise that is fulfilled when the given\n\t\t\t//\t\tfulfilledHandler or errorHandler callback is finished. This allows promise\n\t\t\t//\t\toperations to be chained together. The value returned from the callback\n\t\t\t//\t\thandler is the fulfillment value for the returned promise. If the callback\n\t\t\t//\t\tthrows an error, the returned promise will be moved to failed state.\n\t\t\t//\n\t\t\t// returns:\n\t\t\t//\t\tReturns a new promise that represents the result of the\n\t\t\t//\t\texecution of the callback. The callbacks will never affect the original promises value.\n\t\t\t// example:\n\t\t\t//\t\tAn example of using a CommonJS compliant promise:\n\t\t\t//\t\t|\tasyncComputeTheAnswerToEverything().\n\t\t\t//\t\t|\t\tthen(addTwo).\n\t\t\t//\t\t|\t\tthen(printResult, onError);\n\t\t\t//\t\t|\t>44\n\t\t\t//\n\t\t\tvar returnDeferred = progressCallback == mutator ? this : new Deferred(promise.cancel);\n\t\t\tvar listener = {\n\t\t\t\tresolved: resolvedCallback,\n\t\t\t\terror: errorCallback,\n\t\t\t\tprogress: progressCallback,\n\t\t\t\tdeferred: returnDeferred\n\t\t\t};\n\t\t\tif(nextListener){\n\t\t\t\thead = head.next = listener;\n\t\t\t}\n\t\t\telse{\n\t\t\t\tnextListener = head = listener;\n\t\t\t}\n\t\t\tif(finished){\n\t\t\t\tnotify();\n\t\t\t}\n\t\t\treturn returnDeferred.promise; // Promise\n\t\t};\n\t\tvar deferred = this;\n\t\tpromise.cancel = this.cancel = function(){\n\t\t\t// summary:\n\t\t\t//\t\tCancels the asynchronous operation\n\t\t\tif(!finished){\n\t\t\t\tvar error = canceller && canceller(deferred);\n\t\t\t\tif(!finished){\n\t\t\t\t\tif (!(error instanceof Error)){\n\t\t\t\t\t\terror = new CancelError(error);\n\t\t\t\t\t}\n\t\t\t\t\terror.log = false;\n\t\t\t\t\tdeferred.reject(error);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanceled = true;\n\t\t};\n\t\tfreeze(promise);\n\t};\n\tlang.extend(Deferred, {\n\t\taddCallback: function(/*Function*/ callback){\n\t\t\t// summary:\n\t\t\t//\t\tAdds successful callback for this deferred instance.\n\t\t\t// returns:\n\t\t\t//\t\tReturns this deferred object.\n\t\t\treturn this.addCallbacks(lang.hitch.apply(dojo, arguments));\t// Deferred\n\t\t},\n\n\t\taddErrback: function(/*Function*/ errback){\n\t\t\t// summary:\n\t\t\t//\t\tAdds error callback for this deferred instance.\n\t\t\t// returns:\n\t\t\t//\t\tReturns this deferred object.\n\t\t\treturn this.addCallbacks(null, lang.hitch.apply(dojo, arguments));\t// Deferred\n\t\t},\n\n\t\taddBoth: function(/*Function*/ callback){\n\t\t\t// summary:\n\t\t\t//\t\tAdd handler as both successful callback and error callback for this deferred instance.\n\t\t\t// returns:\n\t\t\t//\t\tReturns this deferred object.\n\t\t\tvar enclosed = lang.hitch.apply(dojo, arguments);\n\t\t\treturn this.addCallbacks(enclosed, enclosed);\t// Deferred\n\t\t},\n\t\tfired: -1\n\t});\n\n\tDeferred.when = dojo.when = when;\n\n\treturn Deferred;\n});\n","define([\"./kernel\", \"../has\", \"./lang\"], function(dojo, has, lang){\n\t// module:\n\t//\t\tdojo/_base/array\n\n\t// our old simple function builder stuff\n\tvar cache = {}, u;\n\n\tfunction buildFn(fn){\n\t\treturn cache[fn] = new Function(\"item\", \"index\", \"array\", fn); // Function\n\t}\n\t// magic snippet: if(typeof fn == \"string\") fn = cache[fn] || buildFn(fn);\n\n\t// every & some\n\n\tfunction everyOrSome(some){\n\t\tvar every = !some;\n\t\treturn function(a, fn, o){\n\t\t\tvar i = 0, l = a && a.length || 0, result;\n\t\t\tif(l && typeof a == \"string\") a = a.split(\"\");\n\t\t\tif(typeof fn == \"string\") fn = cache[fn] || buildFn(fn);\n\t\t\tif(o){\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tresult = !fn.call(o, a[i], i, a);\n\t\t\t\t\tif(some ^ result){\n\t\t\t\t\t\treturn !result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tresult = !fn(a[i], i, a);\n\t\t\t\t\tif(some ^ result){\n\t\t\t\t\t\treturn !result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn every; // Boolean\n\t\t};\n\t}\n\n\t// indexOf, lastIndexOf\n\n\tfunction index(up){\n\t\tvar delta = 1, lOver = 0, uOver = 0;\n\t\tif(!up){\n\t\t\tdelta = lOver = uOver = -1;\n\t\t}\n\t\treturn function(a, x, from, last){\n\t\t\tif(last && delta > 0){\n\t\t\t\t// TODO: why do we use a non-standard signature? why do we need \"last\"?\n\t\t\t\treturn array.lastIndexOf(a, x, from);\n\t\t\t}\n\t\t\tvar l = a && a.length || 0, end = up ? l + uOver : lOver, i;\n\t\t\tif(from === u){\n\t\t\t\ti = up ? lOver : l + uOver;\n\t\t\t}else{\n\t\t\t\tif(from < 0){\n\t\t\t\t\ti = l + from;\n\t\t\t\t\tif(i < 0){\n\t\t\t\t\t\ti = lOver;\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\ti = from >= l ? l + uOver : from;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(l && typeof a == \"string\") a = a.split(\"\");\n\t\t\tfor(; i != end; i += delta){\n\t\t\t\tif(a[i] == x){\n\t\t\t\t\treturn i; // Number\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1; // Number\n\t\t};\n\t}\n\n\tvar array = {\n\t\t// summary:\n\t\t//\t\tThe Javascript v1.6 array extensions.\n\n\t\tevery: everyOrSome(false),\n\t\t/*=====\n\t\t every: function(arr, callback, thisObject){\n\t\t\t // summary:\n\t\t\t //\t\tDetermines whether or not every item in arr satisfies the\n\t\t\t //\t\tcondition implemented by callback.\n\t\t\t // arr: Array|String\n\t\t\t //\t\tthe array to iterate on. If a string, operates on individual characters.\n\t\t\t // callback: Function|String\n\t\t\t //\t\ta function is invoked with three arguments: item, index,\n\t\t\t //\t\tand array and returns true if the condition is met.\n\t\t\t // thisObject: Object?\n\t\t\t //\t\tmay be used to scope the call to callback\n\t\t\t // returns: Boolean\n\t\t\t // description:\n\t\t\t //\t\tThis function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when\n\t\t\t //\t\trun over sparse arrays, this implementation passes the \"holes\" in the sparse array to\n\t\t\t //\t\tthe callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.\n\t\t\t //\t\tFor more details, see:\n\t\t\t //\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every\n\t\t\t // example:\n\t\t\t //\t|\t// returns false\n\t\t\t //\t|\tarray.every([1, 2, 3, 4], function(item){ return item>1; });\n\t\t\t // example:\n\t\t\t //\t|\t// returns true\n\t\t\t //\t|\tarray.every([1, 2, 3, 4], function(item){ return item>0; });\n\t\t },\n\t\t =====*/\n\n\t\tsome: everyOrSome(true),\n\t\t/*=====\n\t\tsome: function(arr, callback, thisObject){\n\t\t\t// summary:\n\t\t\t//\t\tDetermines whether or not any item in arr satisfies the\n\t\t\t//\t\tcondition implemented by callback.\n\t\t\t// arr: Array|String\n\t\t\t//\t\tthe array to iterate over. If a string, operates on individual characters.\n\t\t\t// callback: Function|String\n\t\t\t//\t\ta function is invoked with three arguments: item, index,\n\t\t\t//\t\tand array and returns true if the condition is met.\n\t\t\t// thisObject: Object?\n\t\t\t//\t\tmay be used to scope the call to callback\n\t\t\t// returns: Boolean\n\t\t\t// description:\n\t\t\t//\t\tThis function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when\n\t\t\t//\t\trun over sparse arrays, this implementation passes the \"holes\" in the sparse array to\n\t\t\t//\t\tthe callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.\n\t\t\t//\t\tFor more details, see:\n\t\t\t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some\n\t\t\t// example:\n\t\t\t//\t| // is true\n\t\t\t//\t| array.some([1, 2, 3, 4], function(item){ return item>1; });\n\t\t\t// example:\n\t\t\t//\t| // is false\n\t\t\t//\t| array.some([1, 2, 3, 4], function(item){ return item<1; });\n\t\t},\n\t\t=====*/\n\n\t\tindexOf: index(true),\n\t\t/*=====\n\t\tindexOf: function(arr, value, fromIndex, findLast){\n\t\t\t// summary:\n\t\t\t//\t\tlocates the first index of the provided value in the\n\t\t\t//\t\tpassed array. If the value is not found, -1 is returned.\n\t\t\t// description:\n\t\t\t//\t\tThis method corresponds to the JavaScript 1.6 Array.indexOf method, with two differences:\n\t\t\t//\n\t\t\t//\t\t1. when run over sparse arrays, the Dojo function invokes the callback for every index\n\t\t\t//\t\t whereas JavaScript 1.6's indexOf skips the holes in the sparse array.\n\t\t\t//\t\t2. uses equality (==) rather than strict equality (===)\n\t\t\t//\n\t\t\t//\t\tFor details on this method, see:\n\t\t\t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf\n\t\t\t// arr: Array\n\t\t\t// value: Object\n\t\t\t// fromIndex: Integer?\n\t\t\t// findLast: Boolean?\n\t\t\t//\t\tMakes indexOf() work like lastIndexOf(). Used internally; not meant for external usage.\n\t\t\t// returns: Number\n\t\t},\n\t\t=====*/\n\n\t\tlastIndexOf: index(false),\n\t\t/*=====\n\t\tlastIndexOf: function(arr, value, fromIndex){\n\t\t\t// summary:\n\t\t\t//\t\tlocates the last index of the provided value in the passed\n\t\t\t//\t\tarray. If the value is not found, -1 is returned.\n\t\t\t// description:\n\t\t \t//\t\tThis method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with two differences:\n\t\t \t//\n\t\t \t//\t\t1. when run over sparse arrays, the Dojo function invokes the callback for every index\n\t\t \t//\t\t whereas JavaScript 1.6's lasIndexOf skips the holes in the sparse array.\n\t\t \t//\t\t2. uses equality (==) rather than strict equality (===)\n\t\t \t//\n\t\t \t//\t\tFor details on this method, see:\n\t\t \t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf\n\t\t\t// arr: Array,\n\t\t\t// value: Object,\n\t\t\t// fromIndex: Integer?\n\t\t\t// returns: Number\n\t\t},\n\t\t=====*/\n\n\t\tforEach: function(arr, callback, thisObject){\n\t\t\t// summary:\n\t\t\t//\t\tfor every item in arr, callback is invoked. Return values are ignored.\n\t\t\t//\t\tIf you want to break out of the loop, consider using array.every() or array.some().\n\t\t\t//\t\tforEach does not allow breaking out of the loop over the items in arr.\n\t\t\t// arr:\n\t\t\t//\t\tthe array to iterate over. If a string, operates on individual characters.\n\t\t\t// callback:\n\t\t\t//\t\ta function is invoked with three arguments: item, index, and array\n\t\t\t// thisObject:\n\t\t\t//\t\tmay be used to scope the call to callback\n\t\t\t// description:\n\t\t\t//\t\tThis function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when\n\t\t\t//\t\trun over sparse arrays, this implementation passes the \"holes\" in the sparse array to\n\t\t\t//\t\tthe callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.\n\t\t\t//\t\tFor more details, see:\n\t\t\t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach\n\t\t\t// example:\n\t\t\t//\t| // log out all members of the array:\n\t\t\t//\t| array.forEach(\n\t\t\t//\t|\t\t[ \"thinger\", \"blah\", \"howdy\", 10 ],\n\t\t\t//\t|\t\tfunction(item){\n\t\t\t//\t|\t\t\tconsole.log(item);\n\t\t\t//\t|\t\t}\n\t\t\t//\t| );\n\t\t\t// example:\n\t\t\t//\t| // log out the members and their indexes\n\t\t\t//\t| array.forEach(\n\t\t\t//\t|\t\t[ \"thinger\", \"blah\", \"howdy\", 10 ],\n\t\t\t//\t|\t\tfunction(item, idx, arr){\n\t\t\t//\t|\t\t\tconsole.log(item, \"at index:\", idx);\n\t\t\t//\t|\t\t}\n\t\t\t//\t| );\n\t\t\t// example:\n\t\t\t//\t| // use a scoped object member as the callback\n\t\t\t//\t|\n\t\t\t//\t| var obj = {\n\t\t\t//\t|\t\tprefix: \"logged via obj.callback:\",\n\t\t\t//\t|\t\tcallback: function(item){\n\t\t\t//\t|\t\t\tconsole.log(this.prefix, item);\n\t\t\t//\t|\t\t}\n\t\t\t//\t| };\n\t\t\t//\t|\n\t\t\t//\t| // specifying the scope function executes the callback in that scope\n\t\t\t//\t| array.forEach(\n\t\t\t//\t|\t\t[ \"thinger\", \"blah\", \"howdy\", 10 ],\n\t\t\t//\t|\t\tobj.callback,\n\t\t\t//\t|\t\tobj\n\t\t\t//\t| );\n\t\t\t//\t|\n\t\t\t//\t| // alternately, we can accomplish the same thing with lang.hitch()\n\t\t\t//\t| array.forEach(\n\t\t\t//\t|\t\t[ \"thinger\", \"blah\", \"howdy\", 10 ],\n\t\t\t//\t|\t\tlang.hitch(obj, \"callback\")\n\t\t\t//\t| );\n\t\t\t// arr: Array|String\n\t\t\t// callback: Function|String\n\t\t\t// thisObject: Object?\n\n\t\t\tvar i = 0, l = arr && arr.length || 0;\n\t\t\tif(l && typeof arr == \"string\") arr = arr.split(\"\");\n\t\t\tif(typeof callback == \"string\") callback = cache[callback] || buildFn(callback);\n\t\t\tif(thisObject){\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tcallback.call(thisObject, arr[i], i, arr);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tcallback(arr[i], i, arr);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tmap: function(arr, callback, thisObject, Ctr){\n\t\t\t// summary:\n\t\t\t//\t\tapplies callback to each element of arr and returns\n\t\t\t//\t\tan Array with the results\n\t\t\t// arr: Array|String\n\t\t\t//\t\tthe array to iterate on. If a string, operates on\n\t\t\t//\t\tindividual characters.\n\t\t\t// callback: Function|String\n\t\t\t//\t\ta function is invoked with three arguments, (item, index,\n\t\t\t//\t\tarray),\t and returns a value\n\t\t\t// thisObject: Object?\n\t\t\t//\t\tmay be used to scope the call to callback\n\t\t\t// returns: Array\n\t\t\t// description:\n\t\t\t//\t\tThis function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when\n\t\t\t//\t\trun over sparse arrays, this implementation passes the \"holes\" in the sparse array to\n\t\t\t//\t\tthe callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.\n\t\t\t//\t\tFor more details, see:\n\t\t\t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map\n\t\t\t// example:\n\t\t\t//\t| // returns [2, 3, 4, 5]\n\t\t\t//\t| array.map([1, 2, 3, 4], function(item){ return item+1 });\n\n\t\t\t// TODO: why do we have a non-standard signature here? do we need \"Ctr\"?\n\t\t\tvar i = 0, l = arr && arr.length || 0, out = new (Ctr || Array)(l);\n\t\t\tif(l && typeof arr == \"string\") arr = arr.split(\"\");\n\t\t\tif(typeof callback == \"string\") callback = cache[callback] || buildFn(callback);\n\t\t\tif(thisObject){\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tout[i] = callback.call(thisObject, arr[i], i, arr);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tout[i] = callback(arr[i], i, arr);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn out; // Array\n\t\t},\n\n\t\tfilter: function(arr, callback, thisObject){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a new Array with those items from arr that match the\n\t\t\t//\t\tcondition implemented by callback.\n\t\t\t// arr: Array\n\t\t\t//\t\tthe array to iterate over.\n\t\t\t// callback: Function|String\n\t\t\t//\t\ta function that is invoked with three arguments (item,\n\t\t\t//\t\tindex, array). The return of this function is expected to\n\t\t\t//\t\tbe a boolean which determines whether the passed-in item\n\t\t\t//\t\twill be included in the returned array.\n\t\t\t// thisObject: Object?\n\t\t\t//\t\tmay be used to scope the call to callback\n\t\t\t// returns: Array\n\t\t\t// description:\n\t\t\t//\t\tThis function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when\n\t\t\t//\t\trun over sparse arrays, this implementation passes the \"holes\" in the sparse array to\n\t\t\t//\t\tthe callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.\n\t\t\t//\t\tFor more details, see:\n\t\t\t//\t\thttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter\n\t\t\t// example:\n\t\t\t//\t| // returns [2, 3, 4]\n\t\t\t//\t| array.filter([1, 2, 3, 4], function(item){ return item>1; });\n\n\t\t\t// TODO: do we need \"Ctr\" here like in map()?\n\t\t\tvar i = 0, l = arr && arr.length || 0, out = [], value;\n\t\t\tif(l && typeof arr == \"string\") arr = arr.split(\"\");\n\t\t\tif(typeof callback == \"string\") callback = cache[callback] || buildFn(callback);\n\t\t\tif(thisObject){\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tvalue = arr[i];\n\t\t\t\t\tif(callback.call(thisObject, value, i, arr)){\n\t\t\t\t\t\tout.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tfor(; i < l; ++i){\n\t\t\t\t\tvalue = arr[i];\n\t\t\t\t\tif(callback(value, i, arr)){\n\t\t\t\t\t\tout.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn out; // Array\n\t\t},\n\n\t\tclearCache: function(){\n\t\t\tcache = {};\n\t\t}\n\t};\n\n\n\thas(\"extend-dojo\") && lang.mixin(dojo, array);\n\n\treturn array;\n});\n","define([\"../global\", \"../has\", \"require\"], function(global, has, require){\n\t// module:\n\t//\t\tdojo/_base/config\n\n/*=====\nreturn {\n\t// summary:\n\t//\t\tThis module defines the user configuration during bootstrap.\n\t// description:\n\t//\t\tBy defining user configuration as a module value, an entire configuration can be specified in a build,\n\t//\t\tthereby eliminating the need for sniffing and or explicitly setting in the global variable dojoConfig.\n\t//\t\tAlso, when multiple instances of dojo exist in a single application, each will necessarily be located\n\t//\t\tat an unique absolute module identifier as given by the package configuration. Implementing configuration\n\t//\t\tas a module allows for specifying unique, per-instance configurations.\n\t// example:\n\t//\t\tCreate a second instance of dojo with a different, instance-unique configuration (assume the loader and\n\t//\t\tdojo.js are already loaded).\n\t//\t\t|\t// specify a configuration that creates a new instance of dojo at the absolute module identifier \"myDojo\"\n\t//\t\t|\trequire({\n\t//\t\t|\t\tpackages:[{\n\t//\t\t|\t\t\tname:\"myDojo\",\n\t//\t\t|\t\t\tlocation:\".\", //assume baseUrl points to dojo.js\n\t//\t\t|\t\t}]\n\t//\t\t|\t});\n\t//\t\t|\n\t//\t\t|\t// specify a configuration for the myDojo instance\n\t//\t\t|\tdefine(\"myDojo/config\", {\n\t//\t\t|\t\t// normal configuration variables go here, e.g.,\n\t//\t\t|\t\tlocale:\"fr-ca\"\n\t//\t\t|\t});\n\t//\t\t|\n\t//\t\t|\t// load and use the new instance of dojo\n\t//\t\t|\trequire([\"myDojo\"], function(dojo){\n\t//\t\t|\t\t// dojo is the new instance of dojo\n\t//\t\t|\t\t// use as required\n\t//\t\t|\t});\n\n\t// isDebug: Boolean\n\t//\t\tDefaults to `false`. If set to `true`, ensures that Dojo provides\n\t//\t\textended debugging feedback to the console.\n\tisDebug: false,\n\n\t// locale: String\n\t//\t\tThe locale to assume for loading localized resources in this page,\n\t//\t\tspecified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt).\n\t//\t\tMust be specified entirely in lowercase, e.g. `en-us` and `zh-cn`.\n\t//\t\tSee the documentation for `dojo.i18n` and `dojo.requireLocalization`\n\t//\t\tfor details on loading localized resources. If no locale is specified,\n\t//\t\tDojo assumes the locale of the user agent, according to `navigator.userLanguage`\n\t//\t\tor `navigator.language` properties.\n\tlocale: undefined,\n\n\t// extraLocale: Array\n\t//\t\tNo default value. Specifies additional locales whose\n\t//\t\tresources should also be loaded alongside the default locale when\n\t//\t\tcalls to `dojo.requireLocalization()` are processed.\n\textraLocale: undefined,\n\n\t// baseUrl: String\n\t//\t\tThe directory in which `dojo.js` is located. Under normal\n\t//\t\tconditions, Dojo auto-detects the correct location from which it\n\t//\t\twas loaded. You may need to manually configure `baseUrl` in cases\n\t//\t\twhere you have renamed `dojo.js` or in which `<base>` tags confuse\n\t//\t\tsome browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned\n\t//\t\teither the value of `djConfig.baseUrl` if one is provided or the\n\t//\t\tauto-detected root if not. Other modules are located relative to\n\t//\t\tthis path. The path should end in a slash.\n\tbaseUrl: undefined,\n\n\t// modulePaths: [deprecated] Object\n\t//\t\tA map of module names to paths relative to `dojo.baseUrl`. The\n\t//\t\tkey/value pairs correspond directly to the arguments which\n\t//\t\t`dojo.registerModulePath` accepts. Specifying\n\t//\t\t`djConfig.modulePaths = { \"foo\": \"../../bar\" }` is the equivalent\n\t//\t\tof calling `dojo.registerModulePath(\"foo\", \"../../bar\");`. Multiple\n\t//\t\tmodules may be configured via `djConfig.modulePaths`.\n\tmodulePaths: {},\n\n\t// addOnLoad: Function|Array\n\t//\t\tAdds a callback via dojo/ready. Useful when Dojo is added after\n\t//\t\tthe page loads and djConfig.afterOnLoad is true. Supports the same\n\t//\t\targuments as dojo/ready. When using a function reference, use\n\t//\t\t`djConfig.addOnLoad = function(){};`. For object with function name use\n\t//\t\t`djConfig.addOnLoad = [myObject, \"functionName\"];` and for object with\n\t//\t\tfunction reference use\n\t//\t\t`djConfig.addOnLoad = [myObject, function(){}];`\n\taddOnLoad: null,\n\n\t// parseOnLoad: Boolean\n\t//\t\tRun the parser after the page is loaded\n\tparseOnLoad: false,\n\n\t// require: String[]\n\t//\t\tAn array of module names to be loaded immediately after dojo.js has been included\n\t//\t\tin a page.\n\trequire: [],\n\n\t// defaultDuration: Number\n\t//\t\tDefault duration, in milliseconds, for wipe and fade animations within dijits.\n\t//\t\tAssigned to dijit.defaultDuration.\n\tdefaultDuration: 200,\n\n\t// dojoBlankHtmlUrl: String\n\t//\t\tUsed by some modules to configure an empty iframe. Used by dojo/io/iframe and\n\t//\t\tdojo/back, and dijit/popup support in IE where an iframe is needed to make sure native\n\t//\t\tcontrols do not bleed through the popups. Normally this configuration variable\n\t//\t\tdoes not need to be set, except when using cross-domain/CDN Dojo builds.\n\t//\t\tSave dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl`\n\t//\t\tto the path on your domain your copy of blank.html.\n\tdojoBlankHtmlUrl: undefined,\n\n\t// ioPublish: Boolean?\n\t//\t\tSet this to true to enable publishing of topics for the different phases of\n\t//\t\tIO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list\n\t//\t\tof topics that are published.\n\tioPublish: false,\n\n\t// transparentColor: Array\n\t//\t\tArray containing the r, g, b components used as transparent color in dojo.Color;\n\t//\t\tif undefined, [255,255,255] (white) will be used.\n\ttransparentColor: undefined,\n\t\n\t// deps: Function|Array\n\t//\t\tDefines dependencies to be used before the loader has been loaded.\n\t//\t\tWhen provided, they cause the loader to execute require(deps, callback) \n\t//\t\tonce it has finished loading. Should be used with callback.\n\tdeps: undefined,\n\t\n\t// callback: Function|Array\n\t//\t\tDefines a callback to be used when dependencies are defined before \n\t//\t\tthe loader has been loaded. When provided, they cause the loader to \n\t//\t\texecute require(deps, callback) once it has finished loading. \n\t//\t\tShould be used with deps.\n\tcallback: undefined,\n\t\n\t// deferredInstrumentation: Boolean\n\t//\t\tWhether deferred instrumentation should be loaded or included\n\t//\t\tin builds.\n\tdeferredInstrumentation: true,\n\n\t// useDeferredInstrumentation: Boolean|String\n\t//\t\tWhether the deferred instrumentation should be used.\n\t//\n\t//\t\t* `\"report-rejections\"`: report each rejection as it occurs.\n\t//\t\t* `true` or `1` or `\"report-unhandled-rejections\"`: wait 1 second\n\t//\t\t\tin an attempt to detect unhandled rejections.\n\tuseDeferredInstrumentation: \"report-unhandled-rejections\"\n};\n=====*/\n\n\tvar result = {};\n\tif(has(\"dojo-config-api\")){\n\t\t// must be the dojo loader; take a shallow copy of require.rawConfig\n\t\tvar src = require.rawConfig, p;\n\t\tfor(p in src){\n\t\t\tresult[p] = src[p];\n\t\t}\n\t}else{\n\t\tvar adviseHas = function(featureSet, prefix, booting){\n\t\t\tfor(p in featureSet){\n\t\t\t\tp!=\"has\" && has.add(prefix + p, featureSet[p], 0, booting);\n\t\t\t}\n\t\t};\n\t\tresult = has(\"dojo-loader\") ?\n\t\t\t// must be a built version of the dojo loader; all config stuffed in require.rawConfig\n\t\t\trequire.rawConfig :\n\t\t\t// a foreign loader\n\t\t\tglobal.dojoConfig || global.djConfig || {};\n\t\tadviseHas(result, \"config\", 1);\n\t\tadviseHas(result.has, \"\", 1);\n\t}\n\n\tif(!result.locale && typeof navigator != \"undefined\"){\n\t\t// Default locale for browsers (ensure it's read from user-settings not download locale).\n\t\tvar language = (navigator.languages && navigator.languages.length) ? navigator.languages[0] :\n\t\t\t(navigator.language || navigator.userLanguage);\n\t\tif(language){\n\t\t\tresult.locale = language.toLowerCase();\n\t\t}\n\t}\n\n\treturn result;\n});\n\n","define([\"./kernel\", \"../on\", \"../topic\", \"../aspect\", \"./event\", \"../mouse\", \"./sniff\", \"./lang\", \"../keys\"], function(dojo, on, hub, aspect, eventModule, mouse, has, lang){\n// module:\n//\t\tdojo/_base/connect\n\nhas.add(\"events-keypress-typed\", function(){ // keypresses should only occur a printable character is hit\n\tvar testKeyEvent = {charCode: 0};\n\ttry{\n\t\ttestKeyEvent = document.createEvent(\"KeyboardEvent\");\n\t\t(testKeyEvent.initKeyboardEvent || testKeyEvent.initKeyEvent).call(testKeyEvent, \"keypress\", true, true, null, false, false, false, false, 9, 3);\n\t}catch(e){}\n\treturn testKeyEvent.charCode == 0 && !has(\"opera\");\n});\n\nfunction connect_(obj, event, context, method, dontFix){\n\tmethod = lang.hitch(context, method);\n\tif(!obj || !(obj.addEventListener || obj.attachEvent)){\n\t\t// it is a not a DOM node and we are using the dojo.connect style of treating a\n\t\t// method like an event, must go right to aspect\n\t\treturn aspect.after(obj || dojo.global, event, method, true);\n\t}\n\tif(typeof event == \"string\" && event.substring(0, 2) == \"on\"){\n\t\tevent = event.substring(2);\n\t}\n\tif(!obj){\n\t\tobj = dojo.global;\n\t}\n\tif(!dontFix){\n\t\tswitch(event){\n\t\t\t// dojo.connect has special handling for these event types\n\t\t\tcase \"keypress\":\n\t\t\t\tevent = keypress;\n\t\t\t\tbreak;\n\t\t\tcase \"mouseenter\":\n\t\t\t\tevent = mouse.enter;\n\t\t\t\tbreak;\n\t\t\tcase \"mouseleave\":\n\t\t\t\tevent = mouse.leave;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn on(obj, event, method, dontFix);\n}\n\nvar _punctMap = {\n\t106:42,\n\t111:47,\n\t186:59,\n\t187:43,\n\t188:44,\n\t189:45,\n\t190:46,\n\t191:47,\n\t192:96,\n\t219:91,\n\t220:92,\n\t221:93,\n\t222:39,\n\t229:113\n};\nvar evtCopyKey = has(\"mac\") ? \"metaKey\" : \"ctrlKey\";\n\n\nvar _synthesizeEvent = function(evt, props){\n\tvar faux = lang.mixin({}, evt, props);\n\tsetKeyChar(faux);\n\t// FIXME: would prefer to use lang.hitch: lang.hitch(evt, evt.preventDefault);\n\t// but it throws an error when preventDefault is invoked on Safari\n\t// does Event.preventDefault not support \"apply\" on Safari?\n\tfaux.preventDefault = function(){ evt.preventDefault(); };\n\tfaux.stopPropagation = function(){ evt.stopPropagation(); };\n\treturn faux;\n};\nfunction setKeyChar(evt){\n\tevt.keyChar = evt.charCode ? String.fromCharCode(evt.charCode) : '';\n\tevt.charOrCode = evt.keyChar || evt.keyCode;\n}\nvar keypress;\nif(has(\"events-keypress-typed\")){\n\t// this emulates Firefox's keypress behavior where every keydown can correspond to a keypress\n\tvar _trySetKeyCode = function(e, code){\n\t\ttry{\n\t\t\t// squelch errors when keyCode is read-only\n\t\t\t// (e.g. if keyCode is ctrl or shift)\n\t\t\treturn (e.keyCode = code);\n\t\t}catch(e){\n\t\t\treturn 0;\n\t\t}\n\t};\n\tkeypress = function(object, listener){\n\t\tvar keydownSignal = on(object, \"keydown\", function(evt){\n\t\t\t// munge key/charCode\n\t\t\tvar k=evt.keyCode;\n\t\t\t// These are Windows Virtual Key Codes\n\t\t\t// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp\n\t\t\tvar unprintable = (k!=13) && k!=32 && (k!=27||!has(\"ie\")) && (k<48||k>90) && (k<96||k>111) && (k<186||k>192) && (k<219||k>222) && k!=229;\n\t\t\t// synthesize keypress for most unprintables and CTRL-keys\n\t\t\tif(unprintable||evt.ctrlKey){\n\t\t\t\tvar c = unprintable ? 0 : k;\n\t\t\t\tif(evt.ctrlKey){\n\t\t\t\t\tif(k==3 || k==13){\n\t\t\t\t\t\treturn listener.call(evt.currentTarget, evt); // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively\n\t\t\t\t\t}else if(c>95 && c<106){\n\t\t\t\t\t\tc -= 48; // map CTRL-[numpad 0-9] to ASCII\n\t\t\t\t\t}else if((!evt.shiftKey)&&(c>=65&&c<=90)){\n\t\t\t\t\t\tc += 32; // map CTRL-[A-Z] to lowercase\n\t\t\t\t\t}else{\n\t\t\t\t\t\tc = _punctMap[c] || c; // map other problematic CTRL combinations to ASCII\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// simulate a keypress event\n\t\t\t\tvar faux = _synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c});\n\t\t\t\tlistener.call(evt.currentTarget, faux);\n\t\t\t\tif(has(\"ie\")){\n\t\t\t\t\t_trySetKeyCode(evt, faux.keyCode);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tvar keypressSignal = on(object, \"keypress\", function(evt){\n\t\t\tvar c = evt.charCode;\n\t\t\tc = c>=32 ? c : 0;\n\t\t\tevt = _synthesizeEvent(evt, {charCode: c, faux: true});\n\t\t\treturn listener.call(this, evt);\n\t\t});\n\t\treturn {\n\t\t\tremove: function(){\n\t\t\t\tkeydownSignal.remove();\n\t\t\t\tkeypressSignal.remove();\n\t\t\t}\n\t\t};\n\t};\n}else{\n\tif(has(\"opera\")){\n\t\tkeypress = function(object, listener){\n\t\t\treturn on(object, \"keypress\", function(evt){\n\t\t\t\tvar c = evt.which;\n\t\t\t\tif(c==3){\n\t\t\t\t\tc=99; // Mozilla maps CTRL-BREAK to CTRL-c\n\t\t\t\t}\n\t\t\t\t// can't trap some keys at all, like INSERT and DELETE\n\t\t\t\t// there is no differentiating info between DELETE and \".\", or INSERT and \"-\"\n\t\t\t\tc = c<32 && !evt.shiftKey ? 0 : c;\n\t\t\t\tif(evt.ctrlKey && !evt.shiftKey && c>=65 && c<=90){\n\t\t\t\t\t// lowercase CTRL-[A-Z] keys\n\t\t\t\t\tc += 32;\n\t\t\t\t}\n\t\t\t\treturn listener.call(this, _synthesizeEvent(evt, { charCode: c }));\n\t\t\t});\n\t\t};\n\t}else{\n\t\tkeypress = function(object, listener){\n\t\t\treturn on(object, \"keypress\", function(evt){\n\t\t\t\tsetKeyChar(evt);\n\t\t\t\treturn listener.call(this, evt);\n\t\t\t});\n\t\t};\n\t}\n}\n\nvar connect = {\n\t// summary:\n\t//\t\tThis module defines the dojo.connect API.\n\t//\t\tThis modules also provides keyboard event handling helpers.\n\t//\t\tThis module exports an extension event for emulating Firefox's keypress handling.\n\t//\t\tHowever, this extension event exists primarily for backwards compatibility and\n\t//\t\tis not recommended. WebKit and IE uses an alternate keypress handling (only\n\t//\t\tfiring for printable characters, to distinguish from keydown events), and most\n\t//\t\tconsider the WebKit/IE behavior more desirable.\n\n\t_keypress:keypress,\n\n\tconnect:function(obj, event, context, method, dontFix){\n\t\t// summary:\n\t\t//\t\t`dojo.connect` is a deprecated event handling and delegation method in\n\t\t//\t\tDojo. It allows one function to \"listen in\" on the execution of\n\t\t//\t\tany other, triggering the second whenever the first is called. Many\n\t\t//\t\tlisteners may be attached to a function, and source functions may\n\t\t//\t\tbe either regular function calls or DOM events.\n\t\t//\n\t\t// description:\n\t\t//\t\tConnects listeners to actions, so that after event fires, a\n\t\t//\t\tlistener is called with the same arguments passed to the original\n\t\t//\t\tfunction.\n\t\t//\n\t\t//\t\tSince `dojo.connect` allows the source of events to be either a\n\t\t//\t\t\"regular\" JavaScript function or a DOM event, it provides a uniform\n\t\t//\t\tinterface for listening to all the types of events that an\n\t\t//\t\tapplication is likely to deal with though a single, unified\n\t\t//\t\tinterface. DOM programmers may want to think of it as\n\t\t//\t\t\"addEventListener for everything and anything\".\n\t\t//\n\t\t//\t\tWhen setting up a connection, the `event` parameter must be a\n\t\t//\t\tstring that is the name of the method/event to be listened for. If\n\t\t//\t\t`obj` is null, `kernel.global` is assumed, meaning that connections\n\t\t//\t\tto global methods are supported but also that you may inadvertently\n\t\t//\t\tconnect to a global by passing an incorrect object name or invalid\n\t\t//\t\treference.\n\t\t//\n\t\t//\t\t`dojo.connect` generally is forgiving. If you pass the name of a\n\t\t//\t\tfunction or method that does not yet exist on `obj`, connect will\n\t\t//\t\tnot fail, but will instead set up a stub method. Similarly, null\n\t\t//\t\targuments may simply be omitted such that fewer than 4 arguments\n\t\t//\t\tmay be required to set up a connection See the examples for details.\n\t\t//\n\t\t//\t\tThe return value is a handle that is needed to\n\t\t//\t\tremove this connection with `dojo.disconnect`.\n\t\t//\n\t\t// obj: Object?\n\t\t//\t\tThe source object for the event function.\n\t\t//\t\tDefaults to `kernel.global` if null.\n\t\t//\t\tIf obj is a DOM node, the connection is delegated\n\t\t//\t\tto the DOM event manager (unless dontFix is true).\n\t\t//\n\t\t// event: String\n\t\t//\t\tString name of the event function in obj.\n\t\t//\t\tI.e. identifies a property `obj[event]`.\n\t\t//\n\t\t// context: Object|null\n\t\t//\t\tThe object that method will receive as \"this\".\n\t\t//\n\t\t//\t\tIf context is null and method is a function, then method\n\t\t//\t\tinherits the context of event.\n\t\t//\n\t\t//\t\tIf method is a string then context must be the source\n\t\t//\t\tobject object for method (context[method]). If context is null,\n\t\t//\t\tkernel.global is used.\n\t\t//\n\t\t// method: String|Function\n\t\t//\t\tA function reference, or name of a function in context.\n\t\t//\t\tThe function identified by method fires after event does.\n\t\t//\t\tmethod receives the same arguments as the event.\n\t\t//\t\tSee context argument comments for information on method's scope.\n\t\t//\n\t\t// dontFix: Boolean?\n\t\t//\t\tIf obj is a DOM node, set dontFix to true to prevent delegation\n\t\t//\t\tof this connection to the DOM event manager.\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen obj.onchange(), do ui.update():\n\t\t//\t|\tdojo.connect(obj, \"onchange\", ui, \"update\");\n\t\t//\t|\tdojo.connect(obj, \"onchange\", ui, ui.update); // same\n\t\t//\n\t\t// example:\n\t\t//\t\tUsing return value for disconnect:\n\t\t//\t|\tvar link = dojo.connect(obj, \"onchange\", ui, \"update\");\n\t\t//\t|\t...\n\t\t//\t|\tdojo.disconnect(link);\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen onglobalevent executes, watcher.handler is invoked:\n\t\t//\t|\tdojo.connect(null, \"onglobalevent\", watcher, \"handler\");\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen ob.onCustomEvent executes, customEventHandler is invoked:\n\t\t//\t|\tdojo.connect(ob, \"onCustomEvent\", null, \"customEventHandler\");\n\t\t//\t|\tdojo.connect(ob, \"onCustomEvent\", \"customEventHandler\"); // same\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen ob.onCustomEvent executes, customEventHandler is invoked\n\t\t//\t\twith the same scope (this):\n\t\t//\t|\tdojo.connect(ob, \"onCustomEvent\", null, customEventHandler);\n\t\t//\t|\tdojo.connect(ob, \"onCustomEvent\", customEventHandler); // same\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen globalEvent executes, globalHandler is invoked\n\t\t//\t\twith the same scope (this):\n\t\t//\t|\tdojo.connect(null, \"globalEvent\", null, globalHandler);\n\t\t//\t|\tdojo.connect(\"globalEvent\", globalHandler); // same\n\n\t\t// normalize arguments\n\t\tvar a=arguments, args=[], i=0;\n\t\t// if a[0] is a String, obj was omitted\n\t\targs.push(typeof a[0] == \"string\" ? null : a[i++], a[i++]);\n\t\t// if the arg-after-next is a String or Function, context was NOT omitted\n\t\tvar a1 = a[i+1];\n\t\targs.push(typeof a1 == \"string\" || typeof a1 == \"function\" ? a[i++] : null, a[i++]);\n\t\t// absorb any additional arguments\n\t\tfor(var l=a.length; i<l; i++){\targs.push(a[i]); }\n\t\treturn connect_.apply(this, args);\n\t},\n\n\tdisconnect:function(handle){\n\t\t// summary:\n\t\t//\t\tRemove a link created by dojo.connect.\n\t\t// description:\n\t\t//\t\tRemoves the connection between event and the method referenced by handle.\n\t\t// handle: Handle\n\t\t//\t\tthe return value of the dojo.connect call that created the connection.\n\n\t\tif(handle){\n\t\t\thandle.remove();\n\t\t}\n\t},\n\n\tsubscribe:function(topic, context, method){\n\t\t// summary:\n\t\t//\t\tAttach a listener to a named topic. The listener function is invoked whenever the\n\t\t//\t\tnamed topic is published (see: dojo.publish).\n\t\t//\t\tReturns a handle which is needed to unsubscribe this listener.\n\t\t// topic: String\n\t\t//\t\tThe topic to which to subscribe.\n\t\t// context: Object?\n\t\t//\t\tScope in which method will be invoked, or null for default scope.\n\t\t// method: String|Function\n\t\t//\t\tThe name of a function in context, or a function reference. This is the function that\n\t\t//\t\tis invoked when topic is published.\n\t\t// example:\n\t\t//\t|\tdojo.subscribe(\"alerts\", null, function(caption, message){ alert(caption + \"\\n\" + message); });\n\t\t//\t|\tdojo.publish(\"alerts\", [ \"read this\", \"hello world\" ]);\n\t\treturn hub.subscribe(topic, lang.hitch(context, method));\n\t},\n\n\tpublish:function(topic, args){\n\t\t// summary:\n\t\t//\t\tInvoke all listener method subscribed to topic.\n\t\t// topic: String\n\t\t//\t\tThe name of the topic to publish.\n\t\t// args: Array?\n\t\t//\t\tAn array of arguments. The arguments will be applied\n\t\t//\t\tto each topic subscriber (as first class parameters, via apply).\n\t\t// example:\n\t\t//\t|\tdojo.subscribe(\"alerts\", null, function(caption, message){ alert(caption + \"\\n\" + message); };\n\t\t//\t|\tdojo.publish(\"alerts\", [ \"read this\", \"hello world\" ]);\n\t\treturn hub.publish.apply(hub, [topic].concat(args));\n\t},\n\n\tconnectPublisher:function(topic, obj, event){\n\t\t// summary:\n\t\t//\t\tEnsure that every time obj.event() is called, a message is published\n\t\t//\t\ton the topic. Returns a handle which can be passed to\n\t\t//\t\tdojo.disconnect() to disable subsequent automatic publication on\n\t\t//\t\tthe topic.\n\t\t// topic: String\n\t\t//\t\tThe name of the topic to publish.\n\t\t// obj: Object?\n\t\t//\t\tThe source object for the event function. Defaults to kernel.global\n\t\t//\t\tif null.\n\t\t// event: String\n\t\t//\t\tThe name of the event function in obj.\n\t\t//\t\tI.e. identifies a property obj[event].\n\t\t// example:\n\t\t//\t|\tdojo.connectPublisher(\"/ajax/start\", dojo, \"xhrGet\");\n\t\tvar pf = function(){ connect.publish(topic, arguments); };\n\t\treturn event ? connect.connect(obj, event, pf) : connect.connect(obj, pf); //Handle\n\t},\n\n\tisCopyKey: function(e){\n\t\t// summary:\n\t\t//\t\tChecks an event for the copy key (meta on Mac, and ctrl anywhere else)\n\t\t// e: Event\n\t\t//\t\tEvent object to examine\n\t\treturn e[evtCopyKey];\t// Boolean\n\t}\n};\n\nconnect.unsubscribe = connect.disconnect;\n/*=====\n connect.unsubscribe = function(handle){\n\t // summary:\n\t //\t\tRemove a topic listener.\n\t // handle: Handle\n\t //\t\tThe handle returned from a call to subscribe.\n\t // example:\n\t //\t|\tvar alerter = dojo.subscribe(\"alerts\", null, function(caption, message){ alert(caption + \"\\n\" + message); };\n\t //\t|\t...\n\t //\t|\tdojo.unsubscribe(alerter);\n };\n =====*/\n\nhas(\"extend-dojo\") && lang.mixin(dojo, connect);\nreturn connect;\n\n});\n\n\n","define([\"./kernel\", \"../has\", \"./lang\"], function(dojo, has, lang){\n\t// module:\n\t//\t\tdojo/_base/declare\n\n\tvar mix = lang.mixin, op = Object.prototype, opts = op.toString,\n\t\txtor, counter = 0, cname = \"constructor\";\n\n\tif(!has(\"csp-restrictions\")){\n\t\t// 'new Function()' is preferable when available since it does not create a closure\n\t\txtor = new Function;\n\t}else{\n\t\txtor = function(){};\n\t}\n\n\tfunction err(msg, cls){ throw new Error(\"declare\" + (cls ? \" \" + cls : \"\") + \": \" + msg); }\n\n\t// C3 Method Resolution Order (see http://www.python.org/download/releases/2.3/mro/)\n\tfunction c3mro(bases, className){\n\t\tvar result = [], roots = [{cls: 0, refs: []}], nameMap = {}, clsCount = 1,\n\t\t\tl = bases.length, i = 0, j, lin, base, top, proto, rec, name, refs;\n\n\t\t// build a list of bases naming them if needed\n\t\tfor(; i < l; ++i){\n\t\t\tbase = bases[i];\n\t\t\tif(!base){\n\t\t\t\terr(\"mixin #\" + i + \" is unknown. Did you use dojo.require to pull it in?\", className);\n\t\t\t}else if(opts.call(base) != \"[object Function]\"){\n\t\t\t\terr(\"mixin #\" + i + \" is not a callable constructor.\", className);\n\t\t\t}\n\t\t\tlin = base._meta ? base._meta.bases : [base];\n\t\t\ttop = 0;\n\t\t\t// add bases to the name map\n\t\t\tfor(j = lin.length - 1; j >= 0; --j){\n\t\t\t\tproto = lin[j].prototype;\n\t\t\t\tif(!proto.hasOwnProperty(\"declaredClass\")){\n\t\t\t\t\tproto.declaredClass = \"uniqName_\" + (counter++);\n\t\t\t\t}\n\t\t\t\tname = proto.declaredClass;\n\t\t\t\tif(!nameMap.hasOwnProperty(name)){\n\t\t\t\t\tnameMap[name] = {count: 0, refs: [], cls: lin[j]};\n\t\t\t\t\t++clsCount;\n\t\t\t\t}\n\t\t\t\trec = nameMap[name];\n\t\t\t\tif(top && top !== rec){\n\t\t\t\t\trec.refs.push(top);\n\t\t\t\t\t++top.count;\n\t\t\t\t}\n\t\t\t\ttop = rec;\n\t\t\t}\n\t\t\t++top.count;\n\t\t\troots[0].refs.push(top);\n\t\t}\n\n\t\t// remove classes without external references recursively\n\t\twhile(roots.length){\n\t\t\ttop = roots.pop();\n\t\t\tresult.push(top.cls);\n\t\t\t--clsCount;\n\t\t\t// optimization: follow a single-linked chain\n\t\t\twhile(refs = top.refs, refs.length == 1){\n\t\t\t\ttop = refs[0];\n\t\t\t\tif(!top || --top.count){\n\t\t\t\t\t// branch or end of chain => do not end to roots\n\t\t\t\t\ttop = 0;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tresult.push(top.cls);\n\t\t\t\t--clsCount;\n\t\t\t}\n\t\t\tif(top){\n\t\t\t\t// branch\n\t\t\t\tfor(i = 0, l = refs.length; i < l; ++i){\n\t\t\t\t\ttop = refs[i];\n\t\t\t\t\tif(!--top.count){\n\t\t\t\t\t\troots.push(top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(clsCount){\n\t\t\terr(\"can't build consistent linearization\", className);\n\t\t}\n\n\t\t// calculate the superclass offset\n\t\tbase = bases[0];\n\t\tresult[0] = base ?\n\t\t\tbase._meta && base === result[result.length - base._meta.bases.length] ?\n\t\t\t\tbase._meta.bases.length : 1 : 0;\n\n\t\treturn result;\n\t}\n\n\tfunction inherited(args, a, f, g){\n\t\tvar name, chains, bases, caller, meta, base, proto, opf, pos,\n\t\t\tcache = this._inherited = this._inherited || {};\n\n\t\t// crack arguments\n\t\tif(typeof args === \"string\"){\n\t\t\tname = args;\n\t\t\targs = a;\n\t\t\ta = f;\n\t\t\tf = g;\n\t\t}\n\n\t\tif(typeof args === \"function\"){\n\t\t\t// support strict mode\n\t\t\tcaller = args;\n\t\t\targs = a;\n\t\t\ta = f;\n\t\t}else{\n\t\t\ttry{\n\t\t\t\tcaller = args.callee;\n\t\t\t}catch (e){\n\t\t\t\tif(e instanceof TypeError){\n\t\t\t\t\t// caller was defined in a strict-mode context\n\t\t\t\t\terr(\"strict mode inherited() requires the caller function to be passed before arguments\", this.declaredClass);\n\t\t\t\t}else{\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tname = name || caller.nom;\n\t\tif(!name){\n\t\t\terr(\"can't deduce a name to call inherited()\", this.declaredClass);\n\t\t}\n\t\tf = g = 0;\n\n\t\tmeta = this.constructor._meta;\n\t\tbases = meta.bases;\n\n\t\tpos = cache.p;\n\t\tif(name != cname){\n\t\t\t// method\n\t\t\tif(cache.c !== caller){\n\t\t\t\t// cache bust\n\t\t\t\tpos = 0;\n\t\t\t\tbase = bases[0];\n\t\t\t\tmeta = base._meta;\n\t\t\t\tif(meta.hidden[name] !== caller){\n\t\t\t\t\t// error detection\n\t\t\t\t\tchains = meta.chains;\n\t\t\t\t\tif(chains && typeof chains[name] == \"string\"){\n\t\t\t\t\t\terr(\"calling chained method with inherited: \" + name, this.declaredClass);\n\t\t\t\t\t}\n\t\t\t\t\t// find caller\n\t\t\t\t\tdo{\n\t\t\t\t\t\tmeta = base._meta;\n\t\t\t\t\t\tproto = base.prototype;\n\t\t\t\t\t\tif(meta && (proto[name] === caller && proto.hasOwnProperty(name) || meta.hidden[name] === caller)){\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}while(base = bases[++pos]); // intentional assignment\n\t\t\t\t\tpos = base ? pos : -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// find next\n\t\t\tbase = bases[++pos];\n\t\t\tif(base){\n\t\t\t\tproto = base.prototype;\n\t\t\t\tif(base._meta && proto.hasOwnProperty(name)){\n\t\t\t\t\tf = proto[name];\n\t\t\t\t}else{\n\t\t\t\t\topf = op[name];\n\t\t\t\t\tdo{\n\t\t\t\t\t\tproto = base.prototype;\n\t\t\t\t\t\tf = proto[name];\n\t\t\t\t\t\tif(f && (base._meta ? proto.hasOwnProperty(name) : f !== opf)){\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}while(base = bases[++pos]); // intentional assignment\n\t\t\t\t}\n\t\t\t}\n\t\t\tf = base && f || op[name];\n\t\t}else{\n\t\t\t// constructor\n\t\t\tif(cache.c !== caller){\n\t\t\t\t// cache bust\n\t\t\t\tpos = 0;\n\t\t\t\tmeta = bases[0]._meta;\n\t\t\t\tif(meta && meta.ctor !== caller){\n\t\t\t\t\t// error detection\n\t\t\t\t\tchains = meta.chains;\n\t\t\t\t\tif(!chains || chains.constructor !== \"manual\"){\n\t\t\t\t\t\terr(\"calling chained constructor with inherited\", this.declaredClass);\n\t\t\t\t\t}\n\t\t\t\t\t// find caller\n\t\t\t\t\twhile(base = bases[++pos]){ // intentional assignment\n\t\t\t\t\t\tmeta = base._meta;\n\t\t\t\t\t\tif(meta && meta.ctor === caller){\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpos = base ? pos : -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// find next\n\t\t\twhile(base = bases[++pos]){\t// intentional assignment\n\t\t\t\tmeta = base._meta;\n\t\t\t\tf = meta ? meta.ctor : base;\n\t\t\t\tif(f){\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tf = base && f;\n\t\t}\n\n\t\t// cache the found super method\n\t\tcache.c = f;\n\t\tcache.p = pos;\n\n\t\t// now we have the result\n\t\tif(f){\n\t\t\treturn a === true ? f : f.apply(this, a || args);\n\t\t}\n\t\t// intentionally no return if a super method was not found\n\t}\n\n\tfunction getInherited(name, args, a){\n\t\tif(typeof name === \"string\"){\n\t\t\tif (typeof args === \"function\") {\n\t\t\t\treturn this.__inherited(name, args, a, true);\n\t\t\t}\n\t\t\treturn this.__inherited(name, args, true);\n\t\t}\n\t\telse if (typeof name === \"function\") {\n\t\t\treturn this.__inherited(name, args, true);\n\t\t}\n\t\treturn this.__inherited(name, true);\n\t}\n\n\tfunction inherited__debug(args, a1, a2, a3){\n\t\tvar f = this.getInherited(args, a1, a2);\n\t\tif(f){\n\t\t\treturn f.apply(this, a3 || a2 || a1 || args);\n\t\t}\n\t\t// intentionally no return if a super method was not found\n\t}\n\n\tvar inheritedImpl = dojo.config.isDebug ? inherited__debug : inherited;\n\n\t// emulation of \"instanceof\"\n\tfunction isInstanceOf(cls){\n\t\tvar bases = this.constructor._meta.bases;\n\t\tfor(var i = 0, l = bases.length; i < l; ++i){\n\t\t\tif(bases[i] === cls){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn this instanceof cls;\n\t}\n\n\tfunction mixOwn(target, source){\n\t\t// add props adding metadata for incoming functions skipping a constructor\n\t\tfor(var name in source){\n\t\t\tif(name != cname && source.hasOwnProperty(name)){\n\t\t\t\ttarget[name] = source[name];\n\t\t\t}\n\t\t}\n\t\tif(has(\"bug-for-in-skips-shadowed\")){\n\t\t\tfor(var extraNames= lang._extraNames, i= extraNames.length; i;){\n\t\t\t\tname = extraNames[--i];\n\t\t\t\tif(name != cname && source.hasOwnProperty(name)){\n\t\t\t\t\t target[name] = source[name];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// implementation of safe mixin function\n\tfunction safeMixin(target, source){\n\t\t// summary:\n\t\t//\t\tMix in properties skipping a constructor and decorating functions\n\t\t//\t\tlike it is done by declare().\n\t\t// target: Object\n\t\t//\t\tTarget object to accept new properties.\n\t\t// source: Object\n\t\t//\t\tSource object for new properties.\n\t\t// description:\n\t\t//\t\tThis function is used to mix in properties like lang.mixin does,\n\t\t//\t\tbut it skips a constructor property and decorates functions like\n\t\t//\t\tdeclare() does.\n\t\t//\n\t\t//\t\tIt is meant to be used with classes and objects produced with\n\t\t//\t\tdeclare. Functions mixed in with dojo.safeMixin can use\n\t\t//\t\tthis.inherited() like normal methods.\n\t\t//\n\t\t//\t\tThis function is used to implement extend() method of a constructor\n\t\t//\t\tproduced with declare().\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar A = declare(null, {\n\t\t//\t|\t\tm1: function(){\n\t\t//\t|\t\t\tconsole.log(\"A.m1\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm2: function(){\n\t\t//\t|\t\t\tconsole.log(\"A.m2\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar B = declare(A, {\n\t\t//\t|\t\tm1: function(){\n\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t//\t|\t\t\tconsole.log(\"B.m1\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tB.extend({\n\t\t//\t|\t\tm2: function(){\n\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t//\t|\t\t\tconsole.log(\"B.m2\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar x = new B();\n\t\t//\t|\tdojo.safeMixin(x, {\n\t\t//\t|\t\tm1: function(){\n\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t//\t|\t\t\tconsole.log(\"X.m1\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm2: function(){\n\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t//\t|\t\t\tconsole.log(\"X.m2\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tx.m2();\n\t\t//\t|\t// prints:\n\t\t//\t|\t// A.m1\n\t\t//\t|\t// B.m1\n\t\t//\t|\t// X.m1\n\n\t\tvar name, t;\n\t\t// add props adding metadata for incoming functions skipping a constructor\n\t\tfor(name in source){\n\t\t\tt = source[name];\n\t\t\tif((t !== op[name] || !(name in op)) && name != cname){\n\t\t\t\tif(opts.call(t) == \"[object Function]\"){\n\t\t\t\t\t// non-trivial function method => attach its name\n\t\t\t\t\tt.nom = name;\n\t\t\t\t}\n\t\t\t\ttarget[name] = t;\n\t\t\t}\n\t\t}\n\t\tif(has(\"bug-for-in-skips-shadowed\") && source){\n\t\t\tfor(var extraNames= lang._extraNames, i= extraNames.length; i;){\n\t\t\t\tname = extraNames[--i];\n\t\t\t\tt = source[name];\n\t\t\t\tif((t !== op[name] || !(name in op)) && name != cname){\n\t\t\t\t\tif(opts.call(t) == \"[object Function]\"){\n\t\t\t\t\t\t// non-trivial function method => attach its name\n\t\t\t\t\t\t t.nom = name;\n\t\t\t\t\t}\n\t\t\t\t\ttarget[name] = t;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn target;\n\t}\n\n\tfunction extend(source){\n\t\tdeclare.safeMixin(this.prototype, source);\n\t\treturn this;\n\t}\n\n\tfunction createSubclass(mixins, props){\n\t\t// crack parameters\n\t\tif(!(mixins instanceof Array || typeof mixins === 'function')){\n\t\t\tprops = mixins;\n\t\t\tmixins = undefined;\n\t\t}\n\n\t\tprops = props || {};\n\t\tmixins = mixins || [];\n\n\t\treturn declare([this].concat(mixins), props);\n\t}\n\n\t// chained constructor compatible with the legacy declare()\n\tfunction chainedConstructor(bases, ctorSpecial){\n\t\treturn function(){\n\t\t\tvar a = arguments, args = a, a0 = a[0], f, i, m,\n\t\t\t\tl = bases.length, preArgs;\n\n\t\t\tif(!(this instanceof a.callee)){\n\t\t\t\t// not called via new, so force it\n\t\t\t\treturn applyNew(a);\n\t\t\t}\n\n\t\t\t//this._inherited = {};\n\t\t\t// perform the shaman's rituals of the original declare()\n\t\t\t// 1) call two types of the preamble\n\t\t\tif(ctorSpecial && (a0 && a0.preamble || this.preamble)){\n\t\t\t\t// full blown ritual\n\t\t\t\tpreArgs = new Array(bases.length);\n\t\t\t\t// prepare parameters\n\t\t\t\tpreArgs[0] = a;\n\t\t\t\tfor(i = 0;;){\n\t\t\t\t\t// process the preamble of the 1st argument\n\t\t\t\t\ta0 = a[0];\n\t\t\t\t\tif(a0){\n\t\t\t\t\t\tf = a0.preamble;\n\t\t\t\t\t\tif(f){\n\t\t\t\t\t\t\ta = f.apply(this, a) || a;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// process the preamble of this class\n\t\t\t\t\tf = bases[i].prototype;\n\t\t\t\t\tf = f.hasOwnProperty(\"preamble\") && f.preamble;\n\t\t\t\t\tif(f){\n\t\t\t\t\t\ta = f.apply(this, a) || a;\n\t\t\t\t\t}\n\t\t\t\t\t// one peculiarity of the preamble:\n\t\t\t\t\t// it is called if it is not needed,\n\t\t\t\t\t// e.g., there is no constructor to call\n\t\t\t\t\t// let's watch for the last constructor\n\t\t\t\t\t// (see ticket #9795)\n\t\t\t\t\tif(++i == l){\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tpreArgs[i] = a;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 2) call all non-trivial constructors using prepared arguments\n\t\t\tfor(i = l - 1; i >= 0; --i){\n\t\t\t\tf = bases[i];\n\t\t\t\tm = f._meta;\n\t\t\t\tf = m ? m.ctor : f;\n\t\t\t\tif(f){\n\t\t\t\t\tf.apply(this, preArgs ? preArgs[i] : a);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 3) continue the original ritual: call the postscript\n\t\t\tf = this.postscript;\n\t\t\tif(f){\n\t\t\t\tf.apply(this, args);\n\t\t\t}\n\t\t};\n\t}\n\n\n\t// chained constructor compatible with the legacy declare()\n\tfunction singleConstructor(ctor, ctorSpecial){\n\t\treturn function(){\n\t\t\tvar a = arguments, t = a, a0 = a[0], f;\n\n\t\t\tif(!(this instanceof a.callee)){\n\t\t\t\t// not called via new, so force it\n\t\t\t\treturn applyNew(a);\n\t\t\t}\n\n\t\t\t//this._inherited = {};\n\t\t\t// perform the shaman's rituals of the original declare()\n\t\t\t// 1) call two types of the preamble\n\t\t\tif(ctorSpecial){\n\t\t\t\t// full blown ritual\n\t\t\t\tif(a0){\n\t\t\t\t\t// process the preamble of the 1st argument\n\t\t\t\t\tf = a0.preamble;\n\t\t\t\t\tif(f){\n\t\t\t\t\t\tt = f.apply(this, t) || t;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tf = this.preamble;\n\t\t\t\tif(f){\n\t\t\t\t\t// process the preamble of this class\n\t\t\t\t\tf.apply(this, t);\n\t\t\t\t\t// one peculiarity of the preamble:\n\t\t\t\t\t// it is called even if it is not needed,\n\t\t\t\t\t// e.g., there is no constructor to call\n\t\t\t\t\t// let's watch for the last constructor\n\t\t\t\t\t// (see ticket #9795)\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 2) call a constructor\n\t\t\tif(ctor){\n\t\t\t\tctor.apply(this, a);\n\t\t\t}\n\t\t\t// 3) continue the original ritual: call the postscript\n\t\t\tf = this.postscript;\n\t\t\tif(f){\n\t\t\t\tf.apply(this, a);\n\t\t\t}\n\t\t};\n\t}\n\n\t// plain vanilla constructor (can use inherited() to call its base constructor)\n\tfunction simpleConstructor(bases){\n\t\treturn function(){\n\t\t\tvar a = arguments, i = 0, f, m;\n\n\t\t\tif(!(this instanceof a.callee)){\n\t\t\t\t// not called via new, so force it\n\t\t\t\treturn applyNew(a);\n\t\t\t}\n\n\t\t\t//this._inherited = {};\n\t\t\t// perform the shaman's rituals of the original declare()\n\t\t\t// 1) do not call the preamble\n\t\t\t// 2) call the top constructor (it can use this.inherited())\n\t\t\tfor(; f = bases[i]; ++i){ // intentional assignment\n\t\t\t\tm = f._meta;\n\t\t\t\tf = m ? m.ctor : f;\n\t\t\t\tif(f){\n\t\t\t\t\tf.apply(this, a);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 3) call the postscript\n\t\t\tf = this.postscript;\n\t\t\tif(f){\n\t\t\t\tf.apply(this, a);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction chain(name, bases, reversed){\n\t\treturn function(){\n\t\t\tvar b, m, f, i = 0, step = 1;\n\t\t\tif(reversed){\n\t\t\t\ti = bases.length - 1;\n\t\t\t\tstep = -1;\n\t\t\t}\n\t\t\tfor(; b = bases[i]; i += step){ // intentional assignment\n\t\t\t\tm = b._meta;\n\t\t\t\tf = (m ? m.hidden : b.prototype)[name];\n\t\t\t\tif(f){\n\t\t\t\t\tf.apply(this, arguments);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\t// forceNew(ctor)\n\t// return a new object that inherits from ctor.prototype but\n\t// without actually running ctor on the object.\n\tfunction forceNew(ctor){\n\t\t// create object with correct prototype using a do-nothing\n\t\t// constructor\n\t\txtor.prototype = ctor.prototype;\n\t\tvar t = new xtor;\n\t\txtor.prototype = null;\t// clean up\n\t\treturn t;\n\t}\n\n\t// applyNew(args)\n\t// just like 'new ctor()' except that the constructor and its arguments come\n\t// from args, which must be an array or an arguments object\n\tfunction applyNew(args){\n\t\t// create an object with ctor's prototype but without\n\t\t// calling ctor on it.\n\t\tvar ctor = args.callee, t = forceNew(ctor);\n\t\t// execute the real constructor on the new object\n\t\tctor.apply(t, args);\n\t\treturn t;\n\t}\n\n\tfunction declare(className, superclass, props){\n\t\t// summary:\n\t\t//\t\tCreate a feature-rich constructor from compact notation.\n\t\t// className: String?\n\t\t//\t\tThe optional name of the constructor (loosely, a \"class\")\n\t\t//\t\tstored in the \"declaredClass\" property in the created prototype.\n\t\t//\t\tIt will be used as a global name for a created constructor.\n\t\t// superclass: Function|Function[]\n\t\t//\t\tMay be null, a Function, or an Array of Functions. This argument\n\t\t//\t\tspecifies a list of bases (the left-most one is the most deepest\n\t\t//\t\tbase).\n\t\t// props: Object\n\t\t//\t\tAn object whose properties are copied to the created prototype.\n\t\t//\t\tAdd an instance-initialization function by making it a property\n\t\t//\t\tnamed \"constructor\".\n\t\t// returns: dojo/_base/declare.__DeclareCreatedObject\n\t\t//\t\tNew constructor function.\n\t\t// description:\n\t\t//\t\tCreate a constructor using a compact notation for inheritance and\n\t\t//\t\tprototype extension.\n\t\t//\n\t\t//\t\tMixin ancestors provide a type of multiple inheritance.\n\t\t//\t\tPrototypes of mixin ancestors are copied to the new class:\n\t\t//\t\tchanges to mixin prototypes will not affect classes to which\n\t\t//\t\tthey have been mixed in.\n\t\t//\n\t\t//\t\tAncestors can be compound classes created by this version of\n\t\t//\t\tdeclare(). In complex cases all base classes are going to be\n\t\t//\t\tlinearized according to C3 MRO algorithm\n\t\t//\t\t(see http://www.python.org/download/releases/2.3/mro/ for more\n\t\t//\t\tdetails).\n\t\t//\n\t\t//\t\t\"className\" is cached in \"declaredClass\" property of the new class,\n\t\t//\t\tif it was supplied. The immediate super class will be cached in\n\t\t//\t\t\"superclass\" property of the new class.\n\t\t//\n\t\t//\t\tMethods in \"props\" will be copied and modified: \"nom\" property\n\t\t//\t\t(the declared name of the method) will be added to all copied\n\t\t//\t\tfunctions to help identify them for the internal machinery. Be\n\t\t//\t\tvery careful, while reusing methods: if you use the same\n\t\t//\t\tfunction under different names, it can produce errors in some\n\t\t//\t\tcases.\n\t\t//\n\t\t//\t\tIt is possible to use constructors created \"manually\" (without\n\t\t//\t\tdeclare()) as bases. They will be called as usual during the\n\t\t//\t\tcreation of an instance, their methods will be chained, and even\n\t\t//\t\tcalled by \"this.inherited()\".\n\t\t//\n\t\t//\t\tSpecial property \"-chains-\" governs how to chain methods. It is\n\t\t//\t\ta dictionary, which uses method names as keys, and hint strings\n\t\t//\t\tas values. If a hint string is \"after\", this method will be\n\t\t//\t\tcalled after methods of its base classes. If a hint string is\n\t\t//\t\t\"before\", this method will be called before methods of its base\n\t\t//\t\tclasses.\n\t\t//\n\t\t//\t\tIf \"constructor\" is not mentioned in \"-chains-\" property, it will\n\t\t//\t\tbe chained using the legacy mode: using \"after\" chaining,\n\t\t//\t\tcalling preamble() method before each constructor, if available,\n\t\t//\t\tand calling postscript() after all constructors were executed.\n\t\t//\t\tIf the hint is \"after\", it is chained as a regular method, but\n\t\t//\t\tpostscript() will be called after the chain of constructors.\n\t\t//\t\t\"constructor\" cannot be chained \"before\", but it allows\n\t\t//\t\ta special hint string: \"manual\", which means that constructors\n\t\t//\t\tare not going to be chained in any way, and programmer will call\n\t\t//\t\tthem manually using this.inherited(). In the latter case\n\t\t//\t\tpostscript() will be called after the construction.\n\t\t//\n\t\t//\t\tAll chaining hints are \"inherited\" from base classes and\n\t\t//\t\tpotentially can be overridden. Be very careful when overriding\n\t\t//\t\thints! Make sure that all chained methods can work in a proposed\n\t\t//\t\tmanner of chaining.\n\t\t//\n\t\t//\t\tOnce a method was chained, it is impossible to unchain it. The\n\t\t//\t\tonly exception is \"constructor\". You don't need to define a\n\t\t//\t\tmethod in order to supply a chaining hint.\n\t\t//\n\t\t//\t\tIf a method is chained, it cannot use this.inherited() because\n\t\t//\t\tall other methods in the hierarchy will be called automatically.\n\t\t//\n\t\t//\t\tUsually constructors and initializers of any kind are chained\n\t\t//\t\tusing \"after\" and destructors of any kind are chained as\n\t\t//\t\t\"before\". Note that chaining assumes that chained methods do not\n\t\t//\t\treturn any value: any returned value will be discarded.\n\t\t//\n\t\t// example:\n\t\t//\t|\tdeclare(\"my.classes.bar\", my.classes.foo, {\n\t\t//\t|\t\t// properties to be added to the class prototype\n\t\t//\t|\t\tsomeValue: 2,\n\t\t//\t|\t\t// initialization function\n\t\t//\t|\t\tconstructor: function(){\n\t\t//\t|\t\t\tthis.myComplicatedObject = new ReallyComplicatedObject();\n\t\t//\t|\t\t},\n\t\t//\t|\t\t// other functions\n\t\t//\t|\t\tsomeMethod: function(){\n\t\t//\t|\t\t\tdoStuff();\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar MyBase = declare(null, {\n\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t//\t|\t\t// ...\n\t\t//\t|\t});\n\t\t//\t|\tvar MyClass1 = declare(MyBase, {\n\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t//\t|\t\t// ...\n\t\t//\t|\t});\n\t\t//\t|\tvar MyClass2 = declare(MyBase, {\n\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t//\t|\t\t// ...\n\t\t//\t|\t});\n\t\t//\t|\tvar MyDiamond = declare([MyClass1, MyClass2], {\n\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t//\t|\t\t// ...\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar F = function(){ console.log(\"raw constructor\"); };\n\t\t//\t|\tF.prototype.method = function(){\n\t\t//\t|\t\tconsole.log(\"raw method\");\n\t\t//\t|\t};\n\t\t//\t|\tvar A = declare(F, {\n\t\t//\t|\t\tconstructor: function(){\n\t\t//\t|\t\t\tconsole.log(\"A.constructor\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tmethod: function(){\n\t\t//\t|\t\t\tconsole.log(\"before calling F.method...\");\n\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t//\t|\t\t\tconsole.log(\"...back in A\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tnew A().method();\n\t\t//\t|\t// will print:\n\t\t//\t|\t// raw constructor\n\t\t//\t|\t// A.constructor\n\t\t//\t|\t// before calling F.method...\n\t\t//\t|\t// raw method\n\t\t//\t|\t// ...back in A\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar A = declare(null, {\n\t\t//\t|\t\t\"-chains-\": {\n\t\t//\t|\t\t\tdestroy: \"before\"\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar B = declare(A, {\n\t\t//\t|\t\tconstructor: function(){\n\t\t//\t|\t\t\tconsole.log(\"B.constructor\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tdestroy: function(){\n\t\t//\t|\t\t\tconsole.log(\"B.destroy\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar C = declare(B, {\n\t\t//\t|\t\tconstructor: function(){\n\t\t//\t|\t\t\tconsole.log(\"C.constructor\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tdestroy: function(){\n\t\t//\t|\t\t\tconsole.log(\"C.destroy\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tnew C().destroy();\n\t\t//\t|\t// prints:\n\t\t//\t|\t// B.constructor\n\t\t//\t|\t// C.constructor\n\t\t//\t|\t// C.destroy\n\t\t//\t|\t// B.destroy\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar A = declare(null, {\n\t\t//\t|\t\t\"-chains-\": {\n\t\t//\t|\t\t\tconstructor: \"manual\"\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar B = declare(A, {\n\t\t//\t|\t\tconstructor: function(){\n\t\t//\t|\t\t\t// ...\n\t\t//\t|\t\t\t// call the base constructor with new parameters\n\t\t//\t|\t\t\tthis.inherited(arguments, [1, 2, 3]);\n\t\t//\t|\t\t\t// ...\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t|\tvar A = declare(null, {\n\t\t//\t|\t\t\"-chains-\": {\n\t\t//\t|\t\t\tm1: \"before\"\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm1: function(){\n\t\t//\t|\t\t\tconsole.log(\"A.m1\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm2: function(){\n\t\t//\t|\t\t\tconsole.log(\"A.m2\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar B = declare(A, {\n\t\t//\t|\t\t\"-chains-\": {\n\t\t//\t|\t\t\tm2: \"after\"\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm1: function(){\n\t\t//\t|\t\t\tconsole.log(\"B.m1\");\n\t\t//\t|\t\t},\n\t\t//\t|\t\tm2: function(){\n\t\t//\t|\t\t\tconsole.log(\"B.m2\");\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t\t//\t|\tvar x = new B();\n\t\t//\t|\tx.m1();\n\t\t//\t|\t// prints:\n\t\t//\t|\t// B.m1\n\t\t//\t|\t// A.m1\n\t\t//\t|\tx.m2();\n\t\t//\t|\t// prints:\n\t\t//\t|\t// A.m2\n\t\t//\t|\t// B.m2\n\n\t\t// crack parameters\n\t\tif(typeof className != \"string\"){\n\t\t\tprops = superclass;\n\t\t\tsuperclass = className;\n\t\t\tclassName = \"\";\n\t\t}\n\t\tprops = props || {};\n\n\t\tvar proto, i, t, ctor, name, bases, chains, mixins = 1, parents = superclass;\n\n\t\t// build a prototype\n\t\tif(opts.call(superclass) == \"[object Array]\"){\n\t\t\t// C3 MRO\n\t\t\tbases = c3mro(superclass, className);\n\t\t\tt = bases[0];\n\t\t\tmixins = bases.length - t;\n\t\t\tsuperclass = bases[mixins];\n\t\t}else{\n\t\t\tbases = [0];\n\t\t\tif(superclass){\n\t\t\t\tif(opts.call(superclass) == \"[object Function]\"){\n\t\t\t\t\tt = superclass._meta;\n\t\t\t\t\tbases = bases.concat(t ? t.bases : superclass);\n\t\t\t\t}else{\n\t\t\t\t\terr(\"base class is not a callable constructor.\", className);\n\t\t\t\t}\n\t\t\t}else if(superclass !== null){\n\t\t\t\terr(\"unknown base class. Did you use dojo.require to pull it in?\", className);\n\t\t\t}\n\t\t}\n\t\tif(superclass){\n\t\t\tfor(i = mixins - 1;; --i){\n\t\t\t\tproto = forceNew(superclass);\n\t\t\t\tif(!i){\n\t\t\t\t\t// stop if nothing to add (the last base)\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// mix in properties\n\t\t\t\tt = bases[i];\n\t\t\t\t(t._meta ? mixOwn : mix)(proto, t.prototype);\n\t\t\t\t// chain in new constructor\n\t\t\t\tif (has(\"csp-restrictions\")) {\n\t\t\t\t\tctor = function () {};\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tctor = new Function;\n\t\t\t\t}\n\t\t\t\tctor.superclass = superclass;\n\t\t\t\tctor.prototype = proto;\n\t\t\t\tsuperclass = proto.constructor = ctor;\n\t\t\t}\n\t\t}else{\n\t\t\tproto = {};\n\t\t}\n\t\t// add all properties\n\t\tdeclare.safeMixin(proto, props);\n\t\t// add constructor\n\t\tt = props.constructor;\n\t\tif(t !== op.constructor){\n\t\t\tt.nom = cname;\n\t\t\tproto.constructor = t;\n\t\t}\n\n\t\t// collect chains and flags\n\t\tfor(i = mixins - 1; i; --i){ // intentional assignment\n\t\t\tt = bases[i]._meta;\n\t\t\tif(t && t.chains){\n\t\t\t\tchains = mix(chains || {}, t.chains);\n\t\t\t}\n\t\t}\n\t\tif(proto[\"-chains-\"]){\n\t\t\tchains = mix(chains || {}, proto[\"-chains-\"]);\n\t\t}\n\n\t\tif(superclass && superclass.prototype && superclass.prototype[\"-chains-\"]) {\n\t\t\tchains = mix(chains || {}, superclass.prototype[\"-chains-\"]);\n\t\t}\n\n\t\t// build ctor\n\t\tt = !chains || !chains.hasOwnProperty(cname);\n\t\tbases[0] = ctor = (chains && chains.constructor === \"manual\") ? simpleConstructor(bases) :\n\t\t\t(bases.length == 1 ? singleConstructor(props.constructor, t) : chainedConstructor(bases, t));\n\n\t\t// add meta information to the constructor\n\t\tctor._meta = {bases: bases, hidden: props, chains: chains,\n\t\t\tparents: parents, ctor: props.constructor};\n\t\tctor.superclass = superclass && superclass.prototype;\n\t\tctor.extend = extend;\n\t\tctor.createSubclass = createSubclass;\n\t\tctor.prototype = proto;\n\t\tproto.constructor = ctor;\n\n\t\t// add \"standard\" methods to the prototype\n\t\tproto.getInherited = getInherited;\n\t\tproto.isInstanceOf = isInstanceOf;\n\t\tproto.inherited = inheritedImpl;\n\t\tproto.__inherited = inherited;\n\n\t\t// add name if specified\n\t\tif(className){\n\t\t\tproto.declaredClass = className;\n\t\t\tlang.setObject(className, ctor);\n\t\t}\n\n\t\t// build chains and add them to the prototype\n\t\tif(chains){\n\t\t\tfor(name in chains){\n\t\t\t\tif(proto[name] && typeof chains[name] == \"string\" && name != cname){\n\t\t\t\t\tt = proto[name] = chain(name, bases, chains[name] === \"after\");\n\t\t\t\t\tt.nom = name;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// chained methods do not return values\n\t\t// no need to chain \"invisible\" functions\n\n\t\treturn ctor;\t// Function\n\t}\n\n\t/*=====\n\tdeclare.__DeclareCreatedObject = {\n\t\t// summary:\n\t\t//\t\tdojo/_base/declare() returns a constructor `C`. `new C()` returns an Object with the following\n\t\t//\t\tmethods, in addition to the methods and properties specified via the arguments passed to declare().\n\n\t\tinherited: function(name, caller, args, newArgs){\n\t\t\t// summary:\n\t\t\t//\t\tCalls a super method.\n\t\t\t// name: String?\n\t\t\t//\t\tThe optional method name. Should be the same as the caller's\n\t\t\t//\t\tname. Usually \"name\" is specified in complex dynamic cases, when\n\t\t\t//\t\tthe calling method was dynamically added, undecorated by\n\t\t\t//\t\tdeclare(), and it cannot be determined.\n\t\t\t// caller: Function?\n\t\t\t//\t\tThe reference to the calling function. Required only if the\n\t\t\t//\t\tcall to \"this.inherited\" occurs from within strict-mode code.\n\t\t\t//\t\tIf the caller is omitted within strict-mode code, an error will\n\t\t\t//\t\tbe thrown.\n\t\t\t//\t\tThe best way to obtain a reference to the calling function is to\n\t\t\t//\t\tuse a named function expression (i.e. place a function name\n\t\t\t//\t\tafter the \"function\" keyword and before the open paren, as in\n\t\t\t//\t\t\"function fn(a, b)\"). If the function is parsed as an expression\n\t\t\t//\t\tand not a statement (i.e. it's not by itself on its own line),\n\t\t\t//\t\tthe function name will only be accessible as an identifier from\n\t\t\t//\t\twithin the body of the function.\n\t\t\t// args: Arguments\n\t\t\t//\t\tThe caller supply this argument, which should be the original\n\t\t\t//\t\t\"arguments\".\n\t\t\t// newArgs: Object?\n\t\t\t//\t\tIf \"true\", the found function will be returned without\n\t\t\t//\t\texecuting it.\n\t\t\t//\t\tIf Array, it will be used to call a super method. Otherwise\n\t\t\t//\t\t\"args\" will be used.\n\t\t\t// returns:\n\t\t\t//\t\tWhatever is returned by a super method, or a super method itself,\n\t\t\t//\t\tif \"true\" was specified as newArgs.\n\t\t\t// description:\n\t\t\t//\t\tThis method is used inside method of classes produced with\n\t\t\t//\t\tdeclare() to call a super method (next in the chain). It is\n\t\t\t//\t\tused for manually controlled chaining. Consider using the regular\n\t\t\t//\t\tchaining, because it is faster. Use \"this.inherited()\" only in\n\t\t\t//\t\tcomplex cases.\n\t\t\t//\n\t\t\t//\t\tThis method cannot me called from automatically chained\n\t\t\t//\t\tconstructors including the case of a special (legacy)\n\t\t\t//\t\tconstructor chaining. It cannot be called from chained methods.\n\t\t\t//\n\t\t\t//\t\tIf \"this.inherited()\" cannot find the next-in-chain method, it\n\t\t\t//\t\tdoes nothing and returns \"undefined\". The last method in chain\n\t\t\t//\t\tcan be a default method implemented in Object, which will be\n\t\t\t//\t\tcalled last.\n\t\t\t//\n\t\t\t//\t\tIf \"name\" is specified, it is assumed that the method that\n\t\t\t//\t\treceived \"args\" is the parent method for this call. It is looked\n\t\t\t//\t\tup in the chain list and if it is found the next-in-chain method\n\t\t\t//\t\tis called. If it is not found, the first-in-chain method is\n\t\t\t//\t\tcalled.\n\t\t\t//\n\t\t\t//\t\tIf \"name\" is not specified, it will be derived from the calling\n\t\t\t//\t\tmethod (using a methoid property \"nom\").\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\tvar B = declare(A, {\n\t\t\t//\t|\t\tmethod1: function(a, b, c){\n\t\t\t//\t|\t\t\tthis.inherited(arguments);\n\t\t\t//\t|\t\t},\n\t\t\t//\t|\t\tmethod2: function(a, b){\n\t\t\t//\t|\t\t\treturn this.inherited(arguments, [a + b]);\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t});\n\t\t\t//\t|\t// next method is not in the chain list because it is added\n\t\t\t//\t|\t// manually after the class was created.\n\t\t\t//\t|\tB.prototype.method3 = function(){\n\t\t\t//\t|\t\tconsole.log(\"This is a dynamically-added method.\");\n\t\t\t//\t|\t\tthis.inherited(\"method3\", arguments);\n\t\t\t//\t|\t};\n\t\t\t// example:\n\t\t\t//\t|\tvar B = declare(A, {\n\t\t\t//\t|\t\tmethod: function(a, b){\n\t\t\t//\t|\t\t\tvar super = this.inherited(arguments, true);\n\t\t\t//\t|\t\t\t// ...\n\t\t\t//\t|\t\t\tif(!super){\n\t\t\t//\t|\t\t\t\tconsole.log(\"there is no super method\");\n\t\t\t//\t|\t\t\t\treturn 0;\n\t\t\t//\t|\t\t\t}\n\t\t\t//\t|\t\t\treturn super.apply(this, arguments);\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t});\n\t\t\t// example:\n\t\t\t//\t|\t\"use strict\";\n\t\t\t//\t|\t// class is defined in strict-mode code,\n\t\t\t//\t|\t// so caller must be passed before arguments.\n\t\t\t//\t|\tvar B = declare(A, {\n\t\t\t//\t|\t\t// using a named function expression with \"fn\" as the name.\n\t\t\t//\t|\t\tmethod: function fn(a, b) {\n\t\t\t//\t|\t\t\tthis.inherited(fn, arguments);\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t});\n\t\t\treturn\t{};\t// Object\n\t\t},\n\n\t\tgetInherited: function(name, caller, args){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a super method.\n\t\t\t// name: String?\n\t\t\t//\t\tThe optional method name. Should be the same as the caller's\n\t\t\t//\t\tname. Usually \"name\" is specified in complex dynamic cases, when\n\t\t\t//\t\tthe calling method was dynamically added, undecorated by\n\t\t\t//\t\tdeclare(), and it cannot be determined.\n\t\t\t// caller: Function?\n\t\t\t//\t\tThe caller function. This is required when running in\n\t\t\t//\t\tstrict-mode code. A reference to the caller function\n\t\t\t//\t\tcan be obtained by using a named function expression\n\t\t\t//\t\t(e.g. function fn(a,b) {...}).\n\t\t\t// args: Arguments\n\t\t\t//\t\tThe caller supply this argument, which should be the original\n\t\t\t//\t\t\"arguments\".\n\t\t\t// returns:\n\t\t\t//\t\tReturns a super method (Function) or \"undefined\".\n\t\t\t// description:\n\t\t\t//\t\tThis method is a convenience method for \"this.inherited()\".\n\t\t\t//\t\tIt uses the same algorithm but instead of executing a super\n\t\t\t//\t\tmethod, it returns it, or \"undefined\" if not found.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\tvar B = declare(A, {\n\t\t\t//\t|\t\tmethod: function(a, b){\n\t\t\t//\t|\t\t\tvar super = this.getInherited(arguments);\n\t\t\t//\t|\t\t\t// ...\n\t\t\t//\t|\t\t\tif(!super){\n\t\t\t//\t|\t\t\t\tconsole.log(\"there is no super method\");\n\t\t\t//\t|\t\t\t\treturn 0;\n\t\t\t//\t|\t\t\t}\n\t\t\t//\t|\t\t\treturn super.apply(this, arguments);\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t});\n\t\t\t// example:\n\t\t\t//\t|\t\"use strict;\" // first line of function or file\n\t\t\t//\t|\t//...\n\t\t\t//\t|\tvar B = declare(A, {\n\t\t\t//\t|\t\t// Using a named function expression with \"fn\" as the name,\n\t\t\t//\t|\t\t// since we're in strict mode.\n\t\t\t//\t|\t\tmethod: function fn(a, b){\n\t\t\t//\t|\t\t\tvar super = this.getInherited(fn, arguments);\n\t\t\t//\t|\t\t\tif(super){\n\t\t\t//\t|\t\t\t\treturn super.apply(this, arguments);\n\t\t\t//\t|\t\t\t}\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t});\n\t\t\treturn\t{};\t// Object\n\t\t},\n\n\t\tisInstanceOf: function(cls){\n\t\t\t// summary:\n\t\t\t//\t\tChecks the inheritance chain to see if it is inherited from this\n\t\t\t//\t\tclass.\n\t\t\t// cls: Function\n\t\t\t//\t\tClass constructor.\n\t\t\t// returns:\n\t\t\t//\t\t\"true\", if this object is inherited from this class, \"false\"\n\t\t\t//\t\totherwise.\n\t\t\t// description:\n\t\t\t//\t\tThis method is used with instances of classes produced with\n\t\t\t//\t\tdeclare() to determine of they support a certain interface or\n\t\t\t//\t\tnot. It models \"instanceof\" operator.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\tvar A = declare(null, {\n\t\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t\t//\t|\t\t// ...\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar B = declare(null, {\n\t\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t\t//\t|\t\t// ...\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar C = declare([A, B], {\n\t\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t\t//\t|\t\t// ...\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar D = declare(A, {\n\t\t\t//\t|\t\t// constructor, properties, and methods go here\n\t\t\t//\t|\t\t// ...\n\t\t\t//\t|\t});\n\t\t\t//\t|\n\t\t\t//\t|\tvar a = new A(), b = new B(), c = new C(), d = new D();\n\t\t\t//\t|\n\t\t\t//\t|\tconsole.log(a.isInstanceOf(A)); // true\n\t\t\t//\t|\tconsole.log(b.isInstanceOf(A)); // false\n\t\t\t//\t|\tconsole.log(c.isInstanceOf(A)); // true\n\t\t\t//\t|\tconsole.log(d.isInstanceOf(A)); // true\n\t\t\t//\t|\n\t\t\t//\t|\tconsole.log(a.isInstanceOf(B)); // false\n\t\t\t//\t|\tconsole.log(b.isInstanceOf(B)); // true\n\t\t\t//\t|\tconsole.log(c.isInstanceOf(B)); // true\n\t\t\t//\t|\tconsole.log(d.isInstanceOf(B)); // false\n\t\t\t//\t|\n\t\t\t//\t|\tconsole.log(a.isInstanceOf(C)); // false\n\t\t\t//\t|\tconsole.log(b.isInstanceOf(C)); // false\n\t\t\t//\t|\tconsole.log(c.isInstanceOf(C)); // true\n\t\t\t//\t|\tconsole.log(d.isInstanceOf(C)); // false\n\t\t\t//\t|\n\t\t\t//\t|\tconsole.log(a.isInstanceOf(D)); // false\n\t\t\t//\t|\tconsole.log(b.isInstanceOf(D)); // false\n\t\t\t//\t|\tconsole.log(c.isInstanceOf(D)); // false\n\t\t\t//\t|\tconsole.log(d.isInstanceOf(D)); // true\n\t\t\treturn\t{};\t// Object\n\t\t},\n\n\t\textend: function(source){\n\t\t\t// summary:\n\t\t\t//\t\tAdds all properties and methods of source to constructor's\n\t\t\t//\t\tprototype, making them available to all instances created with\n\t\t\t//\t\tconstructor. This method is specific to constructors created with\n\t\t\t//\t\tdeclare().\n\t\t\t// source: Object\n\t\t\t//\t\tSource object which properties are going to be copied to the\n\t\t\t//\t\tconstructor's prototype.\n\t\t\t// description:\n\t\t\t//\t\tAdds source properties to the constructor's prototype. It can\n\t\t\t//\t\toverride existing properties.\n\t\t\t//\n\t\t\t//\t\tThis method is similar to dojo.extend function, but it is specific\n\t\t\t//\t\tto constructors produced by declare(). It is implemented\n\t\t\t//\t\tusing dojo.safeMixin, and it skips a constructor property,\n\t\t\t//\t\tand properly decorates copied functions.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\tvar A = declare(null, {\n\t\t\t//\t|\t\tm1: function(){},\n\t\t\t//\t|\t\ts1: \"Popokatepetl\"\n\t\t\t//\t|\t});\n\t\t\t//\t|\tA.extend({\n\t\t\t//\t|\t\tm1: function(){},\n\t\t\t//\t|\t\tm2: function(){},\n\t\t\t//\t|\t\tf1: true,\n\t\t\t//\t|\t\td1: 42\n\t\t\t//\t|\t});\n\t\t},\n\n\t\tcreateSubclass: function(mixins, props){\n\t\t\t// summary:\n\t\t\t//\t\tCreate a subclass of the declared class from a list of base classes.\n\t\t\t// mixins: Function[]\n\t\t\t//\t\tSpecifies a list of bases (the left-most one is the most deepest\n\t\t\t//\t\tbase).\n\t\t\t// props: Object?\n\t\t\t//\t\tAn optional object whose properties are copied to the created prototype.\n\t\t\t// returns: dojo/_base/declare.__DeclareCreatedObject\n\t\t\t//\t\tNew constructor function.\n\t\t\t// description:\n\t\t\t//\t\tCreate a constructor using a compact notation for inheritance and\n\t\t\t//\t\tprototype extension.\n\t\t\t//\n\t\t\t//\t\tMixin ancestors provide a type of multiple inheritance.\n\t\t\t//\t\tPrototypes of mixin ancestors are copied to the new class:\n\t\t\t//\t\tchanges to mixin prototypes will not affect classes to which\n\t\t\t//\t\tthey have been mixed in.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t|\tvar A = declare(null, {\n\t\t\t//\t|\t\tm1: function(){},\n\t\t\t//\t|\t\ts1: \"bar\"\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar B = declare(null, {\n\t\t\t//\t|\t\tm2: function(){},\n\t\t\t//\t|\t\ts2: \"foo\"\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar C = declare(null, {\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar D1 = A.createSubclass([B, C], {\n\t\t\t//\t|\t\tm1: function(){},\n\t\t\t//\t|\t\td1: 42\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar d1 = new D1();\n\t\t\t//\t|\n\t\t\t//\t|\t// this is equivalent to:\n\t\t\t//\t|\tvar D2 = declare([A, B, C], {\n\t\t\t//\t|\t\tm1: function(){},\n\t\t\t//\t|\t\td1: 42\n\t\t\t//\t|\t});\n\t\t\t//\t|\tvar d2 = new D2();\n\t\t}\n\t};\n\t=====*/\n\n\t// For back-compat, remove for 2.0\n\tdojo.safeMixin = declare.safeMixin = safeMixin;\n\tdojo.declare = declare;\n\n\treturn declare;\n});\n","define([\"./kernel\", \"../on\", \"../has\", \"../dom-geometry\"], function(dojo, on, has, dom){\n\t// module:\n\t//\t\tdojo/_base/event\n\n\tif(on._fixEvent){\n\t\tvar fixEvent = on._fixEvent;\n\t\ton._fixEvent = function(evt, se){\n\t\t\t// add some additional normalization for back-compat, this isn't in on.js because it is somewhat more expensive\n\t\t\tevt = fixEvent(evt, se);\n\t\t\tif(evt){\n\t\t\t\tdom.normalizeEvent(evt);\n\t\t\t}\n\t\t\treturn evt;\n\t\t};\t\t\n\t}\n\t\n\tvar ret = {\n\t\t// summary:\n\t\t//\t\tThis module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() +\n\t\t//\t\tevt.preventDefault(), rather than this module.\n\n\t\tfix: function(/*Event*/ evt, /*DOMNode*/ sender){\n\t\t\t// summary:\n\t\t\t//\t\tnormalizes properties on the event object including event\n\t\t\t//\t\tbubbling methods, keystroke normalization, and x/y positions\n\t\t\t// evt: Event\n\t\t\t//\t\tnative event object\n\t\t\t// sender: DOMNode\n\t\t\t//\t\tnode to treat as \"currentTarget\"\n\t\t\tif(on._fixEvent){\n\t\t\t\treturn on._fixEvent(evt, sender);\n\t\t\t}\n\t\t\treturn evt;\t// Event\n\t\t},\n\t\n\t\tstop: function(/*Event*/ evt){\n\t\t\t// summary:\n\t\t\t//\t\tprevents propagation and clobbers the default action of the\n\t\t\t//\t\tpassed event\n\t\t\t// evt: Event\n\t\t\t//\t\tThe event object. If omitted, window.event is used on IE.\n\t\t\tif(has(\"dom-addeventlistener\") || (evt && evt.preventDefault)){\n\t\t\t\tevt.preventDefault();\n\t\t\t\tevt.stopPropagation();\n\t\t\t}else{\n\t\t\t\tevt = evt || window.event;\n\t\t\t\tevt.cancelBubble = true;\n\t\t\t\ton._preventDefault.call(evt);\n\t\t\t}\n\t\t}\n\t};\n\n\tif(has(\"extend-dojo\")){\n\t\tdojo.fixEvent = ret.fix;\n\t\tdojo.stopEvent = ret.stop;\n\t}\n\n\treturn ret;\n});\n","define([\"./kernel\", \"../json\"], function(dojo, json){\n\n// module:\n//\t\tdojo/_base/json\n\n/*=====\nreturn {\n\t// summary:\n\t//\t\tThis module defines the dojo JSON API.\n};\n=====*/\n\ndojo.fromJson = function(/*String*/ js){\n\t// summary:\n\t//\t\tParses a JavaScript expression and returns a JavaScript value.\n\t// description:\n\t//\t\tThrows for invalid JavaScript expressions. It does not use a strict JSON parser. It\n\t//\t\talways delegates to eval(). The content passed to this method must therefore come\n\t//\t\tfrom a trusted source.\n\t//\t\tIt is recommend that you use dojo/json's parse function for an\n\t//\t\timplementation uses the (faster) native JSON parse when available.\n\t// js:\n\t//\t\ta string literal of a JavaScript expression, for instance:\n\t//\t\t`'{ \"foo\": [ \"bar\", 1, { \"baz\": \"thud\" } ] }'`\n\n\treturn eval(\"(\" + js + \")\"); // Object\n};\n\n/*=====\ndojo._escapeString = function(){\n\t// summary:\n\t//\t\tAdds escape sequences for non-visual characters, double quote and\n\t//\t\tbackslash and surrounds with double quotes to form a valid string\n\t//\t\tliteral.\n};\n=====*/\ndojo._escapeString = json.stringify; // just delegate to json.stringify\n\ndojo.toJsonIndentStr = \"\\t\";\ndojo.toJson = function(/*Object*/ it, /*Boolean?*/ prettyPrint){\n\t// summary:\n\t//\t\tReturns a [JSON](http://json.org) serialization of an object.\n\t// description:\n\t//\t\tReturns a [JSON](http://json.org) serialization of an object.\n\t//\t\tNote that this doesn't check for infinite recursion, so don't do that!\n\t//\t\tIt is recommend that you use dojo/json's stringify function for an lighter\n\t//\t\tand faster implementation that matches the native JSON API and uses the\n\t//\t\tnative JSON serializer when available.\n\t// it:\n\t//\t\tan object to be serialized. Objects may define their own\n\t//\t\tserialization via a special \"__json__\" or \"json\" function\n\t//\t\tproperty. If a specialized serializer has been defined, it will\n\t//\t\tbe used as a fallback.\n\t//\t\tNote that in 1.6, toJson would serialize undefined, but this no longer supported\n\t//\t\tsince it is not supported by native JSON serializer.\n\t// prettyPrint:\n\t//\t\tif true, we indent objects and arrays to make the output prettier.\n\t//\t\tThe variable `dojo.toJsonIndentStr` is used as the indent string --\n\t//\t\tto use something other than the default (tab), change that variable\n\t//\t\tbefore calling dojo.toJson().\n\t//\t\tNote that if native JSON support is available, it will be used for serialization,\n\t//\t\tand native implementations vary on the exact spacing used in pretty printing.\n\t// returns:\n\t//\t\tA JSON string serialization of the passed-in object.\n\t// example:\n\t//\t\tsimple serialization of a trivial object\n\t//\t\t|\tvar jsonStr = dojo.toJson({ howdy: \"stranger!\", isStrange: true });\n\t//\t\t|\tdoh.is('{\"howdy\":\"stranger!\",\"isStrange\":true}', jsonStr);\n\t// example:\n\t//\t\ta custom serializer for an objects of a particular class:\n\t//\t\t|\tdojo.declare(\"Furby\", null, {\n\t//\t\t|\t\tfurbies: \"are strange\",\n\t//\t\t|\t\tfurbyCount: 10,\n\t//\t\t|\t\t__json__: function(){\n\t//\t\t|\t\t},\n\t//\t\t|\t});\n\n\t// use dojo/json\n\treturn json.stringify(it, function(key, value){\n\t\tif(value){\n\t\t\tvar tf = value.__json__||value.json;\n\t\t\tif(typeof tf == \"function\"){\n\t\t\t\treturn tf.call(value);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}, prettyPrint && dojo.toJsonIndentStr);\t// String\n};\n\nreturn dojo;\n});\n","define([\"../global\", \"../has\", \"./config\", \"require\", \"module\"], function(global, has, config, require, module){\n\t// module:\n\t//\t\tdojo/_base/kernel\n\n\t// This module is the foundational module of the dojo boot sequence; it defines the dojo object.\n\n\tvar\n\t\t// loop variables for this module\n\t\ti, p,\n\n\t\t// create dojo, dijit, and dojox\n\t\t// FIXME: in 2.0 remove dijit, dojox being created by dojo\n\t\tdijit = {},\n\t\tdojox = {},\n\t\tdojo = {\n\t\t\t// summary:\n\t\t\t//\t\tThis module is the foundational module of the dojo boot sequence; it defines the dojo object.\n\n\t\t\t// notice dojo takes ownership of the value of the config module\n\t\t\tconfig:config,\n\t\t\tglobal:global,\n\t\t\tdijit:dijit,\n\t\t\tdojox:dojox\n\t\t};\n\n\n\t// Configure the scope map. For a 100% AMD application, the scope map is not needed other than to provide\n\t// a _scopeName property for the dojo, dijit, and dojox root object so those packages can create\n\t// unique names in the global space.\n\t//\n\t// Built, legacy modules use the scope map to allow those modules to be expressed as if dojo, dijit, and dojox,\n\t// where global when in fact they are either global under different names or not global at all. In v1.6-, the\n\t// config variable \"scopeMap\" was used to map names as used within a module to global names. This has been\n\t// subsumed by the AMD map configuration variable which can relocate packages to different names. For backcompat,\n\t// only the \"*\" mapping is supported. See http://livedocs.dojotoolkit.org/developer/design/loader#legacy-cross-domain-mode for details.\n\t//\n\t// The following computations contort the packageMap for this dojo instance into a scopeMap.\n\tvar scopeMap =\n\t\t\t// a map from a name used in a legacy module to the (global variable name, object addressed by that name)\n\t\t\t// always map dojo, dijit, and dojox\n\t\t\t{\n\t\t\t\tdojo:[\"dojo\", dojo],\n\t\t\t\tdijit:[\"dijit\", dijit],\n\t\t\t\tdojox:[\"dojox\", dojox]\n\t\t\t},\n\n\t\tpackageMap =\n\t\t\t// the package map for this dojo instance; note, a foreign loader or no pacakgeMap results in the above default config\n\t\t\t(require.map && require.map[module.id.match(/[^\\/]+/)[0]]),\n\n\t\titem;\n\n\n\t// process all mapped top-level names for this instance of dojo\n\tfor(p in packageMap){\n\t\tif(scopeMap[p]){\n\t\t\t// mapped dojo, dijit, or dojox\n\t\t\tscopeMap[p][0] = packageMap[p];\n\t\t}else{\n\t\t\t// some other top-level name\n\t\t\tscopeMap[p] = [packageMap[p], {}];\n\t\t}\n\t}\n\n\t// publish those names to _scopeName and, optionally, the global namespace\n\tfor(p in scopeMap){\n\t\titem = scopeMap[p];\n\t\titem[1]._scopeName = item[0];\n\t\tif(!config.noGlobals){\n\t\t\tglobal[item[0]] = item[1];\n\t\t}\n\t}\n\tdojo.scopeMap = scopeMap;\n\n\t/*===== dojo.__docParserConfigureScopeMap(scopeMap); =====*/\n\n\t// FIXME: dojo.baseUrl and dojo.config.baseUrl should be deprecated\n\tdojo.baseUrl = dojo.config.baseUrl = require.baseUrl;\n\tdojo.isAsync = !has(\"dojo-loader\") || require.async;\n\tdojo.locale = config.locale;\n\n\tvar rev = \"$Rev: d6e8ff38 $\".match(/[0-9a-f]{7,}/);\n\tdojo.version = {\n\t\t// summary:\n\t\t//\t\tVersion number of the Dojo Toolkit\n\t\t// description:\n\t\t//\t\tHash about the version, including\n\t\t//\n\t\t//\t\t- major: Integer: Major version. If total version is \"1.2.0beta1\", will be 1\n\t\t//\t\t- minor: Integer: Minor version. If total version is \"1.2.0beta1\", will be 2\n\t\t//\t\t- patch: Integer: Patch version. If total version is \"1.2.0beta1\", will be 0\n\t\t//\t\t- flag: String: Descriptor flag. If total version is \"1.2.0beta1\", will be \"beta1\"\n\t\t//\t\t- revision: Number: The Git rev from which dojo was pulled\n\n\t\tmajor: 1, minor: 14, patch: 2, flag: \"\",\n\t\trevision: rev ? rev[0] : NaN,\n\t\ttoString: function(){\n\t\t\tvar v = dojo.version;\n\t\t\treturn v.major + \".\" + v.minor + \".\" + v.patch + v.flag + \" (\" + v.revision + \")\";\t// String\n\t\t}\n\t};\n\n\t// If has(\"extend-dojo\") is truthy, then as a dojo module is defined it should push it's definitions\n\t// into the dojo object, and conversely. In 2.0, it will likely be unusual to augment another object\n\t// as a result of defining a module. This has feature gives a way to force 2.0 behavior as the code\n\t// is migrated. Absent specific advice otherwise, set extend-dojo to truthy.\n\thas.add(\"extend-dojo\", 1);\n\n\tif(!has(\"csp-restrictions\")){\n\t\t(Function(\"d\", \"d.eval = function(){return d.global.eval ? d.global.eval(arguments[0]) : eval(arguments[0]);}\"))(dojo);\n\t}\n\t/*=====\n\tdojo.eval = function(scriptText){\n\t\t// summary:\n\t\t//\t\tA legacy method created for use exclusively by internal Dojo methods. Do not use this method\n\t\t//\t\tdirectly unless you understand its possibly-different implications on the platforms your are targeting.\n\t\t// description:\n\t\t//\t\tMakes an attempt to evaluate scriptText in the global scope. The function works correctly for browsers\n\t\t//\t\tthat support indirect eval.\n\t\t//\n\t\t//\t\tAs usual, IE does not. On IE, the only way to implement global eval is to\n\t\t//\t\tuse execScript. Unfortunately, execScript does not return a value and breaks some current usages of dojo.eval.\n\t\t//\t\tThis implementation uses the technique of executing eval in the scope of a function that is a single scope\n\t\t//\t\tframe below the global scope; thereby coming close to the global scope. Note carefully that\n\t\t//\n\t\t//\t\tdojo.eval(\"var pi = 3.14;\");\n\t\t//\n\t\t//\t\twill define global pi in non-IE environments, but define pi only in a temporary local scope for IE. If you want\n\t\t//\t\tto define a global variable using dojo.eval, write something like\n\t\t//\n\t\t//\t\tdojo.eval(\"window.pi = 3.14;\")\n\t\t// scriptText:\n\t\t//\t\tThe text to evaluation.\n\t\t// returns:\n\t\t//\t\tThe result of the evaluation. Often `undefined`\n\t};\n\t=====*/\n\n\n\tif(has(\"host-rhino\")){\n\t\tdojo.exit = function(exitcode){\n\t\t\tquit(exitcode);\n\t\t};\n\t}else{\n\t\tdojo.exit = function(){\n\t\t};\n\t}\n\n\tif(!has(\"host-webworker\")){\n\t\t// console is immutable in FF30+, https://bugs.dojotoolkit.org/ticket/18100\n\t\thas.add(\"dojo-guarantee-console\",\n\t\t\t// ensure that console.log, console.warn, etc. are defined\n\t\t\t1\n\t\t);\n\t}\n\n\tif(has(\"dojo-guarantee-console\")){\n\t\t// IE 9 bug: https://bugs.dojotoolkit.org/ticket/18197\n\t\thas.add(\"console-as-object\", function () {\n\t\t\treturn Function.prototype.bind && console && typeof console.log === \"object\";\n\t\t});\n\n\t\ttypeof console != \"undefined\" || (console = {}); // intentional assignment\n\t\t//\tBe careful to leave 'log' always at the end\n\t\tvar cn = [\n\t\t\t\"assert\", \"count\", \"debug\", \"dir\", \"dirxml\", \"error\", \"group\",\n\t\t\t\"groupEnd\", \"info\", \"profile\", \"profileEnd\", \"time\", \"timeEnd\",\n\t\t\t\"trace\", \"warn\", \"log\"\n\t\t];\n\t\tvar tn;\n\t\ti = 0;\n\t\twhile((tn = cn[i++])){\n\t\t\tif(!console[tn]){\n\t\t\t\t(function(){\n\t\t\t\t\tvar tcn = tn + \"\";\n\t\t\t\t\tconsole[tcn] = ('log' in console) ? function(){\n\t\t\t\t\t\tvar a = Array.prototype.slice.call(arguments);\n\t\t\t\t\t\ta.unshift(tcn + \":\");\n\t\t\t\t\t\tconsole[\"log\"](a.join(\" \"));\n\t\t\t\t\t} : function(){};\n\t\t\t\t\tconsole[tcn]._fake = true;\n\t\t\t\t})();\n\t\t\t}else if(has(\"console-as-object\")){\n\t\t\t\tconsole[tn] = Function.prototype.bind.call(console[tn], console);\n\t\t\t}\n\t\t}\n\t}\n\n\thas.add(\"dojo-debug-messages\",\n\t\t// include dojo.deprecated/dojo.experimental implementations\n\t\t!!config.isDebug\n\t);\n\tdojo.deprecated = dojo.experimental = function(){};\n\tif(has(\"dojo-debug-messages\")){\n\t\tdojo.deprecated = function(/*String*/ behaviour, /*String?*/ extra, /*String?*/ removal){\n\t\t\t// summary:\n\t\t\t//\t\tLog a debug message to indicate that a behavior has been\n\t\t\t//\t\tdeprecated.\n\t\t\t// behaviour: String\n\t\t\t//\t\tThe API or behavior being deprecated. Usually in the form\n\t\t\t//\t\tof \"myApp.someFunction()\".\n\t\t\t// extra: String?\n\t\t\t//\t\tText to append to the message. Often provides advice on a\n\t\t\t//\t\tnew function or facility to achieve the same goal during\n\t\t\t//\t\tthe deprecation period.\n\t\t\t// removal: String?\n\t\t\t//\t\tText to indicate when in the future the behavior will be\n\t\t\t//\t\tremoved. Usually a version number.\n\t\t\t// example:\n\t\t\t//\t| dojo.deprecated(\"myApp.getTemp()\", \"use myApp.getLocaleTemp() instead\", \"1.0\");\n\n\t\t\tvar message = \"DEPRECATED: \" + behaviour;\n\t\t\tif(extra){ message += \" \" + extra; }\n\t\t\tif(removal){ message += \" -- will be removed in version: \" + removal; }\n\t\t\tconsole.warn(message);\n\t\t};\n\n\t\tdojo.experimental = function(/* String */ moduleName, /* String? */ extra){\n\t\t\t// summary:\n\t\t\t//\t\tMarks code as experimental.\n\t\t\t// description:\n\t\t\t//\t\tThis can be used to mark a function, file, or module as\n\t\t\t//\t\texperimental.\t Experimental code is not ready to be used, and the\n\t\t\t//\t\tAPIs are subject to change without notice.\tExperimental code may be\n\t\t\t//\t\tcompleted deleted without going through the normal deprecation\n\t\t\t//\t\tprocess.\n\t\t\t// moduleName: String\n\t\t\t//\t\tThe name of a module, or the name of a module file or a specific\n\t\t\t//\t\tfunction\n\t\t\t// extra: String?\n\t\t\t//\t\tsome additional message for the user\n\t\t\t// example:\n\t\t\t//\t| dojo.experimental(\"dojo.data.Result\");\n\t\t\t// example:\n\t\t\t//\t| dojo.experimental(\"dojo.weather.toKelvin()\", \"PENDING approval from NOAA\");\n\n\t\t\tvar message = \"EXPERIMENTAL: \" + moduleName + \" -- APIs subject to change without notice.\";\n\t\t\tif(extra){ message += \" \" + extra; }\n\t\t\tconsole.warn(message);\n\t\t};\n\t}\n\n\thas.add(\"dojo-modulePaths\",\n\t\t// consume dojo.modulePaths processing\n\t\t1\n\t);\n\tif(has(\"dojo-modulePaths\")){\n\t\t// notice that modulePaths won't be applied to any require's before the dojo/_base/kernel factory is run;\n\t\t// this is the v1.6- behavior.\n\t\tif(config.modulePaths){\n\t\t\tdojo.deprecated(\"dojo.modulePaths\", \"use paths configuration\");\n\t\t\tvar paths = {};\n\t\t\tfor(p in config.modulePaths){\n\t\t\t\tpaths[p.replace(/\\./g, \"/\")] = config.modulePaths[p];\n\t\t\t}\n\t\t\trequire({paths:paths});\n\t\t}\n\t}\n\n\thas.add(\"dojo-moduleUrl\",\n\t\t// include dojo.moduleUrl\n\t\t1\n\t);\n\tif(has(\"dojo-moduleUrl\")){\n\t\tdojo.moduleUrl = function(/*String*/module, /*String?*/url){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a URL relative to a module.\n\t\t\t// example:\n\t\t\t//\t|\tvar pngPath = dojo.moduleUrl(\"acme\",\"images/small.png\");\n\t\t\t//\t|\tconsole.dir(pngPath); // list the object properties\n\t\t\t//\t|\t// create an image and set it's source to pngPath's value:\n\t\t\t//\t|\tvar img = document.createElement(\"img\");\n\t\t\t//\t|\timg.src = pngPath;\n\t\t\t//\t|\t// add our image to the document\n\t\t\t//\t|\tdojo.body().appendChild(img);\n\t\t\t// example:\n\t\t\t//\t\tyou may de-reference as far as you like down the package\n\t\t\t//\t\thierarchy. This is sometimes handy to avoid lengthy relative\n\t\t\t//\t\turls or for building portable sub-packages. In this example,\n\t\t\t//\t\tthe `acme.widget` and `acme.util` directories may be located\n\t\t\t//\t\tunder different roots (see `dojo.registerModulePath`) but the\n\t\t\t//\t\tthe modules which reference them can be unaware of their\n\t\t\t//\t\trelative locations on the filesystem:\n\t\t\t//\t|\t// somewhere in a configuration block\n\t\t\t//\t|\tdojo.registerModulePath(\"acme.widget\", \"../../acme/widget\");\n\t\t\t//\t|\tdojo.registerModulePath(\"acme.util\", \"../../util\");\n\t\t\t//\t|\n\t\t\t//\t|\t// ...\n\t\t\t//\t|\n\t\t\t//\t|\t// code in a module using acme resources\n\t\t\t//\t|\tvar tmpltPath = dojo.moduleUrl(\"acme.widget\",\"templates/template.html\");\n\t\t\t//\t|\tvar dataPath = dojo.moduleUrl(\"acme.util\",\"resources/data.json\");\n\n\t\t\tdojo.deprecated(\"dojo.moduleUrl()\", \"use require.toUrl\", \"2.0\");\n\n\t\t\t// require.toUrl requires a filetype; therefore, just append the suffix \"/*.*\" to guarantee a filetype, then\n\t\t\t// remove the suffix from the result. This way clients can request a url w/out a filetype. This should be\n\t\t\t// rare, but it maintains backcompat for the v1.x line (note: dojo.moduleUrl will be removed in v2.0).\n\t\t\t// Notice * is an illegal filename so it won't conflict with any real path map that may exist the paths config.\n\t\t\tvar result = null;\n\t\t\tif(module){\n\t\t\t\tresult = require.toUrl(module.replace(/\\./g, \"/\") + (url ? (\"/\" + url) : \"\") + \"/*.*\").replace(/\\/\\*\\.\\*/, \"\") + (url ? \"\" : \"/\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tdojo._hasResource = {}; // for backward compatibility with layers built with 1.6 tooling\n\n\treturn dojo;\n});\n","define([\"./kernel\", \"../has\", \"../sniff\"], function(dojo, has){\n\t// module:\n\t//\t\tdojo/_base/lang\n\n\thas.add(\"bug-for-in-skips-shadowed\", function(){\n\t\t// if true, the for-in iterator skips object properties that exist in Object's prototype (IE 6 - ?)\n\t\tfor(var i in {toString: 1}){\n\t\t\treturn 0;\n\t\t}\n\t\treturn 1;\n\t});\n\n\t// Helper methods\n\tvar _extraNames =\n\t\t\thas(\"bug-for-in-skips-shadowed\") ?\n\t\t\t\t\"hasOwnProperty.valueOf.isPrototypeOf.propertyIsEnumerable.toLocaleString.toString.constructor\".split(\".\") : [],\n\n\t\t_extraLen = _extraNames.length,\n\n\t\tgetProp = function(/*Array*/parts, /*Boolean*/create, /*Object*/context){\n\t\t\tif(!context){\n\t\t\t\tif(parts[0] && dojo.scopeMap[parts[0]]) {\n\t\t\t\t\t// Voodoo code from the old days where \"dojo\" or \"dijit\" maps to some special object\n\t\t\t\t\t// rather than just window.dojo\n\t\t\t\t\tcontext = dojo.scopeMap[parts.shift()][1];\n\t\t\t\t}else{\n\t\t\t\t\tcontext = dojo.global;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttry{\n\t\t\t\tfor(var i = 0; i < parts.length; i++){\n\t\t\t\t\tvar p = parts[i];\n\t\t\t\t\tif(!(p in context)){\n\t\t\t\t\t\tif(create){\n\t\t\t\t\t\t\tcontext[p] = {};\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\treturn;\t\t// return undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcontext = context[p];\n\t\t\t\t}\n\t\t\t\treturn context; // mixed\n\t\t\t}catch(e){\n\t\t\t\t// \"p in context\" throws an exception when context is a number, boolean, etc. rather than an object,\n\t\t\t\t// so in that corner case just return undefined (by having no return statement)\n\t\t\t}\n\t\t},\n\n\t\topts = Object.prototype.toString,\n\n\t\tefficient = function(obj, offset, startWith){\n\t\t\treturn (startWith||[]).concat(Array.prototype.slice.call(obj, offset||0));\n\t\t},\n\n\t\t_pattern = /\\{([^\\}]+)\\}/g;\n\n\t// Module export\n\tvar lang = {\n\t\t// summary:\n\t\t//\t\tThis module defines Javascript language extensions.\n\n\t\t// _extraNames: String[]\n\t\t//\t\tLists property names that must be explicitly processed during for-in iteration\n\t\t//\t\tin environments that have has(\"bug-for-in-skips-shadowed\") true.\n\t\t_extraNames:_extraNames,\n\n\t\t_mixin: function(dest, source, copyFunc){\n\t\t\t// summary:\n\t\t\t//\t\tCopies/adds all properties of source to dest; returns dest.\n\t\t\t// dest: Object\n\t\t\t//\t\tThe object to which to copy/add all properties contained in source.\n\t\t\t// source: Object\n\t\t\t//\t\tThe object from which to draw all properties to copy into dest.\n\t\t\t// copyFunc: Function?\n\t\t\t//\t\tThe process used to copy/add a property in source; defaults to the Javascript assignment operator.\n\t\t\t// returns:\n\t\t\t//\t\tdest, as modified\n\t\t\t// description:\n\t\t\t//\t\tAll properties, including functions (sometimes termed \"methods\"), excluding any non-standard extensions\n\t\t\t//\t\tfound in Object.prototype, are copied/added to dest. Copying/adding each particular property is\n\t\t\t//\t\tdelegated to copyFunc (if any); copyFunc defaults to the Javascript assignment operator if not provided.\n\t\t\t//\t\tNotice that by default, _mixin executes a so-called \"shallow copy\" and aggregate types are copied/added by reference.\n\t\t\tvar name, s, i, empty = {};\n\t\t\tfor(name in source){\n\t\t\t\t// the (!(name in empty) || empty[name] !== s) condition avoids copying properties in \"source\"\n\t\t\t\t// inherited from Object.prototype.\t For example, if dest has a custom toString() method,\n\t\t\t\t// don't overwrite it with the toString() method that source inherited from Object.prototype\n\t\t\t\ts = source[name];\n\t\t\t\tif(!(name in dest) || (dest[name] !== s && (!(name in empty) || empty[name] !== s))){\n\t\t\t\t\tdest[name] = copyFunc ? copyFunc(s) : s;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(has(\"bug-for-in-skips-shadowed\")){\n\t\t\t\tif(source){\n\t\t\t\t\tfor(i = 0; i < _extraLen; ++i){\n\t\t\t\t\t\tname = _extraNames[i];\n\t\t\t\t\t\ts = source[name];\n\t\t\t\t\t\tif(!(name in dest) || (dest[name] !== s && (!(name in empty) || empty[name] !== s))){\n\t\t\t\t\t\t\tdest[name] = copyFunc ? copyFunc(s) : s;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn dest; // Object\n\t\t},\n\n\t\tmixin: function(dest, sources){\n\t\t\t// summary:\n\t\t\t//\t\tCopies/adds all properties of one or more sources to dest; returns dest.\n\t\t\t// dest: Object\n\t\t\t//\t\tThe object to which to copy/add all properties contained in source. If dest is falsy, then\n\t\t\t//\t\ta new object is manufactured before copying/adding properties begins.\n\t\t\t// sources: Object...\n\t\t\t//\t\tOne of more objects from which to draw all properties to copy into dest. sources are processed\n\t\t\t//\t\tleft-to-right and if more than one of these objects contain the same property name, the right-most\n\t\t\t//\t\tvalue \"wins\".\n\t\t\t// returns: Object\n\t\t\t//\t\tdest, as modified\n\t\t\t// description:\n\t\t\t//\t\tAll properties, including functions (sometimes termed \"methods\"), excluding any non-standard extensions\n\t\t\t//\t\tfound in Object.prototype, are copied/added from sources to dest. sources are processed left to right.\n\t\t\t//\t\tThe Javascript assignment operator is used to copy/add each property; therefore, by default, mixin\n\t\t\t//\t\texecutes a so-called \"shallow copy\" and aggregate types are copied/added by reference.\n\t\t\t// example:\n\t\t\t//\t\tmake a shallow copy of an object\n\t\t\t//\t|\tvar copy = lang.mixin({}, source);\n\t\t\t// example:\n\t\t\t//\t\tmany class constructors often take an object which specifies\n\t\t\t//\t\tvalues to be configured on the object. In this case, it is\n\t\t\t//\t\toften simplest to call `lang.mixin` on the `this` object:\n\t\t\t//\t|\tdeclare(\"acme.Base\", null, {\n\t\t\t//\t|\t\tconstructor: function(properties){\n\t\t\t//\t|\t\t\t// property configuration:\n\t\t\t//\t|\t\t\tlang.mixin(this, properties);\n\t\t\t//\t|\n\t\t\t//\t|\t\t\tconsole.log(this.quip);\n\t\t\t//\t|\t\t\t//\t...\n\t\t\t//\t|\t\t},\n\t\t\t//\t|\t\tquip: \"I wasn't born yesterday, you know - I've seen movies.\",\n\t\t\t//\t|\t\t// ...\n\t\t\t//\t|\t});\n\t\t\t//\t|\n\t\t\t//\t|\t// create an instance of the class and configure it\n\t\t\t//\t|\tvar b = new acme.Base({quip: \"That's what it does!\" });\n\t\t\t// example:\n\t\t\t//\t\tcopy in properties from multiple objects\n\t\t\t//\t|\tvar flattened = lang.mixin(\n\t\t\t//\t|\t\t{\n\t\t\t//\t|\t\t\tname: \"Frylock\",\n\t\t\t//\t|\t\t\tbraces: true\n\t\t\t//\t|\t\t},\n\t\t\t//\t|\t\t{\n\t\t\t//\t|\t\t\tname: \"Carl Brutanananadilewski\"\n\t\t\t//\t|\t\t}\n\t\t\t//\t|\t);\n\t\t\t//\t|\n\t\t\t//\t|\t// will print \"Carl Brutanananadilewski\"\n\t\t\t//\t|\tconsole.log(flattened.name);\n\t\t\t//\t|\t// will print \"true\"\n\t\t\t//\t|\tconsole.log(flattened.braces);\n\n\t\t\tif(!dest){ dest = {}; }\n\t\t\tfor(var i = 1, l = arguments.length; i < l; i++){\n\t\t\t\tlang._mixin(dest, arguments[i]);\n\t\t\t}\n\t\t\treturn dest; // Object\n\t\t},\n\n\t\tsetObject: function(name, value, context){\n\t\t\t// summary:\n\t\t\t//\t\tSet a property from a dot-separated string, such as \"A.B.C\"\n\t\t\t// description:\n\t\t\t//\t\tUseful for longer api chains where you have to test each object in\n\t\t\t//\t\tthe chain, or when you have an object reference in string format.\n\t\t\t//\t\tObjects are created as needed along `path`. Returns the passed\n\t\t\t//\t\tvalue if setting is successful or `undefined` if not.\n\t\t\t// name: String\n\t\t\t//\t\tPath to a property, in the form \"A.B.C\".\n\t\t\t// value: anything\n\t\t\t//\t\tvalue or object to place at location given by name\n\t\t\t// context: Object?\n\t\t\t//\t\tOptional. Object to use as root of path. Defaults to\n\t\t\t//\t\t`dojo.global`.\n\t\t\t// example:\n\t\t\t//\t\tset the value of `foo.bar.baz`, regardless of whether\n\t\t\t//\t\tintermediate objects already exist:\n\t\t\t//\t| lang.setObject(\"foo.bar.baz\", value);\n\t\t\t// example:\n\t\t\t//\t\twithout `lang.setObject`, we often see code like this:\n\t\t\t//\t| // ensure that intermediate objects are available\n\t\t\t//\t| if(!obj[\"parent\"]){ obj.parent = {}; }\n\t\t\t//\t| if(!obj.parent[\"child\"]){ obj.parent.child = {}; }\n\t\t\t//\t| // now we can safely set the property\n\t\t\t//\t| obj.parent.child.prop = \"some value\";\n\t\t\t//\t\twhereas with `lang.setObject`, we can shorten that to:\n\t\t\t//\t| lang.setObject(\"parent.child.prop\", \"some value\", obj);\n\n\t\t\tvar parts = name.split(\".\"), p = parts.pop(), obj = getProp(parts, true, context);\n\t\t\treturn obj && p ? (obj[p] = value) : undefined; // Object\n\t\t},\n\n\t\tgetObject: function(name, create, context){\n\t\t\t// summary:\n\t\t\t//\t\tGet a property from a dot-separated string, such as \"A.B.C\"\n\t\t\t// description:\n\t\t\t//\t\tUseful for longer api chains where you have to test each object in\n\t\t\t//\t\tthe chain, or when you have an object reference in string format.\n\t\t\t// name: String\n\t\t\t//\t\tPath to an property, in the form \"A.B.C\".\n\t\t\t// create: Boolean?\n\t\t\t//\t\tOptional. Defaults to `false`. If `true`, Objects will be\n\t\t\t//\t\tcreated at any point along the 'path' that is undefined.\n\t\t\t// context: Object?\n\t\t\t//\t\tOptional. Object to use as root of path. Defaults to\n\t\t\t//\t\t'dojo.global'. Null may be passed.\n\t\t\treturn !name ? context : getProp(name.split(\".\"), create, context); // Object\n\t\t},\n\n\t\texists: function(name, obj){\n\t\t\t// summary:\n\t\t\t//\t\tdetermine if an object supports a given method\n\t\t\t// description:\n\t\t\t//\t\tuseful for longer api chains where you have to test each object in\n\t\t\t//\t\tthe chain. Useful for object and method detection.\n\t\t\t// name: String\n\t\t\t//\t\tPath to an object, in the form \"A.B.C\".\n\t\t\t// obj: Object?\n\t\t\t//\t\tObject to use as root of path. Defaults to\n\t\t\t//\t\t'dojo.global'. Null may be passed.\n\t\t\t// example:\n\t\t\t//\t| // define an object\n\t\t\t//\t| var foo = {\n\t\t\t//\t|\t\tbar: { }\n\t\t\t//\t| };\n\t\t\t//\t|\n\t\t\t//\t| // search the global scope\n\t\t\t//\t| lang.exists(\"foo.bar\"); // true\n\t\t\t//\t| lang.exists(\"foo.bar.baz\"); // false\n\t\t\t//\t|\n\t\t\t//\t| // search from a particular scope\n\t\t\t//\t| lang.exists(\"bar\", foo); // true\n\t\t\t//\t| lang.exists(\"bar.baz\", foo); // false\n\t\t\treturn lang.getObject(name, false, obj) !== undefined; // Boolean\n\t\t},\n\n\t\t// Crockford (ish) functions\n\n\t\tisString: function(it){\n\t\t\t// summary:\n\t\t\t//\t\tReturn true if it is a String\n\t\t\t// it: anything\n\t\t\t//\t\tItem to test.\n\t\t\treturn (typeof it == \"string\" || it instanceof String); // Boolean\n\t\t},\n\n\t\tisArray: Array.isArray || function(it){\n\t\t\t// summary:\n\t\t\t//\t\tReturn true if it is an Array.\n\t\t\t// it: anything\n\t\t\t//\t\tItem to test.\n\t\t\treturn opts.call(it) == \"[object Array]\"; // Boolean\n\t\t},\n\n\t\tisFunction: function(it){\n\t\t\t// summary:\n\t\t\t//\t\tReturn true if it is a Function\n\t\t\t// it: anything\n\t\t\t//\t\tItem to test.\n\t\t\treturn opts.call(it) === \"[object Function]\";\n\t\t},\n\n\t\tisObject: function(it){\n\t\t\t// summary:\n\t\t\t//\t\tReturns true if it is a JavaScript object (or an Array, a Function\n\t\t\t//\t\tor null)\n\t\t\t// it: anything\n\t\t\t//\t\tItem to test.\n\t\t\treturn it !== undefined &&\n\t\t\t\t(it === null || typeof it == \"object\" || lang.isArray(it) || lang.isFunction(it)); // Boolean\n\t\t},\n\n\t\tisArrayLike: function(it){\n\t\t\t// summary:\n\t\t\t//\t\tsimilar to isArray() but more permissive\n\t\t\t// it: anything\n\t\t\t//\t\tItem to test.\n\t\t\t// returns:\n\t\t\t//\t\tIf it walks like a duck and quacks like a duck, return `true`\n\t\t\t// description:\n\t\t\t//\t\tDoesn't strongly test for \"arrayness\". Instead, settles for \"isn't\n\t\t\t//\t\ta string or number and has a length property\". Arguments objects\n\t\t\t//\t\tand DOM collections will return true when passed to\n\t\t\t//\t\tisArrayLike(), but will return false when passed to\n\t\t\t//\t\tisArray().\n\t\t\treturn !!it && // Boolean\n\t\t\t\t// keep out built-in constructors (Number, String, ...) which have length\n\t\t\t\t// properties\n\t\t\t\t!lang.isString(it) && !lang.isFunction(it) &&\n\t\t\t\t!(it.tagName && it.tagName.toLowerCase() == 'form') &&\n\t\t\t\t(lang.isArray(it) || isFinite(it.length));\n\t\t},\n\n\t\tisAlien: function(it){\n\t\t\t// summary:\n\t\t\t//\t\tReturns true if it is a built-in function or some other kind of\n\t\t\t//\t\toddball that *should* report as a function but doesn't\n\t\t\treturn it && !lang.isFunction(it) && /\\{\\s*\\[native code\\]\\s*\\}/.test(String(it)); // Boolean\n\t\t},\n\n\t\textend: function(ctor, props){\n\t\t\t// summary:\n\t\t\t//\t\tAdds all properties and methods of props to constructor's\n\t\t\t//\t\tprototype, making them available to all instances created with\n\t\t\t//\t\tconstructor.\n\t\t\t// ctor: Object\n\t\t\t//\t\tTarget constructor to extend.\n\t\t\t// props: Object\n\t\t\t//\t\tOne or more objects to mix into ctor.prototype\n\t\t\tfor(var i=1, l=arguments.length; i<l; i++){\n\t\t\t\tlang._mixin(ctor.prototype, arguments[i]);\n\t\t\t}\n\t\t\treturn ctor; // Object\n\t\t},\n\n\t\t_hitchArgs: function(scope, method){\n\t\t\tvar pre = lang._toArray(arguments, 2);\n\t\t\tvar named = lang.isString(method);\n\t\t\treturn function(){\n\t\t\t\t// arrayify arguments\n\t\t\t\tvar args = lang._toArray(arguments);\n\t\t\t\t// locate our method\n\t\t\t\tvar f = named ? (scope||dojo.global)[method] : method;\n\t\t\t\t// invoke with collected args\n\t\t\t\treturn f && f.apply(scope || this, pre.concat(args)); // mixed\n\t\t\t}; // Function\n\t\t},\n\n\t\thitch: function(scope, method){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a function that will only ever execute in the given scope.\n\t\t\t//\t\tThis allows for easy use of object member functions\n\t\t\t//\t\tin callbacks and other places in which the \"this\" keyword may\n\t\t\t//\t\totherwise not reference the expected scope.\n\t\t\t//\t\tAny number of default positional arguments may be passed as parameters\n\t\t\t//\t\tbeyond \"method\".\n\t\t\t//\t\tEach of these values will be used to \"placehold\" (similar to curry)\n\t\t\t//\t\tfor the hitched function.\n\t\t\t// scope: Object\n\t\t\t//\t\tThe scope to use when method executes. If method is a string,\n\t\t\t//\t\tscope is also the object containing method.\n\t\t\t// method: Function|String...\n\t\t\t//\t\tA function to be hitched to scope, or the name of the method in\n\t\t\t//\t\tscope to be hitched.\n\t\t\t// example:\n\t\t\t//\t|\tlang.hitch(foo, \"bar\")();\n\t\t\t//\t\truns foo.bar() in the scope of foo\n\t\t\t// example:\n\t\t\t//\t|\tlang.hitch(foo, myFunction);\n\t\t\t//\t\treturns a function that runs myFunction in the scope of foo\n\t\t\t// example:\n\t\t\t//\t\tExpansion on the default positional arguments passed along from\n\t\t\t//\t\thitch. Passed args are mixed first, additional args after.\n\t\t\t//\t|\tvar foo = { bar: function(a, b, c){ console.log(a, b, c); } };\n\t\t\t//\t|\tvar fn = lang.hitch(foo, \"bar\", 1, 2);\n\t\t\t//\t|\tfn(3); // logs \"1, 2, 3\"\n\t\t\t// example:\n\t\t\t//\t|\tvar foo = { bar: 2 };\n\t\t\t//\t|\tlang.hitch(foo, function(){ this.bar = 10; })();\n\t\t\t//\t\texecute an anonymous function in scope of foo\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn lang._hitchArgs.apply(dojo, arguments); // Function\n\t\t\t}\n\t\t\tif(!method){\n\t\t\t\tmethod = scope;\n\t\t\t\tscope = null;\n\t\t\t}\n\t\t\tif(lang.isString(method)){\n\t\t\t\tscope = scope || dojo.global;\n\t\t\t\tif(!scope[method]){ throw(['lang.hitch: scope[\"', method, '\"] is null (scope=\"', scope, '\")'].join('')); }\n\t\t\t\treturn function(){ return scope[method].apply(scope, arguments || []); }; // Function\n\t\t\t}\n\t\t\treturn !scope ? method : function(){ return method.apply(scope, arguments || []); }; // Function\n\t\t},\n\n\t\tdelegate: (function(){\n\t\t\t// boodman/crockford delegation w/ cornford optimization\n\t\t\tfunction TMP(){}\n\t\t\treturn function(obj, props){\n\t\t\t\tTMP.prototype = obj;\n\t\t\t\tvar tmp = new TMP();\n\t\t\t\tTMP.prototype = null;\n\t\t\t\tif(props){\n\t\t\t\t\tlang._mixin(tmp, props);\n\t\t\t\t}\n\t\t\t\treturn tmp; // Object\n\t\t\t};\n\t\t})(),\n\t\t/*=====\n\t\tdelegate: function(obj, props){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a new object which \"looks\" to obj for properties which it\n\t\t\t//\t\tdoes not have a value for. Optionally takes a bag of properties to\n\t\t\t//\t\tseed the returned object with initially.\n\t\t\t// description:\n\t\t\t//\t\tThis is a small implementation of the Boodman/Crockford delegation\n\t\t\t//\t\tpattern in JavaScript. An intermediate object constructor mediates\n\t\t\t//\t\tthe prototype chain for the returned object, using it to delegate\n\t\t\t//\t\tdown to obj for property lookup when object-local lookup fails.\n\t\t\t//\t\tThis can be thought of similarly to ES4's \"wrap\", save that it does\n\t\t\t//\t\tnot act on types but rather on pure objects.\n\t\t\t// obj: Object\n\t\t\t//\t\tThe object to delegate to for properties not found directly on the\n\t\t\t//\t\treturn object or in props.\n\t\t\t// props: Object...\n\t\t\t//\t\tan object containing properties to assign to the returned object\n\t\t\t// returns:\n\t\t\t//\t\tan Object of anonymous type\n\t\t\t// example:\n\t\t\t//\t|\tvar foo = { bar: \"baz\" };\n\t\t\t//\t|\tvar thinger = lang.delegate(foo, { thud: \"xyzzy\"});\n\t\t\t//\t|\tthinger.bar == \"baz\"; // delegated to foo\n\t\t\t//\t|\tfoo.thud == undefined; // by definition\n\t\t\t//\t|\tthinger.thud == \"xyzzy\"; // mixed in from props\n\t\t\t//\t|\tfoo.bar = \"thonk\";\n\t\t\t//\t|\tthinger.bar == \"thonk\"; // still delegated to foo's bar\n\t\t},\n\t\t=====*/\n\n\t\t_toArray: has(\"ie\") ?\n\t\t\t(function(){\n\t\t\t\tfunction slow(obj, offset, startWith){\n\t\t\t\t\tvar arr = startWith||[];\n\t\t\t\t\tfor(var x = offset || 0; x < obj.length; x++){\n\t\t\t\t\t\tarr.push(obj[x]);\n\t\t\t\t\t}\n\t\t\t\t\treturn arr;\n\t\t\t\t}\n\t\t\t\treturn function(obj){\n\t\t\t\t\treturn ((obj.item) ? slow : efficient).apply(this, arguments);\n\t\t\t\t};\n\t\t\t})() : efficient,\n\t\t/*=====\n\t\t _toArray: function(obj, offset, startWith){\n\t\t\t // summary:\n\t\t\t //\t\tConverts an array-like object (i.e. arguments, DOMCollection) to an\n\t\t\t //\t\tarray. Returns a new Array with the elements of obj.\n\t\t\t // obj: Object\n\t\t\t //\t\tthe object to \"arrayify\". We expect the object to have, at a\n\t\t\t //\t\tminimum, a length property which corresponds to integer-indexed\n\t\t\t //\t\tproperties.\n\t\t\t // offset: Number?\n\t\t\t //\t\tthe location in obj to start iterating from. Defaults to 0.\n\t\t\t //\t\tOptional.\n\t\t\t // startWith: Array?\n\t\t\t //\t\tAn array to pack with the properties of obj. If provided,\n\t\t\t //\t\tproperties in obj are appended at the end of startWith and\n\t\t\t //\t\tstartWith is the returned array.\n\t\t },\n\t\t =====*/\n\n\t\tpartial: function(/*Function|String*/ method /*, ...*/){\n\t\t\t// summary:\n\t\t\t//\t\tsimilar to hitch() except that the scope object is left to be\n\t\t\t//\t\twhatever the execution context eventually becomes.\n\t\t\t// description:\n\t\t\t//\t\tCalling lang.partial is the functional equivalent of calling:\n\t\t\t//\t\t|\tlang.hitch(null, funcName, ...);\n\t\t\t// method:\n\t\t\t//\t\tThe function to \"wrap\"\n\t\t\tvar arr = [ null ];\n\t\t\treturn lang.hitch.apply(dojo, arr.concat(lang._toArray(arguments))); // Function\n\t\t},\n\n\t\tclone: function(/*anything*/ src){\n\t\t\t// summary:\n\t\t\t//\t\tClones objects (including DOM nodes) and all children.\n\t\t\t//\t\tWarning: do not clone cyclic structures.\n\t\t\t// src:\n\t\t\t//\t\tThe object to clone\n\t\t\tif(!src || typeof src != \"object\" || lang.isFunction(src)){\n\t\t\t\t// null, undefined, any non-object, or function\n\t\t\t\treturn src;\t// anything\n\t\t\t}\n\t\t\tif(src.nodeType && \"cloneNode\" in src){\n\t\t\t\t// DOM Node\n\t\t\t\treturn src.cloneNode(true); // Node\n\t\t\t}\n\t\t\tif(src instanceof Date){\n\t\t\t\t// Date\n\t\t\t\treturn new Date(src.getTime());\t// Date\n\t\t\t}\n\t\t\tif(src instanceof RegExp){\n\t\t\t\t// RegExp\n\t\t\t\treturn new RegExp(src); // RegExp\n\t\t\t}\n\t\t\tvar r, i, l;\n\t\t\tif(lang.isArray(src)){\n\t\t\t\t// array\n\t\t\t\tr = [];\n\t\t\t\tfor(i = 0, l = src.length; i < l; ++i){\n\t\t\t\t\tif(i in src){\n\t\t\t\t\t\tr[i] = lang.clone(src[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// we don't clone functions for performance reasons\n\t\t\t\t//\t\t}else if(d.isFunction(src)){\n\t\t\t\t//\t\t\t// function\n\t\t\t\t//\t\t\tr = function(){ return src.apply(this, arguments); };\n\t\t\t}else{\n\t\t\t\t// generic objects\n\t\t\t\tr = src.constructor ? new src.constructor() : {};\n\t\t\t}\n\t\t\treturn lang._mixin(r, src, lang.clone);\n\t\t},\n\n\n\t\ttrim: String.prototype.trim ?\n\t\t\tfunction(str){ return str.trim(); } :\n\t\t\tfunction(str){ return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, ''); },\n\t\t/*=====\n\t\t trim: function(str){\n\t\t\t // summary:\n\t\t\t //\t\tTrims whitespace from both sides of the string\n\t\t\t // str: String\n\t\t\t //\t\tString to be trimmed\n\t\t\t // returns: String\n\t\t\t //\t\tReturns the trimmed string\n\t\t\t // description:\n\t\t\t //\t\tThis version of trim() was selected for inclusion into the base due\n\t\t\t //\t\tto its compact size and relatively good performance\n\t\t\t //\t\t(see [Steven Levithan's blog](http://blog.stevenlevithan.com/archives/faster-trim-javascript)\n\t\t\t //\t\tUses String.prototype.trim instead, if available.\n\t\t\t //\t\tThe fastest but longest version of this function is located at\n\t\t\t //\t\tlang.string.trim()\n\t\t },\n\t\t =====*/\n\n\t\treplace: function(tmpl, map, pattern){\n\t\t\t// summary:\n\t\t\t//\t\tPerforms parameterized substitutions on a string. Throws an\n\t\t\t//\t\texception if any parameter is unmatched.\n\t\t\t// tmpl: String\n\t\t\t//\t\tString to be used as a template.\n\t\t\t// map: Object|Function\n\t\t\t//\t\tIf an object, it is used as a dictionary to look up substitutions.\n\t\t\t//\t\tIf a function, it is called for every substitution with following parameters:\n\t\t\t//\t\ta whole match, a name, an offset, and the whole template\n\t\t\t//\t\tstring (see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace\n\t\t\t//\t\tfor more details).\n\t\t\t// pattern: RegEx?\n\t\t\t//\t\tOptional regular expression objects that overrides the default pattern.\n\t\t\t//\t\tMust be global and match one item. The default is: /\\{([^\\}]+)\\}/g,\n\t\t\t//\t\twhich matches patterns like that: \"{xxx}\", where \"xxx\" is any sequence\n\t\t\t//\t\tof characters, which doesn't include \"}\".\n\t\t\t// returns: String\n\t\t\t//\t\tReturns the substituted string.\n\t\t\t// example:\n\t\t\t//\t|\t// uses a dictionary for substitutions:\n\t\t\t//\t|\tlang.replace(\"Hello, {name.first} {name.last} AKA {nick}!\",\n\t\t\t//\t|\t\t{\n\t\t\t//\t|\t\t\tnick: \"Bob\",\n\t\t\t//\t|\t\t\tname: {\n\t\t\t//\t|\t\t\t\tfirst:\t\"Robert\",\n\t\t\t//\t|\t\t\t\tmiddle: \"X\",\n\t\t\t//\t|\t\t\t\tlast:\t\t\"Cringely\"\n\t\t\t//\t|\t\t\t}\n\t\t\t//\t|\t\t});\n\t\t\t//\t|\t// returns: Hello, Robert Cringely AKA Bob!\n\t\t\t// example:\n\t\t\t//\t|\t// uses an array for substitutions:\n\t\t\t//\t|\tlang.replace(\"Hello, {0} {2}!\",\n\t\t\t//\t|\t\t[\"Robert\", \"X\", \"Cringely\"]);\n\t\t\t//\t|\t// returns: Hello, Robert Cringely!\n\t\t\t// example:\n\t\t\t//\t|\t// uses a function for substitutions:\n\t\t\t//\t|\tfunction sum(a){\n\t\t\t//\t|\t\tvar t = 0;\n\t\t\t//\t|\t\tarrayforEach(a, function(x){ t += x; });\n\t\t\t//\t|\t\treturn t;\n\t\t\t//\t|\t}\n\t\t\t//\t|\tlang.replace(\n\t\t\t//\t|\t\t\"{count} payments averaging {avg} USD per payment.\",\n\t\t\t//\t|\t\tlang.hitch(\n\t\t\t//\t|\t\t\t{ payments: [11, 16, 12] },\n\t\t\t//\t|\t\t\tfunction(_, key){\n\t\t\t//\t|\t\t\t\tswitch(key){\n\t\t\t//\t|\t\t\t\t\tcase \"count\": return this.payments.length;\n\t\t\t//\t|\t\t\t\t\tcase \"min\":\t\treturn Math.min.apply(Math, this.payments);\n\t\t\t//\t|\t\t\t\t\tcase \"max\":\t\treturn Math.max.apply(Math, this.payments);\n\t\t\t//\t|\t\t\t\t\tcase \"sum\":\t\treturn sum(this.payments);\n\t\t\t//\t|\t\t\t\t\tcase \"avg\":\t\treturn sum(this.payments) / this.payments.length;\n\t\t\t//\t|\t\t\t\t}\n\t\t\t//\t|\t\t\t}\n\t\t\t//\t|\t\t)\n\t\t\t//\t|\t);\n\t\t\t//\t|\t// prints: 3 payments averaging 13 USD per payment.\n\t\t\t// example:\n\t\t\t//\t|\t// uses an alternative PHP-like pattern for substitutions:\n\t\t\t//\t|\tlang.replace(\"Hello, ${0} ${2}!\",\n\t\t\t//\t|\t\t[\"Robert\", \"X\", \"Cringely\"], /\\$\\{([^\\}]+)\\}/g);\n\t\t\t//\t|\t// returns: Hello, Robert Cringely!\n\n\t\t\treturn tmpl.replace(pattern || _pattern, lang.isFunction(map) ?\n\t\t\t\tmap : function(_, k){ return lang.getObject(k, false, map); });\n\t\t}\n\t};\n\n\thas(\"extend-dojo\") && lang.mixin(dojo, lang);\n\n\treturn lang;\n});\n","define([\"./kernel\", \"./lang\", \"../sniff\"], function(dojo, lang, has){\n\t// module:\n\t//\t\tdojo/_base/sniff\n\n\t/*=====\n\treturn {\n\t\t// summary:\n\t\t//\t\tDeprecated. New code should use dojo/sniff.\n\t\t//\t\tThis module populates the dojo browser version sniffing properties like dojo.isIE.\n\t};\n\t=====*/\n\n\tif(!has(\"host-browser\")){\n\t\treturn has;\n\t}\n\n\t// no idea what this is for, or if it's used\n\tdojo._name = \"browser\";\n\n\tlang.mixin(dojo, {\n\t\t// isBrowser: Boolean\n\t\t//\t\tTrue if the client is a web-browser\n\t\tisBrowser: true,\n\n\t\t// isFF: Number|undefined\n\t\t//\t\tVersion as a Number if client is FireFox. undefined otherwise. Corresponds to\n\t\t//\t\tmajor detected FireFox version (1.5, 2, 3, etc.)\n\t\tisFF: has(\"ff\"),\n\n\t\t// isIE: Number|undefined\n\t\t//\t\tVersion as a Number if client is MSIE(PC). undefined otherwise. Corresponds to\n\t\t//\t\tmajor detected IE version (6, 7, 8, etc.)\n\t\tisIE: has(\"ie\"),\n\n\t\t// isKhtml: Number|undefined\n\t\t//\t\tVersion as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major\n\t\t//\t\tdetected version.\n\t\tisKhtml: has(\"khtml\"),\n\n\t\t// isWebKit: Number|undefined\n\t\t//\t\tVersion as a Number if client is a WebKit-derived browser (Konqueror,\n\t\t//\t\tSafari, Chrome, etc.). undefined otherwise.\n\t\tisWebKit: has(\"webkit\"),\n\n\t\t// isMozilla: Number|undefined\n\t\t//\t\tVersion as a Number if client is a Mozilla-based browser (Firefox,\n\t\t//\t\tSeaMonkey). undefined otherwise. Corresponds to major detected version.\n\t\tisMozilla: has(\"mozilla\"),\n\t\t// isMoz: Number|undefined\n\t\t//\t\tVersion as a Number if client is a Mozilla-based browser (Firefox,\n\t\t//\t\tSeaMonkey). undefined otherwise. Corresponds to major detected version.\n\t\tisMoz: has(\"mozilla\"),\n\n\t\t// isOpera: Number|undefined\n\t\t//\t\tVersion as a Number if client is Opera. undefined otherwise. Corresponds to\n\t\t//\t\tmajor detected version.\n\t\tisOpera: has(\"opera\"),\n\n\t\t// isSafari: Number|undefined\n\t\t//\t\tVersion as a Number if client is Safari or iPhone. undefined otherwise.\n\t\tisSafari: has(\"safari\"),\n\n\t\t// isChrome: Number|undefined\n\t\t//\t\tVersion as a Number if client is Chrome browser. undefined otherwise.\n\t\tisChrome: has(\"chrome\"),\n\n\t\t// isMac: Boolean\n\t\t//\t\tTrue if the client runs on Mac\n\t\tisMac: has(\"mac\"),\n\n\t\t// isIos: Number|undefined\n\t\t//\t\tVersion as a Number if client is iPhone, iPod, or iPad. undefined otherwise.\n\t\tisIos: has(\"ios\"),\n\n\t\t// isAndroid: Number|undefined\n\t\t//\t\tVersion as a Number if client is android browser. undefined otherwise.\n\t\tisAndroid: has(\"android\"),\n\n\t\t// isWii: Boolean\n\t\t//\t\tTrue if client is Wii\n\t\tisWii: has(\"wii\"),\n\n\t\t// isQuirks: Boolean\n\t\t//\t\tPage is in quirks mode.\n\t\tisQuirks: has(\"quirks\"),\n\n\t\t// isAir: Boolean\n\t\t//\t\tTrue if client is Adobe Air\n\t\tisAir: has(\"air\")\n\t});\n\n\treturn has;\n});\n","define([\"./kernel\", \"./lang\", \"../sniff\"], function(dojo, lang, has){\n// module:\n//\t\tdojo/_base/window\n\nvar ret = {\n\t// summary:\n\t//\t\tAPI to save/set/restore the global/document scope.\n\n\tglobal: dojo.global,\n\t/*=====\n\t global: {\n\t\t // summary:\n\t\t //\t\tAlias for the current window. 'global' can be modified\n\t\t //\t\tfor temporary context shifting. See also withGlobal().\n\t\t // description:\n\t\t //\t\tUse this rather than referring to 'window' to ensure your code runs\n\t\t //\t\tcorrectly in managed contexts.\n\t },\n\t =====*/\n\n\tdoc: dojo.global[\"document\"] || null,\n\t/*=====\n\tdoc: {\n\t\t// summary:\n\t\t//\t\tAlias for the current document. 'doc' can be modified\n\t\t//\t\tfor temporary context shifting. See also withDoc().\n\t\t// description:\n\t\t//\t\tUse this rather than referring to 'window.document' to ensure your code runs\n\t\t//\t\tcorrectly in managed contexts.\n\t\t// example:\n\t\t//\t|\tn.appendChild(dojo.doc.createElement('div'));\n\t},\n\t=====*/\n\n\tbody: function(/*Document?*/ doc){\n\t\t// summary:\n\t\t//\t\tReturn the body element of the specified document or of dojo/_base/window::doc.\n\t\t// example:\n\t\t//\t|\twin.body().appendChild(dojo.doc.createElement('div'));\n\n\t\t// Note: document.body is not defined for a strict xhtml document\n\t\t// Would like to memoize this, but dojo.doc can change vi dojo.withDoc().\n\t\tdoc = doc || dojo.doc;\n\t\treturn doc.body || doc.getElementsByTagName(\"body\")[0]; // Node\n\t},\n\n\tsetContext: function(/*Object*/ globalObject, /*DocumentElement*/ globalDocument){\n\t\t// summary:\n\t\t//\t\tchanges the behavior of many core Dojo functions that deal with\n\t\t//\t\tnamespace and DOM lookup, changing them to work in a new global\n\t\t//\t\tcontext (e.g., an iframe). The varibles dojo.global and dojo.doc\n\t\t//\t\tare modified as a result of calling this function and the result of\n\t\t//\t\t`dojo.body()` likewise differs.\n\t\tdojo.global = ret.global = globalObject;\n\t\tdojo.doc = ret.doc = globalDocument;\n\t},\n\n\twithGlobal: function(\t/*Object*/ globalObject,\n\t\t\t\t\t\t\t/*Function*/ callback,\n\t\t\t\t\t\t\t/*Object?*/ thisObject,\n\t\t\t\t\t\t\t/*Array?*/ cbArguments){\n\t\t// summary:\n\t\t//\t\tInvoke callback with globalObject as dojo.global and\n\t\t//\t\tglobalObject.document as dojo.doc.\n\t\t// description:\n\t\t//\t\tInvoke callback with globalObject as dojo.global and\n\t\t//\t\tglobalObject.document as dojo.doc. If provided, globalObject\n\t\t//\t\twill be executed in the context of object thisObject\n\t\t//\t\tWhen callback() returns or throws an error, the dojo.global\n\t\t//\t\tand dojo.doc will be restored to its previous state.\n\n\t\tvar oldGlob = dojo.global;\n\t\ttry{\n\t\t\tdojo.global = ret.global = globalObject;\n\t\t\treturn ret.withDoc.call(null, globalObject.document, callback, thisObject, cbArguments);\n\t\t}finally{\n\t\t\tdojo.global = ret.global = oldGlob;\n\t\t}\n\t},\n\n\twithDoc: function(\t/*DocumentElement*/ documentObject,\n\t\t\t\t\t\t/*Function*/ callback,\n\t\t\t\t\t\t/*Object?*/ thisObject,\n\t\t\t\t\t\t/*Array?*/ cbArguments){\n\t\t// summary:\n\t\t//\t\tInvoke callback with documentObject as dojo/_base/window::doc.\n\t\t// description:\n\t\t//\t\tInvoke callback with documentObject as dojo/_base/window::doc. If provided,\n\t\t//\t\tcallback will be executed in the context of object thisObject\n\t\t//\t\tWhen callback() returns or throws an error, the dojo/_base/window::doc will\n\t\t//\t\tbe restored to its previous state.\n\n\t\tvar oldDoc = ret.doc,\n\t\t\toldQ = has(\"quirks\"),\n\t\t\toldIE = has(\"ie\"), isIE, mode, pwin;\n\n\t\ttry{\n\t\t\tdojo.doc = ret.doc = documentObject;\n\t\t\t// update dojo.isQuirks and the value of the has feature \"quirks\".\n\t\t\t// remove setting dojo.isQuirks and dojo.isIE for 2.0\n\t\t\tdojo.isQuirks = has.add(\"quirks\", dojo.doc.compatMode == \"BackCompat\", true, true); // no need to check for QuirksMode which was Opera 7 only\n\n\t\t\tif(has(\"ie\")){\n\t\t\t\tif((pwin = documentObject.parentWindow) && pwin.navigator){\n\t\t\t\t\t// re-run IE detection logic and update dojo.isIE / has(\"ie\")\n\t\t\t\t\t// (the only time parentWindow/navigator wouldn't exist is if we were not\n\t\t\t\t\t// passed an actual legitimate document object)\n\t\t\t\t\tisIE = parseFloat(pwin.navigator.appVersion.split(\"MSIE \")[1]) || undefined;\n\t\t\t\t\tmode = documentObject.documentMode;\n\t\t\t\t\tif(mode && mode != 5 && Math.floor(isIE) != mode){\n\t\t\t\t\t\tisIE = mode;\n\t\t\t\t\t}\n\t\t\t\t\tdojo.isIE = has.add(\"ie\", isIE, true, true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(thisObject && typeof callback == \"string\"){\n\t\t\t\tcallback = thisObject[callback];\n\t\t\t}\n\n\t\t\treturn callback.apply(thisObject, cbArguments || []);\n\t\t}finally{\n\t\t\tdojo.doc = ret.doc = oldDoc;\n\t\t\tdojo.isQuirks = has.add(\"quirks\", oldQ, true, true);\n\t\t\tdojo.isIE = has.add(\"ie\", oldIE, true, true);\n\t\t}\n\t}\n};\n\nhas(\"extend-dojo\") && lang.mixin(dojo, ret);\n\nreturn ret;\n\n});\n","define([\n\t\"./kernel\",\n\t\"./sniff\",\n\t\"require\",\n\t\"../io-query\",\n\t/*===== \"./declare\", =====*/\n\t\"../dom\",\n\t\"../dom-form\",\n\t\"./Deferred\",\n\t\"./config\",\n\t\"./json\",\n\t\"./lang\",\n\t\"./array\",\n\t\"../on\",\n\t\"../aspect\",\n\t\"../request/watch\",\n\t\"../request/xhr\",\n\t\"../request/util\"\n], function(dojo, has, require, ioq, /*===== declare, =====*/ dom, domForm, Deferred, config, json, lang, array, on, aspect, watch, _xhr, util){\n\t// module:\n\t//\t\tdojo/_base/xhr\n\n\t/*=====\n\tdojo._xhrObj = function(){\n\t\t// summary:\n\t\t//\t\tdoes the work of portably generating a new XMLHTTPRequest object.\n\t};\n\t=====*/\n\tdojo._xhrObj = _xhr._create;\n\n\tvar cfg = dojo.config;\n\n\t// mix in io-query and dom-form\n\tdojo.objectToQuery = ioq.objectToQuery;\n\tdojo.queryToObject = ioq.queryToObject;\n\tdojo.fieldToObject = domForm.fieldToObject;\n\tdojo.formToObject = domForm.toObject;\n\tdojo.formToQuery = domForm.toQuery;\n\tdojo.formToJson = domForm.toJson;\n\n\t// need to block async callbacks from snatching this thread as the result\n\t// of an async callback might call another sync XHR, this hangs khtml forever\n\t// must checked by watchInFlight()\n\n\tdojo._blockAsync = false;\n\n\thas.add('native-xhr2-blob', function(){\n\t\tif(!has('native-xhr2')){ return; }\n\t\tvar x = new XMLHttpRequest();\n\t\tx.open('GET', '/', true);\n\t\tx.responseType = 'blob';\n\t\t// will not be set if unsupported\n\t\tvar responseType = x.responseType;\n\t\tx.abort();\n\t\treturn responseType === 'blob';\n\t});\n\n\t// MOW: remove dojo._contentHandlers alias in 2.0\n\tvar handlers = dojo._contentHandlers = dojo.contentHandlers = {\n\t\t// summary:\n\t\t//\t\tA map of available XHR transport handle types. Name matches the\n\t\t//\t\t`handleAs` attribute passed to XHR calls.\n\t\t// description:\n\t\t//\t\tA map of available XHR transport handle types. Name matches the\n\t\t//\t\t`handleAs` attribute passed to XHR calls. Each contentHandler is\n\t\t//\t\tcalled, passing the xhr object for manipulation. The return value\n\t\t//\t\tfrom the contentHandler will be passed to the `load` or `handle`\n\t\t//\t\tfunctions defined in the original xhr call.\n\t\t// example:\n\t\t//\t\tCreating a custom content-handler:\n\t\t//\t|\txhr.contentHandlers.makeCaps = function(xhr){\n\t\t//\t|\t\treturn xhr.responseText.toUpperCase();\n\t\t//\t|\t}\n\t\t//\t|\t// and later:\n\t\t//\t|\tdojo.xhrGet({\n\t\t//\t|\t\turl:\"foo.txt\",\n\t\t//\t|\t\thandleAs:\"makeCaps\",\n\t\t//\t|\t\tload: function(data){ /* data is a toUpper version of foo.txt */ }\n\t\t//\t|\t});\n\n\t\t\"text\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler which simply returns the plaintext response data\n\t\t\treturn xhr.responseText;\n\t\t},\n\t\t\"json\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler which returns a JavaScript object created from the response data\n\t\t\treturn json.fromJson(xhr.responseText || null);\n\t\t},\n\t\t\"json-comment-filtered\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler which expects comment-filtered JSON.\n\t\t\t// description:\n\t\t\t//\t\tA contentHandler which expects comment-filtered JSON.\n\t\t\t//\t\tthe json-comment-filtered option was implemented to prevent\n\t\t\t//\t\t\"JavaScript Hijacking\", but it is less secure than standard JSON. Use\n\t\t\t//\t\tstandard JSON instead. JSON prefixing can be used to subvert hijacking.\n\t\t\t//\n\t\t\t//\t\tWill throw a notice suggesting to use application/json mimetype, as\n\t\t\t//\t\tjson-commenting can introduce security issues. To decrease the chances of hijacking,\n\t\t\t//\t\tuse the standard `json` contentHandler, and prefix your \"JSON\" with: {}&&\n\t\t\t//\n\t\t\t//\t\tuse djConfig.useCommentedJson = true to turn off the notice\n\t\t\tif(!config.useCommentedJson){\n\t\t\t\tconsole.warn(\"Consider using the standard mimetype:application/json.\"\n\t\t\t\t\t+ \" json-commenting can introduce security issues. To\"\n\t\t\t\t\t+ \" decrease the chances of hijacking, use the standard the 'json' handler and\"\n\t\t\t\t\t+ \" prefix your json with: {}&&\\n\"\n\t\t\t\t\t+ \"Use djConfig.useCommentedJson=true to turn off this message.\");\n\t\t\t}\n\n\t\t\tvar value = xhr.responseText;\n\t\t\tvar cStartIdx = value.indexOf(\"\\/*\");\n\t\t\tvar cEndIdx = value.lastIndexOf(\"*\\/\");\n\t\t\tif(cStartIdx == -1 || cEndIdx == -1){\n\t\t\t\tthrow new Error(\"JSON was not comment filtered\");\n\t\t\t}\n\t\t\treturn json.fromJson(value.substring(cStartIdx+2, cEndIdx));\n\t\t},\n\t\t\"javascript\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler which evaluates the response data, expecting it to be valid JavaScript\n\n\t\t\t// FIXME: try Moz and IE specific eval variants?\n\t\t\treturn dojo.eval(xhr.responseText);\n\t\t},\n\t\t\"xml\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler returning an XML Document parsed from the response data\n\t\t\tvar result = xhr.responseXML;\n\n\t\t\tif(result && has(\"dom-qsa2.1\") && !result.querySelectorAll && has(\"dom-parser\")){\n\t\t\t\t// http://bugs.dojotoolkit.org/ticket/15631\n\t\t\t\t// IE9 supports a CSS3 querySelectorAll implementation, but the DOM implementation\n\t\t\t\t// returned by IE9 xhr.responseXML does not. Manually create the XML DOM to gain\n\t\t\t\t// the fuller-featured implementation and avoid bugs caused by the inconsistency\n\t\t\t\tresult = new DOMParser().parseFromString(xhr.responseText, \"application/xml\");\n\t\t\t}\n\n\t\t\tif(has(\"ie\")){\n\t\t\t\tif((!result || !result.documentElement)){\n\t\t\t\t\t//WARNING: this branch used by the xml handling in dojo.io.iframe,\n\t\t\t\t\t//so be sure to test dojo.io.iframe if making changes below.\n\t\t\t\t\tvar ms = function(n){ return \"MSXML\" + n + \".DOMDocument\"; };\n\t\t\t\t\tvar dp = [\"Microsoft.XMLDOM\", ms(6), ms(4), ms(3), ms(2)];\n\t\t\t\t\tarray.some(dp, function(p){\n\t\t\t\t\t\ttry{\n\t\t\t\t\t\t\tvar dom = new ActiveXObject(p);\n\t\t\t\t\t\t\tdom.async = false;\n\t\t\t\t\t\t\tdom.loadXML(xhr.responseText);\n\t\t\t\t\t\t\tresult = dom;\n\t\t\t\t\t\t}catch(e){ return false; }\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result; // DOMDocument\n\t\t},\n\t\t\"json-comment-optional\": function(xhr){\n\t\t\t// summary:\n\t\t\t//\t\tA contentHandler which checks the presence of comment-filtered JSON and\n\t\t\t//\t\talternates between the `json` and `json-comment-filtered` contentHandlers.\n\t\t\tif(xhr.responseText && /^[^{\\[]*\\/\\*/.test(xhr.responseText)){\n\t\t\t\treturn handlers[\"json-comment-filtered\"](xhr);\n\t\t\t}else{\n\t\t\t\treturn handlers[\"json\"](xhr);\n\t\t\t}\n\t\t}\n\t};\n\n\tif(has(\"native-xhr2\")){\n\t\thandlers.arraybuffer = handlers.blob = handlers.document = function(xhr, ioArgs){\n\t\t\tif(ioArgs.args.handleAs === 'blob' && !has('native-xhr2-blob')){\n\t\t\t\treturn new Blob([ xhr.response ], { type: xhr.getResponseHeader('Content-Type') });\n\t\t\t}\n\t\t\treturn xhr.response;\n\t\t};\n\t}\n\n\t/*=====\n\n\t// kwargs function parameter definitions. Assigning to dojo namespace rather than making them local variables\n\t// because they are used by dojo/io modules too\n\n\tdojo.__IoArgs = declare(null, {\n\t\t// url: String\n\t\t//\t\tURL to server endpoint.\n\t\t// content: Object?\n\t\t//\t\tContains properties with string values. These\n\t\t//\t\tproperties will be serialized as name1=value2 and\n\t\t//\t\tpassed in the request.\n\t\t// timeout: Integer?\n\t\t//\t\tMilliseconds to wait for the response. If this time\n\t\t//\t\tpasses, the then error callbacks are called.\n\t\t// form: DOMNode?\n\t\t//\t\tDOM node for a form. Used to extract the form values\n\t\t//\t\tand send to the server.\n\t\t// preventCache: Boolean?\n\t\t//\t\tDefault is false. If true, then a\n\t\t//\t\t\"dojo.preventCache\" parameter is sent in the request\n\t\t//\t\twith a value that changes with each request\n\t\t//\t\t(timestamp). Useful only with GET-type requests.\n\t\t// handleAs: String?\n\t\t//\t\tAcceptable values depend on the type of IO\n\t\t//\t\ttransport (see specific IO calls for more information).\n\t\t// rawBody: String?\n\t\t//\t\tSets the raw body for an HTTP request. If this is used, then the content\n\t\t//\t\tproperty is ignored. This is mostly useful for HTTP methods that have\n\t\t//\t\ta body to their requests, like PUT or POST. This property can be used instead\n\t\t//\t\tof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.\n\t\t// ioPublish: Boolean?\n\t\t//\t\tSet this explicitly to false to prevent publishing of topics related to\n\t\t//\t\tIO operations. Otherwise, if djConfig.ioPublish is set to true, topics\n\t\t//\t\twill be published via dojo/topic.publish() for different phases of an IO operation.\n\t\t//\t\tSee dojo/main.__IoPublish for a list of topics that are published.\n\n\t\tload: function(response, ioArgs){\n\t\t\t// summary:\n\t\t\t//\t\tThis function will be\n\t\t\t//\t\tcalled on a successful HTTP response code.\n\t \t\t// ioArgs: dojo/main.__IoCallbackArgs\n\t\t\t//\t\tProvides additional information about the request.\n\t\t\t// response: Object\n\t\t\t//\t\tThe response in the format as defined with handleAs.\n\t\t},\n\n\t\terror: function(response, ioArgs){\n\t\t\t// summary:\n\t\t\t//\t\tThis function will\n\t\t\t//\t\tbe called when the request fails due to a network or server error, the url\n\t\t\t//\t\tis invalid, etc. It will also be called if the load or handle callback throws an\n\t\t\t//\t\texception, unless djConfig.debugAtAllCosts is true.\t This allows deployed applications\n\t\t\t//\t\tto continue to run even when a logic error happens in the callback, while making\n\t\t\t//\t\tit easier to troubleshoot while in debug mode.\n\t\t\t// ioArgs: dojo/main.__IoCallbackArgs\n\t\t\t//\t\tProvides additional information about the request.\n\t\t\t// response: Object\n\t\t\t//\t\tThe response in the format as defined with handleAs.\n\t\t},\n\n\t\thandle: function(loadOrError, response, ioArgs){\n\t\t\t// summary:\n\t \t\t//\t\tThis function will\n\t \t\t//\t\tbe called at the end of every request, whether or not an error occurs.\n\t\t\t// loadOrError: String\n\t\t\t//\t\tProvides a string that tells you whether this function\n\t\t\t//\t\twas called because of success (load) or failure (error).\n\t\t\t// response: Object\n\t\t\t//\t\tThe response in the format as defined with handleAs.\n\t\t\t// ioArgs: dojo/main.__IoCallbackArgs\n\t\t\t//\t\tProvides additional information about the request.\n\t\t}\n\t});\n\n\tdojo.__IoCallbackArgs = declare(null, {\n\t\t// args: Object\n\t\t//\t\tthe original object argument to the IO call.\n\t\t// xhr: XMLHttpRequest\n\t\t//\t\tFor XMLHttpRequest calls only, the\n\t\t//\t\tXMLHttpRequest object that was used for the\n\t\t//\t\trequest.\n\t\t// url: String\n\t\t//\t\tThe final URL used for the call. Many times it\n\t\t//\t\twill be different than the original args.url\n\t\t//\t\tvalue.\n\t\t// query: String\n\t\t//\t\tFor non-GET requests, the\n\t\t//\t\tname1=value1&name2=value2 parameters sent up in\n\t\t//\t\tthe request.\n\t\t// handleAs: String\n\t\t//\t\tThe final indicator on how the response will be\n\t\t//\t\thandled.\n\t\t// id: String\n\t\t//\t\tFor dojo/io/script calls only, the internal\n\t\t//\t\tscript ID used for the request.\n\t\t// canDelete: Boolean\n\t\t//\t\tFor dojo/io/script calls only, indicates\n\t\t//\t\twhether the script tag that represents the\n\t\t//\t\trequest can be deleted after callbacks have\n\t\t//\t\tbeen called. Used internally to know when\n\t\t//\t\tcleanup can happen on JSONP-type requests.\n\t\t// json: Object\n\t\t//\t\tFor dojo/io/script calls only: holds the JSON\n\t\t//\t\tresponse for JSONP-type requests. Used\n\t\t//\t\tinternally to hold on to the JSON responses.\n\t\t//\t\tYou should not need to access it directly --\n\t\t//\t\tthe same object should be passed to the success\n\t\t//\t\tcallbacks directly.\n\t});\n\n\tdojo.__IoPublish = declare(null, {\n\t\t// summary:\n\t\t//\t\tThis is a list of IO topics that can be published\n\t\t//\t\tif djConfig.ioPublish is set to true. IO topics can be\n\t\t//\t\tpublished for any Input/Output, network operation. So,\n\t\t//\t\tdojo.xhr, dojo.io.script and dojo.io.iframe can all\n\t\t//\t\ttrigger these topics to be published.\n\t\t// start: String\n\t\t//\t\t\"/dojo/io/start\" is sent when there are no outstanding IO\n\t\t//\t\trequests, and a new IO request is started. No arguments\n\t\t//\t\tare passed with this topic.\n\t\t// send: String\n\t\t//\t\t\"/dojo/io/send\" is sent whenever a new IO request is started.\n\t\t//\t\tIt passes the dojo.Deferred for the request with the topic.\n\t\t// load: String\n\t\t//\t\t\"/dojo/io/load\" is sent whenever an IO request has loaded\n\t\t//\t\tsuccessfully. It passes the response and the dojo.Deferred\n\t\t//\t\tfor the request with the topic.\n\t\t// error: String\n\t\t//\t\t\"/dojo/io/error\" is sent whenever an IO request has errored.\n\t\t//\t\tIt passes the error and the dojo.Deferred\n\t\t//\t\tfor the request with the topic.\n\t\t// done: String\n\t\t//\t\t\"/dojo/io/done\" is sent whenever an IO request has completed,\n\t\t//\t\teither by loading or by erroring. It passes the error and\n\t\t//\t\tthe dojo.Deferred for the request with the topic.\n\t\t// stop: String\n\t\t//\t\t\"/dojo/io/stop\" is sent when all outstanding IO requests have\n\t\t//\t\tfinished. No arguments are passed with this topic.\n\t});\n\t=====*/\n\n\n\tdojo._ioSetArgs = function(/*dojo/main.__IoArgs*/args,\n\t\t\t/*Function*/canceller,\n\t\t\t/*Function*/okHandler,\n\t\t\t/*Function*/errHandler){\n\t\t// summary:\n\t\t//\t\tsets up the Deferred and ioArgs property on the Deferred so it\n\t\t//\t\tcan be used in an io call.\n\t\t// args:\n\t\t//\t\tThe args object passed into the public io call. Recognized properties on\n\t\t//\t\tthe args object are:\n\t\t// canceller:\n\t\t//\t\tThe canceller function used for the Deferred object. The function\n\t\t//\t\twill receive one argument, the Deferred object that is related to the\n\t\t//\t\tcanceller.\n\t\t// okHandler:\n\t\t//\t\tThe first OK callback to be registered with Deferred. It has the opportunity\n\t\t//\t\tto transform the OK response. It will receive one argument -- the Deferred\n\t\t//\t\tobject returned from this function.\n\t\t// errHandler:\n\t\t//\t\tThe first error callback to be registered with Deferred. It has the opportunity\n\t\t//\t\tto do cleanup on an error. It will receive two arguments: error (the\n\t\t//\t\tError object) and dfd, the Deferred object returned from this function.\n\n\t\tvar ioArgs = {args: args, url: args.url};\n\n\t\t//Get values from form if requested.\n\t\tvar formObject = null;\n\t\tif(args.form){\n\t\t\tvar form = dom.byId(args.form);\n\t\t\t//IE requires going through getAttributeNode instead of just getAttribute in some form cases,\n\t\t\t//so use it for all. See #2844\n\t\t\tvar actnNode = form.getAttributeNode(\"action\");\n\t\t\tioArgs.url = ioArgs.url || (actnNode ? actnNode.value : (dojo.doc ? dojo.doc.URL : null));\n\t\t\tformObject = domForm.toObject(form);\n\t\t}\n\n\t\t// set up the query params\n\t\tvar miArgs = {};\n\n\t\tif(formObject){\n\t\t\t// potentially over-ride url-provided params w/ form values\n\t\t\tlang.mixin(miArgs, formObject);\n\t\t}\n\t\tif(args.content){\n\t\t\t// stuff in content over-rides what's set by form\n\t\t\tlang.mixin(miArgs, args.content);\n\t\t}\n\t\tif(args.preventCache){\n\t\t\tmiArgs[\"dojo.preventCache\"] = new Date().valueOf();\n\t\t}\n\t\tioArgs.query = ioq.objectToQuery(miArgs);\n\n\t\t// .. and the real work of getting the deferred in order, etc.\n\t\tioArgs.handleAs = args.handleAs || \"text\";\n\t\tvar d = new Deferred(function(dfd){\n\t\t\tdfd.canceled = true;\n\t\t\tcanceller && canceller(dfd);\n\n\t\t\tvar err = dfd.ioArgs.error;\n\t\t\tif(!err){\n\t\t\t\terr = new Error(\"request cancelled\");\n\t\t\t\terr.dojoType=\"cancel\";\n\t\t\t\tdfd.ioArgs.error = err;\n\t\t\t}\n\t\t\treturn err;\n\t\t});\n\t\td.addCallback(okHandler);\n\n\t\t//Support specifying load, error and handle callback functions from the args.\n\t\t//For those callbacks, the \"this\" object will be the args object.\n\t\t//The callbacks will get the deferred result value as the\n\t\t//first argument and the ioArgs object as the second argument.\n\t\tvar ld = args.load;\n\t\tif(ld && lang.isFunction(ld)){\n\t\t\td.addCallback(function(value){\n\t\t\t\treturn ld.call(args, value, ioArgs);\n\t\t\t});\n\t\t}\n\t\tvar err = args.error;\n\t\tif(err && lang.isFunction(err)){\n\t\t\td.addErrback(function(value){\n\t\t\t\treturn err.call(args, value, ioArgs);\n\t\t\t});\n\t\t}\n\t\tvar handle = args.handle;\n\t\tif(handle && lang.isFunction(handle)){\n\t\t\td.addBoth(function(value){\n\t\t\t\treturn handle.call(args, value, ioArgs);\n\t\t\t});\n\t\t}\n\n\t\t// Attach error handler last (not including topic publishing)\n\t\t// to catch any errors that may have been generated from load\n\t\t// or handle functions.\n\t\td.addErrback(function(error){\n\t\t\treturn errHandler(error, d);\n\t\t});\n\n\t\t//Plug in topic publishing, if dojo.publish is loaded.\n\t\tif(cfg.ioPublish && dojo.publish && ioArgs.args.ioPublish !== false){\n\t\t\td.addCallbacks(\n\t\t\t\tfunction(res){\n\t\t\t\t\tdojo.publish(\"/dojo/io/load\", [d, res]);\n\t\t\t\t\treturn res;\n\t\t\t\t},\n\t\t\t\tfunction(res){\n\t\t\t\t\tdojo.publish(\"/dojo/io/error\", [d, res]);\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t);\n\t\t\td.addBoth(function(res){\n\t\t\t\tdojo.publish(\"/dojo/io/done\", [d, res]);\n\t\t\t\treturn res;\n\t\t\t});\n\t\t}\n\n\t\td.ioArgs = ioArgs;\n\n\t\t// FIXME: need to wire up the xhr object's abort method to something\n\t\t// analogous in the Deferred\n\t\treturn d;\n\t};\n\n\tvar _deferredOk = function(/*Deferred*/dfd){\n\t\t// summary:\n\t\t//\t\tokHandler function for dojo._ioSetArgs call.\n\n\t\tvar ret = handlers[dfd.ioArgs.handleAs](dfd.ioArgs.xhr, dfd.ioArgs);\n\t\treturn ret === undefined ? null : ret;\n\t};\n\tvar _deferError = function(/*Error*/error, /*Deferred*/dfd){\n\t\t// summary:\n\t\t//\t\terrHandler function for dojo._ioSetArgs call.\n\n\t\tif(!dfd.ioArgs.args.failOk){\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn error;\n\t};\n\n\t//Use a separate count for knowing if we are starting/stopping io calls.\n\tvar _checkPubCount = function(dfd){\n\t\tif(_pubCount <= 0){\n\t\t\t_pubCount = 0;\n\t\t\tif(cfg.ioPublish && dojo.publish && (!dfd || dfd && dfd.ioArgs.args.ioPublish !== false)){\n\t\t\t\tdojo.publish(\"/dojo/io/stop\");\n\t\t\t}\n\t\t}\n\t};\n\n\tvar _pubCount = 0;\n\taspect.after(watch, \"_onAction\", function(){\n\t\t_pubCount -= 1;\n\t});\n\taspect.after(watch, \"_onInFlight\", _checkPubCount);\n\n\tdojo._ioCancelAll = watch.cancelAll;\n\t/*=====\n\tdojo._ioCancelAll = function(){\n\t\t// summary:\n\t\t//\t\tCancels all pending IO requests, regardless of IO type\n\t\t//\t\t(xhr, script, iframe).\n\t};\n\t=====*/\n\n\tdojo._ioNotifyStart = function(/*Deferred*/dfd){\n\t\t// summary:\n\t\t//\t\tIf dojo.publish is available, publish topics\n\t\t//\t\tabout the start of a request queue and/or the\n\t\t//\t\tthe beginning of request.\n\t\t//\n\t\t//\t\tUsed by IO transports. An IO transport should\n\t\t//\t\tcall this method before making the network connection.\n\t\tif(cfg.ioPublish && dojo.publish && dfd.ioArgs.args.ioPublish !== false){\n\t\t\tif(!_pubCount){\n\t\t\t\tdojo.publish(\"/dojo/io/start\");\n\t\t\t}\n\t\t\t_pubCount += 1;\n\t\t\tdojo.publish(\"/dojo/io/send\", [dfd]);\n\t\t}\n\t};\n\n\tdojo._ioWatch = function(dfd, validCheck, ioCheck, resHandle){\n\t\t// summary:\n\t\t//\t\tWatches the io request represented by dfd to see if it completes.\n\t\t// dfd: Deferred\n\t\t//\t\tThe Deferred object to watch.\n\t\t// validCheck: Function\n\t\t//\t\tFunction used to check if the IO request is still valid. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\t\t// ioCheck: Function\n\t\t//\t\tFunction used to check if basic IO call worked. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\t\t// resHandle: Function\n\t\t//\t\tFunction used to process response. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\n\t\tvar args = dfd.ioArgs.options = dfd.ioArgs.args;\n\t\tlang.mixin(dfd, {\n\t\t\tresponse: dfd.ioArgs,\n\t\t\tisValid: function(response){\n\t\t\t\treturn validCheck(dfd);\n\t\t\t},\n\t\t\tisReady: function(response){\n\t\t\t\treturn ioCheck(dfd);\n\t\t\t},\n\t\t\thandleResponse: function(response){\n\t\t\t\treturn resHandle(dfd);\n\t\t\t}\n\t\t});\n\t\twatch(dfd);\n\n\t\t_checkPubCount(dfd);\n\t};\n\n\tvar _defaultContentType = \"application/x-www-form-urlencoded\";\n\n\tdojo._ioAddQueryToUrl = function(/*dojo.__IoCallbackArgs*/ioArgs){\n\t\t// summary:\n\t\t//\t\tAdds query params discovered by the io deferred construction to the URL.\n\t\t//\t\tOnly use this for operations which are fundamentally GET-type operations.\n\t\tif(ioArgs.query.length){\n\t\t\tioArgs.url += (ioArgs.url.indexOf(\"?\") == -1 ? \"?\" : \"&\") + ioArgs.query;\n\t\t\tioArgs.query = null;\n\t\t}\n\t};\n\n\t/*=====\n\tdojo.__XhrArgs = declare(dojo.__IoArgs, {\n\t\t// summary:\n\t\t//\t\tIn addition to the properties listed for the dojo._IoArgs type,\n\t\t//\t\tthe following properties are allowed for dojo.xhr* methods.\n\t\t// handleAs: String?\n\t\t//\t\tAcceptable values are: text (default), json, json-comment-optional,\n\t\t//\t\tjson-comment-filtered, javascript, xml. See `dojo/_base/xhr.contentHandlers`\n\t \t// sync: Boolean?\n\t\t//\t\tfalse is default. Indicates whether the request should\n\t\t//\t\tbe a synchronous (blocking) request.\n\t\t// headers: Object?\n\t\t//\t\tAdditional HTTP headers to send in the request.\n\t\t// failOk: Boolean?\n\t\t//\t\tfalse is default. Indicates whether a request should be\n\t\t//\t\tallowed to fail (and therefore no console error message in\n\t\t//\t\tthe event of a failure)\n\t\t// contentType: String|Boolean\n\t\t//\t\t\"application/x-www-form-urlencoded\" is default. Set to false to\n\t\t//\t\tprevent a Content-Type header from being sent, or to a string\n\t\t//\t\tto send a different Content-Type.\n\t });\n\t=====*/\n\n\tdojo.xhr = function(/*String*/ method, /*dojo.__XhrArgs*/ args, /*Boolean?*/ hasBody){\n\t\t// summary:\n\t\t//\t\tDeprecated. Use dojo/request instead.\n\t\t// description:\n\t\t//\t\tSends an HTTP request with the given method.\n\t\t//\t\tSee also dojo.xhrGet(), xhrPost(), xhrPut() and dojo.xhrDelete() for shortcuts\n\t\t//\t\tfor those HTTP methods. There are also methods for \"raw\" PUT and POST methods\n\t\t//\t\tvia dojo.rawXhrPut() and dojo.rawXhrPost() respectively.\n\t\t// method:\n\t\t//\t\tHTTP method to be used, such as GET, POST, PUT, DELETE. Should be uppercase.\n\t\t// hasBody:\n\t\t//\t\tIf the request has an HTTP body, then pass true for hasBody.\n\n\t\tvar rDfd;\n\t\t//Make the Deferred object for this xhr request.\n\t\tvar dfd = dojo._ioSetArgs(args, function(dfd){\n\t\t\trDfd && rDfd.cancel();\n\t\t}, _deferredOk, _deferError);\n\t\tvar ioArgs = dfd.ioArgs;\n\n\t\t//Allow for specifying the HTTP body completely.\n\t\tif(\"postData\" in args){\n\t\t\tioArgs.query = args.postData;\n\t\t}else if(\"putData\" in args){\n\t\t\tioArgs.query = args.putData;\n\t\t}else if(\"rawBody\" in args){\n\t\t\tioArgs.query = args.rawBody;\n\t\t}else if((arguments.length > 2 && !hasBody) || \"POST|PUT\".indexOf(method.toUpperCase()) === -1){\n\t\t\t//Check for hasBody being passed. If no hasBody,\n\t\t\t//then only append query string if not a POST or PUT request.\n\t\t\tdojo._ioAddQueryToUrl(ioArgs);\n\t\t}\n\n\t\tvar XHR2_RESPONSE_TYPES;\n\t\tif(has(\"native-xhr2\")){\n\t\t\tXHR2_RESPONSE_TYPES = {\n\t\t\t\tarraybuffer: 1,\n\t\t\t\tblob: 1,\n\t\t\t\tdocument: 1\n\t\t\t};\n\t\t}\n\n\t\tvar handleAs = XHR2_RESPONSE_TYPES[args.handleAs] ? args.handleAs : \"text\";\n\t\tif(handleAs === 'blob' && !has('native-xhr2-blob')){\n\t\t\thandleAs = 'arraybuffer';\n\t\t}\n\n\t\tvar options = {\n\t\t\tmethod: method,\n\t\t\thandleAs: handleAs,\n\t\t\tresponseType: args.responseType,\n\t\t\ttimeout: args.timeout,\n\t\t\twithCredentials: args.withCredentials,\n\t\t\tioArgs: ioArgs\n\t\t};\n\n\t\tif(typeof args.headers !== 'undefined'){\n\t\t\toptions.headers = args.headers;\n\t\t}\n\t\tif(typeof args.contentType !== 'undefined'){\n\t\t\tif(!options.headers){\n\t\t\t\toptions.headers = {};\n\t\t\t}\n\t\t\toptions.headers['Content-Type'] = args.contentType;\n\t\t}\n\t\tif(typeof ioArgs.query !== 'undefined'){\n\t\t\toptions.data = ioArgs.query;\n\t\t}\n\t\tif(typeof args.sync !== 'undefined'){\n\t\t\toptions.sync = args.sync;\n\t\t}\n\n\t\tdojo._ioNotifyStart(dfd);\n\t\ttry{\n\t\t\trDfd = _xhr(ioArgs.url, options, true);\n\t\t}catch(e){\n\t\t\t// If XHR creation fails, dojo/request/xhr throws\n\t\t\t// When this happens, cancel the deferred\n\t\t\tdfd.cancel();\n\t\t\treturn dfd;\n\t\t}\n\n\t\t// sync ioArgs\n\t\tdfd.ioArgs.xhr = rDfd.response.xhr;\n\n\t\trDfd.then(function(){\n\t\t\tdfd.resolve(dfd);\n\t\t}).otherwise(function(error){\n\t\t\tioArgs.error = error;\n\t\t\tif(error.response){\n\t\t\t\terror.status = error.response.status;\n\t\t\t\terror.responseText = error.response.text;\n\t\t\t\terror.xhr = error.response.xhr;\n\t\t\t}\n\t\t\tdfd.reject(error);\n\t\t});\n\t\treturn dfd; // dojo/_base/Deferred\n\t};\n\n\tdojo.xhrGet = function(/*dojo.__XhrArgs*/ args){\n\t\t// summary:\n\t\t//\t\tSends an HTTP GET request to the server.\n\t\treturn dojo.xhr(\"GET\", args); // dojo/_base/Deferred\n\t};\n\n\tdojo.rawXhrPost = dojo.xhrPost = function(/*dojo.__XhrArgs*/ args){\n\t\t// summary:\n\t\t//\t\tSends an HTTP POST request to the server. In addition to the properties\n\t\t//\t\tlisted for the dojo.__XhrArgs type, the following property is allowed:\n\t\t// postData:\n\t\t//\t\tString. Send raw data in the body of the POST request.\n\t\treturn dojo.xhr(\"POST\", args, true); // dojo/_base/Deferred\n\t};\n\n\tdojo.rawXhrPut = dojo.xhrPut = function(/*dojo.__XhrArgs*/ args){\n\t\t// summary:\n\t\t//\t\tSends an HTTP PUT request to the server. In addition to the properties\n\t\t//\t\tlisted for the dojo.__XhrArgs type, the following property is allowed:\n\t\t// putData:\n\t\t//\t\tString. Send raw data in the body of the PUT request.\n\t\treturn dojo.xhr(\"PUT\", args, true); // dojo/_base/Deferred\n\t};\n\n\tdojo.xhrDelete = function(/*dojo.__XhrArgs*/ args){\n\t\t// summary:\n\t\t//\t\tSends an HTTP DELETE request to the server.\n\t\treturn dojo.xhr(\"DELETE\", args); // dojo/_base/Deferred\n\t};\n\n\t/*\n\tdojo.wrapForm = function(formNode){\n\t\t// summary:\n\t\t//\t\tA replacement for FormBind, but not implemented yet.\n\n\t\t// FIXME: need to think harder about what extensions to this we might\n\t\t// want. What should we allow folks to do w/ this? What events to\n\t\t// set/send?\n\t\tthrow new Error(\"dojo.wrapForm not yet implemented\");\n\t}\n\t*/\n\n\tdojo._isDocumentOk = function(x){\n\t\treturn util.checkStatus(x.status);\n\t};\n\n\tdojo._getText = function(url){\n\t\tvar result;\n\t\tdojo.xhrGet({url:url, sync:true, load:function(text){\n\t\t\tresult = text;\n\t\t}});\n\t\treturn result;\n\t};\n\n\t// Add aliases for static functions to dojo.xhr since dojo.xhr is what's returned from this module\n\tlang.mixin(dojo.xhr, {\n\t\t_xhrObj: dojo._xhrObj,\n\t\tfieldToObject: domForm.fieldToObject,\n\t\tformToObject: domForm.toObject,\n\t\tobjectToQuery: ioq.objectToQuery,\n\t\tformToQuery: domForm.toQuery,\n\t\tformToJson: domForm.toJson,\n\t\tqueryToObject: ioq.queryToObject,\n\t\tcontentHandlers: handlers,\n\t\t_ioSetArgs: dojo._ioSetArgs,\n\t\t_ioCancelAll: dojo._ioCancelAll,\n\t\t_ioNotifyStart: dojo._ioNotifyStart,\n\t\t_ioWatch: dojo._ioWatch,\n\t\t_ioAddQueryToUrl: dojo._ioAddQueryToUrl,\n\t\t_isDocumentOk: dojo._isDocumentOk,\n\t\t_getText: dojo._getText,\n\t\tget: dojo.xhrGet,\n\t\tpost: dojo.xhrPost,\n\t\tput: dojo.xhrPut,\n\t\tdel: dojo.xhrDelete\t// because \"delete\" is a reserved word\n\t});\n\n\treturn dojo.xhr;\n});\n","define([], function(){\n\n\t// module:\n\t//\t\tdojo/aspect\n\n\t\"use strict\";\n\tvar undefined;\n\tfunction advise(dispatcher, type, advice, receiveArguments){\n\t\tvar previous = dispatcher[type];\n\t\tvar around = type == \"around\";\n\t\tvar signal;\n\t\tif(around){\n\t\t\tvar advised = advice(function(){\n\t\t\t\treturn previous.advice(this, arguments);\n\t\t\t});\n\t\t\tsignal = {\n\t\t\t\tremove: function(){\n\t\t\t\t\tif(advised){\n\t\t\t\t\t\tadvised = dispatcher = advice = null;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tadvice: function(target, args){\n\t\t\t\t\treturn advised ?\n\t\t\t\t\t\tadvised.apply(target, args) : // called the advised function\n\t\t\t\t\t\tprevious.advice(target, args); // cancelled, skip to next one\n\t\t\t\t}\n\t\t\t};\n\t\t}else{\n\t\t\t// create the remove handler\n\t\t\tsignal = {\n\t\t\t\tremove: function(){\n\t\t\t\t\tif(signal.advice){\n\t\t\t\t\t\tvar previous = signal.previous;\n\t\t\t\t\t\tvar next = signal.next;\n\t\t\t\t\t\tif(!next && !previous){\n\t\t\t\t\t\t\tdelete dispatcher[type];\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tif(previous){\n\t\t\t\t\t\t\t\tprevious.next = next;\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tdispatcher[type] = next;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(next){\n\t\t\t\t\t\t\t\tnext.previous = previous;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// remove the advice to signal that this signal has been removed\n\t\t\t\t\t\tdispatcher = advice = signal.advice = null;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tid: dispatcher.nextId++,\n\t\t\t\tadvice: advice,\n\t\t\t\treceiveArguments: receiveArguments\n\t\t\t};\n\t\t}\n\t\tif(previous && !around){\n\t\t\tif(type == \"after\"){\n\t\t\t\t// add the listener to the end of the list\n\t\t\t\t// note that we had to change this loop a little bit to workaround a bizarre IE10 JIT bug\n\t\t\t\twhile(previous.next && (previous = previous.next)){}\n\t\t\t\tprevious.next = signal;\n\t\t\t\tsignal.previous = previous;\n\t\t\t}else if(type == \"before\"){\n\t\t\t\t// add to beginning\n\t\t\t\tdispatcher[type] = signal;\n\t\t\t\tsignal.next = previous;\n\t\t\t\tprevious.previous = signal;\n\t\t\t}\n\t\t}else{\n\t\t\t// around or first one just replaces\n\t\t\tdispatcher[type] = signal;\n\t\t}\n\t\treturn signal;\n\t}\n\tfunction aspect(type){\n\t\treturn function(target, methodName, advice, receiveArguments){\n\t\t\tvar existing = target[methodName], dispatcher;\n\t\t\tif(!existing || existing.target != target){\n\t\t\t\t// no dispatcher in place\n\t\t\t\ttarget[methodName] = dispatcher = function(){\n\t\t\t\t\tvar executionId = dispatcher.nextId;\n\t\t\t\t\t// before advice\n\t\t\t\t\tvar args = arguments;\n\t\t\t\t\tvar before = dispatcher.before;\n\t\t\t\t\twhile(before){\n\t\t\t\t\t\tif(before.advice){\n\t\t\t\t\t\t\targs = before.advice.apply(this, args) || args;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbefore = before.next;\n\t\t\t\t\t}\n\t\t\t\t\t// around advice\n\t\t\t\t\tif(dispatcher.around){\n\t\t\t\t\t\tvar results = dispatcher.around.advice(this, args);\n\t\t\t\t\t}\n\t\t\t\t\t// after advice\n\t\t\t\t\tvar after = dispatcher.after;\n\t\t\t\t\twhile(after && after.id < executionId){\n\t\t\t\t\t\tif(after.advice){\n\t\t\t\t\t\t\tif(after.receiveArguments){\n\t\t\t\t\t\t\t\tvar newResults = after.advice.apply(this, args);\n\t\t\t\t\t\t\t\t// change the return value only if a new value was returned\n\t\t\t\t\t\t\t\tresults = newResults === undefined ? results : newResults;\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tresults = after.advice.call(this, results, args);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tafter = after.next;\n\t\t\t\t\t}\n\t\t\t\t\treturn results;\n\t\t\t\t};\n\t\t\t\tif(existing){\n\t\t\t\t\tdispatcher.around = {advice: function(target, args){\n\t\t\t\t\t\treturn existing.apply(target, args);\n\t\t\t\t\t}};\n\t\t\t\t}\n\t\t\t\tdispatcher.target = target;\n\t\t\t\tdispatcher.nextId = dispatcher.nextId || 0;\n\t\t\t}\n\t\t\tvar results = advise((dispatcher || existing), type, advice, receiveArguments);\n\t\t\tadvice = null;\n\t\t\treturn results;\n\t\t};\n\t}\n\n\t// TODOC: after/before/around return object\n\n\tvar after = aspect(\"after\");\n\t/*=====\n\tafter = function(target, methodName, advice, receiveArguments){\n\t\t// summary:\n\t\t//\t\tThe \"after\" export of the aspect module is a function that can be used to attach\n\t\t//\t\t\"after\" advice to a method. This function will be executed after the original method\n\t\t//\t\tis executed. By default the function will be called with a single argument, the return\n\t\t//\t\tvalue of the original method, or the the return value of the last executed advice (if a previous one exists).\n\t\t//\t\tThe fourth (optional) argument can be set to true to so the function receives the original\n\t\t//\t\targuments (from when the original method was called) rather than the return value.\n\t\t//\t\tIf there are multiple \"after\" advisors, they are executed in the order they were registered.\n\t\t// target: Object\n\t\t//\t\tThis is the target object\n\t\t// methodName: String\n\t\t//\t\tThis is the name of the method to attach to.\n\t\t// advice: Function\n\t\t//\t\tThis is function to be called after the original method\n\t\t// receiveArguments: Boolean?\n\t\t//\t\tIf this is set to true, the advice function receives the original arguments (from when the original mehtod\n\t\t//\t\twas called) rather than the return value of the original/previous method.\n\t\t// returns:\n\t\t//\t\tA signal object that can be used to cancel the advice. If remove() is called on this signal object, it will\n\t\t//\t\tstop the advice function from being executed.\n\t};\n\t=====*/\n\n\tvar before = aspect(\"before\");\n\t/*=====\n\tbefore = function(target, methodName, advice){\n\t\t// summary:\n\t\t//\t\tThe \"before\" export of the aspect module is a function that can be used to attach\n\t\t//\t\t\"before\" advice to a method. This function will be executed before the original method\n\t\t//\t\tis executed. This function will be called with the arguments used to call the method.\n\t\t//\t\tThis function may optionally return an array as the new arguments to use to call\n\t\t//\t\tthe original method (or the previous, next-to-execute before advice, if one exists).\n\t\t//\t\tIf the before method doesn't return anything (returns undefined) the original arguments\n\t\t//\t\twill be preserved.\n\t\t//\t\tIf there are multiple \"before\" advisors, they are executed in the reverse order they were registered.\n\t\t// target: Object\n\t\t//\t\tThis is the target object\n\t\t// methodName: String\n\t\t//\t\tThis is the name of the method to attach to.\n\t\t// advice: Function\n\t\t//\t\tThis is function to be called before the original method\n\t};\n\t=====*/\n\n\tvar around = aspect(\"around\");\n\t/*=====\n\t around = function(target, methodName, advice){\n\t\t// summary:\n\t\t//\t\tThe \"around\" export of the aspect module is a function that can be used to attach\n\t\t//\t\t\"around\" advice to a method. The advisor function is immediately executed when\n\t\t//\t\tthe around() is called, is passed a single argument that is a function that can be\n\t\t//\t\tcalled to continue execution of the original method (or the next around advisor).\n\t\t//\t\tThe advisor function should return a function, and this function will be called whenever\n\t\t//\t\tthe method is called. It will be called with the arguments used to call the method.\n\t\t//\t\tWhatever this function returns will be returned as the result of the method call (unless after advise changes it).\n\t\t// example:\n\t\t//\t\tIf there are multiple \"around\" advisors, the most recent one is executed first,\n\t\t//\t\twhich can then delegate to the next one and so on. For example:\n\t\t//\t\t|\taround(obj, \"foo\", function(originalFoo){\n\t\t//\t\t|\t\treturn function(){\n\t\t//\t\t|\t\t\tvar start = new Date().getTime();\n\t\t//\t\t|\t\t\tvar results = originalFoo.apply(this, arguments); // call the original\n\t\t//\t\t|\t\t\tvar end = new Date().getTime();\n\t\t//\t\t|\t\t\tconsole.log(\"foo execution took \" + (end - start) + \" ms\");\n\t\t//\t\t|\t\t\treturn results;\n\t\t//\t\t|\t\t};\n\t\t//\t\t|\t});\n\t\t// target: Object\n\t\t//\t\tThis is the target object\n\t\t// methodName: String\n\t\t//\t\tThis is the name of the method to attach to.\n\t\t// advice: Function\n\t\t//\t\tThis is function to be called around the original method\n\t};\n\t=====*/\n\n\treturn {\n\t\t// summary:\n\t\t//\t\tprovides aspect oriented programming functionality, allowing for\n\t\t//\t\tone to add before, around, or after advice on existing methods.\n\t\t// example:\n\t\t//\t|\tdefine([\"dojo/aspect\"], function(aspect){\n\t\t//\t|\t\tvar signal = aspect.after(targetObject, \"methodName\", function(someArgument){\n\t\t//\t|\t\t\tthis will be called when targetObject.methodName() is called, after the original function is called\n\t\t//\t|\t\t});\n\t\t//\n\t\t// example:\n\t\t//\tThe returned signal object can be used to cancel the advice.\n\t\t//\t|\tsignal.remove(); // this will stop the advice from being executed anymore\n\t\t//\t|\taspect.before(targetObject, \"methodName\", function(someArgument){\n\t\t//\t|\t\t// this will be called when targetObject.methodName() is called, before the original function is called\n\t\t//\t|\t });\n\n\t\tbefore: before,\n\t\taround: around,\n\t\tafter: after\n\t};\n});\n","define([\"exports\", \"./sniff\", \"./_base/lang\", \"./dom\", \"./dom-style\", \"./dom-prop\"],\n\t\tfunction(exports, has, lang, dom, style, prop){\n\t// module:\n\t//\t\tdojo/dom-attr\n\t// summary:\n\t//\t\tThis module defines the core dojo DOM attributes API.\n\n\t// TODOC: summary not showing up in output see https://github.com/csnover/js-doc-parse/issues/42\n\n\t// =============================\n\t// Element attribute Functions\n\t// =============================\n\n\t// This module will be obsolete soon. Use dojo/prop instead.\n\n\t// dojo/dom-attr.get() should conform to http://www.w3.org/TR/DOM-Level-2-Core/\n\n\t// attribute-related functions (to be obsolete soon)\n\tvar forcePropNames = {\n\t\t\tinnerHTML:\t1,\n\t\t\ttextContent:1,\n\t\t\tclassName:\t1,\n\t\t\thtmlFor:\thas(\"ie\"),\n\t\t\tvalue:\t\t1\n\t\t},\n\t\tattrNames = {\n\t\t\t// original attribute names\n\t\t\tclassname: \"class\",\n\t\t\thtmlfor: \"for\",\n\t\t\t// for IE\n\t\t\ttabindex: \"tabIndex\",\n\t\t\treadonly: \"readOnly\"\n\t\t};\n\n\tfunction _hasAttr(node, name){\n\t\tvar attr = node.getAttributeNode && node.getAttributeNode(name);\n\t\treturn !!attr && attr.specified; // Boolean\n\t}\n\t\n\t// There is a difference in the presence of certain properties and their default values\n\t// between browsers. For example, on IE \"disabled\" is present on all elements,\n\t// but it is value is \"false\"; \"tabIndex\" of <div> returns 0 by default on IE, yet other browsers\n\t// can return -1.\n\n\texports.has = function hasAttr(/*DOMNode|String*/ node, /*String*/ name){\n\t\t// summary:\n\t\t//\t\tReturns true if the requested attribute is specified on the\n\t\t//\t\tgiven element, and false otherwise.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to check\n\t\t// name: String\n\t\t//\t\tthe name of the attribute\n\t\t// returns: Boolean\n\t\t//\t\ttrue if the requested attribute is specified on the\n\t\t//\t\tgiven element, and false otherwise\n\n\t\tvar lc = name.toLowerCase();\n\t\treturn forcePropNames[prop.names[lc] || name] || _hasAttr(dom.byId(node), attrNames[lc] || name);\t// Boolean\n\t};\n\n\texports.get = function getAttr(/*DOMNode|String*/ node, /*String*/ name){\n\t\t// summary:\n\t\t//\t\tGets an attribute on an HTML element.\n\t\t// description:\n\t\t//\t\tHandles normalized getting of attributes on DOM Nodes.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to get the attribute on\n\t\t// name: String\n\t\t//\t\tthe name of the attribute to get.\n\t\t// returns:\n\t\t//\t\tthe value of the requested attribute or null if that attribute does not have a specified or\n\t\t//\t\tdefault value;\n\t\t//\n\t\t// example:\n\t\t//\t|\t// get the current value of the \"foo\" attribute on a node\n\t\t//\t|\trequire([\"dojo/dom-attr\", \"dojo/dom\"], function(domAttr, dom){\n\t\t//\t|\t\tdomAttr.get(dom.byId(\"nodeId\"), \"foo\");\n\t\t//\t|\t\t// or we can just pass the id:\n\t\t//\t|\t\tdomAttr.get(\"nodeId\", \"foo\");\n\t\t//\t|\t});\t\n\t\t//\t|\t\n\n\t\tnode = dom.byId(node);\n\t\tvar lc = name.toLowerCase(),\n\t\t\tpropName = prop.names[lc] || name,\n\t\t\tforceProp = forcePropNames[propName],\n\t\t\tvalue = node[propName];\t\t// should we access this attribute via a property or via getAttribute()?\n\n\t\tif(forceProp && typeof value != \"undefined\"){\n\t\t\t// node's property\n\t\t\treturn value;\t// Anything\n\t\t}\n\t\t\n\t\tif(propName == \"textContent\"){\n\t\t\treturn prop.get(node, propName);\n\t\t}\n\t\t\n\t\tif(propName != \"href\" && (typeof value == \"boolean\" || lang.isFunction(value))){\n\t\t\t// node's property\n\t\t\treturn value;\t// Anything\n\t\t}\n\t\t// node's attribute\n\t\t// we need _hasAttr() here to guard against IE returning a default value\n\t\tvar attrName = attrNames[lc] || name;\n\t\treturn _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything\n\t};\n\n\texports.set = function setAttr(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){\n\t\t// summary:\n\t\t//\t\tSets an attribute on an HTML element.\n\t\t// description:\n\t\t//\t\tHandles normalized setting of attributes on DOM Nodes.\n\t\t//\n\t\t//\t\tWhen passing functions as values, note that they will not be\n\t\t//\t\tdirectly assigned to slots on the node, but rather the default\n\t\t//\t\tbehavior will be removed and the new behavior will be added\n\t\t//\t\tusing `dojo.connect()`, meaning that event handler properties\n\t\t//\t\twill be normalized and that some caveats with regards to\n\t\t//\t\tnon-standard behaviors for onsubmit apply. Namely that you\n\t\t//\t\tshould cancel form submission using `dojo.stopEvent()` on the\n\t\t//\t\tpassed event object instead of returning a boolean value from\n\t\t//\t\tthe handler itself.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to set the attribute on\n\t\t// name: String|Object\n\t\t//\t\tthe name of the attribute to set, or a hash of key-value pairs to set.\n\t\t// value: String?\n\t\t//\t\tthe value to set for the attribute, if the name is a string.\n\t\t// returns:\n\t\t//\t\tthe DOM node\n\t\t//\n\t\t// example:\n\t\t//\t|\t// use attr() to set the tab index\n\t\t//\t|\trequire([\"dojo/dom-attr\"], function(domAttr){\n\t\t//\t|\t\tdomAttr.set(\"nodeId\", \"tabIndex\", 3);\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\tSet multiple values at once, including event handlers:\n\t\t//\t|\trequire([\"dojo/dom-attr\"],\n\t\t//\t|\tfunction(domAttr){\n\t\t//\t|\t\tdomAttr.set(\"formId\", {\n\t\t//\t|\t\t\t\"foo\": \"bar\",\n\t\t//\t|\t\t\t\"tabIndex\": -1,\n\t\t//\t|\t\t\t\"method\": \"POST\"\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\n\t\tnode = dom.byId(node);\n\t\tif(arguments.length == 2){ // inline'd type check\n\t\t\t// the object form of setter: the 2nd argument is a dictionary\n\t\t\tfor(var x in name){\n\t\t\t\texports.set(node, x, name[x]);\n\t\t\t}\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tvar lc = name.toLowerCase(),\n\t\t\tpropName = prop.names[lc] || name,\n\t\t\tforceProp = forcePropNames[propName];\n\t\tif(propName == \"style\" && typeof value != \"string\"){ // inline'd type check\n\t\t\t// special case: setting a style\n\t\t\tstyle.set(node, value);\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tif(forceProp || typeof value == \"boolean\" || lang.isFunction(value)){\n\t\t\treturn prop.set(node, name, value);\n\t\t}\n\t\t// node's attribute\n\t\tnode.setAttribute(attrNames[lc] || name, value);\n\t\treturn node; // DomNode\n\t};\n\n\texports.remove = function removeAttr(/*DOMNode|String*/ node, /*String*/ name){\n\t\t// summary:\n\t\t//\t\tRemoves an attribute from an HTML element.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to remove the attribute from\n\t\t// name: String\n\t\t//\t\tthe name of the attribute to remove\n\n\t\tdom.byId(node).removeAttribute(attrNames[name.toLowerCase()] || name);\n\t};\n\n\texports.getNodeProp = function getNodeProp(/*DomNode|String*/ node, /*String*/ name){\n\t\t// summary:\n\t\t//\t\tReturns an effective value of a property or an attribute.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to remove the attribute from\n\t\t// name: String\n\t\t//\t\tthe name of the attribute\n\t\t// returns:\n\t\t//\t\tthe value of the attribute\n\n\t\tnode = dom.byId(node);\n\t\tvar lc = name.toLowerCase(), propName = prop.names[lc] || name;\n\t\tif((propName in node) && propName != \"href\"){\n\t\t\t// node's property\n\t\t\treturn node[propName];\t// Anything\n\t\t}\n\t\t// node's attribute\n\t\tvar attrName = attrNames[lc] || name;\n\t\treturn _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything\n\t};\n});\n","define([\"exports\", \"./_base/kernel\", \"./sniff\", \"./_base/window\", \"./dom\", \"./dom-attr\"],\n\t\tfunction(exports, dojo, has, win, dom, attr){\n\t// module:\n\t//\t\tdojo/dom-construct\n\t// summary:\n\t//\t\tThis module defines the core dojo DOM construction API.\n\n\t// TODOC: summary not showing up in output, see https://github.com/csnover/js-doc-parse/issues/42\n\n\t// support stuff for toDom()\n\tvar tagWrap = {\n\t\t\toption: [\"select\"],\n\t\t\ttbody: [\"table\"],\n\t\t\tthead: [\"table\"],\n\t\t\ttfoot: [\"table\"],\n\t\t\ttr: [\"table\", \"tbody\"],\n\t\t\ttd: [\"table\", \"tbody\", \"tr\"],\n\t\t\tth: [\"table\", \"thead\", \"tr\"],\n\t\t\tlegend: [\"fieldset\"],\n\t\t\tcaption: [\"table\"],\n\t\t\tcolgroup: [\"table\"],\n\t\t\tcol: [\"table\", \"colgroup\"],\n\t\t\tli: [\"ul\"]\n\t\t},\n\t\treTag = /<\\s*([\\w\\:]+)/,\n\t\tmasterNode = {}, masterNum = 0,\n\t\tmasterName = \"__\" + dojo._scopeName + \"ToDomId\";\n\n\t// generate start/end tag strings to use\n\t// for the injection for each special tag wrap case.\n\tfor(var param in tagWrap){\n\t\tif(tagWrap.hasOwnProperty(param)){\n\t\t\tvar tw = tagWrap[param];\n\t\t\ttw.pre = param == \"option\" ? '<select multiple=\"multiple\">' : \"<\" + tw.join(\"><\") + \">\";\n\t\t\ttw.post = \"</\" + tw.reverse().join(\"></\") + \">\";\n\t\t\t// the last line is destructive: it reverses the array,\n\t\t\t// but we don't care at this point\n\t\t}\n\t}\n\n\tvar html5domfix;\n\tif(has(\"ie\") <= 8){\n\t\thtml5domfix = function(doc){\n\t\t\tdoc.__dojo_html5_tested = \"yes\";\n\t\t\tvar div = create('div', {innerHTML: \"<nav>a</nav>\", style: {visibility: \"hidden\"}}, doc.body);\n\t\t\tif(div.childNodes.length !== 1){\n\t\t\t\t('abbr article aside audio canvas details figcaption figure footer header ' +\n\t\t\t\t'hgroup mark meter nav output progress section summary time video').replace(\n\t\t\t\t\t/\\b\\w+\\b/g, function(n){\n\t\t\t\t\t\tdoc.createElement(n);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\tdestroy(div);\n\t\t}\n\t}\n\n\tfunction _insertBefore(/*DomNode*/ node, /*DomNode*/ ref){\n\t\tvar parent = ref.parentNode;\n\t\tif(parent){\n\t\t\tparent.insertBefore(node, ref);\n\t\t}\n\t}\n\n\tfunction _insertAfter(/*DomNode*/ node, /*DomNode*/ ref){\n\t\t// summary:\n\t\t//\t\tTry to insert node after ref\n\t\tvar parent = ref.parentNode;\n\t\tif(parent){\n\t\t\tif(parent.lastChild == ref){\n\t\t\t\tparent.appendChild(node);\n\t\t\t}else{\n\t\t\t\tparent.insertBefore(node, ref.nextSibling);\n\t\t\t}\n\t\t}\n\t}\n\n\texports.toDom = function toDom(frag, doc){\n\t\t// summary:\n\t\t//\t\tinstantiates an HTML fragment returning the corresponding DOM.\n\t\t// frag: String\n\t\t//\t\tthe HTML fragment\n\t\t// doc: DocumentNode?\n\t\t//\t\toptional document to use when creating DOM nodes, defaults to\n\t\t//\t\tdojo/_base/window.doc if not specified.\n\t\t// returns:\n\t\t//\t\tDocument fragment, unless it's a single node in which case it returns the node itself\n\t\t// example:\n\t\t//\t\tCreate a table row:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tvar tr = domConstruct.toDom(\"<tr><td>First!</td></tr>\");\n\t\t//\t|\t});\n\n\t\tdoc = doc || win.doc;\n\t\tvar masterId = doc[masterName];\n\t\tif(!masterId){\n\t\t\tdoc[masterName] = masterId = ++masterNum + \"\";\n\t\t\tmasterNode[masterId] = doc.createElement(\"div\");\n\t\t}\n\n\t\tif(has(\"ie\") <= 8){\n\t\t\tif(!doc.__dojo_html5_tested && doc.body){\n\t\t\t\thtml5domfix(doc);\n\t\t\t}\n\t\t}\n\n\t\t// make sure the frag is a string.\n\t\tfrag += \"\";\n\n\t\t// find the starting tag, and get node wrapper\n\t\tvar match = frag.match(reTag),\n\t\t\ttag = match ? match[1].toLowerCase() : \"\",\n\t\t\tmaster = masterNode[masterId],\n\t\t\twrap, i, fc, df;\n\t\tif(match && tagWrap[tag]){\n\t\t\twrap = tagWrap[tag];\n\t\t\tmaster.innerHTML = wrap.pre + frag + wrap.post;\n\t\t\tfor(i = wrap.length; i; --i){\n\t\t\t\tmaster = master.firstChild;\n\t\t\t}\n\t\t}else{\n\t\t\tmaster.innerHTML = frag;\n\t\t}\n\n\t\t// one node shortcut => return the node itself\n\t\tif(master.childNodes.length == 1){\n\t\t\treturn master.removeChild(master.firstChild); // DOMNode\n\t\t}\n\n\t\t// return multiple nodes as a document fragment\n\t\tdf = doc.createDocumentFragment();\n\t\twhile((fc = master.firstChild)){ // intentional assignment\n\t\t\tdf.appendChild(fc);\n\t\t}\n\t\treturn df; // DocumentFragment\n\t};\n\n\texports.place = function place(node, refNode, position){\n\t\t// summary:\n\t\t//\t\tAttempt to insert node into the DOM, choosing from various positioning options.\n\t\t//\t\tReturns the first argument resolved to a DOM node.\n\t\t// node: DOMNode|DocumentFragment|String\n\t\t//\t\tid or node reference, or HTML fragment starting with \"<\" to place relative to refNode\n\t\t// refNode: DOMNode|String\n\t\t//\t\tid or node reference to use as basis for placement\n\t\t// position: String|Number?\n\t\t//\t\tstring noting the position of node relative to refNode or a\n\t\t//\t\tnumber indicating the location in the childNodes collection of refNode.\n\t\t//\t\tAccepted string values are:\n\t\t//\n\t\t//\t\t- before\n\t\t//\t\t- after\n\t\t//\t\t- replace\n\t\t//\t\t- only\n\t\t//\t\t- first\n\t\t//\t\t- last\n\t\t//\n\t\t//\t\t\"first\" and \"last\" indicate positions as children of refNode, \"replace\" replaces refNode,\n\t\t//\t\t\"only\" replaces all children. position defaults to \"last\" if not specified\n\t\t// returns: DOMNode\n\t\t//\t\tReturned values is the first argument resolved to a DOM node.\n\t\t//\n\t\t//\t\t.place() is also a method of `dojo/NodeList`, allowing `dojo/query` node lookups.\n\t\t// example:\n\t\t//\t\tPlace a node by string id as the last child of another node by string id:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tdomConstruct.place(\"someNode\", \"anotherNode\");\n\t\t//\t|\t});\n\t\t// example:\n\t\t//\t\tPlace a node by string id before another node by string id\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tdomConstruct.place(\"someNode\", \"anotherNode\", \"before\");\n\t\t//\t|\t});\n\t\t// example:\n\t\t//\t\tCreate a Node, and place it in the body element (last child):\n\t\t//\t|\trequire([\"dojo/dom-construct\", \"dojo/_base/window\"\n\t\t//\t|\t], function(domConstruct, win){\n\t\t//\t|\t\tdomConstruct.place(\"<div></div>\", win.body());\n\t\t//\t|\t});\n\t\t// example:\n\t\t//\t\tPut a new LI as the first child of a list by id:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tdomConstruct.place(\"<li></li>\", \"someUl\", \"first\");\n\t\t//\t|\t});\n\n\t\trefNode = dom.byId(refNode);\n\t\tif(typeof node == \"string\"){ // inline'd type check\n\t\t\tnode = /^\\s*</.test(node) ? exports.toDom(node, refNode.ownerDocument) : dom.byId(node);\n\t\t}\n\t\tif(typeof position == \"number\"){ // inline'd type check\n\t\t\tvar cn = refNode.childNodes;\n\t\t\tif(!cn.length || cn.length <= position){\n\t\t\t\trefNode.appendChild(node);\n\t\t\t}else{\n\t\t\t\t_insertBefore(node, cn[position < 0 ? 0 : position]);\n\t\t\t}\n\t\t}else{\n\t\t\tswitch(position){\n\t\t\t\tcase \"before\":\n\t\t\t\t\t_insertBefore(node, refNode);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"after\":\n\t\t\t\t\t_insertAfter(node, refNode);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"replace\":\n\t\t\t\t\trefNode.parentNode.replaceChild(node, refNode);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"only\":\n\t\t\t\t\texports.empty(refNode);\n\t\t\t\t\trefNode.appendChild(node);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"first\":\n\t\t\t\t\tif(refNode.firstChild){\n\t\t\t\t\t\t_insertBefore(node, refNode.firstChild);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t// else fallthrough...\n\t\t\t\tdefault: // aka: last\n\t\t\t\t\trefNode.appendChild(node);\n\t\t\t}\n\t\t}\n\t\treturn node; // DomNode\n\t};\n\n\tvar create = exports.create = function create(/*DOMNode|String*/ tag, /*Object*/ attrs, /*DOMNode|String?*/ refNode, /*String?*/ pos){\n\t\t// summary:\n\t\t//\t\tCreate an element, allowing for optional attribute decoration\n\t\t//\t\tand placement.\n\t\t// description:\n\t\t//\t\tA DOM Element creation function. A shorthand method for creating a node or\n\t\t//\t\ta fragment, and allowing for a convenient optional attribute setting step,\n\t\t//\t\tas well as an optional DOM placement reference.\n\t\t//\n\t\t//\t\tAttributes are set by passing the optional object through `dojo/dom-attr.set`.\n\t\t//\t\tSee `dojo/dom-attr.set` for noted caveats and nuances, and API if applicable.\n\t\t//\n\t\t//\t\tPlacement is done via `dojo/dom-construct.place`, assuming the new node to be\n\t\t//\t\tthe action node, passing along the optional reference node and position.\n\t\t// tag: DOMNode|String\n\t\t//\t\tA string of the element to create (eg: \"div\", \"a\", \"p\", \"li\", \"script\", \"br\"),\n\t\t//\t\tor an existing DOM node to process.\n\t\t// attrs: Object\n\t\t//\t\tAn object-hash of attributes to set on the newly created node.\n\t\t//\t\tCan be null, if you don't want to set any attributes/styles.\n\t\t//\t\tSee: `dojo/dom-attr.set` for a description of available attributes.\n\t\t// refNode: DOMNode|String?\n\t\t//\t\tOptional reference node. Used by `dojo/dom-construct.place` to place the newly created\n\t\t//\t\tnode somewhere in the dom relative to refNode. Can be a DomNode reference\n\t\t//\t\tor String ID of a node.\n\t\t// pos: String?\n\t\t//\t\tOptional positional reference. Defaults to \"last\" by way of `dojo/domConstruct.place`,\n\t\t//\t\tthough can be set to \"first\",\"after\",\"before\",\"last\", \"replace\" or \"only\"\n\t\t//\t\tto further control the placement of the new node relative to the refNode.\n\t\t//\t\t'refNode' is required if a 'pos' is specified.\n\t\t// example:\n\t\t//\t\tCreate a DIV:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tvar n = domConstruct.create(\"div\");\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tCreate a DIV with content:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tvar n = domConstruct.create(\"div\", { innerHTML:\"<p>hi</p>\" });\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tPlace a new DIV in the BODY, with no attributes set\n\t\t//\t|\trequire([\"dojo/dom-construct\", \"dojo/_base/window\"], function(domConstruct, win){\n\t\t//\t|\t\tvar n = domConstruct.create(\"div\", null, win.body());\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tCreate an UL, and populate it with LI's. Place the list as the first-child of a\n\t\t//\t\tnode with id=\"someId\":\n\t\t//\t|\trequire([\"dojo/dom-construct\", \"dojo/_base/array\"],\n\t\t//\t|\tfunction(domConstruct, arrayUtil){\n\t\t//\t|\t\tvar ul = domConstruct.create(\"ul\", null, \"someId\", \"first\");\n\t\t//\t|\t\tvar items = [\"one\", \"two\", \"three\", \"four\"];\n\t\t//\t|\t\tarrayUtil.forEach(items, function(data){\n\t\t//\t|\t\t\tdomConstruct.create(\"li\", { innerHTML: data }, ul);\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tCreate an anchor, with an href. Place in BODY:\n\t\t//\t|\trequire([\"dojo/dom-construct\", \"dojo/_base/window\"], function(domConstruct, win){\n\t\t//\t|\t\tdomConstruct.create(\"a\", { href:\"foo.html\", title:\"Goto FOO!\" }, win.body());\n\t\t//\t|\t});\n\n\t\tvar doc = win.doc;\n\t\tif(refNode){\n\t\t\trefNode = dom.byId(refNode);\n\t\t\tdoc = refNode.ownerDocument;\n\t\t}\n\t\tif(typeof tag == \"string\"){ // inline'd type check\n\t\t\ttag = doc.createElement(tag);\n\t\t}\n\t\tif(attrs){ attr.set(tag, attrs); }\n\t\tif(refNode){ exports.place(tag, refNode, pos); }\n\t\treturn tag; // DomNode\n\t};\n\n\tfunction _empty(/*DomNode*/ node){\n\t\t// TODO: remove this if() block in 2.0 when we no longer have to worry about IE memory leaks,\n\t\t// and then uncomment the emptyGrandchildren() test case from html.html.\n\t\t// Note that besides fixing #16957, using removeChild() is actually faster than setting node.innerHTML,\n\t\t// see http://jsperf.com/clear-dom-node.\n\t\tif(\"innerHTML\" in node){\n\t\t\ttry{\n\t\t\t\t// fast path\n\t\t\t\tnode.innerHTML = \"\";\n\t\t\t\treturn;\n\t\t\t}catch(e){\n\t\t\t\t// innerHTML is readOnly (e.g. TABLE (sub)elements in quirks mode)\n\t\t\t\t// Fall through (saves bytes)\n\t\t\t}\n\t\t}\n\n\t\t// SVG/strict elements don't support innerHTML\n\t\tfor(var c; c = node.lastChild;){ // intentional assignment\n\t\t\tnode.removeChild(c);\n\t\t}\n\t}\n\n\texports.empty = function empty(/*DOMNode|String*/ node){\n\t\t// summary:\n\t\t//\t\tsafely removes all children of the node.\n\t\t// node: DOMNode|String\n\t\t//\t\ta reference to a DOM node or an id.\n\t\t// example:\n\t\t//\t\tDestroy node's children byId:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tdomConstruct.empty(\"someId\");\n\t\t//\t|\t});\n\n\t\t_empty(dom.byId(node));\n\t};\n\n\n\tfunction _destroy(/*DomNode*/ node, /*DomNode*/ parent){\n\t\t// in IE quirks, node.canHaveChildren can be false but firstChild can be non-null (OBJECT/APPLET)\n\t\tif(node.firstChild){\n\t\t\t_empty(node);\n\t\t}\n\t\tif(parent){\n\t\t\t// removeNode(false) doesn't leak in IE 6+, but removeChild() and removeNode(true) are known to leak under IE 8- while 9+ is TBD.\n\t\t\t// In IE quirks mode, PARAM nodes as children of OBJECT/APPLET nodes have a removeNode method that does nothing and\n\t\t\t// the parent node has canHaveChildren=false even though removeChild correctly removes the PARAM children.\n\t\t\t// In IE, SVG/strict nodes don't have a removeNode method nor a canHaveChildren boolean.\n\t\t\thas(\"ie\") && parent.canHaveChildren && \"removeNode\" in node ? node.removeNode(false) : parent.removeChild(node);\n\t\t}\n\t}\n\tvar destroy = exports.destroy = function destroy(/*DOMNode|String*/ node){\n\t\t// summary:\n\t\t//\t\tRemoves a node from its parent, clobbering it and all of its\n\t\t//\t\tchildren.\n\t\t//\n\t\t// description:\n\t\t//\t\tRemoves a node from its parent, clobbering it and all of its\n\t\t//\t\tchildren. Function only works with DomNodes, and returns nothing.\n\t\t//\n\t\t// node: DOMNode|String\n\t\t//\t\tA String ID or DomNode reference of the element to be destroyed\n\t\t//\n\t\t// example:\n\t\t//\t\tDestroy a node byId:\n\t\t//\t|\trequire([\"dojo/dom-construct\"], function(domConstruct){\n\t\t//\t|\t\tdomConstruct.destroy(\"someId\");\n\t\t//\t|\t});\n\n\t\tnode = dom.byId(node);\n\t\tif(!node){ return; }\n\t\t_destroy(node, node.parentNode);\n\t};\n});\n","define([\"./_base/lang\", \"./dom\", \"./io-query\", \"./json\"], function(lang, dom, ioq, json){\n\t// module:\n\t//\t\tdojo/dom-form\n\n function setValue(/*Object*/ obj, /*String*/ name, /*String*/ value){\n // summary:\n //\t\tFor the named property in object, set the value. If a value\n //\t\talready exists and it is a string, convert the value to be an\n //\t\tarray of values.\n\n // Skip it if there is no value\n if(value === null){\n return;\n }\n\n var val = obj[name];\n if(typeof val == \"string\"){ // inline'd type check\n obj[name] = [val, value];\n }else if(lang.isArray(val)){\n val.push(value);\n }else{\n obj[name] = value;\n }\n }\n\n\tvar exclude = \"file|submit|image|reset|button\";\n\n\tvar form = {\n\t\t// summary:\n\t\t//\t\tThis module defines form-processing functions.\n\n\t\tfieldToObject: function fieldToObject(/*DOMNode|String*/ inputNode){\n\t\t\t// summary:\n\t\t\t//\t\tSerialize a form field to a JavaScript object.\n\t\t\t// description:\n\t\t\t//\t\tReturns the value encoded in a form field as\n\t\t\t//\t\tas a string or an array of strings. Disabled form elements\n\t\t\t//\t\tand unchecked radio and checkboxes are skipped.\tMulti-select\n\t\t\t//\t\telements are returned as an array of string values.\n\t\t\t// inputNode: DOMNode|String\n\t\t\t// returns: Object\n\n\t\t\tvar ret = null;\n\t\t\tinputNode = dom.byId(inputNode);\n\t\t\tif(inputNode){\n\t\t\t\tvar _in = inputNode.name, type = (inputNode.type || \"\").toLowerCase();\n\t\t\t\tif(_in && type && !inputNode.disabled){\n\t\t\t\t\tif(type == \"radio\" || type == \"checkbox\"){\n\t\t\t\t\t\tif(inputNode.checked){\n\t\t\t\t\t\t\tret = inputNode.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else if(inputNode.multiple){\n\t\t\t\t\t\tret = [];\n\t\t\t\t\t\tvar nodes = [inputNode.firstChild];\n\t\t\t\t\t\twhile(nodes.length){\n\t\t\t\t\t\t\tfor(var node = nodes.pop(); node; node = node.nextSibling){\n\t\t\t\t\t\t\t\tif(node.nodeType == 1 && node.tagName.toLowerCase() == \"option\"){\n\t\t\t\t\t\t\t\t\tif(node.selected){\n\t\t\t\t\t\t\t\t\t\tret.push(node.value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tif(node.nextSibling){\n\t\t\t\t\t\t\t\t\t\tnodes.push(node.nextSibling);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif(node.firstChild){\n\t\t\t\t\t\t\t\t\t\tnodes.push(node.firstChild);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\tret = inputNode.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn ret; // Object\n\t\t},\n\n\t\ttoObject: function formToObject(/*DOMNode|String*/ formNode){\n\t\t\t// summary:\n\t\t\t//\t\tSerialize a form node to a JavaScript object.\n\t\t\t// description:\n\t\t\t//\t\tReturns the values encoded in an HTML form as\n\t\t\t//\t\tstring properties in an object which it then returns. Disabled form\n\t\t\t//\t\telements, buttons, and other non-value form elements are skipped.\n\t\t\t//\t\tMulti-select elements are returned as an array of string values.\n\t\t\t// formNode: DOMNode|String\n\t\t\t// example:\n\t\t\t//\t\tThis form:\n\t\t\t//\t\t|\t<form id=\"test_form\">\n\t\t\t//\t\t|\t\t<input type=\"text\" name=\"blah\" value=\"blah\">\n\t\t\t//\t\t|\t\t<input type=\"text\" name=\"no_value\" value=\"blah\" disabled>\n\t\t\t//\t\t|\t\t<input type=\"button\" name=\"no_value2\" value=\"blah\">\n\t\t\t//\t\t|\t\t<select type=\"select\" multiple name=\"multi\" size=\"5\">\n\t\t\t//\t\t|\t\t\t<option value=\"blah\">blah</option>\n\t\t\t//\t\t|\t\t\t<option value=\"thud\" selected>thud</option>\n\t\t\t//\t\t|\t\t\t<option value=\"thonk\" selected>thonk</option>\n\t\t\t//\t\t|\t\t</select>\n\t\t\t//\t\t|\t</form>\n\t\t\t//\n\t\t\t//\t\tyields this object structure as the result of a call to\n\t\t\t//\t\tformToObject():\n\t\t\t//\n\t\t\t//\t\t|\t{\n\t\t\t//\t\t|\t\tblah: \"blah\",\n\t\t\t//\t\t|\t\tmulti: [\n\t\t\t//\t\t|\t\t\t\"thud\",\n\t\t\t//\t\t|\t\t\t\"thonk\"\n\t\t\t//\t\t|\t\t]\n\t\t\t//\t\t|\t};\n\n\t\t\tvar ret = {}, elems = dom.byId(formNode).elements;\n\t\t\tfor(var i = 0, l = elems.length; i < l; ++i){\n\t\t\t\tvar item = elems[i], _in = item.name, type = (item.type || \"\").toLowerCase();\n\t\t\t\tif(_in && type && exclude.indexOf(type) < 0 && !item.disabled){\n\t\t\t\t\tsetValue(ret, _in, form.fieldToObject(item));\n\t\t\t\t\tif(type == \"image\"){\n\t\t\t\t\t\tret[_in + \".x\"] = ret[_in + \".y\"] = ret[_in].x = ret[_in].y = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn ret; // Object\n\t\t},\n\n\t\ttoQuery: function formToQuery(/*DOMNode|String*/ formNode){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a URL-encoded string representing the form passed as either a\n\t\t\t//\t\tnode or string ID identifying the form to serialize\n\t\t\t// formNode: DOMNode|String\n\t\t\t// returns: String\n\n\t\t\treturn ioq.objectToQuery(form.toObject(formNode)); // String\n\t\t},\n\n\t\ttoJson: function formToJson(/*DOMNode|String*/ formNode, /*Boolean?*/ prettyPrint){\n\t\t\t// summary:\n\t\t\t//\t\tCreate a serialized JSON string from a form node or string\n\t\t\t//\t\tID identifying the form to serialize\n\t\t\t// formNode: DOMNode|String\n\t\t\t// prettyPrint: Boolean?\n\t\t\t// returns: String\n\n\t\t\treturn json.stringify(form.toObject(formNode), null, prettyPrint ? 4 : 0); // String\n\t\t}\n\t};\n\n return form;\n});\n","define([\"./sniff\", \"./_base/window\",\"./dom\", \"./dom-style\"],\n\t\tfunction(has, win, dom, style){\n\t// module:\n\t//\t\tdojo/dom-geometry\n\n\t// the result object\n\tvar geom = {\n\t\t// summary:\n\t\t//\t\tThis module defines the core dojo DOM geometry API.\n\t};\n\n\t// Box functions will assume this model.\n\t// On IE/Opera, BORDER_BOX will be set if the primary document is in quirks mode.\n\t// Can be set to change behavior of box setters.\n\n\t// can be either:\n\t//\t\"border-box\"\n\t//\t\"content-box\" (default)\n\tgeom.boxModel = \"content-box\";\n\n\t// We punt per-node box mode testing completely.\n\t// If anybody cares, we can provide an additional (optional) unit\n\t// that overrides existing code to include per-node box sensitivity.\n\n\t// Opera documentation claims that Opera 9 uses border-box in BackCompat mode.\n\t// but experiments (Opera 9.10.8679 on Windows Vista) indicate that it actually continues to use content-box.\n\t// IIRC, earlier versions of Opera did in fact use border-box.\n\t// Opera guys, this is really confusing. Opera being broken in quirks mode is not our fault.\n\n\tif(has(\"ie\") /*|| has(\"opera\")*/){\n\t\t// client code may have to adjust if compatMode varies across iframes\n\t\tgeom.boxModel = document.compatMode == \"BackCompat\" ? \"border-box\" : \"content-box\";\n\t}\n\n\tgeom.getPadExtents = function getPadExtents(/*DomNode*/ node, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\tReturns object with special values specifically useful for node\n\t\t//\t\tfitting.\n\t\t// description:\n\t\t//\t\tReturns an object with `w`, `h`, `l`, `t` properties:\n\t\t//\t|\t\tl/t/r/b = left/top/right/bottom padding (respectively)\n\t\t//\t|\t\tw = the total of the left and right padding\n\t\t//\t|\t\th = the total of the top and bottom padding\n\t\t//\t\tIf 'node' has position, l/t forms the origin for child nodes.\n\t\t//\t\tThe w/h are used for calculating boxes.\n\t\t//\t\tNormally application code will not need to invoke this\n\t\t//\t\tdirectly, and will use the ...box... functions instead.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node), px = style.toPixelValue,\n\t\t\tl = px(node, s.paddingLeft), t = px(node, s.paddingTop), r = px(node, s.paddingRight), b = px(node, s.paddingBottom);\n\t\treturn {l: l, t: t, r: r, b: b, w: l + r, h: t + b};\n\t};\n\n\tvar none = \"none\";\n\n\tgeom.getBorderExtents = function getBorderExtents(/*DomNode*/ node, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\treturns an object with properties useful for noting the border\n\t\t//\t\tdimensions.\n\t\t// description:\n\t\t//\t\t- l/t/r/b = the sum of left/top/right/bottom border (respectively)\n\t\t//\t\t- w = the sum of the left and right border\n\t\t//\t\t- h = the sum of the top and bottom border\n\t\t//\n\t\t//\t\tThe w/h are used for calculating boxes.\n\t\t//\t\tNormally application code will not need to invoke this\n\t\t//\t\tdirectly, and will use the ...box... functions instead.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar px = style.toPixelValue, s = computedStyle || style.getComputedStyle(node),\n\t\t\tl = s.borderLeftStyle != none ? px(node, s.borderLeftWidth) : 0,\n\t\t\tt = s.borderTopStyle != none ? px(node, s.borderTopWidth) : 0,\n\t\t\tr = s.borderRightStyle != none ? px(node, s.borderRightWidth) : 0,\n\t\t\tb = s.borderBottomStyle != none ? px(node, s.borderBottomWidth) : 0;\n\t\treturn {l: l, t: t, r: r, b: b, w: l + r, h: t + b};\n\t};\n\n\tgeom.getPadBorderExtents = function getPadBorderExtents(/*DomNode*/ node, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\tReturns object with properties useful for box fitting with\n\t\t//\t\tregards to padding.\n\t\t// description:\n\t\t//\t\t- l/t/r/b = the sum of left/top/right/bottom padding and left/top/right/bottom border (respectively)\n\t\t//\t\t- w = the sum of the left and right padding and border\n\t\t//\t\t- h = the sum of the top and bottom padding and border\n\t\t//\n\t\t//\t\tThe w/h are used for calculating boxes.\n\t\t//\t\tNormally application code will not need to invoke this\n\t\t//\t\tdirectly, and will use the ...box... functions instead.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node),\n\t\t\tp = geom.getPadExtents(node, s),\n\t\t\tb = geom.getBorderExtents(node, s);\n\t\treturn {\n\t\t\tl: p.l + b.l,\n\t\t\tt: p.t + b.t,\n\t\t\tr: p.r + b.r,\n\t\t\tb: p.b + b.b,\n\t\t\tw: p.w + b.w,\n\t\t\th: p.h + b.h\n\t\t};\n\t};\n\n\tgeom.getMarginExtents = function getMarginExtents(node, computedStyle){\n\t\t// summary:\n\t\t//\t\treturns object with properties useful for box fitting with\n\t\t//\t\tregards to box margins (i.e., the outer-box).\n\t\t//\n\t\t//\t\t- l/t = marginLeft, marginTop, respectively\n\t\t//\t\t- w = total width, margin inclusive\n\t\t//\t\t- h = total height, margin inclusive\n\t\t//\n\t\t//\t\tThe w/h are used for calculating boxes.\n\t\t//\t\tNormally application code will not need to invoke this\n\t\t//\t\tdirectly, and will use the ...box... functions instead.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node), px = style.toPixelValue,\n\t\t\tl = px(node, s.marginLeft), t = px(node, s.marginTop), r = px(node, s.marginRight), b = px(node, s.marginBottom);\n\t\treturn {l: l, t: t, r: r, b: b, w: l + r, h: t + b};\n\t};\n\n\t// Box getters work in any box context because offsetWidth/clientWidth\n\t// are invariant wrt box context\n\t//\n\t// They do *not* work for display: inline objects that have padding styles\n\t// because the user agent ignores padding (it's bogus styling in any case)\n\t//\n\t// Be careful with IMGs because they are inline or block depending on\n\t// browser and browser mode.\n\n\t// Although it would be easier to read, there are not separate versions of\n\t// _getMarginBox for each browser because:\n\t// 1. the branching is not expensive\n\t// 2. factoring the shared code wastes cycles (function call overhead)\n\t// 3. duplicating the shared code wastes bytes\n\n\tgeom.getMarginBox = function getMarginBox(/*DomNode*/ node, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\treturns an object that encodes the width, height, left and top\n\t\t//\t\tpositions of the node's margin box.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node), me = geom.getMarginExtents(node, s),\n\t\t\tl = node.offsetLeft - me.l, t = node.offsetTop - me.t, p = node.parentNode, px = style.toPixelValue, pcs;\n\n\t\tif((has(\"ie\") == 8 && !has(\"quirks\"))){\n\t\t\t// IE 8 offsetLeft/Top includes the parent's border\n\t\t\tif(p){\n\t\t\t\tpcs = style.getComputedStyle(p);\n\t\t\t\tl -= pcs.borderLeftStyle != none ? px(node, pcs.borderLeftWidth) : 0;\n\t\t\t\tt -= pcs.borderTopStyle != none ? px(node, pcs.borderTopWidth) : 0;\n\t\t\t}\n\t\t}\n\t\treturn {l: l, t: t, w: node.offsetWidth + me.w, h: node.offsetHeight + me.h};\n\t};\n\n\tgeom.getContentBox = function getContentBox(node, computedStyle){\n\t\t// summary:\n\t\t//\t\tReturns an object that encodes the width, height, left and top\n\t\t//\t\tpositions of the node's content box, irrespective of the\n\t\t//\t\tcurrent box model.\n\t\t// node: DOMNode\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\t// clientWidth/Height are important since the automatically account for scrollbars\n\t\t// fallback to offsetWidth/Height for special cases (see #3378)\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node), w = node.clientWidth, h,\n\t\t\tpe = geom.getPadExtents(node, s), be = geom.getBorderExtents(node, s), l = node.offsetLeft + pe.l + be.l,\n\t\t\tt = node.offsetTop + pe.t + be.t;\n\t\tif(!w){\n\t\t\tw = node.offsetWidth - be.w;\n\t\t\th = node.offsetHeight - be.h;\n\t\t}else{\n\t\t\th = node.clientHeight;\n\t\t}\n\n\t\tif((has(\"ie\") == 8 && !has(\"quirks\"))){\n\t\t\t// IE 8 offsetLeft/Top includes the parent's border\n\t\t\tvar p = node.parentNode, px = style.toPixelValue, pcs;\n\t\t\tif(p){\n\t\t\t\tpcs = style.getComputedStyle(p);\n\t\t\t\tl -= pcs.borderLeftStyle != none ? px(node, pcs.borderLeftWidth) : 0;\n\t\t\t\tt -= pcs.borderTopStyle != none ? px(node, pcs.borderTopWidth) : 0;\n\t\t\t}\n\t\t}\n\n\t\treturn {l: l, t: t, w: w - pe.w, h: h - pe.h};\n\t};\n\n\t// Box setters depend on box context because interpretation of width/height styles\n\t// vary wrt box context.\n\t//\n\t// The value of boxModel is used to determine box context.\n\t// boxModel can be set directly to change behavior.\n\t//\n\t// Beware of display: inline objects that have padding styles\n\t// because the user agent ignores padding (it's a bogus setup anyway)\n\t//\n\t// Be careful with IMGs because they are inline or block depending on\n\t// browser and browser mode.\n\t//\n\t// Elements other than DIV may have special quirks, like built-in\n\t// margins or padding, or values not detectable via computedStyle.\n\t// In particular, margins on TABLE do not seems to appear\n\t// at all in computedStyle on Mozilla.\n\n\tfunction setBox(/*DomNode*/ node, /*Number?*/ l, /*Number?*/ t, /*Number?*/ w, /*Number?*/ h, /*String?*/ u){\n\t\t// summary:\n\t\t//\t\tsets width/height/left/top in the current (native) box-model\n\t\t//\t\tdimensions. Uses the unit passed in u.\n\t\t// node:\n\t\t//\t\tDOM Node reference. Id string not supported for performance\n\t\t//\t\treasons.\n\t\t// l:\n\t\t//\t\tleft offset from parent.\n\t\t// t:\n\t\t//\t\ttop offset from parent.\n\t\t// w:\n\t\t//\t\twidth in current box model.\n\t\t// h:\n\t\t//\t\twidth in current box model.\n\t\t// u:\n\t\t//\t\tunit measure to use for other measures. Defaults to \"px\".\n\t\tu = u || \"px\";\n\t\tvar s = node.style;\n\t\tif(!isNaN(l)){\n\t\t\ts.left = l + u;\n\t\t}\n\t\tif(!isNaN(t)){\n\t\t\ts.top = t + u;\n\t\t}\n\t\tif(w >= 0){\n\t\t\ts.width = w + u;\n\t\t}\n\t\tif(h >= 0){\n\t\t\ts.height = h + u;\n\t\t}\n\t}\n\n\tfunction isButtonTag(/*DomNode*/ node){\n\t\t// summary:\n\t\t//\t\tTrue if the node is BUTTON or INPUT.type=\"button\".\n\t\treturn node.tagName.toLowerCase() == \"button\" ||\n\t\t\tnode.tagName.toLowerCase() == \"input\" && (node.getAttribute(\"type\") || \"\").toLowerCase() == \"button\"; // boolean\n\t}\n\n\tfunction usesBorderBox(/*DomNode*/ node){\n\t\t// summary:\n\t\t//\t\tTrue if the node uses border-box layout.\n\n\t\t// We could test the computed style of node to see if a particular box\n\t\t// has been specified, but there are details and we choose not to bother.\n\n\t\t// TABLE and BUTTON (and INPUT type=button) are always border-box by default.\n\t\t// If you have assigned a different box to either one via CSS then\n\t\t// box functions will break.\n\n\t\treturn geom.boxModel == \"border-box\" || node.tagName.toLowerCase() == \"table\" || isButtonTag(node); // boolean\n\t}\n\n\tgeom.setContentSize = function setContentSize(/*DomNode*/ node, /*Object*/ box, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\tSets the size of the node's contents, irrespective of margins,\n\t\t//\t\tpadding, or borders.\n\t\t// node: DOMNode\n\t\t// box: Object\n\t\t//\t\thash with optional \"w\", and \"h\" properties for \"width\", and \"height\"\n\t\t//\t\trespectively. All specified properties should have numeric values in whole pixels.\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar w = box.w, h = box.h;\n\t\tif(usesBorderBox(node)){\n\t\t\tvar pb = geom.getPadBorderExtents(node, computedStyle);\n\t\t\tif(w >= 0){\n\t\t\t\tw += pb.w;\n\t\t\t}\n\t\t\tif(h >= 0){\n\t\t\t\th += pb.h;\n\t\t\t}\n\t\t}\n\t\tsetBox(node, NaN, NaN, w, h);\n\t};\n\n\tvar nilExtents = {l: 0, t: 0, w: 0, h: 0};\n\n\tgeom.setMarginBox = function setMarginBox(/*DomNode*/ node, /*Object*/ box, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\tsets the size of the node's margin box and placement\n\t\t//\t\t(left/top), irrespective of box model. Think of it as a\n\t\t//\t\tpassthrough to setBox that handles box-model vagaries for\n\t\t//\t\tyou.\n\t\t// node: DOMNode\n\t\t// box: Object\n\t\t//\t\thash with optional \"l\", \"t\", \"w\", and \"h\" properties for \"left\", \"right\", \"width\", and \"height\"\n\t\t//\t\trespectively. All specified properties should have numeric values in whole pixels.\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar s = computedStyle || style.getComputedStyle(node), w = box.w, h = box.h,\n\t\t// Some elements have special padding, margin, and box-model settings.\n\t\t// To use box functions you may need to set padding, margin explicitly.\n\t\t// Controlling box-model is harder, in a pinch you might set dojo/dom-geometry.boxModel.\n\t\t\tpb = usesBorderBox(node) ? nilExtents : geom.getPadBorderExtents(node, s),\n\t\t\tmb = geom.getMarginExtents(node, s);\n\t\tif(has(\"webkit\")){\n\t\t\t// on Safari (3.1.2), button nodes with no explicit size have a default margin\n\t\t\t// setting an explicit size eliminates the margin.\n\t\t\t// We have to swizzle the width to get correct margin reading.\n\t\t\tif(isButtonTag(node)){\n\t\t\t\tvar ns = node.style;\n\t\t\t\tif(w >= 0 && !ns.width){\n\t\t\t\t\tns.width = \"4px\";\n\t\t\t\t}\n\t\t\t\tif(h >= 0 && !ns.height){\n\t\t\t\t\tns.height = \"4px\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(w >= 0){\n\t\t\tw = Math.max(w - pb.w - mb.w, 0);\n\t\t}\n\t\tif(h >= 0){\n\t\t\th = Math.max(h - pb.h - mb.h, 0);\n\t\t}\n\t\tsetBox(node, box.l, box.t, w, h);\n\t};\n\n\t// =============================\n\t// Positioning\n\t// =============================\n\n\tgeom.isBodyLtr = function isBodyLtr(/*Document?*/ doc){\n\t\t// summary:\n\t\t//\t\tReturns true if the current language is left-to-right, and false otherwise.\n\t\t// doc: Document?\n\t\t//\t\tOptional document to query. If unspecified, use win.doc.\n\t\t// returns: Boolean\n\n\t\tdoc = doc || win.doc;\n\t\treturn (win.body(doc).dir || doc.documentElement.dir || \"ltr\").toLowerCase() == \"ltr\"; // Boolean\n\t};\n\n\tgeom.docScroll = function docScroll(/*Document?*/ doc){\n\t\t// summary:\n\t\t//\t\tReturns an object with {node, x, y} with corresponding offsets.\n\t\t// doc: Document?\n\t\t//\t\tOptional document to query. If unspecified, use win.doc.\n\t\t// returns: Object\n\n\t\tdoc = doc || win.doc;\n\t\tvar node = win.doc.parentWindow || win.doc.defaultView; // use UI window, not dojo.global window. TODO: use dojo/window::get() except for circular dependency problem\n\t\treturn \"pageXOffset\" in node ? {x: node.pageXOffset, y: node.pageYOffset } :\n\t\t\t(node = has(\"quirks\") ? win.body(doc) : doc.documentElement) &&\n\t\t\t\t{x: geom.fixIeBiDiScrollLeft(node.scrollLeft || 0, doc), y: node.scrollTop || 0 };\n\t};\n\n\tgeom.getIeDocumentElementOffset = function(/*Document?*/ doc){\n\t\t// summary:\n\t\t//\t\tDeprecated method previously used for IE6-IE7. Now, just returns `{x:0, y:0}`.\n\t\treturn {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t};\n\t};\n\n\tgeom.fixIeBiDiScrollLeft = function fixIeBiDiScrollLeft(/*Integer*/ scrollLeft, /*Document?*/ doc){\n\t\t// summary:\n\t\t//\t\tIn RTL direction, scrollLeft should be a negative value, but IE\n\t\t//\t\treturns a positive one. All codes using documentElement.scrollLeft\n\t\t//\t\tmust call this function to fix this error, otherwise the position\n\t\t//\t\twill offset to right when there is a horizontal scrollbar.\n\t\t// scrollLeft: Number\n\t\t// doc: Document?\n\t\t//\t\tOptional document to query. If unspecified, use win.doc.\n\t\t// returns: Number\n\n\t\t// In RTL direction, scrollLeft should be a negative value, but IE\n\t\t// returns a positive one. All codes using documentElement.scrollLeft\n\t\t// must call this function to fix this error, otherwise the position\n\t\t// will offset to right when there is a horizontal scrollbar.\n\n\t\tdoc = doc || win.doc;\n\t\tvar ie = has(\"ie\");\n\t\tif(ie && !geom.isBodyLtr(doc)){\n\t\t\tvar qk = has(\"quirks\"),\n\t\t\t\tde = qk ? win.body(doc) : doc.documentElement,\n\t\t\t\tpwin = win.global;\t// TODO: use winUtils.get(doc) after resolving circular dependency b/w dom-geometry.js and dojo/window.js\n\t\t\tif(ie == 6 && !qk && pwin.frameElement && de.scrollHeight > de.clientHeight){\n\t\t\t\tscrollLeft += de.clientLeft; // workaround ie6+strict+rtl+iframe+vertical-scrollbar bug where clientWidth is too small by clientLeft pixels\n\t\t\t}\n\t\t\treturn (ie < 8 || qk) ? (scrollLeft + de.clientWidth - de.scrollWidth) : -scrollLeft; // Integer\n\t\t}\n\t\treturn scrollLeft; // Integer\n\t};\n\n\tgeom.position = function(/*DomNode*/ node, /*Boolean?*/ includeScroll){\n\t\t// summary:\n\t\t//\t\tGets the position and size of the passed element relative to\n\t\t//\t\tthe viewport (if includeScroll==false), or relative to the\n\t\t//\t\tdocument root (if includeScroll==true).\n\t\t//\n\t\t// description:\n\t\t//\t\tReturns an object of the form:\n\t\t//\t\t`{ x: 100, y: 300, w: 20, h: 15 }`.\n\t\t//\t\tIf includeScroll==true, the x and y values will include any\n\t\t//\t\tdocument offsets that may affect the position relative to the\n\t\t//\t\tviewport.\n\t\t//\t\tUses the border-box model (inclusive of border and padding but\n\t\t//\t\tnot margin). Does not act as a setter.\n\t\t// node: DOMNode|String\n\t\t// includeScroll: Boolean?\n\t\t// returns: Object\n\n\t\tnode = dom.byId(node);\n\t\tvar\tdb = win.body(node.ownerDocument),\n\t\t\tret = node.getBoundingClientRect();\n\t\tret = {x: ret.left, y: ret.top, w: ret.right - ret.left, h: ret.bottom - ret.top};\n\n\t\tif(has(\"ie\") < 9){\n\t\t\t// fixes the position in IE, quirks mode\n\t\t\tret.x -= (has(\"quirks\") ? db.clientLeft + db.offsetLeft : 0);\n\t\t\tret.y -= (has(\"quirks\") ? db.clientTop + db.offsetTop : 0);\n\t\t}\n\n\t\t// account for document scrolling\n\t\t// if offsetParent is used, ret value already includes scroll position\n\t\t// so we may have to actually remove that value if !includeScroll\n\t\tif(includeScroll){\n\t\t\tvar scroll = geom.docScroll(node.ownerDocument);\n\t\t\tret.x += scroll.x;\n\t\t\tret.y += scroll.y;\n\t\t}\n\n\t\treturn ret; // Object\n\t};\n\n\t// random \"private\" functions wildly used throughout the toolkit\n\n\tgeom.getMarginSize = function getMarginSize(/*DomNode*/ node, /*Object*/ computedStyle){\n\t\t// summary:\n\t\t//\t\treturns an object that encodes the width and height of\n\t\t//\t\tthe node's margin box\n\t\t// node: DOMNode|String\n\t\t// computedStyle: Object?\n\t\t//\t\tThis parameter accepts computed styles object.\n\t\t//\t\tIf this parameter is omitted, the functions will call\n\t\t//\t\tdojo/dom-style.getComputedStyle to get one. It is a better way, calling\n\t\t//\t\tdojo/dom-style.getComputedStyle once, and then pass the reference to this\n\t\t//\t\tcomputedStyle parameter. Wherever possible, reuse the returned\n\t\t//\t\tobject of dojo/dom-style.getComputedStyle().\n\n\t\tnode = dom.byId(node);\n\t\tvar me = geom.getMarginExtents(node, computedStyle || style.getComputedStyle(node));\n\t\tvar size = node.getBoundingClientRect();\n\t\treturn {\n\t\t\tw: (size.right - size.left) + me.w,\n\t\t\th: (size.bottom - size.top) + me.h\n\t\t};\n\t};\n\n\tgeom.normalizeEvent = function(event){\n\t\t// summary:\n\t\t//\t\tNormalizes the geometry of a DOM event, normalizing the pageX, pageY,\n\t\t//\t\toffsetX, offsetY, layerX, and layerX properties\n\t\t// event: Object\n\t\tif(!(\"layerX\" in event)){\n\t\t\tevent.layerX = event.offsetX;\n\t\t\tevent.layerY = event.offsetY;\n\t\t}\n\n\t\tif(!(\"pageX\" in event)){\n\t\t\t// FIXME: scroll position query is duped from dojo/_base/html to\n\t\t\t// avoid dependency on that entire module. Now that HTML is in\n\t\t\t// Base, we should convert back to something similar there.\n\t\t\tvar se = event.target;\n\t\t\tvar doc = (se && se.ownerDocument) || document;\n\t\t\t// DO NOT replace the following to use dojo/_base/window.body(), in IE, document.documentElement should be used\n\t\t\t// here rather than document.body\n\t\t\tvar docBody = has(\"quirks\") ? doc.body : doc.documentElement;\n\t\t\tevent.pageX = event.clientX + geom.fixIeBiDiScrollLeft(docBody.scrollLeft || 0, doc);\n\t\t\tevent.pageY = event.clientY + (docBody.scrollTop || 0);\n\t\t}\n\t};\n\n\t// TODO: evaluate separate getters/setters for position and sizes?\n\n\treturn geom;\n});\n","define([\"exports\", \"./_base/kernel\", \"./sniff\", \"./_base/lang\", \"./dom\", \"./dom-style\", \"./dom-construct\", \"./_base/connect\"],\n\t\tfunction(exports, dojo, has, lang, dom, style, ctr, conn){\n\t// module:\n\t//\t\tdojo/dom-prop\n\t// summary:\n\t//\t\tThis module defines the core dojo DOM properties API.\n\n\t// TODOC: summary not showing up in output, see https://github.com/csnover/js-doc-parse/issues/42\n\n\t// =============================\n\t// Element properties Functions\n\t// =============================\n\n\t// helper to connect events\n\tvar _evtHdlrMap = {}, _ctr = 1, _attrId = dojo._scopeName + \"attrid\";\n\thas.add('dom-textContent', function (global, doc, element) { return 'textContent' in element; });\n\n\texports.names = {\n\t\t// properties renamed to avoid clashes with reserved words\n\t\t\"class\": \"className\",\n\t\t\"for\": \"htmlFor\",\n\t\t// properties written as camelCase\n\t\ttabindex: \"tabIndex\",\n\t\treadonly: \"readOnly\",\n\t\tcolspan: \"colSpan\",\n\t\tframeborder: \"frameBorder\",\n\t\trowspan: \"rowSpan\",\n\t\ttextcontent: \"textContent\",\n\t\tvaluetype: \"valueType\"\n\t};\n\t\n\tfunction getText(/*DOMNode*/node){\n\t\t// summary:\n\t\t//\t\trecursion method for get('textContent') to use. Gets text value for a node.\n\t\t// description:\n\t\t//\t\tJuse uses nodedValue so things like <br/> tags do not end up in\n\t\t//\t\tthe text as any sort of line return.\n\t\tvar text = \"\", ch = node.childNodes;\n\t\tfor(var i = 0, n; n = ch[i]; i++){\n\t\t\t//Skip comments.\n\t\t\tif(n.nodeType != 8){\n\t\t\t\tif(n.nodeType == 1){\n\t\t\t\t\ttext += getText(n);\n\t\t\t\t}else{\n\t\t\t\t\ttext += n.nodeValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn text;\n\t}\n\n\texports.get = function getProp(/*DOMNode|String*/ node, /*String*/ name){\n\t\t// summary:\n\t\t//\t\tGets a property on an HTML element.\n\t\t// description:\n\t\t//\t\tHandles normalized getting of properties on DOM nodes.\n\t\t//\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to get the property on\n\t\t// name: String\n\t\t//\t\tthe name of the property to get.\n\t\t// returns:\n\t\t//\t\tthe value of the requested property or its default value\n\t\t//\n\t\t// example:\n\t\t//\t|\t// get the current value of the \"foo\" property on a node\n\t\t//\t|\trequire([\"dojo/dom-prop\", \"dojo/dom\"], function(domProp, dom){\n\t\t//\t|\t\tdomProp.get(dom.byId(\"nodeId\"), \"foo\");\n\t\t//\t|\t\t// or we can just pass the id:\n\t\t//\t|\t\tdomProp.get(\"nodeId\", \"foo\");\n\t\t//\t|\t});\n\n\t\tnode = dom.byId(node);\n\t\tvar lc = name.toLowerCase(), propName = exports.names[lc] || name;\n\t\t\n\t\tif(propName == \"textContent\" && !has(\"dom-textContent\")){\n\t\t\treturn getText(node);\n\t\t}\n\t\t\n\t\treturn node[propName];\t// Anything\n\t};\n\n\texports.set = function setProp(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){\n\t\t// summary:\n\t\t//\t\tSets a property on an HTML element.\n\t\t// description:\n\t\t//\t\tHandles normalized setting of properties on DOM nodes.\n\t\t//\n\t\t//\t\tWhen passing functions as values, note that they will not be\n\t\t//\t\tdirectly assigned to slots on the node, but rather the default\n\t\t//\t\tbehavior will be removed and the new behavior will be added\n\t\t//\t\tusing `dojo.connect()`, meaning that event handler properties\n\t\t//\t\twill be normalized and that some caveats with regards to\n\t\t//\t\tnon-standard behaviors for onsubmit apply. Namely that you\n\t\t//\t\tshould cancel form submission using `dojo.stopEvent()` on the\n\t\t//\t\tpassed event object instead of returning a boolean value from\n\t\t//\t\tthe handler itself.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to the element to set the property on\n\t\t// name: String|Object\n\t\t//\t\tthe name of the property to set, or a hash object to set\n\t\t//\t\tmultiple properties at once.\n\t\t// value: String?\n\t\t//\t\tThe value to set for the property\n\t\t// returns:\n\t\t//\t\tthe DOM node\n\t\t//\n\t\t// example:\n\t\t//\t|\t// use prop() to set the tab index\n\t\t//\t|\trequire([\"dojo/dom-prop\"], function(domProp){\n\t\t//\t|\t\tdomProp.set(\"nodeId\", \"tabIndex\", 3);\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\tSet multiple values at once, including event handlers:\n\t\t//\t|\trequire([\"dojo/dom-prop\"], function(domProp){\n\t\t//\t|\t\tdomProp.set(\"formId\", {\n\t\t//\t|\t\t\t\"foo\": \"bar\",\n\t\t//\t|\t\t\t\"tabIndex\": -1,\n\t\t//\t|\t\t\t\"method\": \"POST\",\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\n\t\tnode = dom.byId(node);\n\t\tvar l = arguments.length;\n\t\tif(l == 2 && typeof name != \"string\"){ // inline'd type check\n\t\t\t// the object form of setter: the 2nd argument is a dictionary\n\t\t\tfor(var x in name){\n\t\t\t\texports.set(node, x, name[x]);\n\t\t\t}\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tvar lc = name.toLowerCase(), propName = exports.names[lc] || name;\n\t\tif(propName == \"style\" && typeof value != \"string\"){ // inline'd type check\n\t\t\t// special case: setting a style\n\t\t\tstyle.set(node, value);\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tif(propName == \"innerHTML\"){\n\t\t\t// special case: assigning HTML\n\t\t\t// the hash lists elements with read-only innerHTML on IE\n\t\t\tif(has(\"ie\") && node.tagName.toLowerCase() in {col: 1, colgroup: 1,\n\t\t\t\t\t\ttable: 1, tbody: 1, tfoot: 1, thead: 1, tr: 1, title: 1}){\n\t\t\t\tctr.empty(node);\n\t\t\t\tnode.appendChild(ctr.toDom(value, node.ownerDocument));\n\t\t\t}else{\n\t\t\t\tnode[propName] = value;\n\t\t\t}\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tif(propName == \"textContent\" && !has(\"dom-textContent\")) {\n\t\t\tctr.empty(node);\n\t\t\tnode.appendChild(node.ownerDocument.createTextNode(value));\n\t\t\treturn node;\n\t\t}\n\t\tif(lang.isFunction(value)){\n\t\t\t// special case: assigning an event handler\n\t\t\t// clobber if we can\n\t\t\tvar attrId = node[_attrId];\n\t\t\tif(!attrId){\n\t\t\t\tattrId = _ctr++;\n\t\t\t\tnode[_attrId] = attrId;\n\t\t\t}\n\t\t\tif(!_evtHdlrMap[attrId]){\n\t\t\t\t_evtHdlrMap[attrId] = {};\n\t\t\t}\n\t\t\tvar h = _evtHdlrMap[attrId][propName];\n\t\t\tif(h){\n\t\t\t\t//h.remove();\n\t\t\t\tconn.disconnect(h);\n\t\t\t}else{\n\t\t\t\ttry{\n\t\t\t\t\tdelete node[propName];\n\t\t\t\t}catch(e){}\n\t\t\t}\n\t\t\t// ensure that event objects are normalized, etc.\n\t\t\tif(value){\n\t\t\t\t//_evtHdlrMap[attrId][propName] = on(node, propName, value);\n\t\t\t\t_evtHdlrMap[attrId][propName] = conn.connect(node, propName, value);\n\t\t\t}else{\n\t\t\t\tnode[propName] = null;\n\t\t\t}\n\t\t\treturn node; // DomNode\n\t\t}\n\t\tnode[propName] = value;\n\t\treturn node;\t// DomNode\n\t};\n});\n","define([\"./sniff\", \"./dom\", \"./_base/window\"], function(has, dom, win){\n\t// module:\n\t//\t\tdojo/dom-style\n\n\t// =============================\n\t// Style Functions\n\t// =============================\n\n\t// getComputedStyle drives most of the style code.\n\t// Wherever possible, reuse the returned object.\n\t//\n\t// API functions below that need to access computed styles accept an\n\t// optional computedStyle parameter.\n\t// If this parameter is omitted, the functions will call getComputedStyle themselves.\n\t// This way, calling code can access computedStyle once, and then pass the reference to\n\t// multiple API functions.\n\n\t// Although we normally eschew argument validation at this\n\t// level, here we test argument 'node' for (duck)type,\n\t// by testing nodeType, ecause 'document' is the 'parentNode' of 'body'\n\t// it is frequently sent to this function even\n\t// though it is not Element.\n\tvar getComputedStyle, style = {\n\t\t// summary:\n\t\t//\t\tThis module defines the core dojo DOM style API.\n\t};\n\tif(has(\"webkit\")){\n\t\tgetComputedStyle = function(/*DomNode*/ node){\n\t\t\tvar s;\n\t\t\tif(node.nodeType == 1){\n\t\t\t\tvar dv = node.ownerDocument.defaultView;\n\t\t\t\ts = dv.getComputedStyle(node, null);\n\t\t\t\tif(!s && node.style){\n\t\t\t\t\tnode.style.display = \"\";\n\t\t\t\t\ts = dv.getComputedStyle(node, null);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn s || {};\n\t\t};\n\t}else if(has(\"ie\") && (has(\"ie\") < 9 || has(\"quirks\"))){\n\t\tgetComputedStyle = function(node){\n\t\t\t// IE (as of 7) doesn't expose Element like sane browsers\n\t\t\t// currentStyle can be null on IE8!\n\t\t\treturn node.nodeType == 1 /* ELEMENT_NODE*/ && node.currentStyle ? node.currentStyle : {};\n\t\t};\n\t}else{\n\t\tgetComputedStyle = function(node){\n\t\t\tif(node.nodeType === 1 /* ELEMENT_NODE*/){\n\t\t\t\tvar dv = node.ownerDocument.defaultView,\n\t\t\t\t\tw = dv.opener ? dv : win.global.window;\n\t\t\t\treturn w.getComputedStyle(node, null);\n\t\t\t}\n\t\t\treturn {};\n\t\t};\n\t}\n\tstyle.getComputedStyle = getComputedStyle;\n\t/*=====\n\tstyle.getComputedStyle = function(node){\n\t\t// summary:\n\t\t//\t\tReturns a \"computed style\" object.\n\t\t//\n\t\t// description:\n\t\t//\t\tGets a \"computed style\" object which can be used to gather\n\t\t//\t\tinformation about the current state of the rendered node.\n\t\t//\n\t\t//\t\tNote that this may behave differently on different browsers.\n\t\t//\t\tValues may have different formats and value encodings across\n\t\t//\t\tbrowsers.\n\t\t//\n\t\t//\t\tNote also that this method is expensive. Wherever possible,\n\t\t//\t\treuse the returned object.\n\t\t//\n\t\t//\t\tUse the dojo/dom-style.get() method for more consistent (pixelized)\n\t\t//\t\treturn values.\n\t\t//\n\t\t// node: DOMNode\n\t\t//\t\tA reference to a DOM node. Does NOT support taking an\n\t\t//\t\tID string for speed reasons.\n\t\t// example:\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/dom\"], function(domStyle, dom){\n\t\t//\t|\t\tdomStyle.getComputedStyle(dom.byId('foo')).borderWidth;\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tReusing the returned object, avoiding multiple lookups:\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/dom\"], function(domStyle, dom){\n\t\t//\t|\t\tvar cs = domStyle.getComputedStyle(dom.byId(\"someNode\"));\n\t\t//\t|\t\tvar w = cs.width, h = cs.height;\n\t\t//\t|\t});\n\t\treturn; // CSS2Properties\n\t};\n\t=====*/\n\n\tvar toPixel;\n\tif(!has(\"ie\")){\n\t\ttoPixel = function(element, value){\n\t\t\t// style values can be floats, client code may want\n\t\t\t// to round for integer pixels.\n\t\t\treturn parseFloat(value) || 0;\n\t\t};\n\t}else{\n\t\ttoPixel = function(element, avalue){\n\t\t\tif(!avalue){ return 0; }\n\t\t\t// on IE7, medium is usually 4 pixels\n\t\t\tif(avalue == \"medium\"){ return 4; }\n\t\t\t// style values can be floats, client code may\n\t\t\t// want to round this value for integer pixels.\n\t\t\tif(avalue.slice && avalue.slice(-2) == 'px'){ return parseFloat(avalue); }\n\t\t\tvar s = element.style, rs = element.runtimeStyle, cs = element.currentStyle,\n\t\t\t\tsLeft = s.left, rsLeft = rs.left;\n\t\t\trs.left = cs.left;\n\t\t\ttry{\n\t\t\t\t// 'avalue' may be incompatible with style.left, which can cause IE to throw\n\t\t\t\t// this has been observed for border widths using \"thin\", \"medium\", \"thick\" constants\n\t\t\t\t// those particular constants could be trapped by a lookup\n\t\t\t\t// but perhaps there are more\n\t\t\t\ts.left = avalue;\n\t\t\t\tavalue = s.pixelLeft;\n\t\t\t}catch(e){\n\t\t\t\tavalue = 0;\n\t\t\t}\n\t\t\ts.left = sLeft;\n\t\t\trs.left = rsLeft;\n\t\t\treturn avalue;\n\t\t};\n\t}\n\tstyle.toPixelValue = toPixel;\n\t/*=====\n\tstyle.toPixelValue = function(node, value){\n\t\t// summary:\n\t\t//\t\tconverts style value to pixels on IE or return a numeric value.\n\t\t// node: DOMNode\n\t\t// value: String\n\t\t// returns: Number\n\t};\n\t=====*/\n\n\t// FIXME: there opacity quirks on FF that we haven't ported over. Hrm.\n\n\tvar astr = \"DXImageTransform.Microsoft.Alpha\";\n\tvar af = function(n, f){\n\t\ttry{\n\t\t\treturn n.filters.item(astr);\n\t\t}catch(e){\n\t\t\treturn f ? {} : null;\n\t\t}\n\t};\n\n\tvar _getOpacity =\n\t\thas(\"ie\") < 9 || (has(\"ie\") < 10 && has(\"quirks\")) ? function(node){\n\t\t\ttry{\n\t\t\t\treturn af(node).Opacity / 100; // Number\n\t\t\t}catch(e){\n\t\t\t\treturn 1; // Number\n\t\t\t}\n\t\t} :\n\t\tfunction(node){\n\t\t\treturn getComputedStyle(node).opacity;\n\t\t};\n\n\tvar _setOpacity =\n\t\thas(\"ie\") < 9 || (has(\"ie\") < 10 && has(\"quirks\")) ? function(/*DomNode*/ node, /*Number*/ opacity){\n\t\t\tif(opacity === \"\"){ opacity = 1; }\n\t\t\tvar ov = opacity * 100, fullyOpaque = opacity === 1;\n\n\t\t\t// on IE7 Alpha(Filter opacity=100) makes text look fuzzy so disable it altogether (bug #2661),\n\t\t\t// but still update the opacity value so we can get a correct reading if it is read later:\n\t\t\t// af(node, 1).Enabled = !fullyOpaque;\n\n\t\t\tif(fullyOpaque){\n\t\t\t\tnode.style.zoom = \"\";\n\t\t\t\tif(af(node)){\n\t\t\t\t\tnode.style.filter = node.style.filter.replace(\n\t\t\t\t\t\tnew RegExp(\"\\\\s*progid:\" + astr + \"\\\\([^\\\\)]+?\\\\)\", \"i\"), \"\");\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tnode.style.zoom = 1;\n\t\t\t\tif(af(node)){\n\t\t\t\t\taf(node, 1).Opacity = ov;\n\t\t\t\t}else{\n\t\t\t\t\tnode.style.filter += \" progid:\" + astr + \"(Opacity=\" + ov + \")\";\n\t\t\t\t}\n\t\t\t\taf(node, 1).Enabled = true;\n\t\t\t}\n\n\t\t\tif(node.tagName.toLowerCase() == \"tr\"){\n\t\t\t\tfor(var td = node.firstChild; td; td = td.nextSibling){\n\t\t\t\t\tif(td.tagName.toLowerCase() == \"td\"){\n\t\t\t\t\t\t_setOpacity(td, opacity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn opacity;\n\t\t} :\n\t\tfunction(node, opacity){\n\t\t\treturn node.style.opacity = opacity;\n\t\t};\n\n\tvar _pixelNamesCache = {\n\t\tleft: true, top: true\n\t};\n\tvar _pixelRegExp = /margin|padding|width|height|max|min|offset/; // |border\n\tfunction _toStyleValue(node, type, value){\n\t\t//TODO: should we really be doing string case conversion here? Should we cache it? Need to profile!\n\t\ttype = type.toLowerCase();\n\n\t\t// Adjustments for IE and Edge\n\t\tif(value == \"auto\"){\n\t\t\tif(type == \"height\"){ return node.offsetHeight; }\n\t\t\tif(type == \"width\"){ return node.offsetWidth; }\n\t\t}\n\t\tif(type == \"fontweight\"){\n\t\t\tswitch(value){\n\t\t\t\tcase 700: return \"bold\";\n\t\t\t\tcase 400:\n\t\t\t\tdefault: return \"normal\";\n\t\t\t}\n\t\t}\n\n\t\tif(!(type in _pixelNamesCache)){\n\t\t\t_pixelNamesCache[type] = _pixelRegExp.test(type);\n\t\t}\n\t\treturn _pixelNamesCache[type] ? toPixel(node, value) : value;\n\t}\n\n\tvar _floatAliases = {cssFloat: 1, styleFloat: 1, \"float\": 1};\n\n\t// public API\n\n\tstyle.get = function getStyle(/*DOMNode|String*/ node, /*String?*/ name){\n\t\t// summary:\n\t\t//\t\tAccesses styles on a node.\n\t\t// description:\n\t\t//\t\tGetting the style value uses the computed style for the node, so the value\n\t\t//\t\twill be a calculated value, not just the immediate node.style value.\n\t\t//\t\tAlso when getting values, use specific style names,\n\t\t//\t\tlike \"borderBottomWidth\" instead of \"border\" since compound values like\n\t\t//\t\t\"border\" are not necessarily reflected as expected.\n\t\t//\t\tIf you want to get node dimensions, use `dojo/dom-geometry.getMarginBox()`,\n\t\t//\t\t`dojo/dom-geometry.getContentBox()` or `dojo/dom-geometry.getPosition()`.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to node to get style for\n\t\t// name: String?\n\t\t//\t\tthe style property to get\n\t\t// example:\n\t\t//\t\tPassing only an ID or node returns the computed style object of\n\t\t//\t\tthe node:\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/dom\"], function(domStyle, dom){\n\t\t//\t|\t\tdomStyle.get(\"thinger\");\n\t\t//\t|\t});\n\t\t// example:\n\t\t//\t\tPassing a node and a style property returns the current\n\t\t//\t\tnormalized, computed value for that property:\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/dom\"], function(domStyle, dom){\n\t\t//\t|\t\tdomStyle.get(\"thinger\", \"opacity\"); // 1 by default\n\t\t//\t|\t});\n\n\t\tvar n = dom.byId(node), l = arguments.length, op = (name == \"opacity\");\n\t\tif(l == 2 && op){\n\t\t\treturn _getOpacity(n);\n\t\t}\n\t\tname = _floatAliases[name] ? \"cssFloat\" in n.style ? \"cssFloat\" : \"styleFloat\" : name;\n\t\tvar s = style.getComputedStyle(n);\n\t\treturn (l == 1) ? s : _toStyleValue(n, name, s[name] || n.style[name]); /* CSS2Properties||String||Number */\n\t};\n\n\tstyle.set = function setStyle(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){\n\t\t// summary:\n\t\t//\t\tSets styles on a node.\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to node to set style for\n\t\t// name: String|Object\n\t\t//\t\tthe style property to set in DOM-accessor format\n\t\t//\t\t(\"borderWidth\", not \"border-width\") or an object with key/value\n\t\t//\t\tpairs suitable for setting each property.\n\t\t// value: String?\n\t\t//\t\tIf passed, sets value on the node for style, handling\n\t\t//\t\tcross-browser concerns. When setting a pixel value,\n\t\t//\t\tbe sure to include \"px\" in the value. For instance, top: \"200px\".\n\t\t//\t\tOtherwise, in some cases, some browsers will not apply the style.\n\t\t//\n\t\t// example:\n\t\t//\t\tPassing a node, a style property, and a value changes the\n\t\t//\t\tcurrent display of the node and returns the new computed value\n\t\t//\t|\trequire([\"dojo/dom-style\"], function(domStyle){\n\t\t//\t|\t\tdomStyle.set(\"thinger\", \"opacity\", 0.5); // == 0.5\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tPassing a node, an object-style style property sets each of the values in turn and returns the computed style object of the node:\n\t\t//\t|\trequire([\"dojo/dom-style\"], function(domStyle){\n\t\t//\t|\t\tdomStyle.set(\"thinger\", {\n\t\t//\t|\t\t\t\"opacity\": 0.5,\n\t\t//\t|\t\t\t\"border\": \"3px solid black\",\n\t\t//\t|\t\t\t\"height\": \"300px\"\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tWhen the CSS style property is hyphenated, the JavaScript property is camelCased.\n\t\t//\t\tfont-size becomes fontSize, and so on.\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/dom\"], function(domStyle, dom){\n\t\t//\t|\t\tdomStyle.set(\"thinger\",{\n\t\t//\t|\t\t\tfontSize:\"14pt\",\n\t\t//\t|\t\t\tletterSpacing:\"1.2em\"\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tdojo/NodeList implements .style() using the same syntax, omitting the \"node\" parameter, calling\n\t\t//\t\tdojo/dom-style.get() on every element of the list. See: `dojo/query` and `dojo/NodeList`\n\t\t//\t|\trequire([\"dojo/dom-style\", \"dojo/query\", \"dojo/NodeList-dom\"],\n\t\t//\t|\tfunction(domStyle, query){\n\t\t//\t|\t\tquery(\".someClassName\").style(\"visibility\",\"hidden\");\n\t\t//\t|\t\t// or\n\t\t//\t|\t\tquery(\"#baz > div\").style({\n\t\t//\t|\t\t\topacity:0.75,\n\t\t//\t|\t\t\tfontSize:\"13pt\"\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\n\t\tvar n = dom.byId(node), l = arguments.length, op = (name == \"opacity\");\n\t\tname = _floatAliases[name] ? \"cssFloat\" in n.style ? \"cssFloat\" : \"styleFloat\" : name;\n\t\tif(l == 3){\n\t\t\treturn op ? _setOpacity(n, value) : n.style[name] = value; // Number\n\t\t}\n\t\tfor(var x in name){\n\t\t\tstyle.set(node, x, name[x]);\n\t\t}\n\t\treturn style.getComputedStyle(n);\n\t};\n\n\treturn style;\n});\n","define([\"./sniff\", \"./_base/window\", \"./_base/kernel\"],\n\t\tfunction(has, win, kernel){\n\t// module:\n\t//\t\tdojo/dom\n\n\t// FIXME: need to add unit tests for all the semi-public methods\n\n\tif(has(\"ie\") <= 7){\n\t\ttry{\n\t\t\tdocument.execCommand(\"BackgroundImageCache\", false, true);\n\t\t}catch(e){\n\t\t\t// sane browsers don't have cache \"issues\"\n\t\t}\n\t}\n\n\t// =============================\n\t// DOM Functions\n\t// =============================\n\n\t// the result object\n\tvar dom = {\n\t\t// summary:\n\t\t//\t\tThis module defines the core dojo DOM API.\n\t};\n\n\tif(has(\"ie\")){\n\t\tdom.byId = function(id, doc){\n\t\t\tif(typeof id != \"string\"){\n\t\t\t\treturn id;\n\t\t\t}\n\t\t\tvar _d = doc || win.doc, te = id && _d.getElementById(id);\n\t\t\t// attributes.id.value is better than just id in case the\n\t\t\t// user has a name=id inside a form\n\t\t\tif(te && (te.attributes.id.value == id || te.id == id)){\n\t\t\t\treturn te;\n\t\t\t}else{\n\t\t\t\tvar eles = _d.all[id];\n\t\t\t\tif(!eles || eles.nodeName){\n\t\t\t\t\teles = [eles];\n\t\t\t\t}\n\t\t\t\t// if more than 1, choose first with the correct id\n\t\t\t\tvar i = 0;\n\t\t\t\twhile((te = eles[i++])){\n\t\t\t\t\tif((te.attributes && te.attributes.id && te.attributes.id.value == id) || te.id == id){\n\t\t\t\t\t\treturn te;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}else{\n\t\tdom.byId = function(id, doc){\n\t\t\t// inline'd type check.\n\t\t\t// be sure to return null per documentation, to match IE branch.\n\t\t\treturn ((typeof id == \"string\") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode\n\t\t};\n\t}\n\t/*=====\n\t dom.byId = function(id, doc){\n\t\t// summary:\n\t\t//\t\tReturns DOM node with matching `id` attribute or falsy value (ex: null or undefined)\n\t\t//\t\tif not found. If `id` is a DomNode, this function is a no-op.\n\t\t//\n\t\t// id: String|DOMNode\n\t\t//\t\tA string to match an HTML id attribute or a reference to a DOM Node\n\t\t//\n\t\t// doc: Document?\n\t\t//\t\tDocument to work in. Defaults to the current value of\n\t\t//\t\tdojo/_base/window.doc. Can be used to retrieve\n\t\t//\t\tnode references from other documents.\n\t\t//\n\t\t// example:\n\t\t//\t\tLook up a node by ID:\n\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t//\t|\t\tvar n = dom.byId(\"foo\");\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tCheck if a node exists, and use it.\n\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t//\t|\t\tvar n = dom.byId(\"bar\");\n\t\t//\t|\t\tif(n){ doStuff() ... }\n\t\t//\t|\t});\n\t\t//\n\t\t// example:\n\t\t//\t\tAllow string or DomNode references to be passed to a custom function:\n\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t//\t|\t\tvar foo = function(nodeOrId){\n\t\t//\t|\t\t\tnodeOrId = dom.byId(nodeOrId);\n\t\t//\t|\t\t\t// ... more stuff\n\t\t//\t|\t\t}\n\t\t//\t|\t});\n\t };\n\t =====*/\n\n\t// Test for DOMNode.contains() method, available everywhere except FF8-\n\t// and IE8-, where it's available in general, but not on document itself,\n\t// and also problems when either ancestor or node are text nodes.\n\n\tvar doc = kernel.global[\"document\"] || null;\n\thas.add(\"dom-contains\", !!(doc && doc.contains));\n\tdom.isDescendant = has(\"dom-contains\") ?\n\t\t// FF9+, IE9+, webkit, opera, iOS, Android, Edge, etc.\n\t\tfunction(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){\n\t\t\treturn !!( (ancestor = dom.byId(ancestor)) && ancestor.contains(dom.byId(node)) );\n\t\t} :\n\t\tfunction(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){\n\t\t\t// summary:\n\t\t\t//\t\tReturns true if node is a descendant of ancestor\n\t\t\t// node: DOMNode|String\n\t\t\t//\t\tstring id or node reference to test\n\t\t\t// ancestor: DOMNode|String\n\t\t\t//\t\tstring id or node reference of potential parent to test against\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t\tTest is node id=\"bar\" is a descendant of node id=\"foo\"\n\t\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t\t//\t|\t\tif(dom.isDescendant(\"bar\", \"foo\")){ ... }\n\t\t\t//\t|\t});\n\n\t\t\ttry{\n\t\t\t\tnode = dom.byId(node);\n\t\t\t\tancestor = dom.byId(ancestor);\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node == ancestor){\n\t\t\t\t\t\treturn true; // Boolean\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t}\n\t\t\t}catch(e){ /* squelch, return false */ }\n\t\t\treturn false; // Boolean\n\t\t};\n\n\t// TODO: do we need setSelectable in the base?\n\n\t// Add feature test for user-select CSS property\n\t// (currently known to work in all but IE < 10 and Opera)\n\t// TODO: The user-select CSS property as of May 2014 is no longer part of\n\t// any CSS specification. In IE, -ms-user-select does not do the same thing\n\t// as the unselectable attribute on elements; namely, dijit Editor buttons\n\t// do not properly prevent the content of the editable content frame from\n\t// unblurring. As a result, the -ms- prefixed version is omitted here.\n\thas.add(\"css-user-select\", function(global, doc, element){\n\t\t// Avoid exception when dom.js is loaded in non-browser environments\n\t\tif(!element){ return false; }\n\n\t\tvar style = element.style;\n\t\tvar prefixes = [\"Khtml\", \"O\", \"Moz\", \"Webkit\"],\n\t\t\ti = prefixes.length,\n\t\t\tname = \"userSelect\",\n\t\t\tprefix;\n\n\t\t// Iterate prefixes from most to least likely\n\t\tdo{\n\t\t\tif(typeof style[name] !== \"undefined\"){\n\t\t\t\t// Supported; return property name\n\t\t\t\treturn name;\n\t\t\t}\n\t\t}while(i-- && (name = prefixes[i] + \"UserSelect\"));\n\n\t\t// Not supported if we didn't return before now\n\t\treturn false;\n\t});\n\n\t/*=====\n\tdom.setSelectable = function(node, selectable){\n\t\t// summary:\n\t\t//\t\tEnable or disable selection on a node\n\t\t// node: DOMNode|String\n\t\t//\t\tid or reference to node\n\t\t// selectable: Boolean\n\t\t//\t\tstate to put the node in. false indicates unselectable, true\n\t\t//\t\tallows selection.\n\t\t// example:\n\t\t//\t\tMake the node id=\"bar\" unselectable\n\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t//\t|\t\tdom.setSelectable(\"bar\");\n\t\t//\t|\t});\n\t\t// example:\n\t\t//\t\tMake the node id=\"bar\" selectable\n\t\t//\t|\trequire([\"dojo/dom\"], function(dom){\n\t\t//\t|\t\tdom.setSelectable(\"bar\", true);\n\t\t//\t|\t});\n\t};\n\t=====*/\n\n\tvar cssUserSelect = has(\"css-user-select\");\n\tdom.setSelectable = cssUserSelect ? function(node, selectable){\n\t\t// css-user-select returns a (possibly vendor-prefixed) CSS property name\n\t\tdom.byId(node).style[cssUserSelect] = selectable ? \"\" : \"none\";\n\t} : function(node, selectable){\n\t\tnode = dom.byId(node);\n\n\t\t// (IE < 10 / Opera) Fall back to setting/removing the\n\t\t// unselectable attribute on the element and all its children\n\t\tvar nodes = node.getElementsByTagName(\"*\"),\n\t\t\ti = nodes.length;\n\n\t\tif(selectable){\n\t\t\tnode.removeAttribute(\"unselectable\");\n\t\t\twhile(i--){\n\t\t\t\tnodes[i].removeAttribute(\"unselectable\");\n\t\t\t}\n\t\t}else{\n\t\t\tnode.setAttribute(\"unselectable\", \"on\");\n\t\t\twhile(i--){\n\t\t\t\tnodes[i].setAttribute(\"unselectable\", \"on\");\n\t\t\t}\n\t\t}\n\t};\n\n\treturn dom;\n});\n","define([\"./create\"], function(create){\n\t// module:\n\t//\t\tdojo/errors/CancelError\n\n\t/*=====\n\treturn function(){\n\t\t// summary:\n\t\t//\t\tDefault error if a promise is canceled without a reason.\n\t};\n\t=====*/\n\n\treturn create(\"CancelError\", null, null, { dojoType: \"cancel\", log: false });\n});\n","define(['./create'], function(create){\n\t// module:\n\t//\t\tdojo/errors/RequestError\n\n\t/*=====\n\t return function(){\n\t\t // summary:\n\t\t //\t\tTODOC\n\t };\n\t =====*/\n\n\treturn create(\"RequestError\", function(message, response){\n\t\tthis.response = response;\n\t});\n});\n","define(['./create', './RequestError'], function(create, RequestError){\n\t// module:\n\t//\t\tdojo/errors/RequestTimeoutError\n\n\t/*=====\n\t return function(){\n\t\t // summary:\n\t\t //\t\tTODOC\n\t };\n\t =====*/\n\n\treturn create(\"RequestTimeoutError\", null, RequestError, {\n\t\tdojoType: \"timeout\"\n\t});\n});\n","define([\"../_base/lang\"], function(lang){\n\treturn function(name, ctor, base, props){\n\t\tbase = base || Error;\n\n\t\tvar ErrorCtor = function(message){\n\t\t\tif(base === Error){\n\t\t\t\tif(Error.captureStackTrace){\n\t\t\t\t\tError.captureStackTrace(this, ErrorCtor);\n\t\t\t\t}\n\n\t\t\t\t// Error.call() operates on the returned error\n\t\t\t\t// object rather than operating on |this|\n\t\t\t\tvar err = Error.call(this, message),\n\t\t\t\t\tprop;\n\n\t\t\t\t// Copy own properties from err to |this|\n\t\t\t\tfor(prop in err){\n\t\t\t\t\tif(err.hasOwnProperty(prop)){\n\t\t\t\t\t\tthis[prop] = err[prop];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// messsage is non-enumerable in ES5\n\t\t\t\tthis.message = message;\n\t\t\t\t// stack is non-enumerable in at least Firefox\n\t\t\t\tthis.stack = err.stack;\n\t\t\t}else{\n\t\t\t\tbase.apply(this, arguments);\n\t\t\t}\n\t\t\tif(ctor){\n\t\t\t\tctor.apply(this, arguments);\n\t\t\t}\n\t\t};\n\n\t\tErrorCtor.prototype = lang.delegate(base.prototype, props);\n\t\tErrorCtor.prototype.name = name;\n\t\tErrorCtor.prototype.constructor = ErrorCtor;\n\n\t\treturn ErrorCtor;\n\t};\n});\n","define(function(){\n if (typeof global !== 'undefined' && typeof global !== 'function') {\n // global spec defines a reference to the global object called 'global'\n // https://github.com/tc39/proposal-global\n // `global` is also defined in NodeJS\n return global;\n }\n else if (typeof window !== 'undefined') {\n // window is defined in browsers\n return window;\n }\n else if (typeof self !== 'undefined') {\n // self is defined in WebWorkers\n return self;\n }\n return this;\n});\n","define([\"./global\", \"require\", \"module\"], function(global, require, module){\n\t// module:\n\t//\t\tdojo/has\n\t// summary:\n\t//\t\tDefines the has.js API and several feature tests used by dojo.\n\t// description:\n\t//\t\tThis module defines the has API as described by the project has.js with the following additional features:\n\t//\n\t//\t\t- the has test cache is exposed at has.cache.\n\t//\t\t- the method has.add includes a forth parameter that controls whether or not existing tests are replaced\n\t//\t\t- the loader's has cache may be optionally copied into this module's has cahce.\n\t//\n\t//\t\tThis module adopted from https://github.com/phiggins42/has.js; thanks has.js team!\n\n\t// try to pull the has implementation from the loader; both the dojo loader and bdLoad provide one\n\t// if using a foreign loader, then the has cache may be initialized via the config object for this module\n\t// WARNING: if a foreign loader defines require.has to be something other than the has.js API, then this implementation fail\n\tvar has = require.has || function(){};\n\tif(!has(\"dojo-has-api\")){\n\t\tvar\n\t\t\tisBrowser =\n\t\t\t\t// the most fundamental decision: are we in the browser?\n\t\t\t\ttypeof window != \"undefined\" &&\n\t\t\t\ttypeof location != \"undefined\" &&\n\t\t\t\ttypeof document != \"undefined\" &&\n\t\t\t\twindow.location == location && window.document == document,\n\n\t\t\t// has API variables\n\t\t\tdoc = isBrowser && document,\n\t\t\telement = doc && doc.createElement(\"DiV\"),\n\t\t\tcache = (module.config && module.config()) || {};\n\n\t\thas = function(name){\n\t\t\t// summary:\n\t\t\t//\t\tReturn the current value of the named feature.\n\t\t\t//\n\t\t\t// name: String|Integer\n\t\t\t//\t\tThe name (if a string) or identifier (if an integer) of the feature to test.\n\t\t\t//\n\t\t\t// description:\n\t\t\t//\t\tReturns the value of the feature named by name. The feature must have been\n\t\t\t//\t\tpreviously added to the cache by has.add.\n\n\t\t\treturn typeof cache[name] == \"function\" ? (cache[name] = cache[name](global, doc, element)) : cache[name]; // Boolean\n\t\t};\n\n\t\thas.cache = cache;\n\n\t\thas.add = function(name, test, now, force){\n\t\t\t// summary:\n\t\t\t//\t \tRegister a new feature test for some named feature.\n\t\t\t// name: String|Integer\n\t\t\t//\t \tThe name (if a string) or identifier (if an integer) of the feature to test.\n\t\t\t// test: Function\n\t\t\t//\t\t A test function to register. If a function, queued for testing until actually\n\t\t\t//\t\t needed. The test function should return a boolean indicating\n\t\t\t//\t \tthe presence of a feature or bug.\n\t\t\t// now: Boolean?\n\t\t\t//\t\t Optional. Omit if `test` is not a function. Provides a way to immediately\n\t\t\t//\t\t run the test and cache the result.\n\t\t\t// force: Boolean?\n\t\t\t//\t \tOptional. If the test already exists and force is truthy, then the existing\n\t\t\t//\t \ttest will be replaced; otherwise, add does not replace an existing test (that\n\t\t\t//\t \tis, by default, the first test advice wins).\n\t\t\t// example:\n\t\t\t//\t\tA redundant test, testFn with immediate execution:\n\t\t\t//\t|\thas.add(\"javascript\", function(){ return true; }, true);\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t\tAgain with the redundantness. You can do this in your tests, but we should\n\t\t\t//\t\tnot be doing this in any internal has.js tests\n\t\t\t//\t|\thas.add(\"javascript\", true);\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t\tThree things are passed to the testFunction. `global`, `document`, and a generic element\n\t\t\t//\t\tfrom which to work your test should the need arise.\n\t\t\t//\t|\thas.add(\"bug-byid\", function(g, d, el){\n\t\t\t//\t|\t\t// g\t== global, typically window, yadda yadda\n\t\t\t//\t|\t\t// d\t== document object\n\t\t\t//\t|\t\t// el == the generic element. a `has` element.\n\t\t\t//\t|\t\treturn false; // fake test, byid-when-form-has-name-matching-an-id is slightly longer\n\t\t\t//\t|\t});\n\n\t\t\t(typeof cache[name]==\"undefined\" || force) && (cache[name]= test);\n\t\t\treturn now && has(name);\n\t\t};\n\n\t\t// since we're operating under a loader that doesn't provide a has API, we must explicitly initialize\n\t\t// has as it would have otherwise been initialized by the dojo loader; use has.add to the builder\n\t\t// can optimize these away iff desired\n\t\thas.add(\"host-browser\", isBrowser);\n\t\thas.add(\"host-node\", (typeof process == \"object\" && process.versions && process.versions.node && process.versions.v8));\n\t\thas.add(\"host-rhino\", (typeof load == \"function\" && (typeof Packages == \"function\" || typeof Packages == \"object\")));\n\t\thas.add(\"dom\", isBrowser);\n\t\thas.add(\"dojo-dom-ready-api\", 1);\n\t\thas.add(\"dojo-sniff\", 1);\n\t}\n\n\tif(has(\"host-browser\")){\n\t\t// Common application level tests\n\t\thas.add(\"dom-addeventlistener\", !!document.addEventListener);\n\n\t\t// Do the device and browser have touch capability?\n\t\thas.add(\"touch\", \"ontouchstart\" in document\n\t\t\t|| (\"onpointerdown\" in document && navigator.maxTouchPoints > 0)\n\t\t\t|| window.navigator.msMaxTouchPoints);\n\n\t\t// Touch events support\n\t\thas.add(\"touch-events\", \"ontouchstart\" in document);\n\n\t\t// Test if pointer events are supported and enabled, with either standard names (\"pointerdown\" etc.) or\n\t\t// IE specific names (\"MSPointerDown\" etc.). Tests are designed to work on embedded C# WebBrowser Controls\n\t\t// in addition to IE, Edge, and future versions of Firefox and Chrome.\n\t\t// Note that on IE11, has(\"pointer-events\") and has(\"MSPointer\") are both true.\n\t\thas.add(\"pointer-events\", \"pointerEnabled\" in window.navigator ?\n\t\t\t\twindow.navigator.pointerEnabled : \"PointerEvent\" in window);\n\t\thas.add(\"MSPointer\", window.navigator.msPointerEnabled);\n\t\t// The \"pointermove\"\" event is only continuously emitted in a touch environment if\n\t\t// the target node's \"touch-action\"\" CSS property is set to \"none\"\n\t\t// https://www.w3.org/TR/pointerevents/#the-touch-action-css-property\n\t\thas.add(\"touch-action\", has(\"touch\") && has(\"pointer-events\"));\n\n\t\t// I don't know if any of these tests are really correct, just a rough guess\n\t\thas.add(\"device-width\", screen.availWidth || innerWidth);\n\n\t\t// Tests for DOMNode.attributes[] behavior:\n\t\t//\t - dom-attributes-explicit - attributes[] only lists explicitly user specified attributes\n\t\t//\t - dom-attributes-specified-flag (IE8) - need to check attr.specified flag to skip attributes user didn't specify\n\t\t//\t - Otherwise, in IE6-7. attributes[] will list hundreds of values, so need to do outerHTML to get attrs instead.\n\t\tvar form = document.createElement(\"form\");\n\t\thas.add(\"dom-attributes-explicit\", form.attributes.length == 0); // W3C\n\t\thas.add(\"dom-attributes-specified-flag\", form.attributes.length > 0 && form.attributes.length < 40);\t// IE8\n\t}\n\n\thas.clearElement = function(element){\n\t\t// summary:\n\t\t//\t Deletes the contents of the element passed to test functions.\n\t\telement.innerHTML= \"\";\n\t\treturn element;\n\t};\n\n\thas.normalize = function(id, toAbsMid){\n\t\t// summary:\n\t\t//\t Resolves id into a module id based on possibly-nested tenary expression that branches on has feature test value(s).\n\t\t//\n\t\t// toAbsMid: Function\n\t\t//\t Resolves a relative module id into an absolute module id\n\t\tvar\n\t\t\ttokens = id.match(/[\\?:]|[^:\\?]*/g), i = 0,\n\t\t\tget = function(skip){\n\t\t\t\tvar term = tokens[i++];\n\t\t\t\tif(term == \":\"){\n\t\t\t\t\t// empty string module name, resolves to 0\n\t\t\t\t\treturn 0;\n\t\t\t\t}else{\n\t\t\t\t\t// postfixed with a ? means it is a feature to branch on, the term is the name of the feature\n\t\t\t\t\tif(tokens[i++] == \"?\"){\n\t\t\t\t\t\tif(!skip && has(term)){\n\t\t\t\t\t\t\t// matched the feature, get the first value from the options\n\t\t\t\t\t\t\treturn get();\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t// did not match, get the second value, passing over the first\n\t\t\t\t\t\t\tget(true);\n\t\t\t\t\t\t\treturn get(skip);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// a module\n\t\t\t\t\treturn term || 0;\n\t\t\t\t}\n\t\t\t};\n\t\tid = get();\n\t\treturn id && toAbsMid(id);\n\t};\n\n\thas.load = function(id, parentRequire, loaded){\n\t\t// summary:\n\t\t//\t\tConditional loading of AMD modules based on a has feature test value.\n\t\t// id: String\n\t\t//\t\tGives the resolved module id to load.\n\t\t// parentRequire: Function\n\t\t//\t\tThe loader require function with respect to the module that contained the plugin resource in it's\n\t\t//\t\tdependency list.\n\t\t// loaded: Function\n\t\t//\t Callback to loader that consumes result of plugin demand.\n\n\t\tif(id){\n\t\t\tparentRequire([id], loaded);\n\t\t}else{\n\t\t\tloaded();\n\t\t}\n\t};\n\n\treturn has;\n});\n","define([\"./_base/kernel\", \"require\", \"./has\", \"./_base/array\", \"./_base/config\", \"./_base/lang\", \"./has!host-browser?./_base/xhr\", \"./json\", \"module\"],\n\tfunction(dojo, require, has, array, config, lang, xhr, json, module){\n\n\t// module:\n\t//\t\tdojo/i18n\n\n\thas.add(\"dojo-preload-i18n-Api\",\n\t\t// if true, define the preload localizations machinery\n\t\t1\n\t);\n\n\thas.add(\"dojo-v1x-i18n-Api\",\n\t\t// if true, define the v1.x i18n functions\n\t\t1\n\t);\n\n\tvar\n\t\tthisModule = dojo.i18n =\n\t\t\t{\n\t\t\t\t// summary:\n\t\t\t\t//\t\tThis module implements the dojo/i18n! plugin and the v1.6- i18n API\n\t\t\t\t// description:\n\t\t\t\t//\t\tWe choose to include our own plugin to leverage functionality already contained in dojo\n\t\t\t\t//\t\tand thereby reduce the size of the plugin compared to various loader implementations. Also, this\n\t\t\t\t//\t\tallows foreign AMD loaders to be used without their plugins.\n\t\t\t},\n\n\t\tnlsRe =\n\t\t\t// regexp for reconstructing the master bundle name from parts of the regexp match\n\t\t\t// nlsRe.exec(\"foo/bar/baz/nls/en-ca/foo\") gives:\n\t\t\t// [\"foo/bar/baz/nls/en-ca/foo\", \"foo/bar/baz/nls/\", \"/\", \"/\", \"en-ca\", \"foo\"]\n\t\t\t// nlsRe.exec(\"foo/bar/baz/nls/foo\") gives:\n\t\t\t// [\"foo/bar/baz/nls/foo\", \"foo/bar/baz/nls/\", \"/\", \"/\", \"foo\", \"\"]\n\t\t\t// so, if match[5] is blank, it means this is the top bundle definition.\n\t\t\t// courtesy of http://requirejs.org\n\t\t\t/(^.*(^|\\/)nls)(\\/|$)([^\\/]*)\\/?([^\\/]*)/,\n\n\t\tgetAvailableLocales = function(\n\t\t\troot,\n\t\t\tlocale,\n\t\t\tbundlePath,\n\t\t\tbundleName\n\t\t){\n\t\t\t// summary:\n\t\t\t//\t\treturn a vector of module ids containing all available locales with respect to the target locale\n\t\t\t//\t\tFor example, assuming:\n\t\t\t//\n\t\t\t//\t\t- the root bundle indicates specific bundles for \"fr\" and \"fr-ca\",\n\t\t\t//\t\t- bundlePath is \"myPackage/nls\"\n\t\t\t//\t\t- bundleName is \"myBundle\"\n\t\t\t//\n\t\t\t//\t\tThen a locale argument of \"fr-ca\" would return\n\t\t\t//\n\t\t\t//\t\t\t[\"myPackage/nls/myBundle\", \"myPackage/nls/fr/myBundle\", \"myPackage/nls/fr-ca/myBundle\"]\n\t\t\t//\n\t\t\t//\t\tNotice that bundles are returned least-specific to most-specific, starting with the root.\n\t\t\t//\n\t\t\t//\t\tIf root===false indicates we're working with a pre-AMD i18n bundle that doesn't tell about the available locales;\n\t\t\t//\t\ttherefore, assume everything is available and get 404 errors that indicate a particular localization is not available\n\n\t\t\tfor(var result = [bundlePath + bundleName], localeParts = locale.split(\"-\"), current = \"\", i = 0; i<localeParts.length; i++){\n\t\t\t\tcurrent += (current ? \"-\" : \"\") + localeParts[i];\n\t\t\t\tif(!root || root[current]){\n\t\t\t\t\tresult.push(bundlePath + current + \"/\" + bundleName);\n\t\t\t\t\tresult.specificity = current;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\n\t\tcache = {},\n\n\t\tgetBundleName = function(moduleName, bundleName, locale){\n\t\t\tlocale = locale ? locale.toLowerCase() : dojo.locale;\n\t\t\tmoduleName = moduleName.replace(/\\./g, \"/\");\n\t\t\tbundleName = bundleName.replace(/\\./g, \"/\");\n\t\t\treturn (/root/i.test(locale)) ?\n\t\t\t\t(moduleName + \"/nls/\" + bundleName) :\n\t\t\t\t(moduleName + \"/nls/\" + locale + \"/\" + bundleName);\n\t\t},\n\n\t\tgetL10nName = dojo.getL10nName = function(moduleName, bundleName, locale){\n\t\t\treturn moduleName = module.id + \"!\" + getBundleName(moduleName, bundleName, locale);\n\t\t},\n\n\t\tdoLoad = function(require, bundlePathAndName, bundlePath, bundleName, locale, load){\n\t\t\t// summary:\n\t\t\t//\t\tget the root bundle which instructs which other bundles are required to construct the localized bundle\n\t\t\trequire([bundlePathAndName], function(root){\n\t\t\t\tvar current = lang.clone(root.root || root.ROOT),// 1.6 built bundle defined ROOT\n\t\t\t\t\tavailableLocales = getAvailableLocales(!root._v1x && root, locale, bundlePath, bundleName);\n\t\t\t\trequire(availableLocales, function(){\n\t\t\t\t\tfor (var i = 1; i<availableLocales.length; i++){\n\t\t\t\t\t\tcurrent = lang.mixin(lang.clone(current), arguments[i]);\n\t\t\t\t\t}\n\t\t\t\t\t// target may not have been resolve (e.g., maybe only \"fr\" exists when \"fr-ca\" was requested)\n\t\t\t\t\tvar target = bundlePathAndName + \"/\" + locale;\n\t\t\t\t\tcache[target] = current;\n\t\t\t\t\tcurrent.$locale = availableLocales.specificity;\n\t\t\t\t\tload();\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\n\t\tnormalize = function(id, toAbsMid){\n\t\t\t// summary:\n\t\t\t//\t\tid may be relative.\n\t\t\t//\t\tpreload has form `*preload*<path>/nls/<module>*<flattened locales>` and\n\t\t\t//\t\ttherefore never looks like a relative\n\t\t\treturn /^\\./.test(id) ? toAbsMid(id) : id;\n\t\t},\n\n\t\tgetLocalesToLoad = function(targetLocale){\n\t\t\tvar list = config.extraLocale || [];\n\t\t\tlist = lang.isArray(list) ? list : [list];\n\t\t\tlist.push(targetLocale);\n\t\t\treturn list;\n\t\t},\n\n\t\tload = function(id, require, load){\n\t\t\t// summary:\n\t\t\t//\t\tid is in one of the following formats\n\t\t\t//\n\t\t\t//\t\t1. <path>/nls/<bundle>\n\t\t\t//\t\t\t=> load the bundle, localized to config.locale; load all bundles localized to\n\t\t\t//\t\t\tconfig.extraLocale (if any); return the loaded bundle localized to config.locale.\n\t\t\t//\n\t\t\t//\t\t2. <path>/nls/<locale>/<bundle>\n\t\t\t//\t\t\t=> load then return the bundle localized to <locale>\n\t\t\t//\n\t\t\t//\t\t3. *preload*<path>/nls/<module>*<JSON array of available locales>\n\t\t\t//\t\t\t=> for config.locale and all config.extraLocale, load all bundles found\n\t\t\t//\t\t\tin the best-matching bundle rollup. A value of 1 is returned, which\n\t\t\t//\t\t\tis meaningless other than to say the plugin is executing the requested\n\t\t\t//\t\t\tpreloads\n\t\t\t//\n\t\t\t//\t\tIn cases 1 and 2, <path> is always normalized to an absolute module id upon entry; see\n\t\t\t//\t\tnormalize. In case 3, it <path> is assumed to be absolute; this is arranged by the builder.\n\t\t\t//\n\t\t\t//\t\tTo load a bundle means to insert the bundle into the plugin's cache and publish the bundle\n\t\t\t//\t\tvalue to the loader. Given <path>, <bundle>, and a particular <locale>, the cache key\n\t\t\t//\n\t\t\t//\t\t\t<path>/nls/<bundle>/<locale>\n\t\t\t//\n\t\t\t//\t\twill hold the value. Similarly, then plugin will publish this value to the loader by\n\t\t\t//\n\t\t\t//\t\t\tdefine(\"<path>/nls/<bundle>/<locale>\", <bundle-value>);\n\t\t\t//\n\t\t\t//\t\tGiven this algorithm, other machinery can provide fast load paths be preplacing\n\t\t\t//\t\tvalues in the plugin's cache, which is public. When a load is demanded the\n\t\t\t//\t\tcache is inspected before starting any loading. Explicitly placing values in the plugin\n\t\t\t//\t\tcache is an advanced/experimental feature that should not be needed; use at your own risk.\n\t\t\t//\n\t\t\t//\t\tFor the normal AMD algorithm, the root bundle is loaded first, which instructs the\n\t\t\t//\t\tplugin what additional localized bundles are required for a particular locale. These\n\t\t\t//\t\tadditional locales are loaded and a mix of the root and each progressively-specific\n\t\t\t//\t\tlocale is returned. For example:\n\t\t\t//\n\t\t\t//\t\t1. The client demands \"dojo/i18n!some/path/nls/someBundle\n\t\t\t//\n\t\t\t//\t\t2. The loader demands load(some/path/nls/someBundle)\n\t\t\t//\n\t\t\t//\t\t3. This plugin require's \"some/path/nls/someBundle\", which is the root bundle.\n\t\t\t//\n\t\t\t//\t\t4. Assuming config.locale is \"ab-cd-ef\" and the root bundle indicates that localizations\n\t\t\t//\t\tare available for \"ab\" and \"ab-cd-ef\" (note the missing \"ab-cd\", then the plugin\n\t\t\t//\t\trequires \"some/path/nls/ab/someBundle\" and \"some/path/nls/ab-cd-ef/someBundle\"\n\t\t\t//\n\t\t\t//\t\t5. Upon receiving all required bundles, the plugin constructs the value of the bundle\n\t\t\t//\t\tab-cd-ef as...\n\t\t\t//\n\t\t\t//\t\t\t\tmixin(mixin(mixin({}, require(\"some/path/nls/someBundle\"),\n\t\t\t//\t\t \t\t\trequire(\"some/path/nls/ab/someBundle\")),\n\t\t\t//\t\t\t\t\trequire(\"some/path/nls/ab-cd-ef/someBundle\"));\n\t\t\t//\n\t\t\t//\t\tThis value is inserted into the cache and published to the loader at the\n\t\t\t//\t\tkey/module-id some/path/nls/someBundle/ab-cd-ef.\n\t\t\t//\n\t\t\t//\t\tThe special preload signature (case 3) instructs the plugin to stop servicing all normal requests\n\t\t\t//\t\t(further preload requests will be serviced) until all ongoing preloading has completed.\n\t\t\t//\n\t\t\t//\t\tThe preload signature instructs the plugin that a special rollup module is available that contains\n\t\t\t//\t\tone or more flattened, localized bundles. The JSON array of available locales indicates which locales\n\t\t\t//\t\tare available. Here is an example:\n\t\t\t//\n\t\t\t//\t\t\t*preload*some/path/nls/someModule*[\"root\", \"ab\", \"ab-cd-ef\"]\n\t\t\t//\n\t\t\t//\t\tThis indicates the following rollup modules are available:\n\t\t\t//\n\t\t\t//\t\t\tsome/path/nls/someModule_ROOT\n\t\t\t//\t\t\tsome/path/nls/someModule_ab\n\t\t\t//\t\t\tsome/path/nls/someModule_ab-cd-ef\n\t\t\t//\n\t\t\t//\t\tEach of these modules is a normal AMD module that contains one or more flattened bundles in a hash.\n\t\t\t//\t\tFor example, assume someModule contained the bundles some/bundle/path/someBundle and\n\t\t\t//\t\tsome/bundle/path/someOtherBundle, then some/path/nls/someModule_ab would be expressed as follows:\n\t\t\t//\n\t\t\t//\t\t\tdefine({\n\t\t\t//\t\t\t\tsome/bundle/path/someBundle:<value of someBundle, flattened with respect to locale ab>,\n\t\t\t//\t\t\t\tsome/bundle/path/someOtherBundle:<value of someOtherBundle, flattened with respect to locale ab>,\n\t\t\t//\t\t\t});\n\t\t\t//\n\t\t\t//\t\tE.g., given this design, preloading for locale==\"ab\" can execute the following algorithm:\n\t\t\t//\n\t\t\t//\t\t\trequire([\"some/path/nls/someModule_ab\"], function(rollup){\n\t\t\t//\t\t\t\tfor(var p in rollup){\n\t\t\t//\t\t\t\t\tvar id = p + \"/ab\",\n\t\t\t//\t\t\t\t\tcache[id] = rollup[p];\n\t\t\t//\t\t\t\t\tdefine(id, rollup[p]);\n\t\t\t//\t\t\t\t}\n\t\t\t//\t\t\t});\n\t\t\t//\n\t\t\t//\t\tSimilarly, if \"ab-cd\" is requested, the algorithm can determine that \"ab\" is the best available and\n\t\t\t//\t\tload accordingly.\n\t\t\t//\n\t\t\t//\t\tThe builder will write such rollups for every layer if a non-empty localeList profile property is\n\t\t\t//\t\tprovided. Further, the builder will include the following cache entry in the cache associated with\n\t\t\t//\t\tany layer.\n\t\t\t//\n\t\t\t//\t\t\t\"*now\":function(r){r(['dojo/i18n!*preload*<path>/nls/<module>*<JSON array of available locales>']);}\n\t\t\t//\n\t\t\t//\t\tThe *now special cache module instructs the loader to apply the provided function to context-require\n\t\t\t//\t\twith respect to the particular layer being defined. This causes the plugin to hold all normal service\n\t\t\t//\t\trequests until all preloading is complete.\n\t\t\t//\n\t\t\t//\t\tNotice that this algorithm is rarely better than the standard AMD load algorithm. Consider the normal case\n\t\t\t//\t\twhere the target locale has a single segment and a layer depends on a single bundle:\n\t\t\t//\n\t\t\t//\t\tWithout Preloads:\n\t\t\t//\n\t\t\t//\t\t1. Layer loads root bundle.\n\t\t\t//\t\t2. bundle is demanded; plugin loads single localized bundle.\n\t\t\t//\n\t\t\t//\t\tWith Preloads:\n\t\t\t//\n\t\t\t//\t\t1. Layer causes preloading of target bundle.\n\t\t\t//\t\t2. bundle is demanded; service is delayed until preloading complete; bundle is returned.\n\t\t\t//\n\t\t\t//\t\tIn each case a single transaction is required to load the target bundle. In cases where multiple bundles\n\t\t\t//\t\tare required and/or the locale has multiple segments, preloads still requires a single transaction whereas\n\t\t\t//\t\tthe normal path requires an additional transaction for each additional bundle/locale-segment. However all\n\t\t\t//\t\tof these additional transactions can be done concurrently. Owing to this analysis, the entire preloading\n\t\t\t//\t\talgorithm can be discard during a build by setting the has feature dojo-preload-i18n-Api to false.\n\n\t\t\tvar match = nlsRe.exec(id),\n\t\t\t\tbundlePath = match[1] + \"/\",\n\t\t\t\tbundleName = match[5] || match[4],\n\t\t\t\tbundlePathAndName = bundlePath + bundleName,\n\t\t\t\tlocaleSpecified = (match[5] && match[4]),\n\t\t\t\ttargetLocale =\tlocaleSpecified || dojo.locale || \"\",\n\t\t\t\tloadTarget = bundlePathAndName + \"/\" + targetLocale,\n\t\t\t\tloadList = localeSpecified ? [targetLocale] : getLocalesToLoad(targetLocale),\n\t\t\t\tremaining = loadList.length,\n\t\t\t\tfinish = function(){\n\t\t\t\t\tif(!--remaining){\n\t\t\t\t\t\tload(lang.delegate(cache[loadTarget]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsplit = id.split(\"*\"),\n\t\t\t\tpreloadDemand = split[1] == \"preload\";\n\n\t\t\tif(has(\"dojo-preload-i18n-Api\")){\n\t\t\t\tif(preloadDemand){\n\t\t\t\t\tif(!cache[id]){\n\t\t\t\t\t\t// use cache[id] to prevent multiple preloads of the same preload; this shouldn't happen, but\n\t\t\t\t\t\t// who knows what over-aggressive human optimizers may attempt\n\t\t\t\t\t\tcache[id] = 1;\n\t\t\t\t\t\tpreloadL10n(split[2], json.parse(split[3]), 1, require);\n\t\t\t\t\t}\n\t\t\t\t\t// don't stall the loader!\n\t\t\t\t\tload(1);\n\t\t\t\t}\n\t\t\t\tif(preloadDemand || (waitForPreloads(id, require, load) && !cache[loadTarget])){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (preloadDemand) {\n\t\t\t\t// If a build is created with nls resources and 'dojo-preload-i18n-Api' has not been set to false,\n\t\t\t\t// the built file will include a preload in the cache (which looks about like so:)\n\t\t\t\t// '*now':function(r){r(['dojo/i18n!*preload*dojo/nls/dojo*[\"ar\",\"ca\",\"cs\",\"da\",\"de\",\"el\",\"en-gb\",\"en-us\",\"es-es\",\"fi-fi\",\"fr-fr\",\"he-il\",\"hu\",\"it-it\",\"ja-jp\",\"ko-kr\",\"nl-nl\",\"nb\",\"pl\",\"pt-br\",\"pt-pt\",\"ru\",\"sk\",\"sl\",\"sv\",\"th\",\"tr\",\"zh-tw\",\"zh-cn\",\"ROOT\"]']);}\n\t\t\t\t// If the consumer of the build sets 'dojo-preload-i18n-Api' to false in the Dojo config, the cached\n\t\t\t\t// preload will not be parsed and will result in an attempt to call 'require' passing it the unparsed\n\t\t\t\t// preload, which is not a valid module id.\n\t\t\t\t// In this case we should skip this request.\n\t\t\t\tload(1);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tarray.forEach(loadList, function(locale){\n\t\t\t\tvar target = bundlePathAndName + \"/\" + locale;\n\t\t\t\tif(has(\"dojo-preload-i18n-Api\")){\n\t\t\t\t\tcheckForLegacyModules(target);\n\t\t\t\t}\n\t\t\t\tif(!cache[target]){\n\t\t\t\t\tdoLoad(require, bundlePathAndName, bundlePath, bundleName, locale, finish);\n\t\t\t\t}else{\n\t\t\t\t\tfinish();\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\tif(has(\"dojo-preload-i18n-Api\") || has(\"dojo-v1x-i18n-Api\")){\n\t\tvar normalizeLocale = thisModule.normalizeLocale = function(locale){\n\t\t\t\tvar result = locale ? locale.toLowerCase() : dojo.locale;\n\t\t\t\treturn result == \"root\" ? \"ROOT\" : result;\n\t\t\t},\n\n\t\t\tisXd = function(mid, contextRequire){\n\t\t\t\treturn (has(\"dojo-sync-loader\") && has(\"dojo-v1x-i18n-Api\")) ?\n\t\t\t\t\tcontextRequire.isXdUrl(require.toUrl(mid + \".js\")) :\n\t\t\t\t\ttrue;\n\t\t\t},\n\n\t\t\tpreloading = 0,\n\n\t\t\tpreloadWaitQueue = [],\n\n\t\t\tpreloadL10n = thisModule._preloadLocalizations = function(/*String*/bundlePrefix, /*Array*/localesGenerated, /*boolean?*/ guaranteedAmdFormat, /*function?*/ contextRequire){\n\t\t\t\t// summary:\n\t\t\t\t//\t\tLoad available flattened resource bundles associated with a particular module for dojo/locale and all dojo/config.extraLocale (if any)\n\t\t\t\t// description:\n\t\t\t\t//\t\tOnly called by built layer files. The entire locale hierarchy is loaded. For example,\n\t\t\t\t//\t\tif locale==\"ab-cd\", then ROOT, \"ab\", and \"ab-cd\" are loaded. This is different than v1.6-\n\t\t\t\t//\t\tin that the v1.6- would only load ab-cd...which was *always* flattened.\n\t\t\t\t//\n\t\t\t\t//\t\tIf guaranteedAmdFormat is true, then the module can be loaded with require thereby circumventing the detection algorithm\n\t\t\t\t//\t\tand the extra possible extra transaction.\n\n\t\t\t\t// If this function is called from legacy code, then guaranteedAmdFormat and contextRequire will be undefined. Since the function\n\t\t\t\t// needs a require in order to resolve module ids, fall back to the context-require associated with this dojo/i18n module, which\n\t\t\t\t// itself may have been mapped.\n\t\t\t\tcontextRequire = contextRequire || require;\n\n\t\t\t\tfunction doRequire(mid, callback){\n\t\t\t\t\tif(isXd(mid, contextRequire) || guaranteedAmdFormat){\n\t\t\t\t\t\tcontextRequire([mid], callback);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tsyncRequire([mid], callback, contextRequire);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfunction forEachLocale(locale, func){\n\t\t\t\t\t// given locale= \"ab-cd-ef\", calls func on \"ab-cd-ef\", \"ab-cd\", \"ab\", \"ROOT\"; stops calling the first time func returns truthy\n\t\t\t\t\tvar parts = locale.split(\"-\");\n\t\t\t\t\twhile(parts.length){\n\t\t\t\t\t\tif(func(parts.join(\"-\"))){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparts.pop();\n\t\t\t\t\t}\n\t\t\t\t\tfunc(\"ROOT\");\n\t\t\t\t}\n\n\t\t\t\t\tfunction preloadingAddLock(){\n\t\t\t\t\t\tpreloading++;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction preloadingRelLock(){\n\t\t\t\t\t\t--preloading;\n\t\t\t\t\t\twhile(!preloading && preloadWaitQueue.length){\n\t\t\t\t\t\t\tload.apply(null, preloadWaitQueue.shift());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction cacheId(path, name, loc, require){\n\t\t\t\t\t\t// path is assumed to have a trailing \"/\"\n\t\t\t\t\t\treturn require.toAbsMid(path + name + \"/\" + loc)\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction preload(locale){\n\t\t\t\t\t\tlocale = normalizeLocale(locale);\n\t\t\t\t\t\tforEachLocale(locale, function(loc){\n\t\t\t\t\t\t\tif(array.indexOf(localesGenerated, loc) >= 0){\n\t\t\t\t\t\t\t\tvar mid = bundlePrefix.replace(/\\./g, \"/\") + \"_\" + loc;\n\t\t\t\t\t\t\t\tpreloadingAddLock();\n\t\t\t\t\t\t\t\tdoRequire(mid, function(rollup){\n\t\t\t\t\t\t\t\t\tfor(var p in rollup){\n\t\t\t\t\t\t\t\t\t\tvar bundle = rollup[p],\n\t\t\t\t\t\t\t\t\t\t\tmatch = p.match(/(.+)\\/([^\\/]+)$/),\n\t\t\t\t\t\t\t\t\t\t\tbundleName, bundlePath;\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t// If there is no match, the bundle is not a regular bundle from an AMD layer.\n\t\t\t\t\t\t\t\t\t\t\tif (!match){continue;}\n\n\t\t\t\t\t\t\t\t\t\t\tbundleName = match[2];\n\t\t\t\t\t\t\t\t\t\t\tbundlePath = match[1] + \"/\";\n\n\t\t\t\t\t\t\t\t\t\t// backcompat\n\t\t\t\t\t\t\t\t\t\tif(!bundle._localized){continue;}\n\n\t\t\t\t\t\t\t\t\t\tvar localized;\n\t\t\t\t\t\t\t\t\t\tif(loc === \"ROOT\"){\n\t\t\t\t\t\t\t\t\t\t\tvar root = localized = bundle._localized;\n\t\t\t\t\t\t\t\t\t\t\tdelete bundle._localized;\n\t\t\t\t\t\t\t\t\t\t\troot.root = bundle;\n\t\t\t\t\t\t\t\t\t\t\tcache[require.toAbsMid(p)] = root;\n\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\tlocalized = bundle._localized;\n\t\t\t\t\t\t\t\t\t\t\tcache[cacheId(bundlePath, bundleName, loc, require)] = bundle;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif(loc !== locale){\n\t\t\t\t\t\t\t\t\t\t\t// capture some locale variables\n\t\t\t\t\t\t\t\t\t\t\tfunction improveBundle(bundlePath, bundleName, bundle, localized){\n\t\t\t\t\t\t\t\t\t\t\t\t// locale was not flattened and we've fallen back to a less-specific locale that was flattened\n\t\t\t\t\t\t\t\t\t\t\t\t// for example, we had a flattened 'fr', a 'fr-ca' is available for at least this bundle, and\n\t\t\t\t\t\t\t\t\t\t\t\t// locale==='fr-ca'; therefore, we must improve the bundle as retrieved from the rollup by\n\t\t\t\t\t\t\t\t\t\t\t\t// manually loading the fr-ca version of the bundle and mixing this into the already-retrieved 'fr'\n\t\t\t\t\t\t\t\t\t\t\t\t// version of the bundle.\n\t\t\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t\t\t// Remember, different bundles may have different sets of locales available.\n\t\t\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t\t\t// we are really falling back on the regular algorithm here, but--hopefully--starting with most\n\t\t\t\t\t\t\t\t\t\t\t\t// of the required bundles already on board as given by the rollup and we need to \"manually\" load\n\t\t\t\t\t\t\t\t\t\t\t\t// only one locale from a few bundles...or even better...we won't find anything better to load.\n\t\t\t\t\t\t\t\t\t\t\t\t// This algorithm ensures there is nothing better to load even when we can only load a less-specific rollup.\n\t\t\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t\t\t// note: this feature is only available in async mode\n\n\t\t\t\t\t\t\t\t\t\t\t\t// inspect the loaded bundle that came from the rollup to see if something better is available\n\t\t\t\t\t\t\t\t\t\t\t\t// for any bundle in a rollup, more-specific available locales are given at localized.\n\t\t\t\t\t\t\t\t\t\t\t\tvar requiredBundles = [],\n\t\t\t\t\t\t\t\t\t\t\t\t\tcacheIds = [];\n\t\t\t\t\t\t\t\t\t\t\t\tforEachLocale(locale, function(loc){\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(localized[loc]){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trequiredBundles.push(require.toAbsMid(bundlePath + loc + \"/\" + bundleName));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcacheIds.push(cacheId(bundlePath, bundleName, loc, require));\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(requiredBundles.length){\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreloadingAddLock();\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontextRequire(requiredBundles, function(){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// requiredBundles was constructed by forEachLocale so it contains locales from \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// less specific to most specific. \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// the loop starts with the most specific locale, the last one.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor(var i = requiredBundles.length - 1; i >= 0 ; i--){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbundle = lang.mixin(lang.clone(bundle), arguments[i]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcache[cacheIds[i]] = bundle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the best possible (maybe a perfect match, maybe not), accept it\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcache[cacheId(bundlePath, bundleName, locale, require)] = lang.clone(bundle);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreloadingRelLock();\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the best possible (definitely not a perfect match), accept it\n\t\t\t\t\t\t\t\t\t\t\t\t\tcache[cacheId(bundlePath, bundleName, locale, require)] = bundle;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\timproveBundle(bundlePath, bundleName, bundle, localized);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tpreloadingRelLock();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\tpreload();\n\t\t\t\tarray.forEach(dojo.config.extraLocale, preload);\n\t\t\t},\n\n\t\t\twaitForPreloads = function(id, require, load){\n\t\t\t\tif(preloading){\n\t\t\t\t\tpreloadWaitQueue.push([id, require, load]);\n\t\t\t\t}\n\t\t\t\treturn preloading;\n\t\t\t},\n\n\t\t\tcheckForLegacyModules = function()\n\t\t\t\t{};\n\t}\n\n\tif(has(\"dojo-v1x-i18n-Api\")){\n\t\t// this code path assumes the dojo loader and won't work with a standard AMD loader\n\t\tvar amdValue = {},\n\t\t\tl10nCache = {},\n\t\t\tevalBundle,\n\n\t\t\tsyncRequire = function(deps, callback, require){\n\t\t\t\tvar results = [];\n\t\t\t\tarray.forEach(deps, function(mid){\n\t\t\t\t\tvar url = require.toUrl(mid + \".js\");\n\n\t\t\t\t\tfunction load(text){\n\t\t\t\t\t\tif (!evalBundle) {\n\t\t\t\t\t\t\t// use the function ctor to keep the minifiers away (also come close to global scope, but this is secondary)\n\t\t\t\t\t\t\tevalBundle = new Function(\n\t\t\t\t\t\t\t\t\"__bundle\",\t\t\t\t // the bundle to evalutate\n\t\t\t\t\t\t\t\t\"__checkForLegacyModules\", // a function that checks if __bundle defined __mid in the global space\n\t\t\t\t\t\t\t\t\"__mid\",\t\t\t\t // the mid that __bundle is intended to define\n\t\t\t\t\t\t\t\t\"__amdValue\",\n\n\t\t\t\t\t\t\t\t// returns one of:\n\t\t\t\t\t\t\t\t//\t\t1 => the bundle was an AMD bundle\n\t\t\t\t\t\t\t\t//\t\ta legacy bundle object that is the value of __mid\n\t\t\t\t\t\t\t\t//\t\tinstance of Error => could not figure out how to evaluate bundle\n\n\t\t\t\t\t\t\t\t// used to detect when __bundle calls define\n\t\t\t\t\t\t\t\t\"var define = function(mid, factory){define.called = 1; __amdValue.result = factory || mid;},\"\n\t\t\t\t\t\t\t\t+ \"\t require = function(){define.called = 1;};\"\n\n\t\t\t\t\t\t\t\t+ \"try{\"\n\t\t\t\t\t\t\t\t+\t\t\"define.called = 0;\"\n\t\t\t\t\t\t\t\t+\t\t\"eval(__bundle);\"\n\t\t\t\t\t\t\t\t+\t\t\"if(define.called==1)\"\n\t\t\t\t\t\t\t\t\t\t\t// bundle called define; therefore signal it's an AMD bundle\n\t\t\t\t\t\t\t\t+\t\t\t\"return __amdValue;\"\n\n\t\t\t\t\t\t\t\t+\t\t\"if((__checkForLegacyModules = __checkForLegacyModules(__mid)))\"\n\t\t\t\t\t\t\t\t\t\t\t// bundle was probably a v1.6- built NLS flattened NLS bundle that defined __mid in the global space\n\t\t\t\t\t\t\t\t+\t\t\t\"return __checkForLegacyModules;\"\n\n\t\t\t\t\t\t\t\t+ \"}catch(e){}\"\n\t\t\t\t\t\t\t\t// evaulating the bundle was *neither* an AMD *nor* a legacy flattened bundle\n\t\t\t\t\t\t\t\t// either way, re-eval *after* surrounding with parentheses\n\n\t\t\t\t\t\t\t\t+ \"try{\"\n\t\t\t\t\t\t\t\t+\t\t\"return eval('('+__bundle+')');\"\n\t\t\t\t\t\t\t\t+ \"}catch(e){\"\n\t\t\t\t\t\t\t\t+\t\t\"return e;\"\n\t\t\t\t\t\t\t\t+ \"}\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar result = evalBundle(text, checkForLegacyModules, mid, amdValue);\n\t\t\t\t\t\tif(result===amdValue){\n\t\t\t\t\t\t\t// the bundle was an AMD module; re-inject it through the normal AMD path\n\t\t\t\t\t\t\t// we gotta do this since it could be an anonymous module and simply evaluating\n\t\t\t\t\t\t\t// the text here won't provide the loader with the context to know what\n\t\t\t\t\t\t\t// module is being defined()'d. With browser caching, this should be free; further\n\t\t\t\t\t\t\t// this entire code path can be circumvented by using the AMD format to begin with\n\t\t\t\t\t\t\tresults.push(cache[url] = amdValue.result);\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tif(result instanceof Error){\n\t\t\t\t\t\t\t\tconsole.error(\"failed to evaluate i18n bundle; url=\" + url, result);\n\t\t\t\t\t\t\t\tresult = {};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// nls/<locale>/<bundle-name> indicates not the root.\n\t\t\t\t\t\t\tresults.push(cache[url] = (/nls\\/[^\\/]+\\/[^\\/]+$/.test(url) ? result : {root:result, _v1x:1}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(cache[url]){\n\t\t\t\t\t\tresults.push(cache[url]);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tvar bundle = require.syncLoadNls(mid);\n\t\t\t\t\t\t// need to check for legacy module here because there might be a legacy module for a\n\t\t\t\t\t\t// less specific locale (which was not looked up during the first checkForLegacyModules\n\t\t\t\t\t\t// call in load()).\n\t\t\t\t\t\t// Also need to reverse the locale and the module name in the mid because syncRequire\n\t\t\t\t\t\t// deps parameters uses the AMD style package/nls/locale/module while legacy code uses\n\t\t\t\t\t\t// package/nls/module/locale.\n\t\t\t\t\t\tif(!bundle){\n\t\t\t\t\t\t\tbundle = checkForLegacyModules(mid.replace(/nls\\/([^\\/]*)\\/([^\\/]*)$/, \"nls/$2/$1\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(bundle){\n\t\t\t\t\t\t\tresults.push(bundle);\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tif(!xhr){\n\t\t\t\t\t\t\t\ttry{\n\t\t\t\t\t\t\t\t\trequire.getText(url, true, load);\n\t\t\t\t\t\t\t\t}catch(e){\n\t\t\t\t\t\t\t\t\tresults.push(cache[url] = {});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\txhr.get({\n\t\t\t\t\t\t\t\t\turl:url,\n\t\t\t\t\t\t\t\t\tsync:true,\n\t\t\t\t\t\t\t\t\tload:load,\n\t\t\t\t\t\t\t\t\terror:function(){\n\t\t\t\t\t\t\t\t\t\tresults.push(cache[url] = {});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tcallback && callback.apply(null, results);\n\t\t\t};\n\n\t\tcheckForLegacyModules = function(target){\n\t\t\t// legacy code may have already loaded [e.g] the raw bundle x/y/z at x.y.z; when true, push into the cache\n\t\t\tfor(var result, names = target.split(\"/\"), object = dojo.global[names[0]], i = 1; object && i<names.length-1; object = object[names[i++]]){}\n\t\t\tif(object){\n\t\t\t\tresult = object[names[i]];\n\t\t\t\tif(!result){\n\t\t\t\t\t// fallback for incorrect bundle build of 1.6\n\t\t\t\t\tresult = object[names[i].replace(/-/g,\"_\")];\n\t\t\t\t}\n\t\t\t\tif(result){\n\t\t\t\t\tcache[target] = result;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tthisModule.getLocalization = function(moduleName, bundleName, locale){\n\t\t\tvar result,\n\t\t\t\tl10nName = getBundleName(moduleName, bundleName, locale);\n\n\t\t\tif (l10nCache[l10nName]) {\n\t\t\t\treturn l10nCache[l10nName];\n\t\t\t}\n\n\t\t\tload(\n\t\t\t\tl10nName,\n\n\t\t\t\t// isXd() and syncRequire() need a context-require in order to resolve the mid with respect to a reference module.\n\t\t\t\t// Since this legacy function does not have the concept of a reference module, resolve with respect to this\n\t\t\t\t// dojo/i18n module, which, itself may have been mapped.\n\t\t\t\t(!isXd(l10nName, require) ? function(deps, callback){ syncRequire(deps, callback, require); } : require),\n\n\t\t\t\tfunction(result_){\n\t\t\t\t\tl10nCache[l10nName] = result_;\n\t\t\t\t\tresult = result_;\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn result;\n\t\t};\n\t}\n\n\treturn lang.mixin(thisModule, {\n\t\tdynamic:true,\n\t\tnormalize:normalize,\n\t\tload:load,\n\t\tcache:cache,\n\t\tgetL10nName: getL10nName\n\t});\n});\n","define([\"./_base/lang\"], function(lang){\n\n\t// module:\n\t//\t\tdojo/io-query\n\n\tvar backstop = {};\n\n\treturn {\n\t\t// summary:\n\t\t//\t\tThis module defines query string processing functions.\n\n\t\tobjectToQuery: function objectToQuery(/*Object*/ map){\n\t\t\t// summary:\n\t\t\t//\t\ttakes a name/value mapping object and returns a string representing\n\t\t\t//\t\ta URL-encoded version of that object.\n\t\t\t// example:\n\t\t\t//\t\tthis object:\n\t\t\t//\n\t\t\t//\t|\t{\n\t\t\t//\t|\t\tblah: \"blah\",\n\t\t\t//\t|\t\tmulti: [\n\t\t\t//\t|\t\t\t\"thud\",\n\t\t\t//\t|\t\t\t\"thonk\"\n\t\t\t//\t|\t\t]\n\t\t\t//\t|\t};\n\t\t\t//\n\t\t\t//\t\tyields the following query string:\n\t\t\t//\n\t\t\t//\t|\t\"blah=blah&multi=thud&multi=thonk\"\n\n\t\t\t// FIXME: need to implement encodeAscii!!\n\t\t\tvar enc = encodeURIComponent, pairs = [];\n\t\t\tfor(var name in map){\n\t\t\t\tvar value = map[name];\n\t\t\t\tif(value != backstop[name]){\n\t\t\t\t\tvar assign = enc(name) + \"=\";\n\t\t\t\t\tif(lang.isArray(value)){\n\t\t\t\t\t\tfor(var i = 0, l = value.length; i < l; ++i){\n\t\t\t\t\t\t\tpairs.push(assign + enc(value[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\tpairs.push(assign + enc(value));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn pairs.join(\"&\"); // String\n\t\t},\n\n\t\tqueryToObject: function queryToObject(/*String*/ str){\n\t\t\t// summary:\n\t\t\t//\t\tCreate an object representing a de-serialized query section of a\n\t\t\t//\t\tURL. Query keys with multiple values are returned in an array.\n\t\t\t//\n\t\t\t// example:\n\t\t\t//\t\tThis string:\n\t\t\t//\n\t\t\t//\t|\t\t\"foo=bar&foo=baz&thinger=%20spaces%20=blah&zonk=blarg&\"\n\t\t\t//\n\t\t\t//\t\tresults in this object structure:\n\t\t\t//\n\t\t\t//\t|\t\t{\n\t\t\t//\t|\t\t\tfoo: [ \"bar\", \"baz\" ],\n\t\t\t//\t|\t\t\tthinger: \" spaces =blah\",\n\t\t\t//\t|\t\t\tzonk: \"blarg\"\n\t\t\t//\t|\t\t}\n\t\t\t//\n\t\t\t//\t\tNote that spaces and other urlencoded entities are correctly\n\t\t\t//\t\thandled.\n\n \tvar dec = decodeURIComponent, qp = str.split(\"&\"), ret = {}, name, val;\n\t\t\tfor(var i = 0, l = qp.length, item; i < l; ++i){\n\t\t\t\titem = qp[i];\n\t\t\t\tif(item.length){\n\t\t\t\t\tvar s = item.indexOf(\"=\");\n\t\t\t\t\tif(s < 0){\n\t\t\t\t\t\tname = dec(item);\n\t\t\t\t\t\tval = \"\";\n\t\t\t\t\t}else{\n\t\t\t\t\t\tname = dec(item.slice(0, s));\n\t\t\t\t\t\tval = dec(item.slice(s + 1));\n\t\t\t\t\t}\n\t\t\t\t\tif(typeof ret[name] == \"string\"){ // inline'd type check\n\t\t\t\t\t\tret[name] = [ret[name]];\n\t\t\t\t\t}\n\n\t\t\t\t\tif(lang.isArray(ret[name])){\n\t\t\t\t\t\tret[name].push(val);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tret[name] = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn ret; // Object\n\t\t}\n\t};\n});","define([\"./has\"], function(has){\n\t\"use strict\";\n\tvar hasJSON = typeof JSON != \"undefined\";\n\thas.add(\"json-parse\", hasJSON); // all the parsers work fine\n\t\t// Firefox 3.5/Gecko 1.9 fails to use replacer in stringify properly https://bugzilla.mozilla.org/show_bug.cgi?id=509184\n\thas.add(\"json-stringify\", hasJSON && JSON.stringify({a:0}, function(k,v){return v||1;}) == '{\"a\":1}');\n\n\t/*=====\n\treturn {\n\t\t// summary:\n\t\t//\t\tFunctions to parse and serialize JSON\n\n\t\tparse: function(str, strict){\n\t\t\t// summary:\n\t\t\t//\t\tParses a [JSON](http://json.org) string to return a JavaScript object.\n\t\t\t// description:\n\t\t\t//\t\tThis function follows [native JSON API](https://developer.mozilla.org/en/JSON)\n\t\t\t//\t\tThrows for invalid JSON strings. This delegates to eval() if native JSON\n\t\t\t//\t\tsupport is not available. By default this will evaluate any valid JS expression.\n\t\t\t//\t\tWith the strict parameter set to true, the parser will ensure that only\n\t\t\t//\t\tvalid JSON strings are parsed (otherwise throwing an error). Without the strict\n\t\t\t//\t\tparameter, the content passed to this method must come\n\t\t\t//\t\tfrom a trusted source.\n\t\t\t// str:\n\t\t\t//\t\ta string literal of a JSON item, for instance:\n\t\t\t//\t\t`'{ \"foo\": [ \"bar\", 1, { \"baz\": \"thud\" } ] }'`\n\t\t\t// strict:\n\t\t\t//\t\tWhen set to true, this will ensure that only valid, secure JSON is ever parsed.\n\t\t\t//\t\tMake sure this is set to true for untrusted content. Note that on browsers/engines\n\t\t\t//\t\twithout native JSON support, setting this to true will run slower.\n\t\t},\n\t\tstringify: function(value, replacer, spacer){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a [JSON](http://json.org) serialization of an object.\n\t\t\t// description:\n\t\t\t//\t\tReturns a [JSON](http://json.org) serialization of an object.\n\t\t\t//\t\tThis function follows [native JSON API](https://developer.mozilla.org/en/JSON)\n\t\t\t//\t\tNote that this doesn't check for infinite recursion, so don't do that!\n\t\t\t// value:\n\t\t\t//\t\tA value to be serialized.\n\t\t\t// replacer:\n\t\t\t//\t\tA replacer function that is called for each value and can return a replacement\n\t\t\t// spacer:\n\t\t\t//\t\tA spacer string to be used for pretty printing of JSON\n\t\t\t// example:\n\t\t\t//\t\tsimple serialization of a trivial object\n\t\t\t//\t|\tdefine([\"dojo/json\"], function(JSON){\n\t\t\t// \t|\t\tvar jsonStr = JSON.stringify({ howdy: \"stranger!\", isStrange: true });\n\t\t\t//\t|\t\tdoh.is('{\"howdy\":\"stranger!\",\"isStrange\":true}', jsonStr);\n\t\t}\n\t};\n\t=====*/\n\n\tif(has(\"json-stringify\")){\n\t\treturn JSON;\n\t}else{\n\t\tvar escapeString = function(/*String*/str){\n\t\t\t// summary:\n\t\t\t//\t\tAdds escape sequences for non-visual characters, double quote and\n\t\t\t//\t\tbackslash and surrounds with double quotes to form a valid string\n\t\t\t//\t\tliteral.\n\t\t\treturn ('\"' + str.replace(/([\"\\\\])/g, '\\\\$1') + '\"').\n\t\t\t\treplace(/[\\f]/g, \"\\\\f\").replace(/[\\b]/g, \"\\\\b\").replace(/[\\n]/g, \"\\\\n\").\n\t\t\t\treplace(/[\\t]/g, \"\\\\t\").replace(/[\\r]/g, \"\\\\r\"); // string\n\t\t};\n\t\treturn {\n\t\t\tparse: has(\"json-parse\") ? JSON.parse : function(str, strict){\n\t\t\t\tif(strict && !/^([\\s\\[\\{]*(?:\"(?:\\\\.|[^\"])*\"|-?\\d[\\d\\.]*(?:[Ee][+-]?\\d+)?|null|true|false|)[\\s\\]\\}]*(?:,|:|$))+$/.test(str)){\n\t\t\t\t\tthrow new SyntaxError(\"Invalid characters in JSON\");\n\t\t\t\t}\n\t\t\t\treturn eval('(' + str + ')');\n\t\t\t},\n\t\t\tstringify: function(value, replacer, spacer){\n\t\t\t\tvar undef;\n\t\t\t\tif(typeof replacer == \"string\"){\n\t\t\t\t\tspacer = replacer;\n\t\t\t\t\treplacer = null;\n\t\t\t\t}\n\t\t\t\tfunction stringify(it, indent, key){\n\t\t\t\t\tif(replacer){\n\t\t\t\t\t\tit = replacer(key, it);\n\t\t\t\t\t}\n\t\t\t\t\tvar val, objtype = typeof it;\n\t\t\t\t\tif(objtype == \"number\"){\n\t\t\t\t\t\treturn isFinite(it) ? it + \"\" : \"null\";\n\t\t\t\t\t}\n\t\t\t\t\tif(objtype == \"boolean\"){\n\t\t\t\t\t\treturn it + \"\";\n\t\t\t\t\t}\n\t\t\t\t\tif(it === null){\n\t\t\t\t\t\treturn \"null\";\n\t\t\t\t\t}\n\t\t\t\t\tif(typeof it == \"string\"){\n\t\t\t\t\t\treturn escapeString(it);\n\t\t\t\t\t}\n\t\t\t\t\tif(objtype == \"function\" || objtype == \"undefined\"){\n\t\t\t\t\t\treturn undef; // undefined\n\t\t\t\t\t}\n\t\t\t\t\t// short-circuit for objects that support \"json\" serialization\n\t\t\t\t\t// if they return \"self\" then just pass-through...\n\t\t\t\t\tif(typeof it.toJSON == \"function\"){\n\t\t\t\t\t\treturn stringify(it.toJSON(key), indent, key);\n\t\t\t\t\t}\n\t\t\t\t\tif(it instanceof Date){\n\t\t\t\t\t\treturn '\"{FullYear}-{Month+}-{Date}T{Hours}:{Minutes}:{Seconds}Z\"'.replace(/\\{(\\w+)(\\+)?\\}/g, function(t, prop, plus){\n\t\t\t\t\t\t\tvar num = it[\"getUTC\" + prop]() + (plus ? 1 : 0);\n\t\t\t\t\t\t\treturn num < 10 ? \"0\" + num : num;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif(it.valueOf() !== it){\n\t\t\t\t\t\t// primitive wrapper, try again unwrapped:\n\t\t\t\t\t\treturn stringify(it.valueOf(), indent, key);\n\t\t\t\t\t}\n\t\t\t\t\tvar nextIndent= spacer ? (indent + spacer) : \"\";\n\t\t\t\t\t/* we used to test for DOM nodes and throw, but FF serializes them as {}, so cross-browser consistency is probably not efficiently attainable */ \n\t\t\t\t\n\t\t\t\t\tvar sep = spacer ? \" \" : \"\";\n\t\t\t\t\tvar newLine = spacer ? \"\\n\" : \"\";\n\t\t\t\t\n\t\t\t\t\t// array\n\t\t\t\t\tif(it instanceof Array){\n\t\t\t\t\t\tvar itl = it.length, res = [];\n\t\t\t\t\t\tfor(key = 0; key < itl; key++){\n\t\t\t\t\t\t\tvar obj = it[key];\n\t\t\t\t\t\t\tval = stringify(obj, nextIndent, key);\n\t\t\t\t\t\t\tif(typeof val != \"string\"){\n\t\t\t\t\t\t\t\tval = \"null\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tres.push(newLine + nextIndent + val);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn \"[\" + res.join(\",\") + newLine + indent + \"]\";\n\t\t\t\t\t}\n\t\t\t\t\t// generic object code path\n\t\t\t\t\tvar output = [];\n\t\t\t\t\tfor(key in it){\n\t\t\t\t\t\tvar keyStr;\n\t\t\t\t\t\tif(it.hasOwnProperty(key)){\n\t\t\t\t\t\t\tif(typeof key == \"number\"){\n\t\t\t\t\t\t\t\tkeyStr = '\"' + key + '\"';\n\t\t\t\t\t\t\t}else if(typeof key == \"string\"){\n\t\t\t\t\t\t\t\tkeyStr = escapeString(key);\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t// skip non-string or number keys\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tval = stringify(it[key], nextIndent, key);\n\t\t\t\t\t\t\tif(typeof val != \"string\"){\n\t\t\t\t\t\t\t\t// skip non-serializable values\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// At this point, the most non-IE browsers don't get in this branch \n\t\t\t\t\t\t\t// (they have native JSON), so push is definitely the way to\n\t\t\t\t\t\t\toutput.push(newLine + nextIndent + keyStr + \":\" + sep + val);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn \"{\" + output.join(\",\") + newLine + indent + \"}\"; // String\n\t\t\t\t}\n\t\t\t\treturn stringify(value, \"\", \"\");\n\t\t\t}\n\t\t};\n\t}\n});\n","define([\"./_base/kernel\", \"./sniff\"], function(dojo, has){\n\n\t// module:\n\t//\t\tdojo/keys\n\n\treturn dojo.keys = {\n\t\t// summary:\n\t\t//\t\tDefinitions for common key values. Client code should test keyCode against these named constants,\n\t\t//\t\tas the actual codes can vary by browser.\n\n\t\tBACKSPACE: 8,\n\t\tTAB: 9,\n\t\tCLEAR: 12,\n\t\tENTER: 13,\n\t\tSHIFT: 16,\n\t\tCTRL: 17,\n\t\tALT: 18,\n\t\tMETA: has(\"webkit\") ? 91 : 224,\t\t// the apple key on macs\n\t\tPAUSE: 19,\n\t\tCAPS_LOCK: 20,\n\t\tESCAPE: 27,\n\t\tSPACE: 32,\n\t\tPAGE_UP: 33,\n\t\tPAGE_DOWN: 34,\n\t\tEND: 35,\n\t\tHOME: 36,\n\t\tLEFT_ARROW: 37,\n\t\tUP_ARROW: 38,\n\t\tRIGHT_ARROW: 39,\n\t\tDOWN_ARROW: 40,\n\t\tINSERT: 45,\n\t\tDELETE: 46,\n\t\tHELP: 47,\n\t\tLEFT_WINDOW: 91,\n\t\tRIGHT_WINDOW: 92,\n\t\tSELECT: 93,\n\t\tNUMPAD_0: 96,\n\t\tNUMPAD_1: 97,\n\t\tNUMPAD_2: 98,\n\t\tNUMPAD_3: 99,\n\t\tNUMPAD_4: 100,\n\t\tNUMPAD_5: 101,\n\t\tNUMPAD_6: 102,\n\t\tNUMPAD_7: 103,\n\t\tNUMPAD_8: 104,\n\t\tNUMPAD_9: 105,\n\t\tNUMPAD_MULTIPLY: 106,\n\t\tNUMPAD_PLUS: 107,\n\t\tNUMPAD_ENTER: 108,\n\t\tNUMPAD_MINUS: 109,\n\t\tNUMPAD_PERIOD: 110,\n\t\tNUMPAD_DIVIDE: 111,\n\t\tF1: 112,\n\t\tF2: 113,\n\t\tF3: 114,\n\t\tF4: 115,\n\t\tF5: 116,\n\t\tF6: 117,\n\t\tF7: 118,\n\t\tF8: 119,\n\t\tF9: 120,\n\t\tF10: 121,\n\t\tF11: 122,\n\t\tF12: 123,\n\t\tF13: 124,\n\t\tF14: 125,\n\t\tF15: 126,\n\t\tNUM_LOCK: 144,\n\t\tSCROLL_LOCK: 145,\n\t\tUP_DPAD: 175,\n\t\tDOWN_DPAD: 176,\n\t\tLEFT_DPAD: 177,\n\t\tRIGHT_DPAD: 178,\n\t\t// virtual key mapping\n\t\tcopyKey: has(\"mac\") && !has(\"air\") ? (has(\"safari\") ? 91 : 224 ) : 17\n\t};\n});\n","define([\"./_base/kernel\", \"./on\", \"./has\", \"./dom\", \"./_base/window\"], function(dojo, on, has, dom, win){\n\n\t// module:\n\t//\t\tdojo/mouse\n\n has.add(\"dom-quirks\", win.doc && win.doc.compatMode == \"BackCompat\");\n\thas.add(\"events-mouseenter\", win.doc && \"onmouseenter\" in win.doc.createElement(\"div\"));\n\thas.add(\"events-mousewheel\", win.doc && 'onmousewheel' in win.doc);\n\n\tvar mouseButtons;\n\tif((has(\"dom-quirks\") && has(\"ie\")) || !has(\"dom-addeventlistener\")){\n\t\tmouseButtons = {\n\t\t\tLEFT: 1,\n\t\t\tMIDDLE: 4,\n\t\t\tRIGHT: 2,\n\t\t\t// helper functions\n\t\t\tisButton: function(e, button){ return e.button & button; },\n\t\t\tisLeft: function(e){ return e.button & 1; },\n\t\t\tisMiddle: function(e){ return e.button & 4; },\n\t\t\tisRight: function(e){ return e.button & 2; }\n\t\t};\n\t}else{\n\t\tmouseButtons = {\n\t\t\tLEFT: 0,\n\t\t\tMIDDLE: 1,\n\t\t\tRIGHT: 2,\n\t\t\t// helper functions\n\t\t\tisButton: function(e, button){ return e.button == button; },\n\t\t\tisLeft: function(e){ return e.button == 0; },\n\t\t\tisMiddle: function(e){ return e.button == 1; },\n\t\t\tisRight: function(e){ return e.button == 2; }\n\t\t};\n\t}\n\tdojo.mouseButtons = mouseButtons;\n\n/*=====\n\tdojo.mouseButtons = {\n\t\t// LEFT: Number\n\t\t//\t\tNumeric value of the left mouse button for the platform.\n\t\tLEFT: 0,\n\t\t// MIDDLE: Number\n\t\t//\t\tNumeric value of the middle mouse button for the platform.\n\t\tMIDDLE: 1,\n\t\t// RIGHT: Number\n\t\t//\t\tNumeric value of the right mouse button for the platform.\n\t\tRIGHT: 2,\n\n\t\tisButton: function(e, button){\n\t\t\t// summary:\n\t\t\t//\t\tChecks an event object for a pressed button\n\t\t\t// e: Event\n\t\t\t//\t\tEvent object to examine\n\t\t\t// button: Number\n\t\t\t//\t\tThe button value (example: dojo.mouseButton.LEFT)\n\t\t\treturn e.button == button; // Boolean\n\t\t},\n\t\tisLeft: function(e){\n\t\t\t// summary:\n\t\t\t//\t\tChecks an event object for the pressed left button\n\t\t\t// e: Event\n\t\t\t//\t\tEvent object to examine\n\t\t\treturn e.button == 0; // Boolean\n\t\t},\n\t\tisMiddle: function(e){\n\t\t\t// summary:\n\t\t\t//\t\tChecks an event object for the pressed middle button\n\t\t\t// e: Event\n\t\t\t//\t\tEvent object to examine\n\t\t\treturn e.button == 1; // Boolean\n\t\t},\n\t\tisRight: function(e){\n\t\t\t// summary:\n\t\t\t//\t\tChecks an event object for the pressed right button\n\t\t\t// e: Event\n\t\t\t//\t\tEvent object to examine\n\t\t\treturn e.button == 2; // Boolean\n\t\t}\n\t};\n=====*/\n\n\tfunction eventHandler(type, selectHandler){\n\t\t// emulation of mouseenter/leave with mouseover/out using descendant checking\n\t\tvar handler = function(node, listener){\n\t\t\treturn on(node, type, function(evt){\n\t\t\t\tif(selectHandler){\n\t\t\t\t\treturn selectHandler(evt, listener);\n\t\t\t\t}\n\t\t\t\tif(!dom.isDescendant(evt.relatedTarget, node)){\n\t\t\t\t\treturn listener.call(this, evt);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\thandler.bubble = function(select){\n\t\t\treturn eventHandler(type, function(evt, listener){\n\t\t\t\t// using a selector, use the select function to determine if the mouse moved inside the selector and was previously outside the selector\n\t\t\t\tvar target = select(evt.target);\n\t\t\t\tvar relatedTarget = evt.relatedTarget;\n\t\t\t\tif(target && (target != (relatedTarget && relatedTarget.nodeType == 1 && select(relatedTarget)))){\n\t\t\t\t\treturn listener.call(target, evt);\n\t\t\t\t} \n\t\t\t});\n\t\t};\n\t\treturn handler;\n\t}\n\tvar wheel;\n\tif(has(\"events-mousewheel\")){\n\t\twheel = 'mousewheel';\n\t}else{ //firefox\n\t\twheel = function(node, listener){\n\t\t\treturn on(node, 'DOMMouseScroll', function(evt){\n\t\t\t\tevt.wheelDelta = -evt.detail;\n\t\t\t\tlistener.call(this, evt);\n\t\t\t});\n\t\t};\n\t}\n\treturn {\n\t\t// summary:\n\t\t//\t\tThis module provide mouse event handling utility functions and exports\n\t\t//\t\tmouseenter and mouseleave event emulation.\n\t\t// example:\n\t\t//\t\tTo use these events, you register a mouseenter like this:\n\t\t//\t\t|\tdefine([\"dojo/on\", \"dojo/mouse\"], function(on, mouse){\n\t\t//\t\t|\t\ton(targetNode, mouse.enter, function(event){\n\t\t//\t\t|\t\t\tdojo.addClass(targetNode, \"highlighted\");\n\t\t//\t\t|\t\t});\n\t\t//\t\t|\t\ton(targetNode, mouse.leave, function(event){\n\t\t//\t\t|\t\t\tdojo.removeClass(targetNode, \"highlighted\");\n\t\t//\t\t|\t\t});\n\n\t\t_eventHandler: eventHandler,\t\t// for dojo/touch\n\n\t\t// enter: Synthetic Event\n\t\t//\t\tThis is an extension event for the mouseenter that IE provides, emulating the\n\t\t//\t\tbehavior on other browsers.\n\t\tenter: eventHandler(\"mouseover\"),\n\n\t\t// leave: Synthetic Event\n\t\t//\t\tThis is an extension event for the mouseleave that IE provides, emulating the\n\t\t//\t\tbehavior on other browsers.\n\t\tleave: eventHandler(\"mouseout\"),\n\n\t\t// wheel: Normalized Mouse Wheel Event\n\t\t//\t\tThis is an extension event for the mousewheel that non-Mozilla browsers provide,\n\t\t//\t\temulating the behavior on Mozilla based browsers.\n\t\twheel: wheel,\n\n\t\tisLeft: mouseButtons.isLeft,\n\t\t/*=====\n\t\tisLeft: function(){\n\t\t\t// summary:\n\t\t\t//\t\tTest an event object (from a mousedown event) to see if the left button was pressed.\n\t\t},\n\t\t=====*/\n\n\t\tisMiddle: mouseButtons.isMiddle,\n\t\t/*=====\n\t\t isMiddle: function(){\n\t\t\t // summary:\n\t\t\t //\t\tTest an event object (from a mousedown event) to see if the middle button was pressed.\n\t\t },\n\t\t =====*/\n\n\t\tisRight: mouseButtons.isRight\n\t\t/*=====\n\t\t , isRight: function(){\n\t\t\t // summary:\n\t\t\t //\t\tTest an event object (from a mousedown event) to see if the right button was pressed.\n\t\t }\n\t\t =====*/\n\t};\n});\n","define([\"./has!dom-addeventlistener?:./aspect\", \"./_base/kernel\", \"./sniff\"], function(aspect, dojo, has){\n\n\t\"use strict\";\n\tif(has(\"dom\")){ // check to make sure we are in a browser, this module should work anywhere\n\t\tvar major = window.ScriptEngineMajorVersion;\n\t\thas.add(\"jscript\", major && (major() + ScriptEngineMinorVersion() / 10));\n\t\thas.add(\"event-orientationchange\", has(\"touch\") && !has(\"android\")); // TODO: how do we detect this?\n\t\thas.add(\"event-stopimmediatepropagation\", window.Event && !!window.Event.prototype && !!window.Event.prototype.stopImmediatePropagation);\n\t\thas.add(\"event-focusin\", function(global, doc, element){\n\t\t\treturn 'onfocusin' in element;\n\t\t});\n\n\t\tif(has(\"touch\")){\n\t\t\thas.add(\"touch-can-modify-event-delegate\", function(){\n\t\t\t\t// This feature test checks whether deleting a property of an event delegate works\n\t\t\t\t// for a touch-enabled device. If it works, event delegation can be used as fallback\n\t\t\t\t// for browsers such as Safari in older iOS where deleting properties of the original\n\t\t\t\t// event does not work.\n\t\t\t\tvar EventDelegate = function(){};\n\t\t\t\tEventDelegate.prototype =\n\t\t\t\t\tdocument.createEvent(\"MouseEvents\"); // original event\n\t\t\t\t// Attempt to modify a property of an event delegate and check if\n\t\t\t\t// it succeeds. Depending on browsers and on whether dojo/on's\n\t\t\t\t// strict mode is stripped in a Dojo build, there are 3 known behaviors:\n\t\t\t\t// it may either succeed, or raise an error, or fail to set the property\n\t\t\t\t// without raising an error.\n\t\t\t\ttry{\n\t\t\t\t\tvar eventDelegate = new EventDelegate;\n\t\t\t\t\teventDelegate.target = null;\n\t\t\t\t\treturn eventDelegate.target === null;\n\t\t\t\t}catch(e){\n\t\t\t\t\treturn false; // cannot use event delegation\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tvar on = function(target, type, listener, dontFix){\n\t\t// summary:\n\t\t//\t\tA function that provides core event listening functionality. With this function\n\t\t//\t\tyou can provide a target, event type, and listener to be notified of\n\t\t//\t\tfuture matching events that are fired.\n\t\t// target: Element|Object\n\t\t//\t\tThis is the target object or DOM element that to receive events from\n\t\t// type: String|Function\n\t\t//\t\tThis is the name of the event to listen for or an extension event type.\n\t\t// listener: Function\n\t\t//\t\tThis is the function that should be called when the event fires.\n\t\t// returns: Object\n\t\t//\t\tAn object with a remove() method that can be used to stop listening for this\n\t\t//\t\tevent.\n\t\t// description:\n\t\t//\t\tTo listen for \"click\" events on a button node, we can do:\n\t\t//\t\t|\tdefine([\"dojo/on\"], function(on){\n\t\t//\t\t|\t\ton(button, \"click\", clickHandler);\n\t\t//\t\t|\t\t...\n\t\t//\t\tEvented JavaScript objects can also have their own events.\n\t\t//\t\t|\tvar obj = new Evented;\n\t\t//\t\t|\ton(obj, \"foo\", fooHandler);\n\t\t//\t\tAnd then we could publish a \"foo\" event:\n\t\t//\t\t|\ton.emit(obj, \"foo\", {key: \"value\"});\n\t\t//\t\tWe can use extension events as well. For example, you could listen for a tap gesture:\n\t\t//\t\t|\tdefine([\"dojo/on\", \"dojo/gesture/tap\", function(on, tap){\n\t\t//\t\t|\t\ton(button, tap, tapHandler);\n\t\t//\t\t|\t\t...\n\t\t//\t\twhich would trigger fooHandler. Note that for a simple object this is equivalent to calling:\n\t\t//\t\t|\tobj.onfoo({key:\"value\"});\n\t\t//\t\tIf you use on.emit on a DOM node, it will use native event dispatching when possible.\n\n\t\tif(typeof target.on == \"function\" && typeof type != \"function\" && !target.nodeType){\n\t\t\t// delegate to the target's on() method, so it can handle it's own listening if it wants (unless it\n\t\t\t// is DOM node and we may be dealing with jQuery or Prototype's incompatible addition to the\n\t\t\t// Element prototype\n\t\t\treturn target.on(type, listener);\n\t\t}\n\t\t// delegate to main listener code\n\t\treturn on.parse(target, type, listener, addListener, dontFix, this);\n\t};\n\ton.pausable = function(target, type, listener, dontFix){\n\t\t// summary:\n\t\t//\t\tThis function acts the same as on(), but with pausable functionality. The\n\t\t//\t\treturned signal object has pause() and resume() functions. Calling the\n\t\t//\t\tpause() method will cause the listener to not be called for future events. Calling the\n\t\t//\t\tresume() method will cause the listener to again be called for future events.\n\t\tvar paused;\n\t\tvar signal = on(target, type, function(){\n\t\t\tif(!paused){\n\t\t\t\treturn listener.apply(this, arguments);\n\t\t\t}\n\t\t}, dontFix);\n\t\tsignal.pause = function(){\n\t\t\tpaused = true;\n\t\t};\n\t\tsignal.resume = function(){\n\t\t\tpaused = false;\n\t\t};\n\t\treturn signal;\n\t};\n\ton.once = function(target, type, listener, dontFix){\n\t\t// summary:\n\t\t//\t\tThis function acts the same as on(), but will only call the listener once. The\n\t\t//\t\tlistener will be called for the first\n\t\t//\t\tevent that takes place and then listener will automatically be removed.\n\t\tvar signal = on(target, type, function(){\n\t\t\t// remove this listener\n\t\t\tsignal.remove();\n\t\t\t// proceed to call the listener\n\t\t\treturn listener.apply(this, arguments);\n\t\t});\n\t\treturn signal;\n\t};\n\ton.parse = function(target, type, listener, addListener, dontFix, matchesTarget){\n\t\tvar events;\n\t\tif(type.call){\n\t\t\t// event handler function\n\t\t\t// on(node, touch.press, touchListener);\n\t\t\treturn type.call(matchesTarget, target, listener);\n\t\t}\n\n\t\tif(type instanceof Array){\n\t\t\t// allow an array of event names (or event handler functions)\n\t\t\tevents = type;\n\t\t}else if(type.indexOf(\",\") > -1){\n\t\t\t// we allow comma delimited event names, so you can register for multiple events at once\n\t\t\tevents = type.split(/\\s*,\\s*/);\n\t\t}\n\t\tif(events){\n\t\t\tvar handles = [];\n\t\t\tvar i = 0;\n\t\t\tvar eventName;\n\t\t\twhile(eventName = events[i++]){ // intentional assignment\n\t\t\t\thandles.push(on.parse(target, eventName, listener, addListener, dontFix, matchesTarget));\n\t\t\t}\n\t\t\thandles.remove = function(){\n\t\t\t\tfor(var i = 0; i < handles.length; i++){\n\t\t\t\t\thandles[i].remove();\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn handles;\n\t\t}\n\t\treturn addListener(target, type, listener, dontFix, matchesTarget);\n\t};\n\tvar touchEvents = /^touch/;\n\tfunction addListener(target, type, listener, dontFix, matchesTarget){\n\t\t// event delegation:\n\t\tvar selector = type.match(/(.*):(.*)/);\n\t\t// if we have a selector:event, the last one is interpreted as an event, and we use event delegation\n\t\tif(selector){\n\t\t\ttype = selector[2];\n\t\t\tselector = selector[1];\n\t\t\t// create the extension event for selectors and directly call it\n\t\t\treturn on.selector(selector, type).call(matchesTarget, target, listener);\n\t\t}\n\t\t// test to see if it a touch event right now, so we don't have to do it every time it fires\n\t\tif(has(\"touch\")){\n\t\t\tif(touchEvents.test(type)){\n\t\t\t\t// touch event, fix it\n\t\t\t\tlistener = fixTouchListener(listener);\n\t\t\t}\n\t\t\tif(!has(\"event-orientationchange\") && (type == \"orientationchange\")){\n\t\t\t\t//\"orientationchange\" not supported <= Android 2.1,\n\t\t\t\t//but works through \"resize\" on window\n\t\t\t\ttype = \"resize\";\n\t\t\t\ttarget = window;\n\t\t\t\tlistener = fixTouchListener(listener);\n\t\t\t}\n\t\t}\n\t\tif(addStopImmediate){\n\t\t\t// add stopImmediatePropagation if it doesn't exist\n\t\t\tlistener = addStopImmediate(listener);\n\t\t}\n\t\t// normal path, the target is |this|\n\t\tif(target.addEventListener){\n\t\t\t// the target has addEventListener, which should be used if available (might or might not be a node, non-nodes can implement this method as well)\n\t\t\t// check for capture conversions\n\t\t\tvar capture = type in captures,\n\t\t\t\tadjustedType = capture ? captures[type] : type;\n\t\t\ttarget.addEventListener(adjustedType, listener, capture);\n\t\t\t// create and return the signal\n\t\t\treturn {\n\t\t\t\tremove: function(){\n\t\t\t\t\ttarget.removeEventListener(adjustedType, listener, capture);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\ttype = \"on\" + type;\n\t\tif(fixAttach && target.attachEvent){\n\t\t\treturn fixAttach(target, type, listener);\n\t\t}\n\t\tthrow new Error(\"Target must be an event emitter\");\n\t}\n\ton.matches = function(node, selector, context, children, matchesTarget) {\n\t\t// summary:\n\t\t//\t\tCheck if a node match the current selector within the constraint of a context\n\t\t// node: DOMNode\n\t\t//\t\tThe node that originate the event\n\t\t// selector: String\n\t\t//\t\tThe selector to check against\n\t\t// context: DOMNode\n\t\t//\t\tThe context to search in.\n\t\t// children: Boolean\n\t\t//\t\tIndicates if children elements of the selector should be allowed. This defaults to\n\t\t//\t\ttrue\n\t\t// matchesTarget: Object|dojo/query?\n\t\t//\t\tAn object with a property \"matches\" as a function. Default is dojo/query.\n\t\t//\t\tMatching DOMNodes will be done against this function\n\t\t//\t\tThe function must return a Boolean.\n\t\t//\t\tIt will have 3 arguments: \"node\", \"selector\" and \"context\"\n\t\t//\t\tTrue is expected if \"node\" is matching the current \"selector\" in the passed \"context\"\n\t\t// returns: DOMNode?\n\t\t//\t\tThe matching node, if any. Else you get false\n\n\t\t// see if we have a valid matchesTarget or default to dojo/query\n\t\tmatchesTarget = matchesTarget && (typeof matchesTarget.matches == \"function\") ? matchesTarget : dojo.query;\n\t\tchildren = children !== false;\n\t\t// there is a selector, so make sure it matches\n\t\tif(node.nodeType != 1){\n\t\t\t// text node will fail in native match selector\n\t\t\tnode = node.parentNode;\n\t\t}\n\t\twhile(!matchesTarget.matches(node, selector, context)){\n\t\t\tif(node == context || children === false || !(node = node.parentNode) || node.nodeType != 1){ // intentional assignment\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn node;\n\t};\n\ton.selector = function(selector, eventType, children){\n\t\t// summary:\n\t\t//\t\tCreates a new extension event with event delegation. This is based on\n\t\t//\t\tthe provided event type (can be extension event) that\n\t\t//\t\tonly calls the listener when the CSS selector matches the target of the event.\n\t\t//\n\t\t//\t\tThe application must require() an appropriate level of dojo/query to handle the selector.\n\t\t// selector:\n\t\t//\t\tThe CSS selector to use for filter events and determine the |this| of the event listener.\n\t\t// eventType:\n\t\t//\t\tThe event to listen for\n\t\t// children:\n\t\t//\t\tIndicates if children elements of the selector should be allowed. This defaults to\n\t\t//\t\ttrue\n\t\t// example:\n\t\t// |\trequire([\"dojo/on\", \"dojo/mouse\", \"dojo/query!css2\"], function(on, mouse){\n\t\t// |\t\ton(node, on.selector(\".my-class\", mouse.enter), handlerForMyHover);\n\t\treturn function(target, listener){\n\t\t\t// if the selector is function, use it to select the node, otherwise use the matches method\n\t\t\tvar matchesTarget = typeof selector == \"function\" ? {matches: selector} : this,\n\t\t\t\tbubble = eventType.bubble;\n\t\t\tfunction select(eventTarget){\n\t\t\t\treturn on.matches(eventTarget, selector, target, children, matchesTarget);\n\t\t\t}\n\t\t\tif(bubble){\n\t\t\t\t// the event type doesn't naturally bubble, but has a bubbling form, use that, and give it the selector so it can perform the select itself\n\t\t\t\treturn on(target, bubble(select), listener);\n\t\t\t}\n\t\t\t// standard event delegation\n\t\t\treturn on(target, eventType, function(event){\n\t\t\t\t// call select to see if we match\n\t\t\t\tvar eventTarget = select(event.target);\n\t\t\t\t// if it matches we call the listener\n\t\t\t\tif (eventTarget) {\n\t\t\t\t\t// We save the matching target into the event, so it can be accessed even when hitching (see #18355)\n\t\t\t\t\tevent.selectorTarget = eventTarget;\n\t\t\t\t\treturn listener.call(eventTarget, event);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n\n\tfunction syntheticPreventDefault(){\n\t\tthis.cancelable = false;\n\t\tthis.defaultPrevented = true;\n\t}\n\tfunction syntheticStopPropagation(){\n\t\tthis.bubbles = false;\n\t}\n\tvar slice = [].slice,\n\t\tsyntheticDispatch = on.emit = function(target, type, event){\n\t\t// summary:\n\t\t//\t\tFires an event on the target object.\n\t\t// target:\n\t\t//\t\tThe target object to fire the event on. This can be a DOM element or a plain\n\t\t//\t\tJS object. If the target is a DOM element, native event emitting mechanisms\n\t\t//\t\tare used when possible.\n\t\t// type:\n\t\t//\t\tThe event type name. You can emulate standard native events like \"click\" and\n\t\t//\t\t\"mouseover\" or create custom events like \"open\" or \"finish\".\n\t\t// event:\n\t\t//\t\tAn object that provides the properties for the event. See https://developer.mozilla.org/en/DOM/event.initEvent\n\t\t//\t\tfor some of the properties. These properties are copied to the event object.\n\t\t//\t\tOf particular importance are the cancelable and bubbles properties. The\n\t\t//\t\tcancelable property indicates whether or not the event has a default action\n\t\t//\t\tthat can be cancelled. The event is cancelled by calling preventDefault() on\n\t\t//\t\tthe event object. The bubbles property indicates whether or not the\n\t\t//\t\tevent will bubble up the DOM tree. If bubbles is true, the event will be called\n\t\t//\t\ton the target and then each parent successively until the top of the tree\n\t\t//\t\tis reached or stopPropagation() is called. Both bubbles and cancelable\n\t\t//\t\tdefault to false.\n\t\t// returns:\n\t\t//\t\tIf the event is cancelable and the event is not cancelled,\n\t\t//\t\temit will return true. If the event is cancelable and the event is cancelled,\n\t\t//\t\temit will return false.\n\t\t// details:\n\t\t//\t\tNote that this is designed to emit events for listeners registered through\n\t\t//\t\tdojo/on. It should actually work with any event listener except those\n\t\t//\t\tadded through IE's attachEvent (IE8 and below's non-W3C event emitting\n\t\t//\t\tdoesn't support custom event types). It should work with all events registered\n\t\t//\t\tthrough dojo/on. Also note that the emit method does do any default\n\t\t//\t\taction, it only returns a value to indicate if the default action should take\n\t\t//\t\tplace. For example, emitting a keypress event would not cause a character\n\t\t//\t\tto appear in a textbox.\n\t\t// example:\n\t\t//\t\tTo fire our own click event\n\t\t//\t|\trequire([\"dojo/on\", \"dojo/dom\"\n\t\t//\t|\t], function(on, dom){\n\t\t//\t|\t\ton.emit(dom.byId(\"button\"), \"click\", {\n\t\t//\t|\t\t\tcancelable: true,\n\t\t//\t|\t\t\tbubbles: true,\n\t\t//\t|\t\t\tscreenX: 33,\n\t\t//\t|\t\t\tscreenY: 44\n\t\t//\t|\t\t});\n\t\t//\t\tWe can also fire our own custom events:\n\t\t//\t|\t\ton.emit(dom.byId(\"slider\"), \"slide\", {\n\t\t//\t|\t\t\tcancelable: true,\n\t\t//\t|\t\t\tbubbles: true,\n\t\t//\t|\t\t\tdirection: \"left-to-right\"\n\t\t//\t|\t\t});\n\t\t//\t|\t});\n\t\tvar args = slice.call(arguments, 2);\n\t\tvar method = \"on\" + type;\n\t\tif(\"parentNode\" in target){\n\t\t\t// node (or node-like), create event controller methods\n\t\t\tvar newEvent = args[0] = {};\n\t\t\tfor(var i in event){\n\t\t\t\tnewEvent[i] = event[i];\n\t\t\t}\n\t\t\tnewEvent.preventDefault = syntheticPreventDefault;\n\t\t\tnewEvent.stopPropagation = syntheticStopPropagation;\n\t\t\tnewEvent.target = target;\n\t\t\tnewEvent.type = type;\n\t\t\tevent = newEvent;\n\t\t}\n\t\tdo{\n\t\t\t// call any node which has a handler (note that ideally we would try/catch to simulate normal event propagation but that causes too much pain for debugging)\n\t\t\ttarget[method] && target[method].apply(target, args);\n\t\t\t// and then continue up the parent node chain if it is still bubbling (if started as bubbles and stopPropagation hasn't been called)\n\t\t}while(event && event.bubbles && (target = target.parentNode));\n\t\treturn event && event.cancelable && event; // if it is still true (was cancelable and was cancelled), return the event to indicate default action should happen\n\t};\n\tvar captures = has(\"event-focusin\") ? {} : {focusin: \"focus\", focusout: \"blur\"};\n\tif(!has(\"event-stopimmediatepropagation\")){\n\t\tvar stopImmediatePropagation =function(){\n\t\t\tthis.immediatelyStopped = true;\n\t\t\tthis.modified = true; // mark it as modified so the event will be cached in IE\n\t\t};\n\t\tvar addStopImmediate = function(listener){\n\t\t\treturn function(event){\n\t\t\t\tif(!event.immediatelyStopped){// check to make sure it hasn't been stopped immediately\n\t\t\t\t\tevent.stopImmediatePropagation = stopImmediatePropagation;\n\t\t\t\t\treturn listener.apply(this, arguments);\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t}\n\tif(has(\"dom-addeventlistener\")){\n\t\t// emitter that works with native event handling\n\t\ton.emit = function(target, type, event){\n\t\t\tif(target.dispatchEvent && document.createEvent){\n\t\t\t\t// use the native event emitting mechanism if it is available on the target object\n\t\t\t\t// create a generic event\n\t\t\t\t// we could create branch into the different types of event constructors, but\n\t\t\t\t// that would be a lot of extra code, with little benefit that I can see, seems\n\t\t\t\t// best to use the generic constructor and copy properties over, making it\n\t\t\t\t// easy to have events look like the ones created with specific initializers\n\t\t\t\tvar ownerDocument = target.ownerDocument || document;\n\t\t\t\tvar nativeEvent = ownerDocument.createEvent(\"HTMLEvents\");\n\t\t\t\tnativeEvent.initEvent(type, !!event.bubbles, !!event.cancelable);\n\t\t\t\t// and copy all our properties over\n\t\t\t\tfor(var i in event){\n\t\t\t\t\tif(!(i in nativeEvent)){\n\t\t\t\t\t\tnativeEvent[i] = event[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn target.dispatchEvent(nativeEvent) && nativeEvent;\n\t\t\t}\n\t\t\treturn syntheticDispatch.apply(on, arguments); // emit for a non-node\n\t\t};\n\t}else{\n\t\t// no addEventListener, basically old IE event normalization\n\t\ton._fixEvent = function(evt, sender){\n\t\t\t// summary:\n\t\t\t//\t\tnormalizes properties on the event object including event\n\t\t\t//\t\tbubbling methods, keystroke normalization, and x/y positions\n\t\t\t// evt:\n\t\t\t//\t\tnative event object\n\t\t\t// sender:\n\t\t\t//\t\tnode to treat as \"currentTarget\"\n\t\t\tif(!evt){\n\t\t\t\tvar w = sender && (sender.ownerDocument || sender.document || sender).parentWindow || window;\n\t\t\t\tevt = w.event;\n\t\t\t}\n\t\t\tif(!evt){return evt;}\n\t\t\ttry{\n\t\t\t\tif(lastEvent && evt.type == lastEvent.type && evt.srcElement == lastEvent.target){\n\t\t\t\t\t// should be same event, reuse event object (so it can be augmented);\n\t\t\t\t\t// accessing evt.srcElement rather than evt.target since evt.target not set on IE until fixup below\n\t\t\t\t\tevt = lastEvent;\n\t\t\t\t}\n\t\t\t}catch(e){\n\t\t\t\t// will occur on IE on lastEvent.type reference if lastEvent points to a previous event that already\n\t\t\t\t// finished bubbling, but the setTimeout() to clear lastEvent hasn't fired yet\n\t\t\t}\n\t\t\tif(!evt.target){ // check to see if it has been fixed yet\n\t\t\t\tevt.target = evt.srcElement;\n\t\t\t\tevt.currentTarget = (sender || evt.srcElement);\n\t\t\t\tif(evt.type == \"mouseover\"){\n\t\t\t\t\tevt.relatedTarget = evt.fromElement;\n\t\t\t\t}\n\t\t\t\tif(evt.type == \"mouseout\"){\n\t\t\t\t\tevt.relatedTarget = evt.toElement;\n\t\t\t\t}\n\t\t\t\tif(!evt.stopPropagation){\n\t\t\t\t\tevt.stopPropagation = stopPropagation;\n\t\t\t\t\tevt.preventDefault = preventDefault;\n\t\t\t\t}\n\t\t\t\tswitch(evt.type){\n\t\t\t\t\tcase \"keypress\":\n\t\t\t\t\t\tvar c = (\"charCode\" in evt ? evt.charCode : evt.keyCode);\n\t\t\t\t\t\tif (c==10){\n\t\t\t\t\t\t\t// CTRL-ENTER is CTRL-ASCII(10) on IE, but CTRL-ENTER on Mozilla\n\t\t\t\t\t\t\tc=0;\n\t\t\t\t\t\t\tevt.keyCode = 13;\n\t\t\t\t\t\t}else if(c==13||c==27){\n\t\t\t\t\t\t\tc=0; // Mozilla considers ENTER and ESC non-printable\n\t\t\t\t\t\t}else if(c==3){\n\t\t\t\t\t\t\tc=99; // Mozilla maps CTRL-BREAK to CTRL-c\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Mozilla sets keyCode to 0 when there is a charCode\n\t\t\t\t\t\t// but that stops the event on IE.\n\t\t\t\t\t\tevt.charCode = c;\n\t\t\t\t\t\t_setKeyChar(evt);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn evt;\n\t\t};\n\t\tvar lastEvent, IESignal = function(handle){\n\t\t\tthis.handle = handle;\n\t\t};\n\t\tIESignal.prototype.remove = function(){\n\t\t\tdelete _dojoIEListeners_[this.handle];\n\t\t};\n\t\tvar fixListener = function(listener){\n\t\t\t// this is a minimal function for closing on the previous listener with as few as variables as possible\n\t\t\treturn function(evt){\n\t\t\t\tevt = on._fixEvent(evt, this);\n\t\t\t\tvar result = listener.call(this, evt);\n\t\t\t\tif(evt.modified){\n\t\t\t\t\t// cache the last event and reuse it if we can\n\t\t\t\t\tif(!lastEvent){\n\t\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\tlastEvent = null;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tlastEvent = evt;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t};\n\t\t};\n\t\tvar fixAttach = function(target, type, listener){\n\t\t\tlistener = fixListener(listener);\n\t\t\tif(((target.ownerDocument ? target.ownerDocument.parentWindow : target.parentWindow || target.window || window) != top ||\n\t\t\t\t\t\thas(\"jscript\") < 5.8) &&\n\t\t\t\t\t!has(\"config-_allow_leaks\")){\n\t\t\t\t// IE will leak memory on certain handlers in frames (IE8 and earlier) and in unattached DOM nodes for JScript 5.7 and below.\n\t\t\t\t// Here we use global redirection to solve the memory leaks\n\t\t\t\tif(typeof _dojoIEListeners_ == \"undefined\"){\n\t\t\t\t\t_dojoIEListeners_ = [];\n\t\t\t\t}\n\t\t\t\tvar emitter = target[type];\n\t\t\t\tif(!emitter || !emitter.listeners){\n\t\t\t\t\tvar oldListener = emitter;\n\t\t\t\t\temitter = Function('event', 'var callee = arguments.callee; for(var i = 0; i<callee.listeners.length; i++){var listener = _dojoIEListeners_[callee.listeners[i]]; if(listener){listener.call(this,event);}}');\n\t\t\t\t\temitter.listeners = [];\n\t\t\t\t\ttarget[type] = emitter;\n\t\t\t\t\temitter.global = this;\n\t\t\t\t\tif(oldListener){\n\t\t\t\t\t\temitter.listeners.push(_dojoIEListeners_.push(oldListener) - 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar handle;\n\t\t\t\temitter.listeners.push(handle = (emitter.global._dojoIEListeners_.push(listener) - 1));\n\t\t\t\treturn new IESignal(handle);\n\t\t\t}\n\t\t\treturn aspect.after(target, type, listener, true);\n\t\t};\n\n\t\tvar _setKeyChar = function(evt){\n\t\t\tevt.keyChar = evt.charCode ? String.fromCharCode(evt.charCode) : '';\n\t\t\tevt.charOrCode = evt.keyChar || evt.keyCode;\t// TODO: remove for 2.0\n\t\t};\n\t\t// Called in Event scope\n\t\tvar stopPropagation = function(){\n\t\t\tthis.cancelBubble = true;\n\t\t};\n\t\tvar preventDefault = on._preventDefault = function(){\n\t\t\t// Setting keyCode to 0 is the only way to prevent certain keypresses (namely\n\t\t\t// ctrl-combinations that correspond to menu accelerator keys).\n\t\t\t// Otoh, it prevents upstream listeners from getting this information\n\t\t\t// Try to split the difference here by clobbering keyCode only for ctrl\n\t\t\t// combinations. If you still need to access the key upstream, bubbledKeyCode is\n\t\t\t// provided as a workaround.\n\t\t\tthis.bubbledKeyCode = this.keyCode;\n\t\t\tif(this.ctrlKey){\n\t\t\t\ttry{\n\t\t\t\t\t// squelch errors when keyCode is read-only\n\t\t\t\t\t// (e.g. if keyCode is ctrl or shift)\n\t\t\t\t\tthis.keyCode = 0;\n\t\t\t\t}catch(e){\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.defaultPrevented = true;\n\t\t\tthis.returnValue = false;\n\t\t\tthis.modified = true; // mark it as modified (for defaultPrevented flag) so the event will be cached in IE\n\t\t};\n\t}\n\tif(has(\"touch\")){\n\t\tvar EventDelegate = function(){};\n\t\tvar windowOrientation = window.orientation;\n\t\tvar fixTouchListener = function(listener){\n\t\t\treturn function(originalEvent){\n\t\t\t\t//Event normalization(for ontouchxxx and resize):\n\t\t\t\t//1.incorrect e.pageX|pageY in iOS\n\t\t\t\t//2.there are no \"e.rotation\", \"e.scale\" and \"onorientationchange\" in Android\n\t\t\t\t//3.More TBD e.g. force | screenX | screenX | clientX | clientY | radiusX | radiusY\n\n\t\t\t\t// see if it has already been corrected\n\t\t\t\tvar event = originalEvent.corrected;\n\t\t\t\tif(!event){\n\t\t\t\t\tvar type = originalEvent.type;\n\t\t\t\t\ttry{\n\t\t\t\t\t\tdelete originalEvent.type; // on some JS engines (android), deleting properties makes them mutable\n\t\t\t\t\t}catch(e){}\n\t\t\t\t\tif(originalEvent.type){\n\t\t\t\t\t\t// Deleting the property of the original event did not work (this is the case of\n\t\t\t\t\t\t// browsers such as older Safari iOS), hence fallback:\n\t\t\t\t\t\tif(has(\"touch-can-modify-event-delegate\")){\n\t\t\t\t\t\t\t// If deleting properties of delegated event works, use event delegation:\n\t\t\t\t\t\t\tEventDelegate.prototype = originalEvent;\n\t\t\t\t\t\t\tevent = new EventDelegate;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t// Otherwise last fallback: other browsers, such as mobile Firefox, do not like\n\t\t\t\t\t\t\t// delegated properties, so we have to copy\n\t\t\t\t\t\t\tevent = {};\n\t\t\t\t\t\t\tfor(var name in originalEvent){\n\t\t\t\t\t\t\t\tevent[name] = originalEvent[name];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// have to delegate methods to make them work\n\t\t\t\t\t\tevent.preventDefault = function(){\n\t\t\t\t\t\t\toriginalEvent.preventDefault();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tevent.stopPropagation = function(){\n\t\t\t\t\t\t\toriginalEvent.stopPropagation();\n\t\t\t\t\t\t};\n\t\t\t\t\t}else{\n\t\t\t\t\t\t// deletion worked, use property as is\n\t\t\t\t\t\tevent = originalEvent;\n\t\t\t\t\t\tevent.type = type;\n\t\t\t\t\t}\n\t\t\t\t\toriginalEvent.corrected = event;\n\t\t\t\t\tif(type == 'resize'){\n\t\t\t\t\t\tif(windowOrientation == window.orientation){\n\t\t\t\t\t\t\treturn null;//double tap causes an unexpected 'resize' in Android\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindowOrientation = window.orientation;\n\t\t\t\t\t\tevent.type = \"orientationchange\";\n\t\t\t\t\t\treturn listener.call(this, event);\n\t\t\t\t\t}\n\t\t\t\t\t// We use the original event and augment, rather than doing an expensive mixin operation\n\t\t\t\t\tif(!(\"rotation\" in event)){ // test to see if it has rotation\n\t\t\t\t\t\tevent.rotation = 0;\n\t\t\t\t\t\tevent.scale = 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (window.TouchEvent && originalEvent instanceof TouchEvent) {\n\t\t\t\t\t\t// use event.changedTouches[0].pageX|pageY|screenX|screenY|clientX|clientY|target\n\t\t\t\t\t\tvar firstChangeTouch = event.changedTouches[0];\n\t\t\t\t\t\tfor(var i in firstChangeTouch){ // use for-in, we don't need to have dependency on dojo/_base/lang here\n\t\t\t\t\t\t\tdelete event[i]; // delete it first to make it mutable\n\t\t\t\t\t\t\tevent[i] = firstChangeTouch[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn listener.call(this, event);\n\t\t\t};\n\t\t};\n\t}\n\treturn on;\n});\n","define([\n\t\"../_base/lang\"\n], function(lang){\n\t\"use strict\";\n\n\t// module:\n\t//\t\tdojo/promise/Promise\n\n\tfunction throwAbstract(){\n\t\tthrow new TypeError(\"abstract\");\n\t}\n\n\treturn lang.extend(function Promise(){\n\t\t// summary:\n\t\t//\t\tThe public interface to a deferred.\n\t\t// description:\n\t\t//\t\tThe public interface to a deferred. All promises in Dojo are\n\t\t//\t\tinstances of this class.\n\t}, {\n\t\tthen: function(callback, errback, progback){\n\t\t\t// summary:\n\t\t\t//\t\tAdd new callbacks to the promise.\n\t\t\t// description:\n\t\t\t//\t\tAdd new callbacks to the deferred. Callbacks can be added\n\t\t\t//\t\tbefore or after the deferred is fulfilled.\n\t\t\t// callback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise is resolved.\n\t\t\t//\t\tReceives the resolution value.\n\t\t\t// errback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise is rejected.\n\t\t\t//\t\tReceives the rejection error.\n\t\t\t// progback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise emits a progress\n\t\t\t//\t\tupdate. Receives the progress update.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns a new promise for the result of the callback(s).\n\t\t\t//\t\tThis can be used for chaining many asynchronous operations.\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\tcancel: function(reason, strict){\n\t\t\t// summary:\n\t\t\t//\t\tInform the deferred it may cancel its asynchronous operation.\n\t\t\t// description:\n\t\t\t//\t\tInform the deferred it may cancel its asynchronous operation.\n\t\t\t//\t\tThe deferred's (optional) canceler is invoked and the\n\t\t\t//\t\tdeferred will be left in a rejected state. Can affect other\n\t\t\t//\t\tpromises that originate with the same deferred.\n\t\t\t// reason: any\n\t\t\t//\t\tA message that may be sent to the deferred's canceler,\n\t\t\t//\t\texplaining why it's being canceled.\n\t\t\t// strict: Boolean?\n\t\t\t//\t\tIf strict, will throw an error if the deferred has already\n\t\t\t//\t\tbeen fulfilled and consequently cannot be canceled.\n\t\t\t// returns: any\n\t\t\t//\t\tReturns the rejection reason if the deferred was canceled\n\t\t\t//\t\tnormally.\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\tisResolved: function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the promise has been resolved.\n\t\t\t// returns: Boolean\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\tisRejected: function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the promise has been rejected.\n\t\t\t// returns: Boolean\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\tisFulfilled: function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the promise has been resolved or rejected.\n\t\t\t// returns: Boolean\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\tisCanceled: function(){\n\t\t\t// summary:\n\t\t\t//\t\tChecks whether the promise has been canceled.\n\t\t\t// returns: Boolean\n\n\t\t\tthrowAbstract();\n\t\t},\n\n\t\talways: function(callbackOrErrback){\n\t\t\t// summary:\n\t\t\t//\t\tAdd a callback to be invoked when the promise is resolved\n\t\t\t//\t\tor rejected.\n\t\t\t// callbackOrErrback: Function?\n\t\t\t//\t\tA function that is used both as a callback and errback.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns a new promise for the result of the callback/errback.\n\n\t\t\treturn this.then(callbackOrErrback, callbackOrErrback);\n\t\t},\n\n\t\t\"catch\": function(errback){\n\t\t // summary:\n\t\t //\t\tAdd new errbacks to the promise. Follows ECMA specification naming.\n\t\t // errback: Function?\n\t\t //\t\tCallback to be invoked when the promise is rejected.\n\t\t // returns: dojo/promise/Promise\n\t\t //\t\tReturns a new promise for the result of the errback.\n\n\t\t return this.then(null, errback);\n\t\t},\n\n\t\totherwise: function(errback){\n\t\t\t// summary:\n\t\t\t//\t\tAdd new errbacks to the promise.\n\t\t\t// errback: Function?\n\t\t\t//\t\tCallback to be invoked when the promise is rejected.\n\t\t\t// returns: dojo/promise/Promise\n\t\t\t//\t\tReturns a new promise for the result of the errback.\n\n\t\t\treturn this.then(null, errback);\n\t\t},\n\n\t\ttrace: function(){\n\t\t\treturn this;\n\t\t},\n\n\t\ttraceRejected: function(){\n\t\t\treturn this;\n\t\t},\n\n\t\ttoString: function(){\n\t\t\t// returns: string\n\t\t\t//\t\tReturns `[object Promise]`.\n\n\t\t\treturn \"[object Promise]\";\n\t\t}\n\t});\n});\n","define([\n\t\"../_base/array\",\n\t\"../_base/lang\",\n\t\"../Deferred\",\n\t\"../when\"\n], function(array, lang, Deferred, when){\n\t\"use strict\";\n\n\t// module:\n\t//\t\tdojo/promise/all\n\n\tvar some = array.some;\n\n\treturn function all(objectOrArray){\n\t\t// summary:\n\t\t//\t\tTakes multiple promises and returns a new promise that is fulfilled\n\t\t//\t\twhen all promises have been resolved or one has been rejected.\n\t\t// description:\n\t\t//\t\tTakes multiple promises and returns a new promise that is fulfilled\n\t\t//\t\twhen all promises have been resolved or one has been rejected. If one of\n\t\t//\t\tthe promises is rejected, the returned promise is also rejected. Canceling\n\t\t//\t\tthe returned promise will *not* cancel any passed promises.\n\t\t// objectOrArray: Object|Array?\n\t\t//\t\tThe promise will be fulfilled with a list of results if invoked with an\n\t\t//\t\tarray, or an object of results when passed an object (using the same\n\t\t//\t\tkeys). If passed neither an object or array it is resolved with an\n\t\t//\t\tundefined value.\n\t\t// returns: dojo/promise/Promise\n\n\t\tvar object, array;\n\t\tif(lang.isArray(objectOrArray)){\n\t\t\tarray = objectOrArray;\n\t\t}else if(objectOrArray && typeof objectOrArray === \"object\"){\n\t\t\tobject = objectOrArray;\n\t\t}\n\n\t\tvar results;\n\t\tvar keyLookup = [];\n\t\tif(object){\n\t\t\tarray = [];\n\t\t\tfor(var key in object){\n\t\t\t\tif(Object.hasOwnProperty.call(object, key)){\n\t\t\t\t\tkeyLookup.push(key);\n\t\t\t\t\tarray.push(object[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tresults = {};\n\t\t}else if(array){\n\t\t\tresults = [];\n\t\t}\n\n\t\tif(!array || !array.length){\n\t\t\treturn new Deferred().resolve(results);\n\t\t}\n\n\t\tvar deferred = new Deferred();\n\t\tdeferred.promise.always(function(){\n\t\t\tresults = keyLookup = null;\n\t\t});\n\t\tvar waiting = array.length;\n\t\tsome(array, function(valueOrPromise, index){\n\t\t\tif(!object){\n\t\t\t\tkeyLookup.push(index);\n\t\t\t}\n\t\t\twhen(valueOrPromise, function(value){\n\t\t\t\tif(!deferred.isFulfilled()){\n\t\t\t\t\tresults[keyLookup[index]] = value;\n\t\t\t\t\tif(--waiting === 0){\n\t\t\t\t\t\tdeferred.resolve(results);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, deferred.reject);\n\t\t\treturn deferred.isFulfilled();\n\t\t});\n\t\treturn deferred.promise;\t// dojo/promise/Promise\n\t};\n});\n","define([\n\t\"./tracer\",\n\t\"../has\",\n\t\"../_base/lang\",\n\t\"../_base/array\"\n], function(tracer, has, lang, arrayUtil){\n\thas.add(\"config-useDeferredInstrumentation\", \"report-unhandled-rejections\");\n\n\tfunction logError(error, rejection, deferred){\n\t\tif(error && error.log === false){\n\t\t\treturn;\n\t\t}\n\t\tvar stack = \"\";\n\t\tif(error && error.stack){\n\t\t\tstack += error.stack;\n\t\t}\n\t\tif(rejection && rejection.stack){\n\t\t\tstack += \"\\n ----------------------------------------\\n rejected\" + rejection.stack.split(\"\\n\").slice(1).join(\"\\n\").replace(/^\\s+/, \" \");\n\t\t}\n\t\tif(deferred && deferred.stack){\n\t\t\tstack += \"\\n ----------------------------------------\\n\" + deferred.stack;\n\t\t}\n\t\tconsole.error(error, stack);\n\t}\n\n\tfunction reportRejections(error, handled, rejection, deferred){\n\t\tif(!handled){\n\t\t\tlogError(error, rejection, deferred);\n\t\t}\n\t}\n\n\tvar errors = [];\n\tvar activeTimeout = false;\n\tvar unhandledWait = 1000;\n\tfunction trackUnhandledRejections(error, handled, rejection, deferred){\n\t\t// try to find the existing tracking object\n\t\tif(!arrayUtil.some(errors, function(obj){\n\t\t\tif(obj.error === error){\n\t\t\t\t// found the tracking object for this error\n\t\t\t\tif(handled){\n\t\t\t\t\t// if handled, update the state\n\t\t\t\t\tobj.handled = true;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t})){\n\t\t\t// no tracking object has been setup, create one\n\t\t\terrors.push({\n\t\t\t\terror: error,\n\t\t\t\trejection: rejection,\n\t\t\t\thandled: handled,\n\t\t\t\tdeferred: deferred,\n\t\t\t\ttimestamp: new Date().getTime()\n\t\t\t});\n\t\t}\n\n\t\tif(!activeTimeout){\n\t\t\tactiveTimeout = setTimeout(logRejected, unhandledWait);\n\t\t}\n\t}\n\n\tfunction logRejected(){\n\t\tvar now = new Date().getTime();\n\t\tvar reportBefore = now - unhandledWait;\n\t\terrors = arrayUtil.filter(errors, function(obj){\n\t\t\t// only report the error if we have waited long enough and\n\t\t\t// it hasn't been handled\n\t\t\tif(obj.timestamp < reportBefore){\n\t\t\t\tif(!obj.handled){\n\t\t\t\t\tlogError(obj.error, obj.rejection, obj.deferred);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif(errors.length){\n\t\t\tactiveTimeout = setTimeout(logRejected, errors[0].timestamp + unhandledWait - now);\n\t\t}else{\n\t\t\tactiveTimeout = false;\n\t\t}\n\t}\n\n\treturn function(Deferred){\n\t\t// summary:\n\t\t//\t\tInitialize instrumentation for the Deferred class.\n\t\t// description:\n\t\t//\t\tInitialize instrumentation for the Deferred class.\n\t\t//\t\tDone automatically by `dojo/Deferred` if the\n\t\t//\t\t`deferredInstrumentation` and `useDeferredInstrumentation`\n\t\t//\t\tconfig options are set.\n\t\t//\n\t\t//\t\tSets up `dojo/promise/tracer` to log to the console.\n\t\t//\n\t\t//\t\tSets up instrumentation of rejected deferreds so unhandled\n\t\t//\t\terrors are logged to the console.\n\n\t\tvar usage = has(\"config-useDeferredInstrumentation\");\n\t\tif(usage){\n\t\t\ttracer.on(\"resolved\", lang.hitch(console, \"log\", \"resolved\"));\n\t\t\ttracer.on(\"rejected\", lang.hitch(console, \"log\", \"rejected\"));\n\t\t\ttracer.on(\"progress\", lang.hitch(console, \"log\", \"progress\"));\n\n\t\t\tvar args = [];\n\t\t\tif(typeof usage === \"string\"){\n\t\t\t\targs = usage.split(\",\");\n\t\t\t\tusage = args.shift();\n\t\t\t}\n\t\t\tif(usage === \"report-rejections\"){\n\t\t\t\tDeferred.instrumentRejected = reportRejections;\n\t\t\t}else if(usage === \"report-unhandled-rejections\" || usage === true || usage === 1){\n\t\t\t\tDeferred.instrumentRejected = trackUnhandledRejections;\n\t\t\t\tunhandledWait = parseInt(args[0], 10) || unhandledWait;\n\t\t\t}else{\n\t\t\t\tthrow new Error(\"Unsupported instrumentation usage <\" + usage + \">\");\n\t\t\t}\n\t\t}\n\t};\n});\n","define([\n\t\"../_base/lang\",\n\t\"./Promise\",\n\t\"../Evented\"\n], function(lang, Promise, Evented){\n\t\"use strict\";\n\n\t// module:\n\t//\t\tdojo/promise/tracer\n\n\t/*=====\n\treturn {\n\t\t// summary:\n\t\t//\t\tTrace promise fulfillment.\n\t\t// description:\n\t\t//\t\tTrace promise fulfillment. Calling `.trace()` or `.traceError()` on a\n\t\t//\t\tpromise enables tracing. Will emit `resolved`, `rejected` or `progress`\n\t\t//\t\tevents.\n\n\t\ton: function(type, listener){\n\t\t\t// summary:\n\t\t\t//\t\tSubscribe to traces.\n\t\t\t// description:\n\t\t\t//\t\tSee `dojo/Evented#on()`.\n\t\t\t// type: String\n\t\t\t//\t\t`resolved`, `rejected`, or `progress`\n\t\t\t// listener: Function\n\t\t\t//\t\tThe listener is passed the traced value and any arguments\n\t\t\t//\t\tthat were used with the `.trace()` call.\n\t\t}\n\t};\n\t=====*/\n\n\tvar evented = new Evented;\n\tvar emit = evented.emit;\n\tevented.emit = null;\n\t// Emit events asynchronously since they should not change the promise state.\n\tfunction emitAsync(args){\n\t\tsetTimeout(function(){\n\t\t\temit.apply(evented, args);\n\t\t}, 0);\n\t}\n\n\tPromise.prototype.trace = function(){\n\t\t// summary:\n\t\t//\t\tTrace the promise.\n\t\t// description:\n\t\t//\t\tTracing allows you to transparently log progress,\n\t\t//\t\tresolution and rejection of promises, without affecting the\n\t\t//\t\tpromise itself. Any arguments passed to `trace()` are\n\t\t//\t\temitted in trace events. See `dojo/promise/tracer` on how\n\t\t//\t\tto handle traces.\n\t\t// returns: dojo/promise/Promise\n\t\t//\t\tThe promise instance `trace()` is called on.\n\n\t\tvar args = lang._toArray(arguments);\n\t\tthis.then(\n\t\t\tfunction(value){ emitAsync([\"resolved\", value].concat(args)); },\n\t\t\tfunction(error){ emitAsync([\"rejected\", error].concat(args)); },\n\t\t\tfunction(update){ emitAsync([\"progress\", update].concat(args)); }\n\t\t);\n\t\treturn this;\n\t};\n\n\tPromise.prototype.traceRejected = function(){\n\t\t// summary:\n\t\t//\t\tTrace rejection of the promise.\n\t\t// description:\n\t\t//\t\tTracing allows you to transparently log progress,\n\t\t//\t\tresolution and rejection of promises, without affecting the\n\t\t//\t\tpromise itself. Any arguments passed to `trace()` are\n\t\t//\t\temitted in trace events. See `dojo/promise/tracer` on how\n\t\t//\t\tto handle traces.\n\t\t// returns: dojo/promise/Promise\n\t\t//\t\tThe promise instance `traceRejected()` is called on.\n\n\t\tvar args = lang._toArray(arguments);\n\t\tthis.otherwise(function(error){\n\t\t\temitAsync([\"rejected\", error].concat(args));\n\t\t});\n\t\treturn this;\n\t};\n\n\treturn evented;\n});\n","define([\n\t'../json',\n\t'../_base/kernel',\n\t'../_base/array',\n\t'../has',\n\t'../has!dom?../selector/_loader' // only included for has() qsa tests\n], function(JSON, kernel, array, has){\n\thas.add('activex', typeof ActiveXObject !== 'undefined');\n\thas.add('dom-parser', function(global){\n\t\treturn 'DOMParser' in global;\n\t});\n\n\tvar handleXML;\n\tif(has('activex')){\n\t\t// GUIDs obtained from http://msdn.microsoft.com/en-us/library/ms757837(VS.85).aspx\n\t\tvar dp = [\n\t\t\t'Msxml2.DOMDocument.6.0',\n\t\t\t'Msxml2.DOMDocument.4.0',\n\t\t\t'MSXML2.DOMDocument.3.0',\n\t\t\t'MSXML.DOMDocument' // 2.0\n\t\t];\n\t\tvar lastParser;\n\n\t\thandleXML = function(response){\n\t\t\tvar result = response.data;\n\t\t\tvar text = response.text;\n\n\t\t\tif(result && has('dom-qsa2.1') && !result.querySelectorAll && has('dom-parser')){\n\t\t\t\t// http://bugs.dojotoolkit.org/ticket/15631\n\t\t\t\t// IE9 supports a CSS3 querySelectorAll implementation, but the DOM implementation\n\t\t\t\t// returned by IE9 xhr.responseXML does not. Manually create the XML DOM to gain\n\t\t\t\t// the fuller-featured implementation and avoid bugs caused by the inconsistency\n\t\t\t\tresult = new DOMParser().parseFromString(text, 'application/xml');\n\t\t\t}\n\n\t\t\tfunction createDocument(p) {\n\t\t\t\t\ttry{\n\t\t\t\t\t\tvar dom = new ActiveXObject(p);\n\t\t\t\t\t\tdom.async = false;\n\t\t\t\t\t\tdom.loadXML(text);\n\t\t\t\t\t\tresult = dom;\n\t\t\t\t\t\tlastParser = p;\n\t\t\t\t\t}catch(e){ return false; }\n\t\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif(!result || !result.documentElement){\n\t\t\t\t// The creation of an ActiveX object is expensive, so we cache the\n\t\t\t\t// parser type to avoid trying all parser types each time we handle a\n\t\t\t\t// document. There is some concern that some parser types might fail\n\t\t\t\t// depending on the document being parsed. If parsing using the cached\n\t\t\t\t// parser type fails, we do the more expensive operation of finding one\n\t\t\t\t// that works for the given document.\n\t\t\t\t// https://bugs.dojotoolkit.org/ticket/15246\n\t\t\t\tif(!lastParser || !createDocument(lastParser)) {\n\t\t\t\t\tarray.some(dp, createDocument);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tvar handleNativeResponse = function(response) {\n\t\tif(!has('native-xhr2-blob') && response.options.handleAs === 'blob' && typeof Blob !== 'undefined'){\n\t\t\treturn new Blob([ response.xhr.response ], { type: response.xhr.getResponseHeader('Content-Type') });\n\t\t}\n\n\t\treturn response.xhr.response;\n\t}\n\n\tvar handlers = {\n\t\t'javascript': function(response){\n\t\t\treturn kernel.eval(response.text || '');\n\t\t},\n\t\t'json': function(response){\n\t\t\treturn JSON.parse(response.text || null);\n\t\t},\n\t\t'xml': handleXML,\n\t\t'blob': handleNativeResponse,\n\t\t'arraybuffer': handleNativeResponse,\n\t\t'document': handleNativeResponse\n\t};\n\n\tfunction handle(response){\n\t\tvar handler = handlers[response.options.handleAs];\n\n\t\tresponse.data = handler ? handler(response) : (response.data || response.text);\n\n\t\treturn response;\n\t}\n\n\thandle.register = function(name, handler){\n\t\thandlers[name] = handler;\n\t};\n\n\treturn handle;\n});\n","define([\n\t'exports',\n\t'../errors/RequestError',\n\t'../errors/CancelError',\n\t'../Deferred',\n\t'../io-query',\n\t'../_base/array',\n\t'../_base/lang',\n\t'../promise/Promise',\n\t'../has'\n], function(exports, RequestError, CancelError, Deferred, ioQuery, array, lang, Promise, has){\n\texports.deepCopy = function deepCopy(target, source){\n\t\tfor(var name in source){\n\t\t\tvar tval = target[name],\n\t\t\t\tsval = source[name];\n\t\t\tif(tval !== sval){\n\t\t\t\tif(tval && typeof tval === 'object' && sval && typeof sval === 'object'){\n\t\t\t\t\tif(sval instanceof Date){\n\t\t\t\t\t\ttarget[name] = new Date(sval);\n\t\t\t\t\t}else{\n\t\t\t\t\t\texports.deepCopy(tval, sval);\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\ttarget[name] = sval;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn target;\n\t};\n\n\texports.deepCreate = function deepCreate(source, properties){\n\t\tproperties = properties || {};\n\t\tvar target = lang.delegate(source),\n\t\t\tname, value;\n\n\t\tfor(name in source){\n\t\t\tvalue = source[name];\n\n\t\t\tif(value && typeof value === 'object'){\n\t\t\t\ttarget[name] = exports.deepCreate(value, properties[name]);\n\t\t\t}\n\t\t}\n\t\treturn exports.deepCopy(target, properties);\n\t};\n\n\tvar freeze = Object.freeze || function(obj){ return obj; };\n\tfunction okHandler(response){\n\t\treturn freeze(response);\n\t}\n\tfunction dataHandler (response) {\n\t\treturn response.data !== undefined ? response.data : response.text;\n\t}\n\n\texports.deferred = function deferred(response, cancel, isValid, isReady, handleResponse, last){\n\t\tvar def = new Deferred(function(reason){\n\t\t\tcancel && cancel(def, response);\n\n\t\t\tif(!reason || !(reason instanceof RequestError) && !(reason instanceof CancelError)){\n\t\t\t\treturn new CancelError('Request canceled', response);\n\t\t\t}\n\t\t\treturn reason;\n\t\t});\n\n\t\tdef.response = response;\n\t\tdef.isValid = isValid;\n\t\tdef.isReady = isReady;\n\t\tdef.handleResponse = handleResponse;\n\n\t\tfunction errHandler(error){\n\t\t\terror.response = response;\n\t\t\tthrow error;\n\t\t}\n\t\tvar responsePromise = def.then(okHandler).otherwise(errHandler);\n\n\t\tif(exports.notify){\n\t\t\tresponsePromise.then(\n\t\t\t\tlang.hitch(exports.notify, 'emit', 'load'),\n\t\t\t\tlang.hitch(exports.notify, 'emit', 'error')\n\t\t\t);\n\t\t}\n\n\t\tvar dataPromise = responsePromise.then(dataHandler);\n\n\t\t// http://bugs.dojotoolkit.org/ticket/16794\n\t\t// The following works around a leak in IE9 through the\n\t\t// prototype using lang.delegate on dataPromise and\n\t\t// assigning the result a property with a reference to\n\t\t// responsePromise.\n\t\tvar promise = new Promise();\n\t\tfor (var prop in dataPromise) {\n\t\t\tif (dataPromise.hasOwnProperty(prop)) {\n\t\t\t\tpromise[prop] = dataPromise[prop];\n\t\t\t}\n\t\t}\n\t\tpromise.response = responsePromise;\n\t\tfreeze(promise);\n\t\t// End leak fix\n\n\n\t\tif(last){\n\t\t\tdef.then(function(response){\n\t\t\t\tlast.call(def, response);\n\t\t\t}, function(error){\n\t\t\t\tlast.call(def, response, error);\n\t\t\t});\n\t\t}\n\n\t\tdef.promise = promise;\n\t\tdef.then = promise.then;\n\n\t\treturn def;\n\t};\n\n\texports.addCommonMethods = function addCommonMethods(provider, methods){\n\t\tarray.forEach(methods||['GET', 'POST', 'PUT', 'DELETE'], function(method){\n\t\t\tprovider[(method === 'DELETE' ? 'DEL' : method).toLowerCase()] = function(url, options){\n\t\t\t\toptions = lang.delegate(options||{});\n\t\t\t\toptions.method = method;\n\t\t\t\treturn provider(url, options);\n\t\t\t};\n\t\t});\n\t};\n\n\texports.parseArgs = function parseArgs(url, options, skipData){\n\t\tvar data = options.data,\n\t\t\tquery = options.query;\n\n\t\tif(data && !skipData){\n\t\t\tif(typeof data === 'object' && (!(has('native-xhr2')) || !(data instanceof ArrayBuffer || data instanceof Blob ))){\n\t\t\t\toptions.data = ioQuery.objectToQuery(data);\n\t\t\t}\n\t\t}\n\n\t\tif(query){\n\t\t\tif(typeof query === 'object'){\n\t\t\t\tquery = ioQuery.objectToQuery(query);\n\t\t\t}\n\t\t\tif(options.preventCache){\n\t\t\t\tquery += (query ? '&' : '') + 'request.preventCache=' + (+(new Date));\n\t\t\t}\n\t\t}else if(options.preventCache){\n\t\t\tquery = 'request.preventCache=' + (+(new Date));\n\t\t}\n\n\t\tif(url && query){\n\t\t\turl += (~url.indexOf('?') ? '&' : '?') + query;\n\t\t}\n\n\t\treturn {\n\t\t\turl: url,\n\t\t\toptions: options,\n\t\t\tgetHeader: function(headerName){ return null; }\n\t\t};\n\t};\n\n\texports.checkStatus = function(stat){\n\t\tstat = stat || 0;\n\t\treturn (stat >= 200 && stat < 300) || // allow any 2XX response code\n\t\t\tstat === 304 || // or, get it out of the cache\n\t\t\tstat === 1223 || // or, Internet Explorer mangled the status code\n\t\t\t!stat; // or, we're Titanium/browser chrome/chrome extension requesting a local file\n\t};\n});\n","define([\n\t'./util',\n\t'../errors/RequestTimeoutError',\n\t'../errors/CancelError',\n\t'../_base/array',\n\t'../has!host-browser?../_base/window:',\n\t'../has!host-browser?dom-addeventlistener?:../on:'\n], function(util, RequestTimeoutError, CancelError, array, win, on){\n\t// avoid setting a timer per request. It degrades performance on IE\n\t// something fierece if we don't use unified loops.\n\tvar _inFlightIntvl = null,\n\t\t_inFlight = [];\n\n\tfunction watchInFlight(){\n\t\t// summary:\n\t\t//\t\tinternal method that checks each inflight XMLHttpRequest to see\n\t\t//\t\tif it has completed or if the timeout situation applies.\n\n\t\tvar now = +(new Date);\n\n\t\t// we need manual loop because we often modify _inFlight (and therefore 'i') while iterating\n\t\tfor(var i = 0, dfd; i < _inFlight.length && (dfd = _inFlight[i]); i++){\n\t\t\tvar response = dfd.response,\n\t\t\t\toptions = response.options;\n\t\t\tif((dfd.isCanceled && dfd.isCanceled()) || (dfd.isValid && !dfd.isValid(response))){\n\t\t\t\t_inFlight.splice(i--, 1);\n\t\t\t\twatch._onAction && watch._onAction();\n\t\t\t}else if(dfd.isReady && dfd.isReady(response)){\n\t\t\t\t_inFlight.splice(i--, 1);\n\t\t\t\tdfd.handleResponse(response);\n\t\t\t\twatch._onAction && watch._onAction();\n\t\t\t}else if(dfd.startTime){\n\t\t\t\t// did we timeout?\n\t\t\t\tif(dfd.startTime + (options.timeout || 0) < now){\n\t\t\t\t\t_inFlight.splice(i--, 1);\n\t\t\t\t\t// Cancel the request so the io module can do appropriate cleanup.\n\t\t\t\t\tdfd.cancel(new RequestTimeoutError('Timeout exceeded', response));\n\t\t\t\t\twatch._onAction && watch._onAction();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twatch._onInFlight && watch._onInFlight(dfd);\n\n\t\tif(!_inFlight.length){\n\t\t\tclearInterval(_inFlightIntvl);\n\t\t\t_inFlightIntvl = null;\n\t\t}\n\t}\n\n\tfunction watch(dfd){\n\t\t// summary:\n\t\t//\t\tWatches the io request represented by dfd to see if it completes.\n\t\t// dfd: Deferred\n\t\t//\t\tThe Deferred object to watch.\n\t\t// response: Object\n\t\t//\t\tThe object used as the value of the request promise.\n\t\t// validCheck: Function\n\t\t//\t\tFunction used to check if the IO request is still valid. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\t\t// ioCheck: Function\n\t\t//\t\tFunction used to check if basic IO call worked. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\t\t// resHandle: Function\n\t\t//\t\tFunction used to process response. Gets the dfd\n\t\t//\t\tobject as its only argument.\n\t\tif(dfd.response.options.timeout){\n\t\t\tdfd.startTime = +(new Date);\n\t\t}\n\n\t\tif(dfd.isFulfilled()){\n\t\t\t// bail out if the deferred is already fulfilled\n\t\t\treturn;\n\t\t}\n\n\t\t_inFlight.push(dfd);\n\t\tif(!_inFlightIntvl){\n\t\t\t_inFlightIntvl = setInterval(watchInFlight, 50);\n\t\t}\n\n\t\t// handle sync requests separately from async:\n\t\t// http://bugs.dojotoolkit.org/ticket/8467\n\t\tif(dfd.response.options.sync){\n\t\t\twatchInFlight();\n\t\t}\n\t}\n\n\twatch.cancelAll = function cancelAll(){\n\t\t// summary:\n\t\t//\t\tCancels all pending IO requests, regardless of IO type\n\t\ttry{\n\t\t\tarray.forEach(_inFlight, function(dfd){\n\t\t\t\ttry{\n\t\t\t\t\tdfd.cancel(new CancelError('All requests canceled.'));\n\t\t\t\t}catch(e){}\n\t\t\t});\n\t\t}catch(e){}\n\t};\n\n\tif(win && on && win.doc.attachEvent){\n\t\t// Automatically call cancel all io calls on unload in IE\n\t\t// http://bugs.dojotoolkit.org/ticket/2357\n\t\ton(win.global, 'unload', function(){\n\t\t\twatch.cancelAll();\n\t\t});\n\t}\n\n\treturn watch;\n});\n","define([\n\t'../errors/RequestError',\n\t'./watch',\n\t'./handlers',\n\t'./util',\n\t'../has'/*=====,\n\t'../request',\n\t'../_base/declare' =====*/\n], function(RequestError, watch, handlers, util, has/*=====, request, declare =====*/){\n\thas.add('native-xhr', function(){\n\t\t// if true, the environment has a native XHR implementation\n\t\treturn typeof XMLHttpRequest !== 'undefined';\n\t});\n\thas.add('dojo-force-activex-xhr', function(){\n\t\treturn has('activex') && window.location.protocol === 'file:';\n\t});\n\n\thas.add('native-xhr2', function(){\n\t\tif(!has('native-xhr') || has('dojo-force-activex-xhr')){ return; }\n\t\tvar x = new XMLHttpRequest();\n\t\treturn typeof x['addEventListener'] !== 'undefined' &&\n\t\t\t(typeof opera === 'undefined' || typeof x['upload'] !== 'undefined');\n\t});\n\n\thas.add('native-formdata', function(){\n\t\t// if true, the environment has a native FormData implementation\n\t\treturn typeof FormData !== 'undefined';\n\t});\n\n\thas.add('native-response-type', function(){\n\t\treturn has('native-xhr') && typeof new XMLHttpRequest().responseType !== 'undefined';\n\t});\n\n\thas.add('native-xhr2-blob', function(){\n\t\tif(!has('native-response-type')){ return; }\n\t\tvar x = new XMLHttpRequest();\n\t\t// The URL used here does not have to be reachable as the XHR's `send` method is never called.\n\t\t// It does need to be parsable/resolvable in all cases, so it should be an absolute URL.\n\t\t// XMLHttpRequest within a Worker created from a Blob does not support relative URL paths.\n\t\tx.open('GET', 'https://dojotoolkit.org/', true);\n\t\tx.responseType = 'blob';\n\t\t// will not be set if unsupported\n\t\tvar responseType = x.responseType;\n\t\tx.abort();\n\t\treturn responseType === 'blob';\n\t});\n\n\t// Google Chrome doesn't support \"json\" response type\n\t// up to version 30, so it's intentionally not included here\n\tvar nativeResponseTypes = {\n\t\t'blob': has('native-xhr2-blob') ? 'blob' : 'arraybuffer',\n\t\t'document': 'document',\n\t\t'arraybuffer': 'arraybuffer'\n\t};\n\n\tfunction handleResponse(response, error){\n\t\tvar _xhr = response.xhr;\n\t\tresponse.status = response.xhr.status;\n\n\t\ttry {\n\t\t\t// Firefox throws an error when trying to access\n\t\t\t// xhr.responseText if response isn't text\n\t\t\tresponse.text = _xhr.responseText;\n\t\t} catch (e) {}\n\n\t\tif(response.options.handleAs === 'xml'){\n\t\t\tresponse.data = _xhr.responseXML;\n\t\t}\n\n\t\tvar handleError;\n\t\tif(error){\n\t\t\tthis.reject(error);\n\t\t}else{\n\t\t\ttry{\n\t\t\t\thandlers(response);\n\t\t\t}catch(e){\n\t\t\t\thandleError = e;\n\t\t\t}\n\t\t\tif(util.checkStatus(_xhr.status)){\n\t\t\t\tif(!handleError){\n\t\t\t\t\tthis.resolve(response);\n\t\t\t\t}else{\n\t\t\t\t\tthis.reject(handleError);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tif(!handleError){\n\t\t\t\t\terror = new RequestError('Unable to load ' + response.url + ' status: ' + _xhr.status, response);\n\t\t\t\t\tthis.reject(error);\n\t\t\t\t}else{\n\t\t\t\t\terror = new RequestError('Unable to load ' + response.url + ' status: ' + _xhr.status +\n\t\t\t\t\t\t' and an error in handleAs: transformation of response', response);\n\t\t\t\t\tthis.reject(error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tvar isValid, isReady, addListeners, cancel;\n\tif(has('native-xhr2')){\n\t\t// Any platform with XHR2 will only use the watch mechanism for timeout.\n\n\t\tisValid = function(response){\n\t\t\t// summary:\n\t\t\t//\t\tCheck to see if the request should be taken out of the watch queue\n\t\t\treturn !this.isFulfilled();\n\t\t};\n\t\tcancel = function(dfd, response){\n\t\t\t// summary:\n\t\t\t//\t\tCanceler for deferred\n\t\t\tresponse.xhr.abort();\n\t\t};\n\t\taddListeners = function(_xhr, dfd, response, uploadProgress){\n\t\t\t// summary:\n\t\t\t//\t\tAdds event listeners to the XMLHttpRequest object\n\t\t\tfunction onLoad(evt){\n\t\t\t\tdfd.handleResponse(response);\n\t\t\t}\n\t\t\tfunction onError(evt){\n\t\t\t\tvar _xhr = evt.target;\n\t\t\t\tvar error = new RequestError('Unable to load ' + response.url + ' status: ' + _xhr.status, response);\n\t\t\t\tdfd.handleResponse(response, error);\n\t\t\t}\n\n\t\t\tfunction onProgress(transferType, evt){\n\t\t\t\tresponse.transferType = transferType;\n\t\t\t\tif(evt.lengthComputable){\n\t\t\t\t\tresponse.loaded = evt.loaded;\n\t\t\t\t\tresponse.total = evt.total;\n\t\t\t\t\tdfd.progress(response);\n\t\t\t\t} else if(response.xhr.readyState === 3){\n\t\t\t\t\tresponse.loaded = ('loaded' in evt) ? evt.loaded : evt.position;\n\t\t\t\t\tdfd.progress(response);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction onDownloadProgress(evt) {\n\t\t\t\treturn onProgress('download', evt);\n\t\t\t}\n\n\t\t\tfunction onUploadProgress(evt) {\n\t\t\t\treturn onProgress('upload', evt);\n\t\t\t}\n\n\t\t\t_xhr.addEventListener('load', onLoad, false);\n\t\t\t_xhr.addEventListener('error', onError, false);\n\t\t\t_xhr.addEventListener('progress', onDownloadProgress, false);\n\n\t\t\tif (uploadProgress && _xhr.upload) {\n\t\t\t\t_xhr.upload.addEventListener('progress', onUploadProgress, false);\n\t\t\t}\n\n\t\t\treturn function(){\n\t\t\t\t_xhr.removeEventListener('load', onLoad, false);\n\t\t\t\t_xhr.removeEventListener('error', onError, false);\n\t\t\t\t_xhr.removeEventListener('progress', onDownloadProgress, false);\n\t\t\t\t_xhr.upload.removeEventListener('progress', onUploadProgress, false);\n\t\t\t\t_xhr = null;\n\t\t\t};\n\t\t};\n\t}else{\n\t\tisValid = function(response){\n\t\t\treturn response.xhr.readyState; //boolean\n\t\t};\n\t\tisReady = function(response){\n\t\t\treturn 4 === response.xhr.readyState; //boolean\n\t\t};\n\t\tcancel = function(dfd, response){\n\t\t\t// summary:\n\t\t\t//\t\tcanceller function for util.deferred call.\n\t\t\tvar xhr = response.xhr;\n\t\t\tvar _at = typeof xhr.abort;\n\t\t\tif(_at === 'function' || _at === 'object' || _at === 'unknown'){\n\t\t\t\txhr.abort();\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction getHeader(headerName){\n\t\treturn this.xhr.getResponseHeader(headerName);\n\t}\n\n\tvar undefined,\n\t\tdefaultOptions = {\n\t\t\tdata: null,\n\t\t\tquery: null,\n\t\t\tsync: false,\n\t\t\tmethod: 'GET'\n\t\t};\n\tfunction xhr(url, options, returnDeferred){\n\t\tvar isFormData = has('native-formdata') && options && options.data && options.data instanceof FormData;\n\t\tvar response = util.parseArgs(\n\t\t\turl,\n\t\t\tutil.deepCreate(defaultOptions, options),\n\t\t\tisFormData\n\t\t);\n\t\turl = response.url;\n\t\toptions = response.options;\n\t\tvar hasNoData = !options.data && options.method !== 'POST' && options.method !== 'PUT';\n\n\t\tif(has('ie') <= 10){\n\t\t\t// older IE breaks point 9 in http://www.w3.org/TR/XMLHttpRequest/#the-open()-method and sends fragment, so strip it\n\t\t\turl = url.split('#')[0];\n\t\t}\n\n\t\tvar remover,\n\t\t\tlast = function(){\n\t\t\t\tremover && remover();\n\t\t\t};\n\n\t\t//Make the Deferred object for this xhr request.\n\t\tvar dfd = util.deferred(\n\t\t\tresponse,\n\t\t\tcancel,\n\t\t\tisValid,\n\t\t\tisReady,\n\t\t\thandleResponse,\n\t\t\tlast\n\t\t);\n\t\tvar _xhr = response.xhr = xhr._create();\n\n\t\tif(!_xhr){\n\t\t\t// If XHR factory somehow returns nothings,\n\t\t\t// cancel the deferred.\n\t\t\tdfd.cancel(new RequestError('XHR was not created'));\n\t\t\treturn returnDeferred ? dfd : dfd.promise;\n\t\t}\n\n\t\tresponse.getHeader = getHeader;\n\n\t\tif(addListeners){\n\t\t\tremover = addListeners(_xhr, dfd, response, options.uploadProgress);\n\t\t}\n\n\t\t// IE11 treats data: undefined different than other browsers\n\t\tvar data = typeof(options.data) === 'undefined' ? null : options.data,\n\t\t\tasync = !options.sync,\n\t\t\tmethod = options.method;\n\n\t\ttry{\n\t\t\t// IE6 won't let you call apply() on the native function.\n\t\t\t_xhr.open(method, url, async, options.user || undefined, options.password || undefined);\n\n\t\t\tif(options.withCredentials){\n\t\t\t\t_xhr.withCredentials = options.withCredentials;\n\t\t\t}\n\n\t\t\tif(has('native-response-type') && options.handleAs in nativeResponseTypes) {\n\t\t\t\t_xhr.responseType = nativeResponseTypes[options.handleAs];\n\t\t\t}\n\n\t\t\tvar headers = options.headers,\n\t\t\t\tcontentType = (isFormData || hasNoData) ? false : 'application/x-www-form-urlencoded';\n\t\t\tif(headers){\n\t\t\t\tfor(var hdr in headers){\n\t\t\t\t\tif(hdr.toLowerCase() === 'content-type'){\n\t\t\t\t\t\tcontentType = headers[hdr];\n\t\t\t\t\t}else if(headers[hdr]){\n\t\t\t\t\t\t//Only add header if it has a value. This allows for instance, skipping\n\t\t\t\t\t\t//insertion of X-Requested-With by specifying empty value.\n\t\t\t\t\t\t_xhr.setRequestHeader(hdr, headers[hdr]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(contentType && contentType !== false){\n\t\t\t\t_xhr.setRequestHeader('Content-Type', contentType);\n\t\t\t}\n\t\t\tif(!headers || !('X-Requested-With' in headers)){\n\t\t\t\t_xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n\t\t\t}\n\n\t\t\tif(util.notify){\n\t\t\t\tutil.notify.emit('send', response, dfd.promise.cancel);\n\t\t\t}\n\t\t\t_xhr.send(data);\n\t\t}catch(e){\n\t\t\tdfd.reject(e);\n\t\t}\n\n\t\twatch(dfd);\n\t\t_xhr = null;\n\n\t\treturn returnDeferred ? dfd : dfd.promise;\n\t}\n\n\t/*=====\n\txhr = function(url, options){\n\t\t// summary:\n\t\t//\t\tSends a request using XMLHttpRequest with the given URL and options.\n\t\t// url: String\n\t\t//\t\tURL to request\n\t\t// options: dojo/request/xhr.__Options?\n\t\t//\t\tOptions for the request.\n\t\t// returns: dojo/request.__Promise\n\t};\n\txhr.__BaseOptions = declare(request.__BaseOptions, {\n\t\t// sync: Boolean?\n\t\t//\t\tWhether to make a synchronous request or not. Default\n\t\t//\t\tis `false` (asynchronous).\n\t\t// data: String|Object|FormData?\n\t\t//\t\tData to transfer. This is ignored for GET and DELETE\n\t\t//\t\trequests.\n\t\t// headers: Object?\n\t\t//\t\tHeaders to use for the request.\n\t\t// user: String?\n\t\t//\t\tUsername to use during the request.\n\t\t// password: String?\n\t\t//\t\tPassword to use during the request.\n\t\t// withCredentials: Boolean?\n\t\t//\t\tFor cross-site requests, whether to send credentials\n\t\t//\t\tor not.\n\t\t// uploadProgress: Boolean?\n\t\t//\t\tUpload progress events cause preflighted requests. This\n\t\t//\t\toption enables upload progress event support but also\n\t\t//\t\tcauses all requests to be preflighted.\n\t});\n\txhr.__MethodOptions = declare(null, {\n\t\t// method: String?\n\t\t//\t\tThe HTTP method to use to make the request. Must be\n\t\t//\t\tuppercase. Default is `\"GET\"`.\n\t});\n\txhr.__Options = declare([xhr.__BaseOptions, xhr.__MethodOptions]);\n\n\txhr.get = function(url, options){\n\t\t// summary:\n\t\t//\t\tSend an HTTP GET request using XMLHttpRequest with the given URL and options.\n\t\t// url: String\n\t\t//\t\tURL to request\n\t\t// options: dojo/request/xhr.__BaseOptions?\n\t\t//\t\tOptions for the request.\n\t\t// returns: dojo/request.__Promise\n\t};\n\txhr.post = function(url, options){\n\t\t// summary:\n\t\t//\t\tSend an HTTP POST request using XMLHttpRequest with the given URL and options.\n\t\t// url: String\n\t\t//\t\tURL to request\n\t\t// options: dojo/request/xhr.__BaseOptions?\n\t\t//\t\tOptions for the request.\n\t\t// returns: dojo/request.__Promise\n\t};\n\txhr.put = function(url, options){\n\t\t// summary:\n\t\t//\t\tSend an HTTP PUT request using XMLHttpRequest with the given URL and options.\n\t\t// url: String\n\t\t//\t\tURL to request\n\t\t// options: dojo/request/xhr.__BaseOptions?\n\t\t//\t\tOptions for the request.\n\t\t// returns: dojo/request.__Promise\n\t};\n\txhr.del = function(url, options){\n\t\t// summary:\n\t\t//\t\tSend an HTTP DELETE request using XMLHttpRequest with the given URL and options.\n\t\t// url: String\n\t\t//\t\tURL to request\n\t\t// options: dojo/request/xhr.__BaseOptions?\n\t\t//\t\tOptions for the request.\n\t\t// returns: dojo/request.__Promise\n\t};\n\t=====*/\n\txhr._create = function(){\n\t\t// summary:\n\t\t//\t\tdoes the work of portably generating a new XMLHTTPRequest object.\n\t\tthrow new Error('XMLHTTP not available');\n\t};\n\tif(has('native-xhr') && !has('dojo-force-activex-xhr')){\n\t\txhr._create = function(){\n\t\t\treturn new XMLHttpRequest();\n\t\t};\n\t}else if(has('activex')){\n\t\ttry{\n\t\t\tnew ActiveXObject('Msxml2.XMLHTTP');\n\t\t\txhr._create = function(){\n\t\t\t\treturn new ActiveXObject('Msxml2.XMLHTTP');\n\t\t\t};\n\t\t}catch(e){\n\t\t\ttry{\n\t\t\t\tnew ActiveXObject('Microsoft.XMLHTTP');\n\t\t\t\txhr._create = function(){\n\t\t\t\t\treturn new ActiveXObject('Microsoft.XMLHTTP');\n\t\t\t\t};\n\t\t\t}catch(e){}\n\t\t}\n\t}\n\n\tutil.addCommonMethods(xhr);\n\n\treturn xhr;\n});\n","define([\"./has\"], function(has){\n\t// module:\n\t//\t\tdojo/sniff\n\n\t/*=====\n\treturn function(){\n\t\t// summary:\n\t\t//\t\tThis module sets has() flags based on the current browser.\n\t\t//\t\tIt returns the has() function.\n\t};\n\t=====*/\n\n\tif(has(\"host-browser\")){\n\t\tvar n = navigator,\n\t\t\tdua = n.userAgent,\n\t\t\tdav = n.appVersion,\n\t\t\ttv = parseFloat(dav);\n\t\thas.add(\"air\", dua.indexOf(\"AdobeAIR\") >= 0);\n\t\thas.add(\"wp\", parseFloat(dua.split(\"Windows Phone\")[1]) || undefined);\n\t\thas.add(\"msapp\", parseFloat(dua.split(\"MSAppHost/\")[1]) || undefined);\n\t\thas.add(\"khtml\", dav.indexOf(\"Konqueror\") >= 0 ? tv : undefined);\n\t\thas.add(\"edge\", parseFloat(dua.split(\"Edge/\")[1]) || undefined);\n\t\thas.add(\"opr\", parseFloat(dua.split(\"OPR/\")[1]) || undefined);\n\t\t// NOTE: https://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/\n\t\thas.add(\"webkit\", !has(\"wp\") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18540\n\t\t\t&& !has(\"edge\") && parseFloat(dua.split(\"WebKit/\")[1]) || undefined);\n\t\thas.add(\"chrome\", !has(\"edge\") && !has(\"opr\")\n\t\t\t\t&& parseFloat(dua.split(\"Chrome/\")[1]) || undefined);\n\t\thas.add(\"android\", !has(\"wp\") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18528\n\t\t\t\t&& parseFloat(dua.split(\"Android \")[1]) || undefined);\n\t\thas.add(\"safari\", dav.indexOf(\"Safari\") >= 0\n\t\t\t\t&& !has(\"wp\") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18540\n\t\t\t\t&& !has(\"chrome\") && !has(\"android\") && !has(\"edge\") && !has(\"opr\") ?\n\t\t\tparseFloat(dav.split(\"Version/\")[1]) : undefined);\n\t\thas.add(\"mac\", dav.indexOf(\"Macintosh\") >= 0);\n\t\thas.add(\"quirks\", document.compatMode == \"BackCompat\");\n\t\tif(!has(\"wp\") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18528\n\t\t\t\t&& dua.match(/(iPhone|iPod|iPad)/)){\n\t\t\tvar p = RegExp.$1.replace(/P/, \"p\");\n\t\t\tvar v = dua.match(/OS ([\\d_]+)/) ? RegExp.$1 : \"1\";\n\t\t\tvar os = parseFloat(v.replace(/_/, \".\").replace(/_/g, \"\"));\n\t\t\thas.add(p, os);\t\t// \"iphone\", \"ipad\" or \"ipod\"\n\t\t\thas.add(\"ios\", os);\n\t\t}\n\t\thas.add(\"bb\", (dua.indexOf(\"BlackBerry\") >= 0 || dua.indexOf(\"BB10\") >= 0) && parseFloat(dua.split(\"Version/\")[1]) || undefined);\n\t\thas.add(\"trident\", parseFloat(dav.split(\"Trident/\")[1]) || undefined);\n\n\t\thas.add(\"svg\", typeof SVGAngle !== \"undefined\");\n\n\t\tif(!has(\"webkit\")){\n\t\t\t// Opera\n\t\t\tif(dua.indexOf(\"Opera\") >= 0){\n\t\t\t\t// see http://dev.opera.com/articles/view/opera-ua-string-changes and http://www.useragentstring.com/pages/Opera/\n\t\t\t\t// 9.8 has both styles; <9.8, 9.9 only old style\n\t\t\t\thas.add(\"opera\", tv >= 9.8 ? parseFloat(dua.split(\"Version/\")[1]) || tv : tv);\n\t\t\t}\n\n\t\t\t// Mozilla and firefox\n\t\t\tif(dua.indexOf(\"Gecko\") >= 0 && !has(\"wp\") // NOTE: necessary since Windows Phone 8.1 Update 1\n\t\t\t\t\t&& !has(\"khtml\") && !has(\"trident\") && !has(\"edge\")){\n\t\t\t\thas.add(\"mozilla\", tv);\n\t\t\t}\n\t\t\tif(has(\"mozilla\")){\n\t\t\t\t//We really need to get away from this. Consider a sane isGecko approach for the future.\n\t\t\t\thas.add(\"ff\", parseFloat(dua.split(\"Firefox/\")[1] || dua.split(\"Minefield/\")[1]) || undefined);\n\t\t\t}\n\n\t\t\t// IE\n\t\t\tif(document.all && !has(\"opera\")){\n\t\t\t\tvar isIE = parseFloat(dav.split(\"MSIE \")[1]) || undefined;\n\n\t\t\t\t//In cases where the page has an HTTP header or META tag with\n\t\t\t\t//X-UA-Compatible, then it is in emulation mode.\n\t\t\t\t//Make sure isIE reflects the desired version.\n\t\t\t\t//document.documentMode of 5 means quirks mode.\n\t\t\t\t//Only switch the value if documentMode's major version\n\t\t\t\t//is different from isIE's major version.\n\t\t\t\tvar mode = document.documentMode;\n\t\t\t\tif(mode && mode != 5 && Math.floor(isIE) != mode){\n\t\t\t\t\tisIE = mode;\n\t\t\t\t}\n\n\t\t\t\thas.add(\"ie\", isIE);\n\t\t\t}\n\n\t\t\t// Wii\n\t\t\thas.add(\"wii\", typeof opera != \"undefined\" && opera.wiiremote);\n\t\t}\n\t}\n\n\treturn has;\n});\n","define([\"./Evented\"], function(Evented){\n\n\t// module:\n\t//\t\tdojo/topic\n\n\tvar hub = new Evented;\n\treturn {\n\t\t// summary:\n\t\t//\t\tPubsub hub.\n\t\t// example:\n\t\t//\t\t| \ttopic.subscribe(\"some/topic\", function(event){\n\t\t//\t\t|\t... do something with event\n\t\t//\t\t|\t});\n\t\t//\t\t|\ttopic.publish(\"some/topic\", {name:\"some event\", ...});\n\n\t\tpublish: function(topic, event){\n\t\t\t// summary:\n\t\t\t//\t\tPublishes a message to a topic on the pub/sub hub. All arguments after\n\t\t\t//\t\tthe first will be passed to the subscribers, so any number of arguments\n\t\t\t//\t\tcan be provided (not just event).\n\t\t\t// topic: String\n\t\t\t//\t\tThe name of the topic to publish to\n\t\t\t// event: Object\n\t\t\t//\t\tAn event to distribute to the topic listeners\n\t\t\treturn hub.emit.apply(hub, arguments);\n\t\t},\n\n\t\tsubscribe: function(topic, listener){\n\t\t\t// summary:\n\t\t\t//\t\tSubscribes to a topic on the pub/sub hub\n\t\t\t// topic: String\n\t\t\t//\t\tThe topic to subscribe to\n\t\t\t// listener: Function\n\t\t\t//\t\tA function to call when a message is published to the given topic\n\t\t\treturn hub.on.apply(hub, arguments);\n\t\t}\n\t};\n});\n","define([\n\t\"./Deferred\",\n\t\"./promise/Promise\"\n], function(Deferred, Promise){\n\t\"use strict\";\n\n\t// module:\n\t//\t\tdojo/when\n\n\treturn function when(valueOrPromise, callback, errback, progback){\n\t\t// summary:\n\t\t//\t\tTransparently applies callbacks to values and/or promises.\n\t\t// description:\n\t\t//\t\tAccepts promises but also transparently handles non-promises. If no\n\t\t//\t\tcallbacks are provided returns a promise, regardless of the initial\n\t\t//\t\tvalue. Foreign promises are converted.\n\t\t//\n\t\t//\t\tIf callbacks are provided and the initial value is not a promise,\n\t\t//\t\tthe callback is executed immediately with no error handling. Returns\n\t\t//\t\ta promise if the initial value is a promise, or the result of the\n\t\t//\t\tcallback otherwise.\n\t\t// valueOrPromise:\n\t\t//\t\tEither a regular value or an object with a `then()` method that\n\t\t//\t\tfollows the Promises/A specification.\n\t\t// callback: Function?\n\t\t//\t\tCallback to be invoked when the promise is resolved, or a non-promise\n\t\t//\t\tis received.\n\t\t// errback: Function?\n\t\t//\t\tCallback to be invoked when the promise is rejected.\n\t\t// progback: Function?\n\t\t//\t\tCallback to be invoked when the promise emits a progress update.\n\t\t// returns: dojo/promise/Promise\n\t\t//\t\tPromise, or if a callback is provided, the result of the callback.\n\n\t\tvar receivedPromise = valueOrPromise && typeof valueOrPromise.then === \"function\";\n\t\tvar nativePromise = receivedPromise && valueOrPromise instanceof Promise;\n\n\t\tif(!receivedPromise){\n\t\t\tif(arguments.length > 1){\n\t\t\t\treturn callback ? callback(valueOrPromise) : valueOrPromise;\n\t\t\t}else{\n\t\t\t\treturn new Deferred().resolve(valueOrPromise);\n\t\t\t}\n\t\t}else if(!nativePromise){\n\t\t\tvar deferred = new Deferred(valueOrPromise.cancel);\n\t\t\tvalueOrPromise.then(deferred.resolve, deferred.reject, deferred.progress);\n\t\t\tvalueOrPromise = deferred.promise;\n\t\t}\n\n\t\tif(callback || errback || progback){\n\t\t\treturn valueOrPromise.then(callback, errback, progback);\n\t\t}\n\t\treturn valueOrPromise;\n\t};\n});\n","define([\"dojo/_base/kernel\", \"dojo/_base/lang\", \"dojo/_base/Color\", \"dojo/_base/sniff\", \"dojo/_base/window\",\n\t \"dojo/_base/array\",\"dojo/dom\", \"dojo/dom-construct\",\"dojo/dom-geometry\"],\nfunction(kernel, lang, Color, has, win, arr, dom, domConstruct, domGeom){\n\t// module:\n\t//\t\tdojox/gfx\n\t// summary:\n\t//\t\tThis module contains common core Graphics API used by different graphics renderers.\n\n\tvar g = lang.getObject(\"dojox.gfx\", true),\n\t\tb = g._base = {};\n\t\n\t// candidates for dojox.style (work on VML and SVG nodes)\n\tg._hasClass = function(/*DomNode*/node, /*String*/classStr){\n\t\t// summary:\n\t\t//\t\tReturns whether or not the specified classes are a portion of the\n\t\t//\t\tclass list currently applied to the node.\n\t\t\n\t\t// return (new RegExp('(^|\\\\s+)'+classStr+'(\\\\s+|$)')).test(node.className)\t// Boolean\n\t\tvar cls = node.getAttribute(\"className\");\n\t\treturn cls && (\" \" + cls + \" \").indexOf(\" \" + classStr + \" \") >= 0; // Boolean\n\t};\n\tg._addClass = function(/*DomNode*/node, /*String*/classStr){\n\t\t// summary:\n\t\t//\t\tAdds the specified classes to the end of the class list on the\n\t\t//\t\tpassed node.\n\t\tvar cls = node.getAttribute(\"className\") || \"\";\n\t\tif(!cls || (\" \" + cls + \" \").indexOf(\" \" + classStr + \" \") < 0){\n\t\t\tnode.setAttribute(\"className\", cls + (cls ? \" \" : \"\") + classStr);\n\t\t}\n\t};\n\tg._removeClass = function(/*DomNode*/node, /*String*/classStr){\n\t\t// summary:\n\t\t//\t\tRemoves classes from node.\n\t\tvar cls = node.getAttribute(\"className\");\n\t\tif(cls){\n\t\t\tnode.setAttribute(\n\t\t\t\t\"className\",\n\t\t\t\tcls.replace(new RegExp('(^|\\\\s+)' + classStr + '(\\\\s+|$)'), \"$1$2\")\n\t\t\t);\n\t\t}\n\t};\n\n\t// candidate for dojox.html.metrics (dynamic font resize handler is not implemented here)\n\n\t//\t\tderived from Morris John's emResized measurer\n\tb._getFontMeasurements = function(){\n\t\t// summary:\n\t\t//\t\tReturns an object that has pixel equivilents of standard font\n\t\t//\t\tsize values.\n\t\tvar heights = {\n\t\t\t'1em': 0, '1ex': 0, '100%': 0, '12pt': 0, '16px': 0, 'xx-small': 0,\n\t\t\t'x-small': 0, 'small': 0, 'medium': 0, 'large': 0, 'x-large': 0,\n\t\t\t'xx-large': 0\n\t\t};\n\t\tvar p, oldStyle;\t\n\t\tif(has(\"ie\")){\n\t\t\t//\tWe do a font-size fix if and only if one isn't applied already.\n\t\t\t// NOTE: If someone set the fontSize on the HTML Element, this will kill it.\n\t\t\toldStyle = win.doc.documentElement.style.fontSize || \"\";\n\t\t\tif(!oldStyle){\n\t\t\t\twin.doc.documentElement.style.fontSize=\"100%\";\n\t\t\t}\n\t\t}\n\n\t\t//\t\tset up the measuring node.\n\t\tvar div = domConstruct.create(\"div\", {style: {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tleft: \"0\",\n\t\t\t\ttop: \"-100px\",\n\t\t\t\twidth: \"30px\",\n\t\t\t\theight: \"1000em\",\n\t\t\t\tborderWidth: \"0\",\n\t\t\t\tmargin: \"0\",\n\t\t\t\tpadding: \"0\",\n\t\t\t\toutline: \"none\",\n\t\t\t\tlineHeight: \"1\",\n\t\t\t\toverflow: \"hidden\"\n\t\t\t}}, win.body());\n\n\t\t//\t\tdo the measurements.\n\t\tfor(p in heights){\n\t\t\tdiv.style.fontSize = p;\n\t\t\theights[p] = Math.round(div.offsetHeight * 12/16) * 16/12 / 1000;\n\t\t}\n\n\t\tif(has(\"ie\")){\n\t\t\t// Restore the font to its old style.\n\t\t\twin.doc.documentElement.style.fontSize = oldStyle;\n\t\t}\n\t\twin.body().removeChild(div);\n\t\treturn heights; //object\n\t};\n\n\tvar fontMeasurements = null;\n\n\tb._getCachedFontMeasurements = function(recalculate){\n\t\tif(recalculate || !fontMeasurements){\n\t\t\tfontMeasurements = b._getFontMeasurements();\n\t\t}\n\t\treturn fontMeasurements;\n\t};\n\n\t// candidate for dojox.html.metrics\n\n\tvar measuringNode = null, empty = {};\n\tb._getTextBox = function(\t/*String*/ text,\n\t\t\t\t\t\t\t\t/*Object*/ style,\n\t\t\t\t\t\t\t\t/*String?*/ className){\n\t\tvar m, s, al = arguments.length;\n\t\tvar i, box;\n\t\tif(!measuringNode){\n\t\t\tmeasuringNode = domConstruct.create(\"div\", {style: {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-10000px\",\n\t\t\t\tleft: \"0\",\n\t\t\t\tvisibility: \"hidden\"\n\t\t\t}}, win.body());\n\t\t}\n\t\tm = measuringNode;\n\t\t// reset styles\n\t\tm.className = \"\";\n\t\ts = m.style;\n\t\ts.borderWidth = \"0\";\n\t\ts.margin = \"0\";\n\t\ts.padding = \"0\";\n\t\ts.outline = \"0\";\n\t\t// set new style\n\t\tif(al > 1 && style){\n\t\t\tfor(i in style){\n\t\t\t\tif(i in empty){ continue; }\n\t\t\t\ts[i] = style[i];\n\t\t\t}\n\t\t}\n\t\t// set classes\n\t\tif(al > 2 && className){\n\t\t\tm.className = className;\n\t\t}\n\t\t// take a measure\n\t\tm.innerHTML = text;\n\n\t\tif(m.getBoundingClientRect){\n\t\t\tvar bcr = m.getBoundingClientRect();\n\t\t\tbox = {l: bcr.left, t: bcr.top, w: bcr.width || (bcr.right - bcr.left), h: bcr.height || (bcr.bottom - bcr.top)};\n\t\t}else{\n\t\t\tbox = domGeom.getMarginBox(m);\n\t\t}\n\t\tm.innerHTML = \"\";\n\t\treturn box;\n\t};\n\n\tb._computeTextLocation = function(/*g.defaultTextShape*/textShape, /*Number*/width, /*Number*/height, /*Boolean*/fixHeight) {\n\t\tvar loc = {}, align = textShape.align;\n\t\tswitch (align) {\n\t\t\tcase 'end':\n\t\t\t\tloc.x = textShape.x - width;\n\t\t\t\tbreak;\n\t\t\tcase 'middle':\n\t\t\t\tloc.x = textShape.x - width / 2;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tloc.x = textShape.x;\n\t\t\t\tbreak;\n\t\t}\n\t\tvar c = fixHeight ? 0.75 : 1;\n\t\tloc.y = textShape.y - height*c; // **rough** approximation of the ascent...\n\t\treturn loc;\n\t};\n\tb._computeTextBoundingBox = function(/*shape.Text*/s){\n\t\t// summary:\n\t\t//\t\tCompute the bbox of the given shape.Text instance. Note that this method returns an\n\t\t//\t\tapproximation of the bbox, and should be used when the underlying renderer cannot provide precise metrics.\n\t\tif(!g._base._isRendered(s)){\n\t\t\treturn {x:0, y:0, width:0, height:0};\n\t\t}\n\t\tvar loc, textShape = s.getShape(),\n\t\t\tfont = s.getFont() || g.defaultFont,\n\t\t\tw = s.getTextWidth(),\n\t\t\th = g.normalizedLength(font.size);\n\t\tloc = b._computeTextLocation(textShape, w, h, true);\n\t\treturn {\n\t\t\tx: loc.x,\n\t\t\ty: loc.y,\n\t\t\twidth: w,\n\t\t\theight: h\n\t\t};\n\t};\n\tb._isRendered = function(/*Shape*/s){\n\t\tvar p = s.parent;\n\t\twhile(p && p.getParent){\n\t\t\tp = p.parent;\n\t\t}\n\t\treturn p !== null;\n\t};\n\n\t// candidate for dojo.dom\n\n\tvar uniqueId = 0;\n\tb._getUniqueId = function(){\n\t\t// summary:\n\t\t//\t\treturns a unique string for use with any DOM element\n\t\tvar id;\n\t\tdo{\n\t\t\tid = kernel._scopeName + \"xUnique\" + (++uniqueId);\n\t\t}while(dom.byId(id));\n\t\treturn id;\n\t};\n\n\t// IE10\n\n\tvar touchActionProp = has(\"pointer-events\") ? \"touchAction\" : has(\"MSPointer\") ? \"msTouchAction\" : null;\n\tb._fixMsTouchAction = touchActionProp ? function(/*dojox/gfx/shape.Surface*/surface){\n\t\tsurface.rawNode.style[touchActionProp] = \"none\";\n\t} : function() {};\n\n\t/*=====\n\tg.Stroke = {\n\t\t// summary:\n\t\t//\t\tA stroke defines stylistic properties that are used when drawing a path.\n\n\t\t// color: String\n\t\t//\t\tThe color of the stroke, default value 'black'.\n\t\tcolor: \"black\",\n\n\t\t// style: String\n\t\t//\t\tThe style of the stroke, one of 'solid', ... . Default value 'solid'.\n\t\tstyle: \"solid\",\n\n\t\t// width: Number\n\t\t//\t\tThe width of a stroke, default value 1.\n\t\twidth: 1,\n\n\t\t// cap: String\n\t\t//\t\tThe endcap style of the path. One of 'butt', 'round', ... . Default value 'butt'.\n\t\tcap: \"butt\",\n\n\t\t// join: Number\n\t\t//\t\tThe join style to use when combining path segments. Default value 4.\n\t\tjoin: 4\n\t};\n\t\n\tg.Fill = {\n\t\t// summary:\n\t\t//\t\tDefines how to fill a shape. Four types of fills can be used: solid, linear gradient, radial gradient and pattern.\n\t\t//\t\tSee dojox/gfx.LinearGradient, dojox/gfx.RadialGradient and dojox/gfx.Pattern respectively for more information about the properties supported by each type.\n\t\t\n\t\t// type: String?\n\t\t//\t\tThe type of fill. One of 'linear', 'radial', 'pattern' or undefined. If not specified, a solid fill is assumed.\n\t\ttype:\"\",\n\t\t\n\t\t// color: String|dojo/Color?\n\t\t//\t\tThe color of a solid fill type.\n\t\tcolor:null,\n\t\t\n\t};\n\t\n\tg.LinearGradient = {\n\t\t// summary:\n\t\t//\t\tAn object defining the default stylistic properties used for Linear Gradient fills.\n\t\t//\t\tLinear gradients are drawn along a virtual line, which results in appearance of a rotated pattern in a given direction/orientation.\n\n\t\t// type: String\n\t\t//\t\tSpecifies this object is a Linear Gradient, value 'linear'\n\t\ttype: \"linear\",\n\n\t\t// x1: Number\n\t\t//\t\tThe X coordinate of the start of the virtual line along which the gradient is drawn, default value 0.\n\t\tx1: 0,\n\n\t\t// y1: Number\n\t\t//\t\tThe Y coordinate of the start of the virtual line along which the gradient is drawn, default value 0.\n\t\ty1: 0,\n\n\t\t// x2: Number\n\t\t//\t\tThe X coordinate of the end of the virtual line along which the gradient is drawn, default value 100.\n\t\tx2: 100,\n\n\t\t// y2: Number\n\t\t//\t\tThe Y coordinate of the end of the virtual line along which the gradient is drawn, default value 100.\n\t\ty2: 100,\n\n\t\t// colors: Array\n\t\t//\t\tAn array of colors at given offsets (from the start of the line). The start of the line is\n\t\t//\t\tdefined at offest 0 with the end of the line at offset 1.\n\t\t//\t\tDefault value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.\n\t\tcolors: []\n\t};\n\t\n\tg.RadialGradient = {\n\t\t// summary:\n\t\t//\t\tSpecifies the properties for RadialGradients using in fills patterns.\n\n\t\t// type: String\n\t\t//\t\tSpecifies this is a RadialGradient, value 'radial'\n\t\ttype: \"radial\",\n\n\t\t// cx: Number\n\t\t//\t\tThe X coordinate of the center of the radial gradient, default value 0.\n\t\tcx: 0,\n\n\t\t// cy: Number\n\t\t//\t\tThe Y coordinate of the center of the radial gradient, default value 0.\n\t\tcy: 0,\n\n\t\t// r: Number\n\t\t//\t\tThe radius to the end of the radial gradient, default value 100.\n\t\tr: 100,\n\n\t\t// colors: Array\n\t\t//\t\tAn array of colors at given offsets (from the center of the radial gradient).\n\t\t//\t\tThe center is defined at offest 0 with the outer edge of the gradient at offset 1.\n\t\t//\t\tDefault value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.\n\t\tcolors: []\n\t};\n\t\n\tg.Pattern = {\n\t\t// summary:\n\t\t//\t\tAn object specifying the default properties for a Pattern using in fill operations.\n\n\t\t// type: String\n\t\t//\t\tSpecifies this object is a Pattern, value 'pattern'.\n\t\ttype: \"pattern\",\n\n\t\t// x: Number\n\t\t//\t\tThe X coordinate of the position of the pattern, default value is 0.\n\t\tx: 0,\n\n\t\t// y: Number\n\t\t//\t\tThe Y coordinate of the position of the pattern, default value is 0.\n\t\ty: 0,\n\n\t\t// width: Number\n\t\t//\t\tThe width of the pattern image, default value is 0.\n\t\twidth: 0,\n\n\t\t// height: Number\n\t\t//\t\tThe height of the pattern image, default value is 0.\n\t\theight: 0,\n\n\t\t// src: String\n\t\t//\t\tA url specifying the image to use for the pattern.\n\t\tsrc: \"\"\n\t};\n\n\tg.Text = {\n\t\t//\tsummary:\n\t\t//\t\tA keyword argument object defining both the text to be rendered in a VectorText shape,\n\t\t//\t\tand specifying position, alignment, and fitting.\n\t\t//\ttext: String\n\t\t//\t\tThe text to be rendered.\n\t\t//\tx: Number?\n\t\t//\t\tThe left coordinate for the text's bounding box.\n\t\t//\ty: Number?\n\t\t//\t\tThe top coordinate for the text's bounding box.\n\t\t//\twidth: Number?\n\t\t//\t\tThe width of the text's bounding box.\n\t\t//\theight: Number?\n\t\t//\t\tThe height of the text's bounding box.\n\t\t//\talign: String?\n\t\t//\t\tThe alignment of the text, as defined in SVG. Can be \"start\", \"end\" or \"middle\".\n\t\t//\tfitting: Number?\n\t\t//\t\tHow the text is to be fitted to the bounding box. Can be 0 (no fitting), 1 (fitting based on\n\t\t//\t\tpassed width of the bounding box and the size of the font), or 2 (fit text to the bounding box,\n\t\t//\t\tand ignore any size parameters).\n\t\t//\tleading: Number?\n\t\t//\t\tThe leading to be used between lines in the text.\n\t\t//\tdecoration: String?\n\t\t//\t\tAny text decoration to be used.\n\t};\n\n\tg.Font = {\n\t\t// summary:\n\t\t//\t\tAn object specifying the properties for a Font used in text operations.\n\t\n\t\t// type: String\n\t\t//\t\tSpecifies this object is a Font, value 'font'.\n\t\ttype: \"font\",\n\t\n\t\t// style: String\n\t\t//\t\tThe font style, one of 'normal', 'bold', default value 'normal'.\n\t\tstyle: \"normal\",\n\t\n\t\t// variant: String\n\t\t//\t\tThe font variant, one of 'normal', ... , default value 'normal'.\n\t\tvariant: \"normal\",\n\t\n\t\t// weight: String\n\t\t//\t\tThe font weight, one of 'normal', ..., default value 'normal'.\n\t\tweight: \"normal\",\n\t\n\t\t// size: String\n\t\t//\t\tThe font size (including units), default value '10pt'.\n\t\tsize: \"10pt\",\n\t\n\t\t// family: String\n\t\t//\t\tThe font family, one of 'serif', 'sanserif', ..., default value 'serif'.\n\t\tfamily: \"serif\"\n\t};\n\n\t=====*/\n\n\tlang.mixin(g, {\n\t\t// summary:\n\t\t//\t\tdefines constants, prototypes, and utility functions for the core Graphics API\n\n\t\t// default shapes, which are used to fill in missing parameters\n\t\tdefaultPath: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default Path prototype object.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a Path, default value 'path'.\n\t\t\ttype: \"path\", \n\n\t\t\t// path: String\n\t\t\t//\t\tThe path commands. See W32C SVG 1.0 specification.\n\t\t\t//\t\tDefaults to empty string value.\n\t\t\tpath: \"\"\n\t\t},\n\t\tdefaultPolyline: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default PolyLine prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a PolyLine, default value 'polyline'.\n\t\t\ttype: \"polyline\",\n\n\t\t\t// points: Array\n\t\t\t//\t\tAn array of point objects [{x:0,y:0},...] defining the default polyline's line segments. Value is an empty array [].\n\t\t\tpoints: []\n\t\t},\n\t\tdefaultRect: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default Rect prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this default object is a type of Rect. Value is 'rect'\n\t\t\ttype: \"rect\",\n\n\t\t\t// x: Number\n\t\t\t//\t\tThe X coordinate of the default rectangles position, value 0.\n\t\t\tx: 0,\n\n\t\t\t// y: Number\n\t\t\t//\t\tThe Y coordinate of the default rectangle's position, value 0.\n\t\t\ty: 0,\n\n\t\t\t// width: Number\n\t\t\t//\t\tThe width of the default rectangle, value 100.\n\t\t\twidth: 100,\n\n\t\t\t// height: Number\n\t\t\t//\t\tThe height of the default rectangle, value 100.\n\t\t\theight: 100,\n\n\t\t\t// r: Number\n\t\t\t//\t\tThe corner radius for the default rectangle, value 0.\n\t\t\tr: 0\n\t\t},\n\t\tdefaultEllipse: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default Ellipse prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies that this object is a type of Ellipse, value is 'ellipse'\n\t\t\ttype: \"ellipse\",\n\n\t\t\t// cx: Number\n\t\t\t//\t\tThe X coordinate of the center of the ellipse, default value 0.\n\t\t\tcx: 0,\n\n\t\t\t// cy: Number\n\t\t\t//\t\tThe Y coordinate of the center of the ellipse, default value 0.\n\t\t\tcy: 0,\n\n\t\t\t// rx: Number\n\t\t\t//\t\tThe radius of the ellipse in the X direction, default value 200.\n\t\t\trx: 200,\n\n\t\t\t// ry: Number\n\t\t\t//\t\tThe radius of the ellipse in the Y direction, default value 200.\n\t\t\try: 100\n\t\t},\n\t\tdefaultCircle: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object defining the default Circle prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a circle, value 'circle'\n\t\t\ttype: \"circle\",\n\n\t\t\t// cx: Number\n\t\t\t//\t\tThe X coordinate of the center of the circle, default value 0.\n\t\t\tcx: 0,\n\t\t\t// cy: Number\n\t\t\t//\t\tThe Y coordinate of the center of the circle, default value 0.\n\t\t\tcy: 0,\n\n\t\t\t// r: Number\n\t\t\t//\t\tThe radius, default value 100.\n\t\t\tr: 100\n\t\t},\n\t\tdefaultLine: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object defining the default Line prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this is a Line, value 'line'\n\t\t\ttype: \"line\",\n\n\t\t\t// x1: Number\n\t\t\t//\t\tThe X coordinate of the start of the line, default value 0.\n\t\t\tx1: 0,\n\n\t\t\t// y1: Number\n\t\t\t//\t\tThe Y coordinate of the start of the line, default value 0.\n\t\t\ty1: 0,\n\n\t\t\t// x2: Number\n\t\t\t//\t\tThe X coordinate of the end of the line, default value 100.\n\t\t\tx2: 100,\n\n\t\t\t// y2: Number\n\t\t\t//\t\tThe Y coordinate of the end of the line, default value 100.\n\t\t\ty2: 100\n\t\t},\n\t\tdefaultImage: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default Image prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is an image, value 'image'.\n\t\t\ttype: \"image\",\n\n\t\t\t// x: Number\n\t\t\t//\t\tThe X coordinate of the image's position, default value 0.\n\t\t\tx: 0,\n\n\t\t\t// y: Number\n\t\t\t//\t\tThe Y coordinate of the image's position, default value 0.\n\t\t\ty: 0,\n\n\t\t\t// width: Number\n\t\t\t//\t\tThe width of the image, default value 0.\n\t\t\twidth: 0,\n\n\t\t\t// height: Number\n\t\t\t//\t\tThe height of the image, default value 0.\n\t\t\theight: 0,\n\n\t\t\t// src: String\n\t\t\t//\t\tThe src url of the image, defaults to empty string.\n\t\t\tsrc: \"\"\n\t\t},\n\t\tdefaultText: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default Text prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this is a Text shape, value 'text'.\n\t\t\ttype: \"text\",\n\n\t\t\t// x: Number\n\t\t\t//\t\tThe X coordinate of the text position, default value 0.\n\t\t\tx: 0,\n\n\t\t\t// y: Number\n\t\t\t//\t\tThe Y coordinate of the text position, default value 0.\n\t\t\ty: 0,\n\n\t\t\t// text: String\n\t\t\t//\t\tThe text to be displayed, default value empty string.\n\t\t\ttext: \"\",\n\n\t\t\t// align:\tString\n\t\t\t//\t\tThe horizontal text alignment, one of 'start', 'end', 'center'. Default value 'start'.\n\t\t\talign: \"start\",\n\n\t\t\t// decoration: String\n\t\t\t//\t\tThe text decoration , one of 'none', ... . Default value 'none'.\n\t\t\tdecoration: \"none\",\n\n\t\t\t// rotated: Boolean\n\t\t\t//\t\tWhether the text is rotated, boolean default value false.\n\t\t\trotated: false,\n\n\t\t\t// kerning: Boolean\n\t\t\t//\t\tWhether kerning is used on the text, boolean default value true.\n\t\t\tkerning: true\n\t\t},\n\t\tdefaultTextPath: {\n\t\t\t// summary:\n\t\t\t//\t\tDefines the default TextPath prototype.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this is a TextPath, value 'textpath'.\n\t\t\ttype: \"textpath\",\n\n\t\t\t// text: String\n\t\t\t//\t\tThe text to be displayed, default value empty string.\n\t\t\ttext: \"\",\n\n\t\t\t// align: String\n\t\t\t//\t\tThe horizontal text alignment, one of 'start', 'end', 'center'. Default value 'start'.\n\t\t\talign: \"start\",\n\n\t\t\t// decoration: String\n\t\t\t//\t\tThe text decoration , one of 'none', ... . Default value 'none'.\n\t\t\tdecoration: \"none\",\n\n\t\t\t// rotated: Boolean\n\t\t\t//\t\tWhether the text is rotated, boolean default value false.\n\t\t\trotated: false,\n\n\t\t\t// kerning: Boolean\n\t\t\t//\t\tWhether kerning is used on the text, boolean default value true.\n\t\t\tkerning: true\n\t\t},\n\n\t\t// default stylistic attributes\n\t\tdefaultStroke: {\n\t\t\t// summary:\n\t\t\t//\t\tA stroke defines stylistic properties that are used when drawing a path.\n\t\t\t//\t\tThis object defines the default Stroke prototype.\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a type of Stroke, value 'stroke'.\n\t\t\ttype: \"stroke\",\n\n\t\t\t// color: String\n\t\t\t//\t\tThe color of the stroke, default value 'black'.\n\t\t\tcolor: \"black\",\n\n\t\t\t// style: String\n\t\t\t//\t\tThe style of the stroke, one of 'solid', ... . Default value 'solid'.\n\t\t\tstyle: \"solid\",\n\n\t\t\t// width: Number\n\t\t\t//\t\tThe width of a stroke, default value 1.\n\t\t\twidth: 1,\n\n\t\t\t// cap: String\n\t\t\t//\t\tThe endcap style of the path. One of 'butt', 'round', ... . Default value 'butt'.\n\t\t\tcap: \"butt\",\n\n\t\t\t// join: Number\n\t\t\t//\t\tThe join style to use when combining path segments. Default value 4.\n\t\t\tjoin: 4\n\t\t},\n\t\tdefaultLinearGradient: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object defining the default stylistic properties used for Linear Gradient fills.\n\t\t\t//\t\tLinear gradients are drawn along a virtual line, which results in appearance of a rotated pattern in a given direction/orientation.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a Linear Gradient, value 'linear'\n\t\t\ttype: \"linear\",\n\n\t\t\t// x1: Number\n\t\t\t//\t\tThe X coordinate of the start of the virtual line along which the gradient is drawn, default value 0.\n\t\t\tx1: 0,\n\n\t\t\t// y1: Number\n\t\t\t//\t\tThe Y coordinate of the start of the virtual line along which the gradient is drawn, default value 0.\n\t\t\ty1: 0,\n\n\t\t\t// x2: Number\n\t\t\t//\t\tThe X coordinate of the end of the virtual line along which the gradient is drawn, default value 100.\n\t\t\tx2: 100,\n\n\t\t\t// y2: Number\n\t\t\t//\t\tThe Y coordinate of the end of the virtual line along which the gradient is drawn, default value 100.\n\t\t\ty2: 100,\n\n\t\t\t// colors: Array\n\t\t\t//\t\tAn array of colors at given offsets (from the start of the line). The start of the line is\n\t\t\t//\t\tdefined at offest 0 with the end of the line at offset 1.\n\t\t\t//\t\tDefault value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.\n\t\t\tcolors: [\n\t\t\t\t{ offset: 0, color: \"black\" }, { offset: 1, color: \"white\" }\n\t\t\t]\n\t\t},\n\t\tdefaultRadialGradient: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object specifying the default properties for RadialGradients using in fills patterns.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this is a RadialGradient, value 'radial'\n\t\t\ttype: \"radial\",\n\n\t\t\t// cx: Number\n\t\t\t//\t\tThe X coordinate of the center of the radial gradient, default value 0.\n\t\t\tcx: 0,\n\n\t\t\t// cy: Number\n\t\t\t//\t\tThe Y coordinate of the center of the radial gradient, default value 0.\n\t\t\tcy: 0,\n\n\t\t\t// r: Number\n\t\t\t//\t\tThe radius to the end of the radial gradient, default value 100.\n\t\t\tr: 100,\n\n\t\t\t// colors: Array\n\t\t\t//\t\tAn array of colors at given offsets (from the center of the radial gradient).\n\t\t\t//\t\tThe center is defined at offest 0 with the outer edge of the gradient at offset 1.\n\t\t\t//\t\tDefault value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.\n\t\t\tcolors: [\n\t\t\t\t{ offset: 0, color: \"black\" }, { offset: 1, color: \"white\" }\n\t\t\t]\n\t\t},\n\t\tdefaultPattern: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object specifying the default properties for a Pattern using in fill operations.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a Pattern, value 'pattern'.\n\t\t\ttype: \"pattern\",\n\n\t\t\t// x: Number\n\t\t\t//\t\tThe X coordinate of the position of the pattern, default value is 0.\n\t\t\tx: 0,\n\n\t\t\t// y: Number\n\t\t\t//\t\tThe Y coordinate of the position of the pattern, default value is 0.\n\t\t\ty: 0,\n\n\t\t\t// width: Number\n\t\t\t//\t\tThe width of the pattern image, default value is 0.\n\t\t\twidth: 0,\n\n\t\t\t// height: Number\n\t\t\t//\t\tThe height of the pattern image, default value is 0.\n\t\t\theight: 0,\n\n\t\t\t// src: String\n\t\t\t//\t\tA url specifying the image to use for the pattern.\n\t\t\tsrc: \"\"\n\t\t},\n\t\tdefaultFont: {\n\t\t\t// summary:\n\t\t\t//\t\tAn object specifying the default properties for a Font used in text operations.\n\n\t\t\t// type: String\n\t\t\t//\t\tSpecifies this object is a Font, value 'font'.\n\t\t\ttype: \"font\",\n\n\t\t\t// style: String\n\t\t\t//\t\tThe font style, one of 'normal', 'bold', default value 'normal'.\n\t\t\tstyle: \"normal\",\n\n\t\t\t// variant: String\n\t\t\t//\t\tThe font variant, one of 'normal', ... , default value 'normal'.\n\t\t\tvariant: \"normal\",\n\n\t\t\t// weight: String\n\t\t\t//\t\tThe font weight, one of 'normal', ..., default value 'normal'.\n\t\t\tweight: \"normal\",\n\n\t\t\t// size: String\n\t\t\t//\t\tThe font size (including units), default value '10pt'.\n\t\t\tsize: \"10pt\",\n\n\t\t\t// family: String\n\t\t\t//\t\tThe font family, one of 'serif', 'sanserif', ..., default value 'serif'.\n\t\t\tfamily: \"serif\"\n\t\t},\n\n\t\tgetDefault: (function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns a function used to access default memoized prototype objects (see them defined above).\n\t\t\tvar typeCtorCache = {};\n\t\t\t// a memoized delegate()\n\t\t\treturn function(/*String*/ type){\n\t\t\t\tvar t = typeCtorCache[type];\n\t\t\t\tif(t){\n\t\t\t\t\treturn new t();\n\t\t\t\t}\n\t\t\t\tt = typeCtorCache[type] = new Function();\n\t\t\t\tt.prototype = g[ \"default\" + type ];\n\t\t\t\treturn new t();\n\t\t\t}\n\t\t})(),\n\n\t\tnormalizeColor: function(/*dojo/Color|Array|string|Object*/ color){\n\t\t\t// summary:\n\t\t\t//\t\tconverts any legal color representation to normalized\n\t\t\t//\t\tdojo/Color object\n\t\t\t// color:\n\t\t\t//\t\tA color representation.\n\t\t\treturn (color instanceof Color) ? color : new Color(color); // dojo/Color\n\t\t},\n\t\tnormalizeParameters: function(existed, update){\n\t\t\t// summary:\n\t\t\t//\t\tupdates an existing object with properties from an 'update'\n\t\t\t//\t\tobject\n\t\t\t// existed: Object\n\t\t\t//\t\tthe target object to be updated\n\t\t\t// update: Object\n\t\t\t//\t\tthe 'update' object, whose properties will be used to update\n\t\t\t//\t\tthe existed object\n\t\t\tvar x;\n\t\t\tif(update){\n\t\t\t\tvar empty = {};\n\t\t\t\tfor(x in existed){\n\t\t\t\t\tif(x in update && !(x in empty)){\n\t\t\t\t\t\texisted[x] = update[x];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn existed;\t// Object\n\t\t},\n\t\tmakeParameters: function(defaults, update){\n\t\t\t// summary:\n\t\t\t//\t\tcopies the original object, and all copied properties from the\n\t\t\t//\t\t'update' object\n\t\t\t// defaults: Object\n\t\t\t//\t\tthe object to be cloned before updating\n\t\t\t// update: Object\n\t\t\t//\t\tthe object, which properties are to be cloned during updating\n\t\t\t// returns: Object\n\t\t\t// new object with new and default properties\n\t\t\tvar i = null;\n\t\t\tif(!update){\n\t\t\t\t// return dojo.clone(defaults);\n\t\t\t\treturn lang.delegate(defaults);\n\t\t\t}\n\t\t\tvar result = {};\n\t\t\tfor(i in defaults){\n\t\t\t\tif(!(i in result)){\n\t\t\t\t\tresult[i] = lang.clone((i in update) ? update[i] : defaults[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result; // Object\n\t\t},\n\t\tformatNumber: function(x, addSpace){\n\t\t\t// summary:\n\t\t\t//\t\tconverts a number to a string using a fixed notation\n\t\t\t// x: Number\n\t\t\t//\t\tnumber to be converted\n\t\t\t// addSpace: Boolean\n\t\t\t//\t\twhether to add a space before a positive number\n\t\t\t// returns: String\n\t\t\t// the formatted value\n\t\t\tvar val = x.toString();\n\t\t\tif(val.indexOf(\"e\") >= 0){\n\t\t\t\tval = x.toFixed(4);\n\t\t\t}else{\n\t\t\t\tvar point = val.indexOf(\".\");\n\t\t\t\tif(point >= 0 && val.length - point > 5){\n\t\t\t\t\tval = x.toFixed(4);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(x < 0){\n\t\t\t\treturn val; // String\n\t\t\t}\n\t\t\treturn addSpace ? \" \" + val : val; // String\n\t\t},\n\t\t// font operations\n\t\tmakeFontString: function(font){\n\t\t\t// summary:\n\t\t\t//\t\tconverts a font object to a CSS font string\n\t\t\t// font: Object\n\t\t\t//\t\tfont object (see dojox/gfx.defaultFont)\n\t\t\treturn font.style + \" \" + font.variant + \" \" + font.weight + \" \" + font.size + \" \" + font.family; // Object\n\t\t},\n\t\tsplitFontString: function(str){\n\t\t\t// summary:\n\t\t\t//\t\tconverts a CSS font string to a font object\n\t\t\t// description:\n\t\t\t//\t\tConverts a CSS font string to a gfx font object. The CSS font\n\t\t\t//\t\tstring components should follow the W3C specified order\n\t\t\t//\t\t(see http://www.w3.org/TR/CSS2/fonts.html#font-shorthand):\n\t\t\t//\t\tstyle, variant, weight, size, optional line height (will be\n\t\t\t//\t\tignored), and family. Note that the Font.size attribute is limited to numeric CSS length.\n\t\t\t// str: String\n\t\t\t//\t\ta CSS font string.\n\t\t\t// returns: Object\n\t\t\t// object in dojox/gfx.defaultFont format\n\t\t\tvar font = g.getDefault(\"Font\");\n\t\t\tvar t = str.split(/\\s+/);\n\t\t\tdo{\n\t\t\t\tif(t.length < 5){ break; }\n\t\t\t\tfont.style = t[0];\n\t\t\t\tfont.variant = t[1];\n\t\t\t\tfont.weight = t[2];\n\t\t\t\tvar i = t[3].indexOf(\"/\");\n\t\t\t\tfont.size = i < 0 ? t[3] : t[3].substring(0, i);\n\t\t\t\tvar j = 4;\n\t\t\t\tif(i < 0){\n\t\t\t\t\tif(t[4] == \"/\"){\n\t\t\t\t\t\tj = 6;\n\t\t\t\t\t}else if(t[4].charAt(0) == \"/\"){\n\t\t\t\t\t\tj = 5;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(j < t.length){\n\t\t\t\t\tfont.family = t.slice(j).join(\" \");\n\t\t\t\t}\n\t\t\t}while(false);\n\t\t\treturn font;\t// Object\n\t\t},\n\t\t// length operations\n\n\t\t// cm_in_pt: Number\n\t\t//\t\tpoints per centimeter (constant)\n\t\tcm_in_pt: 72 / 2.54,\n\n\t\t// mm_in_pt: Number\n\t\t//\t\tpoints per millimeter (constant)\n\t\tmm_in_pt: 7.2 / 2.54,\n\n\t\tpx_in_pt: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the current number of pixels per point.\n\t\t\treturn g._base._getCachedFontMeasurements()[\"12pt\"] / 12;\t// Number\n\t\t},\n\n\t\tpt2px: function(len){\n\t\t\t// summary:\n\t\t\t//\t\tconverts points to pixels\n\t\t\t// len: Number\n\t\t\t//\t\ta value in points\n\t\t\treturn len * g.px_in_pt();\t// Number\n\t\t},\n\n\t\tpx2pt: function(len){\n\t\t\t// summary:\n\t\t\t//\t\tconverts pixels to points\n\t\t\t// len: Number\n\t\t\t//\t\ta value in pixels\n\t\t\treturn len / g.px_in_pt();\t// Number\n\t\t},\n\n\t\tnormalizedLength: function(len) {\n\t\t\t// summary:\n\t\t\t//\t\tconverts any length value to pixels\n\t\t\t// len: String\n\t\t\t//\t\ta length, e.g., '12pc'\n\t\t\t// returns: Number\n\t\t\t// pixels\n\t\t\tif(len.length === 0){ return 0; }\n\t\t\tif(len.length > 2){\n\t\t\t\tvar px_in_pt = g.px_in_pt();\n\t\t\t\tvar val = parseFloat(len);\n\t\t\t\tswitch(len.slice(-2)){\n\t\t\t\t\tcase \"px\": return val;\n\t\t\t\t\tcase \"pt\": return val * px_in_pt;\n\t\t\t\t\tcase \"in\": return val * 72 * px_in_pt;\n\t\t\t\t\tcase \"pc\": return val * 12 * px_in_pt;\n\t\t\t\t\tcase \"mm\": return val * g.mm_in_pt * px_in_pt;\n\t\t\t\t\tcase \"cm\": return val * g.cm_in_pt * px_in_pt;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn parseFloat(len);\t// Number\n\t\t},\n\n\t\t// pathVmlRegExp: RegExp\n\t\t//\t\ta constant regular expression used to split a SVG/VML path into primitive components\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tpathVmlRegExp: /([A-Za-z]+)|(\\d+(\\.\\d+)?)|(\\.\\d+)|(-\\d+(\\.\\d+)?)|(-\\.\\d+)/g,\n\n\t\t// pathVmlRegExp: RegExp\n\t\t//\t\ta constant regular expression used to split a SVG/VML path into primitive components\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tpathSvgRegExp: /([A-DF-Za-df-z])|([-+]?\\d*[.]?\\d+(?:[eE][-+]?\\d+)?)/g,\n\n\t\tequalSources: function(a, b){\n\t\t\t// summary:\n\t\t\t//\t\tcompares event sources, returns true if they are equal\n\t\t\t// a: Object\n\t\t\t//\t\tfirst event source\n\t\t\t// b: Object\n\t\t\t//\t\tevent source to compare against a\n\t\t\t// returns: Boolean\n\t\t\t// true, if objects are truthy and the same\n\t\t\treturn a && b && a === b;\n\t\t},\n\n\t\tswitchTo: function(/*String|Object*/ renderer){\n\t\t\t// summary:\n\t\t\t//\t\tswitch the graphics implementation to the specified renderer.\n\t\t\t// renderer:\n\t\t\t//\t\tEither the string name of a renderer (eg. 'canvas', 'svg, ...) or the renderer\n\t\t\t//\t\tobject to switch to.\n\t\t\tvar ns = typeof renderer == \"string\" ? g[renderer] : renderer;\n\t\t\tif(ns){\n\t\t\t\t// If more options are added, update the docblock at the end of shape.js!\n\t\t\t\tarr.forEach([\"Group\", \"Rect\", \"Ellipse\", \"Circle\", \"Line\",\n\t\t\t\t\t\t\"Polyline\", \"Image\", \"Text\", \"Path\", \"TextPath\",\n\t\t\t\t\t\t\"Surface\", \"createSurface\", \"fixTarget\"], function(name){\n\t\t\t\t\tg[name] = ns[name];\n\t\t\t\t});\n\t\t\t\tif(typeof renderer == \"string\"){\n\t\t\t\t\tg.renderer = renderer;\n\t\t\t\t}else{\n\t\t\t\t\tarr.some([\"svg\",\"vml\",\"canvas\",\"canvasWithEvents\",\"silverlight\"], function(r){\n\t\t\t\t\t\treturn (g.renderer = g[r] && g[r].Surface === g.Surface ? r : null);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t\n\t/*=====\n\t\tg.createSurface = function(parentNode, width, height){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a surface\n\t\t\t// parentNode: Node\n\t\t\t//\t\ta parent node\n\t\t\t// width: String|Number\n\t\t\t//\t\twidth of surface, e.g., \"100px\" or 100\n\t\t\t// height: String|Number\n\t\t\t//\t\theight of surface, e.g., \"100px\" or 100\n\t\t\t// returns: dojox/gfx.Surface\n\t\t\t// newly created surface\n\t\t};\n\t\tg.fixTarget = function(){\n\t\t\t// tags:\n\t\t\t//\t\tprivate\n\t\t};\n\t=====*/\n\t\n\treturn g; // defaults object api\n});\n","define([\"./_base\", \"dojo/_base/lang\", \"./matrix\"], \n function(g, lang, m){\n\tvar twoPI = 2 * Math.PI, pi4 = Math.PI / 4, pi8 = Math.PI / 8,\n\t\tpi48 = pi4 + pi8, curvePI4 = unitArcAsBezier(pi8);\n\n\tfunction unitArcAsBezier(alpha){\n\t\t// summary:\n\t\t//\t\treturn a start point, 1st and 2nd control points, and an end point of\n\t\t//\t\ta an arc, which is reflected on the x axis\n\t\t// alpha: Number\n\t\t//\t\tangle in radians, the arc will be 2 * angle size\n\t\tvar cosa = Math.cos(alpha), sina = Math.sin(alpha),\n\t\t\tp2 = {x: cosa + (4 / 3) * (1 - cosa), y: sina - (4 / 3) * cosa * (1 - cosa) / sina};\n\t\treturn {\t// Object\n\t\t\ts: {x: cosa, y: -sina},\n\t\t\tc1: {x: p2.x, y: -p2.y},\n\t\t\tc2: p2,\n\t\t\te: {x: cosa, y: sina}\n\t\t};\n\t}\n\n\tvar arc = g.arc = {\n\t\t// summary:\n\t\t//\t\tThis module contains the core graphics Arc functions.\n\t\t\n\t\tunitArcAsBezier: unitArcAsBezier,\n\t\t/*===== \n\t\tunitArcAsBezier: function(alpha) {\n\t\t\t// summary:\n\t\t\t//\t\treturn a start point, 1st and 2nd control points, and an end point of\n\t\t\t//\t\ta an arc, which is reflected on the x axis\n\t\t\t// alpha: Number\n\t\t\t//\t\tangle in radians, the arc will be 2 * angle size\n\t\t},\n\t\t=====*/\n\n\t\t// curvePI4: Object\n\t\t//\t\tan object with properties of an arc around a unit circle from 0 to pi/4\n\t\tcurvePI4: curvePI4,\n\n\t\tarcAsBezier: function(last, rx, ry, xRotg, large, sweep, x, y){\n\t\t\t// summary:\n\t\t\t//\t\tcalculates an arc as a series of Bezier curves\n\t\t\t//\t\tgiven the last point and a standard set of SVG arc parameters,\n\t\t\t//\t\tit returns an array of arrays of parameters to form a series of\n\t\t\t//\t\tabsolute Bezier curves.\n\t\t\t// last: Object\n\t\t\t//\t\ta point-like object as a start of the arc\n\t\t\t// rx: Number\n\t\t\t//\t\ta horizontal radius for the virtual ellipse\n\t\t\t// ry: Number\n\t\t\t//\t\ta vertical radius for the virtual ellipse\n\t\t\t// xRotg: Number\n\t\t\t//\t\ta rotation of an x axis of the virtual ellipse in degrees\n\t\t\t// large: Boolean\n\t\t\t//\t\twhich part of the ellipse will be used (the larger arc if true)\n\t\t\t// sweep: Boolean\n\t\t\t//\t\tdirection of the arc (CW if true)\n\t\t\t// x: Number\n\t\t\t//\t\tthe x coordinate of the end point of the arc\n\t\t\t// y: Number\n\t\t\t//\t\tthe y coordinate of the end point of the arc\n\n\t\t\t// calculate parameters\n\t\t\tlarge = Boolean(large);\n\t\t\tsweep = Boolean(sweep);\n\t\t\tvar xRot = m._degToRad(xRotg),\n\t\t\t\trx2 = rx * rx, ry2 = ry * ry,\n\t\t\t\tpa = m.multiplyPoint(\n\t\t\t\t\tm.rotate(-xRot),\n\t\t\t\t\t{x: (last.x - x) / 2, y: (last.y - y) / 2}\n\t\t\t\t),\n\t\t\t\tpax2 = pa.x * pa.x, pay2 = pa.y * pa.y,\n\t\t\t\tc1 = Math.sqrt((rx2 * ry2 - rx2 * pay2 - ry2 * pax2) / (rx2 * pay2 + ry2 * pax2));\n\t\t\tif(isNaN(c1)){ c1 = 0; }\n\t\t\tvar\tca = {\n\t\t\t\t\tx: c1 * rx * pa.y / ry,\n\t\t\t\t\ty: -c1 * ry * pa.x / rx\n\t\t\t\t};\n\t\t\tif(large == sweep){\n\t\t\t\tca = {x: -ca.x, y: -ca.y};\n\t\t\t}\n\t\t\t// the center\n\t\t\tvar c = m.multiplyPoint(\n\t\t\t\t[\n\t\t\t\t\tm.translate(\n\t\t\t\t\t\t(last.x + x) / 2,\n\t\t\t\t\t\t(last.y + y) / 2\n\t\t\t\t\t),\n\t\t\t\t\tm.rotate(xRot)\n\t\t\t\t],\n\t\t\t\tca\n\t\t\t);\n\t\t\t// calculate the elliptic transformation\n\t\t\tvar elliptic_transform = m.normalize([\n\t\t\t\tm.translate(c.x, c.y),\n\t\t\t\tm.rotate(xRot),\n\t\t\t\tm.scale(rx, ry)\n\t\t\t]);\n\t\t\t// start, end, and size of our arc\n\t\t\tvar inversed = m.invert(elliptic_transform),\n\t\t\t\tsp = m.multiplyPoint(inversed, last),\n\t\t\t\tep = m.multiplyPoint(inversed, x, y),\n\t\t\t\tstartAngle = Math.atan2(sp.y, sp.x),\n\t\t\t\tendAngle = Math.atan2(ep.y, ep.x),\n\t\t\t\ttheta = startAngle - endAngle;\t// size of our arc in radians\n\t\t\tif(sweep){ theta = -theta; }\n\t\t\tif(theta < 0){\n\t\t\t\ttheta += twoPI;\n\t\t\t}else if(theta > twoPI){\n\t\t\t\ttheta -= twoPI;\n\t\t\t}\n\n\t\t\t// draw curve chunks\n\t\t\tvar alpha = pi8, curve = curvePI4, step = sweep ? alpha : -alpha,\n\t\t\t\tresult = [];\n\t\t\tfor(var angle = theta; angle > 0; angle -= pi4){\n\t\t\t\tif(angle < pi48){\n\t\t\t\t\talpha = angle / 2;\n\t\t\t\t\tcurve = unitArcAsBezier(alpha);\n\t\t\t\t\tstep = sweep ? alpha : -alpha;\n\t\t\t\t\tangle = 0;\t// stop the loop\n\t\t\t\t}\n\t\t\t\tvar c2, e, M = m.normalize([elliptic_transform, m.rotate(startAngle + step)]);\n\t\t\t\tif(sweep){\n\t\t\t\t\tc1 = m.multiplyPoint(M, curve.c1);\n\t\t\t\t\tc2 = m.multiplyPoint(M, curve.c2);\n\t\t\t\t\te = m.multiplyPoint(M, curve.e );\n\t\t\t\t}else{\n\t\t\t\t\tc1 = m.multiplyPoint(M, curve.c2);\n\t\t\t\t\tc2 = m.multiplyPoint(M, curve.c1);\n\t\t\t\t\te = m.multiplyPoint(M, curve.s );\n\t\t\t\t}\n\t\t\t\t// draw the curve\n\t\t\t\tresult.push([c1.x, c1.y, c2.x, c2.y, e.x, e.y]);\n\t\t\t\tstartAngle += 2 * step;\n\t\t\t}\n\t\t\treturn result;\t// Array\n\t\t}\n\t};\n\t\n\treturn arc;\n});\n","define([\n\t\"./_base\"\n], function(gfx){\n\n\tvar bu = gfx.bezierutils = {},\n\t\terror = 0.1;\n\n\tvar tAtLength = bu.tAtLength = function(points, length){\n\t\t// summary:\n\t\t//\t\tReturns the t corresponding to the given length for the specified bezier curve.\n\t\t// points: Number[]\n\t\t//\t\tThe bezier points. Should be [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y] for a cubic\n\t\t//\t\tbezier curve or [p1x, p1y, cx, cy, p2x, p2y] for a quadratic bezier curve.\n\t\t// length: Number\n\t\t//\t\tThe length.\n\t\tvar t = 0,\n\t\t\tquadratic = points.length == 6,\n\t\t\tcurrentLen = 0,\n\t\t\tsplitCount = 0,\n\t\t\tsplitFunc = quadratic ? splitQBezierAtT : splitBezierAtT;\n\t\tvar _compute = function(p, error){\n\t\t\t// control points polygon length\n\t\t\tvar pLen = 0;\n\t\t\tfor(var i = 0; i < p.length-2; i+=2)\n\t\t\t\tpLen += distance(p[i],p[i+1],p[i+2],p[i+3]);\n\t\t\t// chord length\n\t\t\tvar chord = quadratic ?\n\t\t\t\tdistance(points[0],points[1],points[4],points[5]) :\n\t\t\t\tdistance(points[0],points[1],points[6],points[7]);\n\t\t\t// if needs more approx. or if currentLen is greater than the target length,\n\t\t\t// split the curve one more time\n\t\t\tif(pLen - chord > error || currentLen + pLen > length + error){\n\t\t\t\t++splitCount;\n\t\t\t\tvar newbezier = splitFunc(p, .5);\n\t\t\t\t// check 1st subpath\n\t\t\t\t_compute(newbezier[0], error);\n\t\t\t\t// the 1st subcurve was the good one, we stop\n\t\t\t\tif(Math.abs(currentLen - length) <= error){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// need to continue with the 2nde subcurve\n\t\t\t\t_compute(newbezier[1], error);\n\t\t\t\treturn ;\n\t\t\t}\n\t\t\tcurrentLen += pLen;\n\t\t\tt += 1.0 / (1 << splitCount);\n\t\t};\n\t\tif(length)\n\t\t\t_compute(points, 0.5);\n\t\treturn t;\n\t};\n\n\tvar computeLength = bu.computeLength = function(/*Array*/points){\n\t\t// summary:\n\t\t//\t\tReturns the length of the given bezier curve.\n\t\t// points: Number[]\n\t\t//\t\tThe bezier points. Should be [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y] for a cubic\n\t\t//\t\tbezier curve or [p1x, p1y, cx, cy, p2x, p2y] for a quadratic bezier curve.\n\n\t\tvar quadratic = points.length == 6, pLen=0;\n\t\t// control points polygon length\n\t\tfor(var i = 0; i < points.length-2; i+=2)\n\t\t\tpLen += distance(points[i],points[i+1],points[i+2],points[i+3]);\n\t\t// chord length\n\t\tvar chord = quadratic ?\n\t\t\tdistance(points[0],points[1],points[4],points[5]) :\n\t\t\tdistance(points[0],points[1],points[6],points[7]);\n\t\t// split polygons until the polygon and the chord are \"the same\"\n\t\tif(pLen-chord>error){\n\t\t\tvar newBeziers = quadratic ? splitQBezierAtT(points,.5) : splitCBezierAtT(points,.5);\n\t\t\tvar length = computeLength(newBeziers[0], quadratic);\n\t\t\tlength += computeLength(newBeziers[1], quadratic);\n\t\t\treturn length;\n\t\t}\n\t\t// pLen is close enough, done.\n\t\treturn pLen;\n\t};\n\n\tvar distance = bu.distance = function(x1, y1, x2, y2){\n\t\t// summary:\n\t\t//\t\tReturns the distance between the specified points.\n\t\treturn Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));\n\t};\n\n\tvar splitQBezierAtT = function(points, t){\n\t\t// summary:\n\t\t//\t\tSplit a quadratic bezier curve into 2 sub-quadratic beziers at the specified t.\n\n\t\t// de Casteljau\n\t\tvar r = 1-t,\n\t\t\tr2 = r*r,\n\t\t\tt2 = t*t,\n\t\t\tp1x = points[0],\n\t\t\tp1y = points[1],\n\t\t\tcx = points[2],\n\t\t\tcy = points[3],\n\t\t\tp2x = points[4],\n\t\t\tp2y = points[5],\n\n\t\t\tax = r*p1x + t*cx,\n\t\t\tay = r*p1y + t*cy,\n\t\t\tbx = r*cx + t*p2x,\n\t\t\tby = r*cy + t*p2y,\n\t\t\tpx = r2*p1x + 2*r*t*cx + t2*p2x,\n\t\t\tpy = r2*p1y + 2*r*t*cy + t2*p2y;\n\n\t\treturn [\n\t\t\t[\n\t\t\t\tp1x, p1y,\n\t\t\t\tax, ay,\n\t\t\t\tpx, py\n\t\t\t],\n\t\t\t[\n\t\t\t\tpx, py,\n\t\t\t\tbx, by,\n\t\t\t\tp2x, p2y\n\t\t\t]\n\t\t];\n\t};\n\n\tvar splitCBezierAtT = function(points, t){\n\t\t// summary:\n\t\t//\t\tSplit a cubic bezier curve into 2 sub-cubic beziers at the specified t.\n\n\t\t// de Casteljau\n\t\tvar r = 1-t,\n\t\t\tr2 = r*r,\n\t\t\tr3 = r2*r,\n\t\t\tt2 = t*t,\n\t\t\tt3 = t2*t,\n\t\t\tp1x = points[0],\n\t\t\tp1y = points[1],\n\t\t\tc1x = points[2],\n\t\t\tc1y = points[3],\n\t\t\tc2x = points[4],\n\t\t\tc2y = points[5],\n\t\t\tp2x = points[6],\n\t\t\tp2y = points[7],\n\n\t\t\tax = r*p1x + t*c1x,\n\t\t\tay = r*p1y + t*c1y,\n\t\t\tcx = r*c2x + t*p2x,\n\t\t\tcy = r*c2y + t*p2y,\n\t\t\tmx = r2*p1x + 2*r*t*c1x + t2*c2x,\n\t\t\tmy = r2*p1y + 2*r*t*c1y + t2*c2y,\n\t\t\tnx = r2*c1x + 2*r*t*c2x + t2*p2x,\n\t\t\tny = r2*c1y + 2*r*t*c2y + t2*p2y,\n\t\t\tpx = r3*p1x + 3*r2*t*c1x + 3*r*t2*c2x+t3*p2x,\n\t\t\tpy = r3*p1y + 3*r2*t*c1y + 3*r*t2*c2y+t3*p2y;\n\n\t\treturn [\n\t\t\t[\n\t\t\t\tp1x, p1y,\n\t\t\t\tax, ay,\n\t\t\t\tmx, my,\n\t\t\t\tpx, py\n\t\t\t],\n\t\t\t[\n\t\t\t\tpx, py,\n\t\t\t\tnx, ny,\n\t\t\t\tcx, cy,\n\t\t\t\tp2x, p2y\n\t\t\t]\n\t\t];\n\t};\n\n\tvar splitBezierAtT = bu.splitBezierAtT = function(points, t){\n\t\treturn points.length == 6 ? splitQBezierAtT(points, t) : splitCBezierAtT(points, t);\n\t};\n\treturn bu;\n});","define([\"./_base\", \"dojo/_base/lang\", \"dojo/_base/array\", \"dojo/_base/declare\", \"dojo/_base/window\", \"dojo/dom-geometry\",\n\t\t\"dojo/dom\", \"./shape\", \"./path\", \"./arc\", \"./matrix\", \"./decompose\", \"./bezierutils\"],\nfunction(g, lang, arr, declare, win, domGeom, dom, gs, pathLib, ga, m, decompose, bezierUtils ){\n\tvar canvas = g.canvas = {\n\t\t// summary:\n\t\t//\t\tThis the graphics rendering bridge for W3C Canvas compliant browsers.\n\t\t//\t\tSince Canvas is an immediate mode graphics api, with no object graph or\n\t\t//\t\teventing capabilities, use of this module alone will only add in drawing support.\n\t\t//\t\tThe additional module, canvasWithEvents extends this module with additional support\n\t\t//\t\tfor handling events on Canvas. By default, the support for events is now included\n\t\t//\t\thowever, if only drawing capabilities are needed, canvas event module can be disabled\n\t\t//\t\tusing the dojoConfig option, canvasEvents:true|false.\n\t\t//\t\tThe id of the Canvas renderer is 'canvas'. This id can be used when switch Dojo's\n\t\t//\t\tgraphics context between renderer implementations. See dojox/gfx/_base.switchRenderer\n\t\t//\t\tAPI.\n\t};\n\tvar pattrnbuffer = null,\n\t\tmp = m.multiplyPoint,\n\t\tpi = Math.PI,\n\t\ttwoPI = 2 * pi,\n\t\thalfPI = pi /2,\n\t\textend = lang.extend;\n\n\tif(win.global.CanvasRenderingContext2D){\n\t\tvar ctx2d = win.doc.createElement(\"canvas\").getContext(\"2d\");\n\t\tvar hasNativeDash = typeof ctx2d.setLineDash == \"function\";\n\t\tvar hasFillText = typeof ctx2d.fillText == \"function\";\n\t}\n\n\tvar dasharray = {\n\t\tsolid:\t\t\t\t\"none\",\n\t\tshortdash:\t\t\t[4, 1],\n\t\tshortdot:\t\t\t[1, 1],\n\t\tshortdashdot:\t\t[4, 1, 1, 1],\n\t\tshortdashdotdot:\t[4, 1, 1, 1, 1, 1],\n\t\tdot:\t\t\t\t[1, 3],\n\t\tdash:\t\t\t\t[4, 3],\n\t\tlongdash:\t\t\t[8, 3],\n\t\tdashdot:\t\t\t[4, 3, 1, 3],\n\t\tlongdashdot:\t\t[8, 3, 1, 3],\n\t\tlongdashdotdot:\t\t[8, 3, 1, 3, 1, 3]\n\t};\n\n\tfunction drawDashedArc(/*CanvasRenderingContext2D*/ctx, /*Number[]*/dash, /*int*/cx, /*int*/cy, /*int*/r, /*Number*/sa, /*Number*/ea, /*Boolean*/ccw, /*Boolean?*/apply, prevResidue){\n\t\tvar residue, angle, l = dash.length, i= 0;\n\t\t// if there's a previous dash residue from the previous arc, start with it.\n\t\tif(prevResidue){\n\t\t\tangle = prevResidue.l/r;\n\t\t\ti = prevResidue.i;\n\t\t}else{\n\t\t\tangle = dash[0]/r;\n\t\t}\n\t\twhile(sa < ea){\n\t\t\t// if the dash segment length is longer than what remains to stroke, keep it for next arc. (aka residue)\n\t\t\tif(sa+angle > ea){\n\t\t\t\tresidue = {l: (sa+angle-ea)*r, i: i};\n\t\t\t\tangle = ea-sa;\n\t\t\t}\n\t\t\tif(!(i%2)){\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(cx, cy, r, sa, sa+angle, ccw);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t}\n\t\t\tsa += angle;\n\t\t\t++i;\n\t\t\tangle = dash[i%l]/r;\n\t\t}\n\t\treturn residue;\n\t}\n\n\tfunction splitToDashedBezier(/*Number[]*/points, /*Number[]*/dashArray, /*Number[]*/newPoints, /*Object*/prevResidue){\n\t\tvar residue = 0, t = 0, dash, i = 0;\n\t\tif(prevResidue){\n\t\t\tdash = prevResidue.l;\n\t\t\ti = prevResidue.i;\n\t\t}else{\n\t\t\tdash = dashArray[0];\n\t\t}\n\t\twhile(t<1){\n\t\t\t// get the 't' corresponding to the given dash value.\n\t\t\tt = bezierUtils.tAtLength(points, dash);\n\t\t\tif(t==1){\n\t\t\t\tvar rl = bezierUtils.computeLength(points);\n\t\t\t\tresidue = {l: dash-rl, i: i};\n\t\t\t}\n\t\t\t// split bezier at t: left part is the \"dash\" curve, right part is the remaining bezier points\n\t\t\tvar curves = bezierUtils.splitBezierAtT(points, t);\n\t\t\tif(!(i%2)){\n\t\t\t\t// only keep the \"dash\" curve\n\t\t\t\tnewPoints.push(curves[0]);\n\t\t\t}\n\t\t\tpoints = curves[1];\n\t\t\t++i;\n\t\t\tdash = dashArray[i%dashArray.length];\n\t\t}\n\t\treturn residue;\n\t}\n\n\tfunction toDashedCurveTo(/*Array||CanvasRenderingContext2D*/ctx, /*shape.Path*/shape, /*Number[]*/points, /*Object*/prevResidue){\n\t\t// summary:\n\t\t//\t\tBuilds a set of bezier (cubic || quadratic)curveTo' canvas instructions that represents a dashed stroke of the specified bezier geometry.\n\n\t\tvar pts = [shape.last.x, shape.last.y].concat(points),\n\t\t\tquadratic = points.length === 4, ctx2d = !(ctx instanceof Array),\n\t\t\tapi = quadratic ? \"quadraticCurveTo\" : \"bezierCurveTo\",\n\t\t\tcurves = [];\n\t\tvar residue = splitToDashedBezier(pts, shape.canvasDash, curves, prevResidue);\n\t\tfor(var c=0; c<curves.length;++c){\n\t\t\tvar curve = curves[c];\n\t\t\tif(ctx2d){\n\t\t\t\tctx.moveTo(curve[0], curve[1]);\n\t\t\t\tctx[api].apply(ctx, curve.slice(2));\n\t\t\t}else{\n\t\t\t\tctx.push(\"moveTo\", [curve[0], curve[1]]);\n\t\t\t\tctx.push(api, curve.slice(2));\n\t\t\t}\n\t\t}\n\t\treturn residue;\n\t}\n\n\tfunction toDashedLineTo(/*Array||CanvasRenderingContext2D*/ctx, /*shape.Shape*/shape, /*int*/x1, /*int*/y1, /*int*/x2, /*int*/y2, /*Object*/prevResidue){\n\t\t// summary:\n\t\t//\t\tBuilds a set of moveTo/lineTo' canvas instructions that represents a dashed stroke of the specified line geometry.\n\n\t\tvar residue = 0, r = 0, dal = 0, tlength = bezierUtils.distance(x1, y1, x2, y2), i = 0, dash = shape.canvasDash,\n\t\t\tprevx = x1, prevy = y1, x, y, ctx2d = !(ctx instanceof Array);\n\t\tif(prevResidue){\n\t\t\tdal=prevResidue.l;\n\t\t\ti = prevResidue.i;\n\t\t}else{\n\t\t\tdal += dash[0];\n\t\t}\n\t\twhile(Math.abs(1-r)>0.01){\n\t\t\tif(dal>tlength){\n\t\t\t\tresidue = {l:dal-tlength,i:i};\n\t\t\t\tdal=tlength;\n\t\t\t}\n\t\t\tr = dal/tlength;\n\t\t\tx = x1 + (x2-x1)*r;\n\t\t\ty = y1 + (y2-y1)*r;\n\t\t\tif(!(i++%2)){\n\t\t\t\tif(ctx2d){\n\t\t\t\t\tctx.moveTo(prevx, prevy);\n\t\t\t\t\tctx.lineTo(x, y);\n\t\t\t\t}else{\n\t\t\t\t\tctx.push(\"moveTo\", [prevx, prevy]);\n\t\t\t\t\tctx.push(\"lineTo\", [x, y]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tprevx = x;\n\t\t\tprevy = y;\n\t\t\tdal += dash[i%dash.length];\n\t\t}\n\t\treturn residue;\n\t}\n\n\tcanvas.Shape = declare(\"dojox.gfx.canvas.Shape\", gs.Shape, {\n\t\t_render: function(/* Object */ ctx){\n\t\t\t// summary:\n\t\t\t//\t\trender the shape\n\t\t\tctx.save();\n\t\t\tthis._renderTransform(ctx);\n\t\t\tthis._renderClip(ctx);\n\t\t\tthis._renderShape(ctx);\n\t\t\tthis._renderFill(ctx, true);\n\t\t\tthis._renderStroke(ctx, true);\n\t\t\tctx.restore();\n\t\t},\n\t\t_renderClip: function(ctx){\n\t\t\tif (this.canvasClip){\n\t\t\t\tthis.canvasClip.render(ctx);\n\t\t\t\tctx.clip();\n\t\t\t}\n\t\t},\n\t\t_renderTransform: function(/* Object */ ctx){\n\t\t\tif(\"canvasTransform\" in this){\n\t\t\t\tvar t = this.canvasTransform;\n\t\t\t\tctx.translate(t.dx, t.dy);\n\t\t\t\tctx.rotate(t.angle2);\n\t\t\t\tctx.scale(t.sx, t.sy);\n\t\t\t\tctx.rotate(t.angle1);\n\t\t\t\t// The future implementation when vendors catch up with the spec:\n\t\t\t\t// var t = this.matrix;\n\t\t\t\t// ctx.transform(t.xx, t.yx, t.xy, t.yy, t.dx, t.dy);\n\t\t\t}\n\t\t},\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\t// nothing\n\t\t},\n\t\t_renderFill: function(/* Object */ ctx, /* Boolean */ apply){\n\t\t\tif(\"canvasFill\" in this){\n\t\t\t\tvar fs = this.fillStyle;\n\t\t\t\tif(\"canvasFillImage\" in this){\n\t\t\t\t\tvar w = fs.width, h = fs.height,\n\t\t\t\t\t\tiw = this.canvasFillImage.width, ih = this.canvasFillImage.height,\n\t\t\t\t\t\t// let's match the svg default behavior wrt. aspect ratio: xMidYMid meet\n\t\t\t\t\t\tsx = w == iw ? 1 : w / iw,\n\t\t\t\t\t\tsy = h == ih ? 1 : h / ih,\n\t\t\t\t\t\ts = Math.min(sx,sy), //meet->math.min , slice->math.max\n\t\t\t\t\t\tdx = (w - s * iw)/2,\n\t\t\t\t\t\tdy = (h - s * ih)/2;\n\t\t\t\t\t// the buffer used to scaled the image\n\t\t\t\t\tpattrnbuffer.width = w; pattrnbuffer.height = h;\n\t\t\t\t\tvar copyctx = pattrnbuffer.getContext(\"2d\");\n\t\t\t\t\tcopyctx.clearRect(0, 0, w, h);\n\t\t\t\t\tcopyctx.drawImage(this.canvasFillImage, 0, 0, iw, ih, dx, dy, s*iw, s*ih);\n\t\t\t\t\tthis.canvasFill = ctx.createPattern(pattrnbuffer, \"repeat\");\n\t\t\t\t\tdelete this.canvasFillImage;\n\t\t\t\t}\n\t\t\t\tctx.fillStyle = this.canvasFill;\n\t\t\t\tif(apply){\n\t\t\t\t\t// offset the pattern\n\t\t\t\t\tif (fs.type===\"pattern\" && (fs.x !== 0 || fs.y !== 0)) {\n\t\t\t\t\t\tctx.translate(fs.x,fs.y);\n\t\t\t\t\t}\n\t\t\t\t\tctx.fill();\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tctx.fillStyle = \"rgba(0,0,0,0.0)\";\n\t\t\t}\n\t\t},\n\t\t_renderStroke: function(/* Object */ ctx, /* Boolean */ apply){\n\t\t\tvar s = this.strokeStyle;\n\t\t\tif(s){\n\t\t\t\tctx.strokeStyle = s.color.toString();\n\t\t\t\tctx.lineWidth = s.width;\n\t\t\t\tctx.lineCap = s.cap;\n\t\t\t\tif(typeof s.join == \"number\"){\n\t\t\t\t\tctx.lineJoin = \"miter\";\n\t\t\t\t\tctx.miterLimit = s.join;\n\t\t\t\t}else{\n\t\t\t\t\tctx.lineJoin = s.join;\n\t\t\t\t}\n\t\t\t\tif(this.canvasDash){\n\t\t\t\t\tif(hasNativeDash){\n\t\t\t\t\t\tctx.setLineDash(this.canvasDash);\n\t\t\t\t\t\tif(apply){ ctx.stroke(); }\n\t\t\t\t\t}else{\n\t\t\t\t\t\tthis._renderDashedStroke(ctx, apply);\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tif(apply){ ctx.stroke(); }\n\t\t\t\t}\n\t\t\t}else if(!apply){\n\t\t\t\tctx.strokeStyle = \"rgba(0,0,0,0.0)\";\n\t\t\t}\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){},\n\n\t\t// events are not implemented\n\t\tgetEventSource: function(){ return null; },\n\t\ton:\t\t\t\tfunction(){},\n\t\tconnect:\t\tfunction(){},\n\t\tdisconnect:\t\tfunction(){},\n\n\t\tcanvasClip:null,\n\t\tsetClip: function(/*Object*/clip){\n\t\t\tthis.inherited(arguments);\n\t\t\tvar clipType = clip ? \"width\" in clip ? \"rect\" :\n\t\t\t\t\t\t\t\"cx\" in clip ? \"ellipse\" :\n\t\t\t\t\t\t\t\"points\" in clip ? \"polyline\" : \"d\" in clip ? \"path\" : null : null;\n\t\t\tif(clip && !clipType){\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis.canvasClip = clip ? makeClip(clipType, clip) : null;\n\t\t\tif(this.parent){this.parent._makeDirty();}\n\t\t\treturn this;\n\t\t}\n\t});\n\n\tvar makeClip = function(clipType, geometry){\n\t\tswitch(clipType){\n\t\t\tcase \"ellipse\":\n\t\t\t\treturn {\n\t\t\t\t\tcanvasEllipse: makeEllipse({shape:geometry}),\n\t\t\t\t\trender: function(ctx){return canvas.Ellipse.prototype._renderShape.call(this, ctx);}\n\t\t\t\t};\n\t\t\tcase \"rect\":\n\t\t\t\treturn {\n\t\t\t\t\tshape: lang.delegate(geometry,{r:0}),\n\t\t\t\t\trender: function(ctx){return canvas.Rect.prototype._renderShape.call(this, ctx);}\n\t\t\t\t};\n\t\t\tcase \"path\":\n\t\t\t\treturn {\n\t\t\t\t\tcanvasPath: makeClipPath(geometry),\n\t\t\t\t\trender: function(ctx){this.canvasPath._renderShape(ctx);}\n\t\t\t\t};\n\t\t\tcase \"polyline\":\n\t\t\t\treturn {\n\t\t\t\t\tcanvasPolyline: geometry.points,\n\t\t\t\t\trender: function(ctx){return canvas.Polyline.prototype._renderShape.call(this, ctx);}\n\t\t\t\t};\n\t\t}\n\t\treturn null;\n\t};\n\n\tvar makeClipPath = function(geo){\n\t\tvar p = new dojox.gfx.canvas.Path();\n\t\tp.canvasPath = [];\n\t\tp._setPath(geo.d);\n\t\treturn p;\n\t};\n\n\tvar modifyMethod = function(shape, method, extra){\n\t\tvar old = shape.prototype[method];\n\t\tshape.prototype[method] = extra ?\n\t\t\tfunction(){\n\t\t\t\tif(this.parent){this.parent._makeDirty();}\n\t\t\t\told.apply(this, arguments);\n\t\t\t\textra.call(this);\n\t\t\t\treturn this;\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tif(this.parent){this.parent._makeDirty();}\n\t\t\t\treturn old.apply(this, arguments);\n\t\t\t};\n\t};\n\n\tmodifyMethod(canvas.Shape, \"setTransform\",\n\t\tfunction(){\n\t\t\t// prepare Canvas-specific structures\n\t\t\tif(this.matrix){\n\t\t\t\tthis.canvasTransform = g.decompose(this.matrix);\n\t\t\t}else{\n\t\t\t\tdelete this.canvasTransform;\n\t\t\t}\n\t\t});\n\n\tmodifyMethod(canvas.Shape, \"setFill\",\n\t\tfunction(){\n\t\t\t// prepare Canvas-specific structures\n\t\t\tvar fs = this.fillStyle, f;\n\t\t\tif(fs){\n\t\t\t\tif(typeof(fs) == \"object\" && \"type\" in fs){\n\t\t\t\t\tvar ctx = this.surface.rawNode.getContext(\"2d\");\n\t\t\t\t\tswitch(fs.type){\n\t\t\t\t\t\tcase \"linear\":\n\t\t\t\t\t\tcase \"radial\":\n\t\t\t\t\t\t\tf = fs.type == \"linear\" ?\n\t\t\t\t\t\t\t\tctx.createLinearGradient(fs.x1, fs.y1, fs.x2, fs.y2) :\n\t\t\t\t\t\t\t\tctx.createRadialGradient(fs.cx, fs.cy, 0, fs.cx, fs.cy, fs.r);\n\t\t\t\t\t\t\tarr.forEach(fs.colors, function(step){\n\t\t\t\t\t\t\t\tf.addColorStop(step.offset, g.normalizeColor(step.color).toString());\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"pattern\":\n\t\t\t\t\t\t\tif (!pattrnbuffer) {\n\t\t\t\t\t\t\t\tpattrnbuffer = document.createElement(\"canvas\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// no need to scale the image since the canvas.createPattern uses\n\t\t\t\t\t\t\t// the original image data and not the scaled ones (see spec.)\n\t\t\t\t\t\t\t// the scaling needs to be done at rendering time in a context buffer\n\t\t\t\t\t\t\tvar img =new Image();\n\t\t\t\t\t\t\tthis.surface.downloadImage(img, fs.src);\n\t\t\t\t\t\t\tthis.canvasFillImage = img;\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\t// Set fill color using CSS RGBA func style\n\t\t\t\t\tf = fs.toString();\n\t\t\t\t}\n\t\t\t\tthis.canvasFill = f;\n\t\t\t}else{\n\t\t\t\tdelete this.canvasFill;\n\t\t\t}\n\t\t});\n\n\tmodifyMethod(canvas.Shape, \"setStroke\",\n\t\tfunction(){\n\t\t\tvar st = this.strokeStyle;\n\t\t\tif(st){\n\t\t\t\tvar da = this.strokeStyle.style.toLowerCase();\n\t\t\t\tif(da in dasharray){\n\t\t\t\t\tda = dasharray[da];\n\t\t\t\t}\n\t\t\t\tif(da instanceof Array){\n\t\t\t\t\tda = da.slice();\n\t\t\t\t\tthis.canvasDash = da;\n\t\t\t\t\tvar i;\n\t\t\t\t\tfor(i = 0; i < da.length; ++i){\n\t\t\t\t\t\tda[i] *= st.width;\n\t\t\t\t\t}\n\t\t\t\t\tif(st.cap != \"butt\"){\n\t\t\t\t\t\tfor(i = 0; i < da.length; i += 2){\n\t\t\t\t\t\t\tda[i] -= st.width;\n\t\t\t\t\t\t\tif(da[i] < 1){ da[i] = 1; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor(i = 1; i < da.length; i += 2){\n\t\t\t\t\t\t\tda[i] += st.width;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tdelete this.canvasDash;\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tdelete this.canvasDash;\n\t\t\t}\n\t\t\tthis._needsDash = !hasNativeDash && !!this.canvasDash;\n\t\t});\n\n\tmodifyMethod(canvas.Shape, \"setShape\");\n\n\tcanvas.Group = declare(\"dojox.gfx.canvas.Group\", canvas.Shape, {\n\t\t// summary:\n\t\t//\t\ta group shape (Canvas), which can be used\n\t\t//\t\tto logically group shapes (e.g, to propagate matricies)\n\t\tconstructor: function(){\n\t\t\tgs.Container._init.call(this);\n\t\t},\n\t\t_render: function(/* Object */ ctx){\n\t\t\t// summary:\n\t\t\t//\t\trender the group\n\t\t\tctx.save();\n\t\t\tthis._renderTransform(ctx);\n\t\t\tthis._renderClip(ctx);\n\t\t\tfor(var i = 0; i < this.children.length; ++i){\n\t\t\t\tthis.children[i]._render(ctx);\n\t\t\t}\n\t\t\tctx.restore();\n\t\t},\n\t\tdestroy: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReleases all internal resources owned by this shape. Once this method has been called,\n\t\t\t//\t\tthe instance is considered disposed and should not be used anymore.\n\n\t\t\t// don't call canvas impl to avoid makeDirty'\n\t\t\tgs.Container.clear.call(this, true);\n\t\t\t// avoid this.inherited\n\t\t\tcanvas.Shape.prototype.destroy.apply(this, arguments);\n\t\t}\n\t});\n\n\n\n\tcanvas.Rect = declare(\"dojox.gfx.canvas.Rect\", [canvas.Shape, gs.Rect], {\n\t\t// summary:\n\t\t//\t\ta rectangle shape (Canvas)\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar s = this.shape, r = Math.min(s.r, s.height / 2, s.width / 2),\n\t\t\t\txl = s.x, xr = xl + s.width, yt = s.y, yb = yt + s.height,\n\t\t\t\txl2 = xl + r, xr2 = xr - r, yt2 = yt + r, yb2 = yb - r;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(xl2, yt);\n\t\t\tif(r){\n\t\t\t\tctx.arc(xr2, yt2, r, -halfPI, 0, false);\n\t\t\t\tctx.arc(xr2, yb2, r, 0, halfPI, false);\n\t\t\t\tctx.arc(xl2, yb2, r, halfPI, pi, false);\n\t\t\t\tctx.arc(xl2, yt2, r, pi, pi + halfPI, false);\n\t\t\t}else{\n\t\t\t\tctx.lineTo(xr2, yt);\n\t\t\t\tctx.lineTo(xr, yb2);\n\t\t\t\tctx.lineTo(xl2, yb);\n\t\t\t\tctx.lineTo(xl, yt2);\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){\n\t\t\tvar s = this.shape, residue, r = Math.min(s.r, s.height / 2, s.width / 2),\n\t\t\t\txl = s.x, xr = xl + s.width, yt = s.y, yb = yt + s.height,\n\t\t\t\txl2 = xl + r, xr2 = xr - r, yt2 = yt + r, yb2 = yb - r;\n\t\t\tif(r){\n\t\t\t\tctx.beginPath();\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xl2, yt, xr2, yt);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t\tresidue = drawDashedArc(ctx, this.canvasDash, xr2, yt2, r, -halfPI, 0, false, apply, residue);\n\t\t\t\tctx.beginPath();\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xr, yt2, xr, yb2, residue);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t\tresidue = drawDashedArc(ctx, this.canvasDash, xr2, yb2, r, 0, halfPI, false, apply, residue);\n\t\t\t\tctx.beginPath();\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xr2, yb, xl2, yb, residue);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t\tresidue = drawDashedArc(ctx, this.canvasDash, xl2, yb2, r, halfPI, pi, false, apply, residue);\n\t\t\t\tctx.beginPath();\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xl, yb2, xl, yt2,residue);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t\tdrawDashedArc(ctx, this.canvasDash, xl2, yt2, r, pi, pi + halfPI, false, apply, residue);\n\t\t\t}else{\n\t\t\t\tctx.beginPath();\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xl2, yt, xr2, yt);\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xr2, yt, xr, yb2, residue);\n\t\t\t\tresidue = toDashedLineTo(ctx, this, xr, yb2, xl2, yb, residue);\n\t\t\t\ttoDashedLineTo(ctx, this, xl2, yb, xl, yt2, residue);\n\t\t\t\tif(apply) ctx.stroke();\n\t\t\t}\n\t\t}\n\t});\n\n\tvar bezierCircle = [];\n\t(function(){\n\t\tvar u = ga.curvePI4;\n\t\tbezierCircle.push(u.s, u.c1, u.c2, u.e);\n\t\tfor(var a = 45; a < 360; a += 45){\n\t\t\tvar r = m.rotateg(a);\n\t\t\tbezierCircle.push(mp(r, u.c1), mp(r, u.c2), mp(r, u.e));\n\t\t}\n\t})();\n\n\tvar makeEllipse = function(shape){\n\t\t// prepare Canvas-specific structures\n\t\tvar t, c1, c2, r = [], s = shape.shape,\n\t\t\tM = m.normalize([m.translate(s.cx, s.cy), m.scale(s.rx, s.ry)]);\n\t\tt = mp(M, bezierCircle[0]);\n\t\tr.push([t.x, t.y]);\n\t\tfor(var i = 1; i < bezierCircle.length; i += 3){\n\t\t\tc1 = mp(M, bezierCircle[i]);\n\t\t\tc2 = mp(M, bezierCircle[i + 1]);\n\t\t\tt = mp(M, bezierCircle[i + 2]);\n\t\t\tr.push([c1.x, c1.y, c2.x, c2.y, t.x, t.y]);\n\t\t}\n\t\tif(shape._needsDash){\n\t\t\tvar points = [], p1 = r[0];\n\t\t\tfor(i = 1; i < r.length; ++i){\n\t\t\t\tvar curves = [];\n\t\t\t\tsplitToDashedBezier(p1.concat(r[i]), shape.canvasDash, curves);\n\t\t\t\tp1 = [r[i][4],r[i][5]];\n\t\t\t\tpoints.push(curves);\n\t\t\t}\n\t\t\tshape._dashedPoints = points;\n\t\t}\n\t\treturn r;\n\t};\n\n\tcanvas.Ellipse = declare(\"dojox.gfx.canvas.Ellipse\", [canvas.Shape, gs.Ellipse], {\n\t\t// summary:\n\t\t//\t\tan ellipse shape (Canvas)\n\t\tsetShape: function(){\n\t\t\tthis.inherited(arguments);\n\t\t\tthis.canvasEllipse = makeEllipse(this);\n\t\t\treturn this;\n\t\t},\n\t\tsetStroke: function(){\n\t\t\tthis.inherited(arguments);\n\t\t\tif(!hasNativeDash){\n\t\t\t\tthis.canvasEllipse = makeEllipse(this);\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar r = this.canvasEllipse, i;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo.apply(ctx, r[0]);\n\t\t\tfor(i = 1; i < r.length; ++i){\n\t\t\t\tctx.bezierCurveTo.apply(ctx, r[i]);\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){\n\t\t\tvar r = this._dashedPoints;\n\t\t\tctx.beginPath();\n\t\t\tfor(var i = 0; i < r.length; ++i){\n\t\t\t\tvar curves = r[i];\n\t\t\t\tfor(var j=0;j<curves.length;++j){\n\t\t\t\t\tvar curve = curves[j];\n\t\t\t\t\tctx.moveTo(curve[0], curve[1]);\n\t\t\t\t\tctx.bezierCurveTo(curve[2],curve[3],curve[4],curve[5],curve[6],curve[7]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(apply) ctx.stroke();\n\t\t}\n\t});\n\n\tcanvas.Circle = declare(\"dojox.gfx.canvas.Circle\", [canvas.Shape, gs.Circle], {\n\t\t// summary:\n\t\t//\t\ta circle shape (Canvas)\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar s = this.shape;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(s.cx, s.cy, s.r, 0, twoPI, 1);\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){\n\t\t\tvar s = this.shape;\n\t\t\tvar startAngle = 0, angle, l = this.canvasDash.length; i=0;\n\t\t\twhile(startAngle < twoPI){\n\t\t\t\tangle = this.canvasDash[i%l]/s.r;\n\t\t\t\tif(!(i%2)){\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.arc(s.cx, s.cy, s.r, startAngle, startAngle+angle, 0);\n\t\t\t\t\tif(apply) ctx.stroke();\n\t\t\t\t}\n\t\t\t\tstartAngle+=angle;\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t});\n\n\tcanvas.Line = declare(\"dojox.gfx.canvas.Line\", [canvas.Shape, gs.Line], {\n\t\t// summary:\n\t\t//\t\ta line shape (Canvas)\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar s = this.shape;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(s.x1, s.y1);\n\t\t\tctx.lineTo(s.x2, s.y2);\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){\n\t\t\tvar s = this.shape;\n\t\t\tctx.beginPath();\n\t\t\ttoDashedLineTo(ctx, this, s.x1, s.y1, s.x2, s.y2);\n\t\t\tif(apply) ctx.stroke();\n\t\t}\n\t});\n\n\tcanvas.Polyline = declare(\"dojox.gfx.canvas.Polyline\", [canvas.Shape, gs.Polyline], {\n\t\t// summary:\n\t\t//\t\ta polyline/polygon shape (Canvas)\n\t\tsetShape: function(){\n\t\t\tthis.inherited(arguments);\n\t\t\tvar p = this.shape.points, f = p[0], r, c, i;\n\t\t\tthis.bbox = null;\n\t\t\t// normalize this.shape.points as array of points: [{x,y}, {x,y}, ...]\n\t\t\tthis._normalizePoints();\n\t\t\t// after _normalizePoints, if shape.points was [x1,y1,x2,y2,..], shape.points references a new array\n\t\t\t// and p references the original points array\n\t\t\t// prepare Canvas-specific structures, if needed\n\t\t\tif(p.length){\n\t\t\t\tif(typeof f == \"number\"){ // already in the canvas format [x1,y1,x2,y2,...]\n\t\t\t\t\tr = p;\n\t\t\t\t}else{ // convert into canvas-specific format\n\t\t\t\t\tr = [];\n\t\t\t\t\tfor(i=0; i < p.length; ++i){\n\t\t\t\t\t\tc = p[i];\n\t\t\t\t\t\tr.push(c.x, c.y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tr = [];\n\t\t\t}\n\t\t\tthis.canvasPolyline = r;\n\t\t\treturn this;\n\t\t},\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar p = this.canvasPolyline;\n\t\t\tif(p.length){\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(p[0], p[1]);\n\t\t\t\tfor(var i = 2; i < p.length; i += 2){\n\t\t\t\t\tctx.lineTo(p[i], p[i + 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t_renderDashedStroke: function(ctx, apply){\n\t\t\tvar p = this.canvasPolyline, residue = 0;\n\t\t\tctx.beginPath();\n\t\t\tfor(var i = 0; i < p.length; i += 2){\n\t\t\t\tresidue = toDashedLineTo(ctx, this, p[i], p[i + 1], p[i + 2], p[i + 3], residue);\n\t\t\t}\n\t\t\tif(apply) ctx.stroke();\n\t\t}\n\t});\n\n\tcanvas.Image = declare(\"dojox.gfx.canvas.Image\", [canvas.Shape, gs.Image], {\n\t\t// summary:\n\t\t//\t\tan image shape (Canvas)\n\t\tsetShape: function(){\n\t\t\tthis.inherited(arguments);\n\t\t\t// prepare Canvas-specific structures\n\t\t\tvar img = new Image();\n\t\t\tthis.surface.downloadImage(img, this.shape.src);\n\t\t\tthis.canvasImage = img;\n\t\t\treturn this;\n\t\t},\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar s = this.shape;\n\t\t\tctx.drawImage(this.canvasImage, s.x, s.y, s.width, s.height);\n\t\t}\n\t});\n\n\tcanvas.Text = declare(\"dojox.gfx.canvas.Text\", [canvas.Shape, gs.Text], {\n\t\t_setFont:function(){\n\t\t\tif(this.fontStyle){\n\t\t\t\tthis.canvasFont = g.makeFontString(this.fontStyle);\n\t\t\t}else{\n\t\t\t\tdelete this.canvasFont;\n\t\t\t}\n\t\t},\n\n\t\tgetTextWidth: function(){\n\t\t\t// summary:\n\t\t\t//\t\tget the text width in pixels\n\t\t\tvar s = this.shape, w = 0, ctx;\n\t\t\tif(s.text){\n\t\t\t\tctx = this.surface.rawNode.getContext(\"2d\");\n\t\t\t\tctx.save();\n\t\t\t\tthis._renderTransform(ctx);\n\t\t\t\tthis._renderFill(ctx, false);\n\t\t\t\tthis._renderStroke(ctx, false);\n\t\t\t\tif (this.canvasFont)\n\t\t\t\t\tctx.font = this.canvasFont;\n\t\t\t\tw = ctx.measureText(s.text).width;\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t\treturn w;\n\t\t},\n\n\t\t// override to apply first fill and stroke (\n\t\t// the base implementation is for path-based shape that needs to first define the path then to fill/stroke it.\n\t\t// Here, we need the fillstyle or strokestyle to be set before calling fillText/strokeText.\n\t\t_render: function(/* Object */ctx){\n\t\t\t// summary:\n\t\t\t//\t\trender the shape\n\t\t\t// ctx: Object\n\t\t\t//\t\tthe drawing context.\n\t\t\tctx.save();\n\t\t\tthis._renderTransform(ctx);\n\t\t\tthis._renderFill(ctx, false);\n\t\t\tthis._renderStroke(ctx, false);\n\t\t\tthis._renderShape(ctx);\n\t\t\tctx.restore();\n\t\t},\n\n\t\t_renderShape: function(ctx){\n\t\t\t// summary:\n\t\t\t//\t\ta text shape (Canvas)\n\t\t\t// ctx: Object\n\t\t\t//\t\tthe drawing context.\n\t\t\tvar ta, s = this.shape;\n\t\t\tif(!s.text){\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// text align\n\t\t\tta = s.align === 'middle' ? 'center' : s.align;\n\t\t\tctx.textAlign = ta;\n\t\t\tif(this.canvasFont){\n\t\t\t\tctx.font = this.canvasFont;\n\t\t\t}\n\t\t\tif(this.canvasFill){\n\t\t\t\tctx.fillText(s.text, s.x, s.y);\n\t\t\t}\n\t\t\tif(this.strokeStyle){\n\t\t\t\tctx.beginPath(); // fix bug in FF3.6. Fixed in FF4b8\n\t\t\t\tctx.strokeText(s.text, s.x, s.y);\n\t\t\t\tctx.closePath();\n\t\t\t}\n\t\t}\n\t});\n\tmodifyMethod(canvas.Text, \"setFont\");\n\n\tif(!hasFillText){\n\t\tcanvas.Text.extend({\n\t\t\tgetTextWidth: function(){\n\t\t\t\treturn 0;\n\t\t\t},\n\t\t\tgetBoundingBox: function(){\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\t_renderShape: function(){\n\t\t\t}\n\t\t});\n\t}\n\n\tvar pathRenderers = {\n\t\t\tM: \"_moveToA\", m: \"_moveToR\",\n\t\t\tL: \"_lineToA\", l: \"_lineToR\",\n\t\t\tH: \"_hLineToA\", h: \"_hLineToR\",\n\t\t\tV: \"_vLineToA\", v: \"_vLineToR\",\n\t\t\tC: \"_curveToA\", c: \"_curveToR\",\n\t\t\tS: \"_smoothCurveToA\", s: \"_smoothCurveToR\",\n\t\t\tQ: \"_qCurveToA\", q: \"_qCurveToR\",\n\t\t\tT: \"_qSmoothCurveToA\", t: \"_qSmoothCurveToR\",\n\t\t\tA: \"_arcTo\", a: \"_arcTo\",\n\t\t\tZ: \"_closePath\", z: \"_closePath\"\n\t\t};\n\n\n\tcanvas.Path = declare(\"dojox.gfx.canvas.Path\", [canvas.Shape, pathLib.Path], {\n\t\t// summary:\n\t\t//\t\ta path shape (Canvas)\n\t\tconstructor: function(){\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\tsetShape: function(){\n\t\t\tthis.canvasPath = [];\n\t\t\tthis._dashedPath= [];\n\t\t\treturn this.inherited(arguments);\n\t\t},\n\t\tsetStroke:function(){\n\t\t\tthis.inherited(arguments);\n\t\t\tif(!hasNativeDash){\n\t\t\t\tthis.segmented = false;\n\t\t\t\tthis._confirmSegmented();\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t_setPath: function(){\n\t\t\tthis._dashResidue = null;\n\t\t\tthis.inherited(arguments);\n\t\t},\n\t\t_updateWithSegment: function(segment){\n\t\t\tvar last = lang.clone(this.last);\n\t\t\tthis[pathRenderers[segment.action]](this.canvasPath, segment.action, segment.args, this._needsDash ? this._dashedPath : null);\n\t\t\tthis.last = last;\n\t\t\tthis.inherited(arguments);\n\t\t},\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar r = this.canvasPath;\n\t\t\tctx.beginPath();\n\t\t\tfor(var i = 0; i < r.length; i += 2){\n\t\t\t\tctx[r[i]].apply(ctx, r[i + 1]);\n\t\t\t}\n\t\t},\n\t\t_renderDashedStroke: hasNativeDash ? function(){} : function(ctx, apply){\n\t\t\tvar r = this._dashedPath;\n\t\t\tctx.beginPath();\n\t\t\tfor(var i = 0; i < r.length; i += 2){\n\t\t\t\tctx[r[i]].apply(ctx, r[i + 1]);\n\t\t\t}\n\t\t\tif(apply) ctx.stroke();\n\t\t},\n\t\t_moveToA: function(result, action, args, doDash){\n\t\t\tresult.push(\"moveTo\", [args[0], args[1]]);\n\t\t\tif(doDash) doDash.push(\"moveTo\", [args[0], args[1]]);\n\t\t\tfor(var i = 2; i < args.length; i += 2){\n\t\t\t\tresult.push(\"lineTo\", [args[i], args[i + 1]]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, args[i - 2], args[i - 1], args[i], args[i + 1], this._dashResidue);\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_moveToR: function(result, action, args, doDash){\n\t\t\tvar pts;\n\t\t\tif(\"x\" in this.last){\n\t\t\t\tpts = [this.last.x += args[0], this.last.y += args[1]];\n\t\t\t\tresult.push(\"moveTo\", pts);\n\t\t\t\tif(doDash) doDash.push(\"moveTo\", pts);\n\t\t\t}else{\n\t\t\t\tpts = [this.last.x = args[0], this.last.y = args[1]];\n\t\t\t\tresult.push(\"moveTo\", pts);\n\t\t\t\tif(doDash) doDash.push(\"moveTo\", pts);\n\t\t\t}\n\t\t\tfor(var i = 2; i < args.length; i += 2){\n\t\t\t\tresult.push(\"lineTo\", [this.last.x += args[i], this.last.y += args[i + 1]]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], this.last.x, this.last.y, this._dashResidue);\n\t\t\t}\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_lineToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 2){\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, this.last.x, this.last.y, args[i], args[i + 1], this._dashResidue);\n\t\t\t\tresult.push(\"lineTo\", [args[i], args[i + 1]]);\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_lineToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 2){\n\t\t\t\tresult.push(\"lineTo\", [this.last.x += args[i], this.last.y += args[i + 1]]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], this.last.x, this.last.y, this._dashResidue);\n\t\t\t}\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_hLineToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; ++i){\n\t\t\t\tresult.push(\"lineTo\", [args[i], this.last.y]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], args[i], this.last.y, this._dashResidue);\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 1];\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_hLineToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; ++i){\n\t\t\t\tresult.push(\"lineTo\", [this.last.x += args[i], this.last.y]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], this.last.x, this.last.y, this._dashResidue);\n\t\t\t}\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_vLineToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; ++i){\n\t\t\t\tresult.push(\"lineTo\", [this.last.x, args[i]]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], this.last.x, args[i], this._dashResidue);\n\t\t\t}\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_vLineToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; ++i){\n\t\t\t\tresult.push(\"lineTo\", [this.last.x, this.last.y += args[i]]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, doDash[doDash.length - 1][0], doDash[doDash.length - 1][1], this.last.x, this.last.y, this._dashResidue);\n\t\t\t}\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_curveToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 6){\n\t\t\t\tresult.push(\"bezierCurveTo\", args.slice(i, i + 6));\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length-1], this._dashResidue);\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t\tthis.lastControl.x = args[args.length - 4];\n\t\t\tthis.lastControl.y = args[args.length - 3];\n\t\t\tthis.lastControl.type = \"C\";\n\t\t},\n\t\t_curveToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 6){\n\t\t\t\tresult.push(\"bezierCurveTo\", [\n\t\t\t\t\tthis.last.x + args[i],\n\t\t\t\t\tthis.last.y + args[i + 1],\n\t\t\t\t\tthis.lastControl.x = this.last.x + args[i + 2],\n\t\t\t\t\tthis.lastControl.y = this.last.y + args[i + 3],\n\t\t\t\t\tthis.last.x + args[i + 4],\n\t\t\t\t\tthis.last.y + args[i + 5]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length-1], this._dashResidue);\n\t\t\t\tthis.last.x += args[i + 4];\n\t\t\t\tthis.last.y += args[i + 5];\n\t\t\t}\n\t\t\tthis.lastControl.type = \"C\";\n\t\t},\n\t\t_smoothCurveToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 4){\n\t\t\t\tvar valid = this.lastControl.type == \"C\";\n\t\t\t\tresult.push(\"bezierCurveTo\", [\n\t\t\t\t\tvalid ? 2 * this.last.x - this.lastControl.x : this.last.x,\n\t\t\t\t\tvalid ? 2 * this.last.y - this.lastControl.y : this.last.y,\n\t\t\t\t\targs[i],\n\t\t\t\t\targs[i + 1],\n\t\t\t\t\targs[i + 2],\n\t\t\t\t\targs[i + 3]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length-1], this._dashResidue);\n\t\t\t\tthis.lastControl.x = args[i];\n\t\t\t\tthis.lastControl.y = args[i + 1];\n\t\t\t\tthis.lastControl.type = \"C\";\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t},\n\t\t_smoothCurveToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 4){\n\t\t\t\tvar valid = this.lastControl.type == \"C\";\n\t\t\t\tresult.push(\"bezierCurveTo\", [\n\t\t\t\t\tvalid ? 2 * this.last.x - this.lastControl.x : this.last.x,\n\t\t\t\t\tvalid ? 2 * this.last.y - this.lastControl.y : this.last.y,\n\t\t\t\t\tthis.last.x + args[i],\n\t\t\t\t\tthis.last.y + args[i + 1],\n\t\t\t\t\tthis.last.x + args[i + 2],\n\t\t\t\t\tthis.last.y + args[i + 3]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length-1], this._dashResidue);\n\t\t\t\tthis.lastControl.x = this.last.x + args[i];\n\t\t\t\tthis.lastControl.y = this.last.y + args[i + 1];\n\t\t\t\tthis.lastControl.type = \"C\";\n\t\t\t\tthis.last.x += args[i + 2];\n\t\t\t\tthis.last.y += args[i + 3];\n\t\t\t}\n\t\t},\n\t\t_qCurveToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 4){\n\t\t\t\tresult.push(\"quadraticCurveTo\", args.slice(i, i + 4));\n\t\t\t}\n\t\t\tif(doDash)\n\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length - 1], this._dashResidue);\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t\tthis.lastControl.x = args[args.length - 4];\n\t\t\tthis.lastControl.y = args[args.length - 3];\n\t\t\tthis.lastControl.type = \"Q\";\n\t\t},\n\t\t_qCurveToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 4){\n\t\t\t\tresult.push(\"quadraticCurveTo\", [\n\t\t\t\t\tthis.lastControl.x = this.last.x + args[i],\n\t\t\t\t\tthis.lastControl.y = this.last.y + args[i + 1],\n\t\t\t\t\tthis.last.x + args[i + 2],\n\t\t\t\t\tthis.last.y + args[i + 3]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length - 1], this._dashResidue);\n\t\t\t\tthis.last.x += args[i + 2];\n\t\t\t\tthis.last.y += args[i + 3];\n\t\t\t}\n\t\t\tthis.lastControl.type = \"Q\";\n\t\t},\n\t\t_qSmoothCurveToA: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 2){\n\t\t\t\tvar valid = this.lastControl.type == \"Q\";\n\t\t\t\tresult.push(\"quadraticCurveTo\", [\n\t\t\t\t\tthis.lastControl.x = valid ? 2 * this.last.x - this.lastControl.x : this.last.x,\n\t\t\t\t\tthis.lastControl.y = valid ? 2 * this.last.y - this.lastControl.y : this.last.y,\n\t\t\t\t\targs[i],\n\t\t\t\t\targs[i + 1]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length - 1], this._dashResidue);\n\t\t\t\tthis.lastControl.type = \"Q\";\n\t\t\t}\n\t\t\tthis.last.x = args[args.length - 2];\n\t\t\tthis.last.y = args[args.length - 1];\n\t\t},\n\t\t_qSmoothCurveToR: function(result, action, args, doDash){\n\t\t\tfor(var i = 0; i < args.length; i += 2){\n\t\t\t\tvar valid = this.lastControl.type == \"Q\";\n\t\t\t\tresult.push(\"quadraticCurveTo\", [\n\t\t\t\t\tthis.lastControl.x = valid ? 2 * this.last.x - this.lastControl.x : this.last.x,\n\t\t\t\t\tthis.lastControl.y = valid ? 2 * this.last.y - this.lastControl.y : this.last.y,\n\t\t\t\t\tthis.last.x + args[i],\n\t\t\t\t\tthis.last.y + args[i + 1]\n\t\t\t\t]);\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, result[result.length - 1], this._dashResidue);\n\t\t\t\tthis.lastControl.type = \"Q\";\n\t\t\t\tthis.last.x += args[i];\n\t\t\t\tthis.last.y += args[i + 1];\n\t\t\t}\n\t\t},\n\t\t_arcTo: function(result, action, args, doDash){\n\t\t\tvar relative = action == \"a\";\n\t\t\tfor(var i = 0; i < args.length; i += 7){\n\t\t\t\tvar x1 = args[i + 5], y1 = args[i + 6];\n\t\t\t\tif(relative){\n\t\t\t\t\tx1 += this.last.x;\n\t\t\t\t\ty1 += this.last.y;\n\t\t\t\t}\n\t\t\t\tvar arcs = ga.arcAsBezier(\n\t\t\t\t\tthis.last, args[i], args[i + 1], args[i + 2],\n\t\t\t\t\targs[i + 3] ? 1 : 0, args[i + 4] ? 1 : 0,\n\t\t\t\t\tx1, y1\n\t\t\t\t);\n\t\t\t\tarr.forEach(arcs, function(p){\n\t\t\t\t\tresult.push(\"bezierCurveTo\", p);\n\t\t\t\t});\n\t\t\t\tif(doDash)\n\t\t\t\t\tthis._dashResidue = toDashedCurveTo(doDash, this, p, this._dashResidue);\n\t\t\t\tthis.last.x = x1;\n\t\t\t\tthis.last.y = y1;\n\t\t\t}\n\t\t\tthis.lastControl = {};\n\t\t},\n\t\t_closePath: function(result, action, args, doDash){\n\t\t\tresult.push(\"closePath\", []);\n\t\t\tif(doDash)\n\t\t\t\tthis._dashResidue = toDashedLineTo(doDash, this, this.last.x, this.last.y, doDash[1][0], doDash[1][1], this._dashResidue);\n\t\t\tthis.lastControl = {};\n\t\t}\n\t});\n\tarr.forEach([\"moveTo\", \"lineTo\", \"hLineTo\", \"vLineTo\", \"curveTo\",\n\t\t\"smoothCurveTo\", \"qCurveTo\", \"qSmoothCurveTo\", \"arcTo\", \"closePath\"],\n\t\tfunction(method){ modifyMethod(canvas.Path, method); }\n\t);\n\n\tcanvas.TextPath = declare(\"dojox.gfx.canvas.TextPath\", [canvas.Shape, pathLib.TextPath], {\n\t\t// summary:\n\t\t//\t\ta text shape (Canvas)\n\t\t_renderShape: function(/* Object */ ctx){\n\t\t\tvar s = this.shape;\n\t\t\t// nothing for the moment\n\t\t},\n\t\t_setText: function(){\n\t\t\t// not implemented\n\t\t},\n\t\t_setFont: function(){\n\t\t\t// not implemented\n\t\t}\n\t});\n\n\tcanvas.Surface = declare(\"dojox.gfx.canvas.Surface\", gs.Surface, {\n\t\t// summary:\n\t\t//\t\ta surface object to be used for drawings (Canvas)\n\t\tconstructor: function(){\n\t\t\tgs.Container._init.call(this);\n\t\t\tthis.pendingImageCount = 0;\n\t\t\tthis.makeDirty();\n\t\t},\n\t\tdestroy: function(){\n\t\t\tgs.Container.clear.call(this, true); // avoid makeDirty() from canvas.Container.clear impl.\n\t\t\tthis.inherited(arguments);\n\t\t},\n\t\tsetDimensions: function(width, height){\n\t\t\t// summary:\n\t\t\t//\t\tsets the width and height of the rawNode\n\t\t\t// width: String\n\t\t\t//\t\twidth of surface, e.g., \"100px\"\n\t\t\t// height: String\n\t\t\t//\t\theight of surface, e.g., \"100px\"\n\t\t\tthis.width = g.normalizedLength(width);\t// in pixels\n\t\t\tthis.height = g.normalizedLength(height);\t// in pixels\n\t\t\tif(!this.rawNode) return this;\n\t\t\tvar dirty = false;\n\t\t\tif (this.rawNode.width != this.width){\n\t\t\t\tthis.rawNode.width = this.width;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (this.rawNode.height != this.height){\n\t\t\t\tthis.rawNode.height = this.height;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (dirty)\n\t\t\t\tthis.makeDirty();\n\t\t\treturn this;\t// self\n\t\t},\n\t\tgetDimensions: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns an object with properties \"width\" and \"height\"\n\t\t\treturn this.rawNode ? {width: this.rawNode.width, height: this.rawNode.height} : null;\t// Object\n\t\t},\n\t\t_render: function(force){\n\t\t\t// summary:\n\t\t\t//\t\trender the all shapes\n\t\t\tif(!this.rawNode || (!force && this.pendingImageCount)){ return; }\n\t\t\tvar ctx = this.rawNode.getContext(\"2d\");\n\t\t\tctx.clearRect(0, 0, this.rawNode.width, this.rawNode.height);\n\t\t\tthis.render(ctx);\n\t\t\tif(\"pendingRender\" in this){\n\t\t\t\tclearTimeout(this.pendingRender);\n\t\t\t\tdelete this.pendingRender;\n\t\t\t}\n\t\t},\n\t\trender: function(ctx){\n\t\t\t// summary:\n\t\t\t//\t\tRenders the gfx scene.\n\t\t\t// description:\n\t\t\t//\t\tthis method is called to render the gfx scene to the specified context.\n\t\t\t//\t\tThis method should not be invoked directly but should be used instead\n\t\t\t//\t\tas an extension point on which user can connect to with aspect.before/aspect.after\n\t\t\t//\t\tto implement pre- or post- image processing jobs on the drawing surface.\n\t\t\t// ctx: CanvasRenderingContext2D\n\t\t\t//\t\tThe surface Canvas rendering context.\n\t\t\tctx.save();\n\t\t\tfor(var i = 0; i < this.children.length; ++i){\n\t\t\t\tthis.children[i]._render(ctx);\n\t\t\t}\n\t\t\tctx.restore();\n\t\t},\n\t\tmakeDirty: function(){\n\t\t\t// summary:\n\t\t\t//\t\tinternal method, which is called when we may need to redraw\n\t\t\tif(!this.pendingImagesCount && !(\"pendingRender\" in this) && !this._batch){\n\t\t\t\tthis.pendingRender = setTimeout(lang.hitch(this, this._render), 0);\n\t\t\t}\n\t\t},\n\t\tdownloadImage: function(img, url){\n\t\t\t// summary:\n\t\t\t//\t\tinternal method, which starts an image download and renders, when it is ready\n\t\t\t// img: Image\n\t\t\t//\t\tthe image object\n\t\t\t// url: String\n\t\t\t//\t\tthe url of the image\n\t\t\tvar handler = lang.hitch(this, this.onImageLoad);\n\t\t\tif(!this.pendingImageCount++ && \"pendingRender\" in this){\n\t\t\t\tclearTimeout(this.pendingRender);\n\t\t\t\tdelete this.pendingRender;\n\t\t\t}\n\t\t\timg.onload = handler;\n\t\t\timg.onerror = handler;\n\t\t\timg.onabort = handler;\n\t\t\timg.src = url;\n\t\t},\n\t\tonImageLoad: function(){\n\t\t\tif(!--this.pendingImageCount){\n\t\t\t\tthis.onImagesLoaded();\n\t\t\t\tthis._render();\n\t\t\t}\n\t\t},\n\t\tonImagesLoaded: function(){\n\t\t\t// summary:\n\t\t\t//\t\tAn extension point called when all pending images downloads have been completed.\n\t\t\t// description:\n\t\t\t//\t\tThis method is invoked when all pending images downloads have been completed, just before\n\t\t\t//\t\tthe gfx scene is redrawn. User can connect to this method to get notified when a\n\t\t\t//\t\tgfx scene containing images is fully resolved.\n\t\t},\n\n\t\t// events are not implemented\n\t\tgetEventSource: function(){ return null; },\n\t\tconnect:\t\tfunction(){},\n\t\tdisconnect:\t\tfunction(){},\n\t\ton:\t\t\t\tfunction(){}\n\t});\n\n\tcanvas.createSurface = function(parentNode, width, height){\n\t\t// summary:\n\t\t//\t\tcreates a surface (Canvas)\n\t\t// parentNode: Node\n\t\t//\t\ta parent node\n\t\t// width: String\n\t\t//\t\twidth of surface, e.g., \"100px\"\n\t\t// height: String\n\t\t//\t\theight of surface, e.g., \"100px\"\n\n\t\tif(!width && !height){\n\t\t\tvar pos = domGeom.position(parentNode);\n\t\t\twidth = width || pos.w;\n\t\t\theight = height || pos.h;\n\t\t}\n\t\tif(typeof width == \"number\"){\n\t\t\twidth = width + \"px\";\n\t\t}\n\t\tif(typeof height == \"number\"){\n\t\t\theight = height + \"px\";\n\t\t}\n\n\t\tvar s = new canvas.Surface(),\n\t\t\tp = dom.byId(parentNode),\n\t\t\tc = p.ownerDocument.createElement(\"canvas\");\n\n\t\tc.width = g.normalizedLength(width);\t// in pixels\n\t\tc.height = g.normalizedLength(height);\t// in pixels\n\n\t\tp.appendChild(c);\n\t\ts.rawNode = c;\n\t\ts._parent = p;\n\t\ts.surface = s;\n\t\treturn s;\t// dojox/gfx.Surface\n\t};\n\n\t// Extenders\n\n\tvar C = gs.Container, Container = {\n\t\topenBatch: function() {\n\t\t\t// summary:\n\t\t\t//\t\tstarts a new batch, subsequent new child shapes will be held in\n\t\t\t//\t\tthe batch instead of appending to the container directly.\n\t\t\t// description:\n\t\t\t//\t\tBecause the canvas renderer has no DOM hierarchy, the canvas implementation differs\n\t\t\t//\t\tsuch that it suspends the repaint requests for this container until the current batch is closed by a call to closeBatch().\n\t\t\t++this._batch;\n\t\t\treturn this;\n\t\t},\n\t\tcloseBatch: function() {\n\t\t\t// summary:\n\t\t\t//\t\tsubmits the current batch.\n\t\t\t// description:\n\t\t\t//\t\tOn canvas, this method flushes the pending redraws queue.\n\t\t\tthis._batch = this._batch > 0 ? --this._batch : 0;\n\t\t\tthis._makeDirty();\n\t\t\treturn this;\n\t\t},\n\t\t_makeDirty: function(){\n\t\t\tif(!this._batch){\n\t\t\t\tthis.surface.makeDirty();\n\t\t\t}\n\t\t},\n\t\tadd: function(shape){\n\t\t\tthis._makeDirty();\n\t\t\treturn C.add.apply(this, arguments);\n\t\t},\n\t\tremove: function(shape, silently){\n\t\t\tthis._makeDirty();\n\t\t\treturn C.remove.apply(this, arguments);\n\t\t},\n\t\tclear: function(){\n\t\t\tthis._makeDirty();\n\t\t\treturn C.clear.apply(this, arguments);\n\t\t},\n\t\tgetBoundingBox: C.getBoundingBox,\n\t\t_moveChildToFront: function(shape){\n\t\t\tthis._makeDirty();\n\t\t\treturn C._moveChildToFront.apply(this, arguments);\n\t\t},\n\t\t_moveChildToBack: function(shape){\n\t\t\tthis._makeDirty();\n\t\t\treturn C._moveChildToBack.apply(this, arguments);\n\t\t}\n\t};\n\n\tvar Creator = {\n\t\t// summary:\n\t\t//\t\tCanvas shape creators\n\t\tcreateObject: function(shapeType, rawShape) {\n\t\t\t// summary:\n\t\t\t//\t\tcreates an instance of the passed shapeType class\n\t\t\t// shapeType: Function\n\t\t\t//\t\ta class constructor to create an instance of\n\t\t\t// rawShape: Object\n\t\t\t//\t\tproperties to be passed in to the classes \"setShape\" method\n\t\t\t// overrideSize: Boolean\n\t\t\t//\t\tset the size explicitly, if true\n\t\t\tvar shape = new shapeType();\n\t\t\tshape.surface = this.surface;\n\t\t\tshape.setShape(rawShape);\n\t\t\tthis.add(shape);\n\t\t\treturn shape;\t// dojox/gfx/shape.Shape\n\t\t}\n\t};\n\n\textend(canvas.Group, Container);\n\textend(canvas.Group, gs.Creator);\n\textend(canvas.Group, Creator);\n\n\textend(canvas.Surface, Container);\n\textend(canvas.Surface, gs.Creator);\n\textend(canvas.Surface, Creator);\n\n\t// no event support -> nothing to fix.\n\tcanvas.fixTarget = function(event, gfxElement){\n\t\t// tags:\n\t\t//\t\tprivate\n\t\treturn true;\n\t};\n\n\treturn canvas;\n});\n","define([\"./_base\", \"dojo/_base/lang\", \"./matrix\"], \n function (g, lang, m){\n\tfunction eq(/* Number */ a, /* Number */ b){\n\t\t// summary:\n\t\t//\t\tcompare two FP numbers for equality\n\t\treturn Math.abs(a - b) <= 1e-6 * (Math.abs(a) + Math.abs(b));\t// Boolean\n\t}\n\n\tfunction calcFromValues(/* Number */ r1, /* Number */ m1, /* Number */ r2, /* Number */ m2){\n\t\t// summary:\n\t\t//\t\tuses two close FP ration and their original magnitudes to approximate the result\n\t\tif(!isFinite(r1)){\n\t\t\treturn r2;\t// Number\n\t\t}else if(!isFinite(r2)){\n\t\t\treturn r1;\t// Number\n\t\t}\n\t\tm1 = Math.abs(m1); m2 = Math.abs(m2);\n\t\treturn (m1 * r1 + m2 * r2) / (m1 + m2);\t// Number\n\t}\n\n\tfunction transpose(matrix){\n\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta 2D matrix-like object\n\t\tvar M = new m.Matrix2D(matrix);\n\t\treturn lang.mixin(M, {dx: 0, dy: 0, xy: M.yx, yx: M.xy});\t// dojox/gfx/matrix.Matrix2D\n\t}\n\n\tfunction scaleSign(/* dojox/gfx/matrix.Matrix2D */ matrix){\n\t\treturn (matrix.xx * matrix.yy < 0 || matrix.xy * matrix.yx > 0) ? -1 : 1;\t// Number\n\t}\n\n\tfunction eigenvalueDecomposition(matrix){\n\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta 2D matrix-like object\n\t\tvar M = m.normalize(matrix),\n\t\t\tb = -M.xx - M.yy,\n\t\t\tc = M.xx * M.yy - M.xy * M.yx,\n\t\t\td = Math.sqrt(b * b - 4 * c),\n\t\t\tl1 = -(b + (b < 0 ? -d : d)) / 2,\n\t\t\tl2 = c / l1,\n\t\t\tvx1 = M.xy / (l1 - M.xx), vy1 = 1,\n\t\t\tvx2 = M.xy / (l2 - M.xx), vy2 = 1;\n\t\tif(eq(l1, l2)){\n\t\t\tvx1 = 1, vy1 = 0, vx2 = 0, vy2 = 1;\n\t\t}\n\t\tif(!isFinite(vx1)){\n\t\t\tvx1 = 1, vy1 = (l1 - M.xx) / M.xy;\n\t\t\tif(!isFinite(vy1)){\n\t\t\t\tvx1 = (l1 - M.yy) / M.yx, vy1 = 1;\n\t\t\t\tif(!isFinite(vx1)){\n\t\t\t\t\tvx1 = 1, vy1 = M.yx / (l1 - M.yy);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!isFinite(vx2)){\n\t\t\tvx2 = 1, vy2 = (l2 - M.xx) / M.xy;\n\t\t\tif(!isFinite(vy2)){\n\t\t\t\tvx2 = (l2 - M.yy) / M.yx, vy2 = 1;\n\t\t\t\tif(!isFinite(vx2)){\n\t\t\t\t\tvx2 = 1, vy2 = M.yx / (l2 - M.yy);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvar d1 = Math.sqrt(vx1 * vx1 + vy1 * vy1),\n\t\t\td2 = Math.sqrt(vx2 * vx2 + vy2 * vy2);\n\t\tif(!isFinite(vx1 /= d1)){ vx1 = 0; }\n\t\tif(!isFinite(vy1 /= d1)){ vy1 = 0; }\n\t\tif(!isFinite(vx2 /= d2)){ vx2 = 0; }\n\t\tif(!isFinite(vy2 /= d2)){ vy2 = 0; }\n\t\treturn {\t// Object\n\t\t\tvalue1: l1,\n\t\t\tvalue2: l2,\n\t\t\tvector1: {x: vx1, y: vy1},\n\t\t\tvector2: {x: vx2, y: vy2}\n\t\t};\n\t}\n\n\tfunction decomposeSR(/* dojox/gfx/matrix.Matrix2D */ M, /* Object */ result){\n\t\t// summary:\n\t\t//\t\tdecomposes a matrix into [scale, rotate]; no checks are done.\n\t\tvar sign = scaleSign(M),\n\t\t\ta = result.angle1 = (Math.atan2(M.yx, M.yy) + Math.atan2(-sign * M.xy, sign * M.xx)) / 2,\n\t\t\tcos = Math.cos(a), sin = Math.sin(a);\n\t\tresult.sx = calcFromValues(M.xx / cos, cos, -M.xy / sin, sin);\n\t\tresult.sy = calcFromValues(M.yy / cos, cos, M.yx / sin, sin);\n\t\treturn result;\t// Object\n\t}\n\n\tfunction decomposeRS(/* dojox/gfx/matrix.Matrix2D */ M, /* Object */ result){\n\t\t// summary:\n\t\t//\t\tdecomposes a matrix into [rotate, scale]; no checks are done\n\t\tvar sign = scaleSign(M),\n\t\t\ta = result.angle2 = (Math.atan2(sign * M.yx, sign * M.xx) + Math.atan2(-M.xy, M.yy)) / 2,\n\t\t\tcos = Math.cos(a), sin = Math.sin(a);\n\t\tresult.sx = calcFromValues(M.xx / cos, cos, M.yx / sin, sin);\n\t\tresult.sy = calcFromValues(M.yy / cos, cos, -M.xy / sin, sin);\n\t\treturn result;\t// Object\n\t}\n\n\treturn g.decompose = function(matrix){\n\t\t// summary:\n\t\t//\t\tDecompose a 2D matrix into translation, scaling, and rotation components.\n\t\t// description:\n\t\t//\t\tThis function decompose a matrix into four logical components:\n\t\t//\t\ttranslation, rotation, scaling, and one more rotation using SVD.\n\t\t//\t\tThe components should be applied in following order:\n\t\t//\t| [translate, rotate(angle2), scale, rotate(angle1)]\n\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta 2D matrix-like object\n\t\tvar M = m.normalize(matrix),\n\t\t\tresult = {dx: M.dx, dy: M.dy, sx: 1, sy: 1, angle1: 0, angle2: 0};\n\t\t// detect case: [scale]\n\t\tif(eq(M.xy, 0) && eq(M.yx, 0)){\n\t\t\treturn lang.mixin(result, {sx: M.xx, sy: M.yy});\t// Object\n\t\t}\n\t\t// detect case: [scale, rotate]\n\t\tif(eq(M.xx * M.yx, -M.xy * M.yy)){\n\t\t\treturn decomposeSR(M, result);\t// Object\n\t\t}\n\t\t// detect case: [rotate, scale]\n\t\tif(eq(M.xx * M.xy, -M.yx * M.yy)){\n\t\t\treturn decomposeRS(M, result);\t// Object\n\t\t}\n\t\t// do SVD\n\t\tvar\tMT = transpose(M),\n\t\t\tu = eigenvalueDecomposition([M, MT]),\n\t\t\tv = eigenvalueDecomposition([MT, M]),\n\t\t\tU = new m.Matrix2D({xx: u.vector1.x, xy: u.vector2.x, yx: u.vector1.y, yy: u.vector2.y}),\n\t\t\tVT = new m.Matrix2D({xx: v.vector1.x, xy: v.vector1.y, yx: v.vector2.x, yy: v.vector2.y}),\n\t\t\tS = new m.Matrix2D([m.invert(U), M, m.invert(VT)]);\n\t\tdecomposeSR(VT, result);\n\t\tS.xx *= result.sx;\n\t\tS.yy *= result.sy;\n\t\tdecomposeRS(U, result);\n\t\tS.xx *= result.sx;\n\t\tS.yy *= result.sy;\n\t\treturn lang.mixin(result, {sx: S.xx, sy: S.yy});\t// Object\n\t};\n});\n","define([\"./_base\",\"dojo/_base/lang\"], \n function(g, lang){\n\tvar m = g.matrix = {};\n\n\t// candidates for dojox.math:\n\tvar _degToRadCache = {};\n\tm._degToRad = function(degree){\n\t\treturn _degToRadCache[degree] || (_degToRadCache[degree] = (Math.PI * degree / 180));\n\t};\n\tm._radToDeg = function(radian){ return radian / Math.PI * 180; };\n\n\tm.Matrix2D = function(arg){\n\t\t// summary:\n\t\t//\t\ta 2D matrix object\n\t\t// description:\n\t\t//\t\tNormalizes a 2D matrix-like object. If arrays is passed,\n\t\t//\t\tall objects of the array are normalized and multiplied sequentially.\n\t\t// arg: Object\n\t\t//\t\ta 2D matrix-like object, a number, or an array of such objects\n\t\tif(arg){\n\t\t\tif(typeof arg == \"number\"){\n\t\t\t\tthis.xx = this.yy = arg;\n\t\t\t}else if(arg instanceof Array){\n\t\t\t\tif(arg.length > 0){\n\t\t\t\t\tvar matrix = m.normalize(arg[0]);\n\t\t\t\t\t// combine matrices\n\t\t\t\t\tfor(var i = 1; i < arg.length; ++i){\n\t\t\t\t\t\tvar l = matrix, r = m.normalize(arg[i]);\n\t\t\t\t\t\tmatrix = new m.Matrix2D();\n\t\t\t\t\t\tmatrix.xx = l.xx * r.xx + l.xy * r.yx;\n\t\t\t\t\t\tmatrix.xy = l.xx * r.xy + l.xy * r.yy;\n\t\t\t\t\t\tmatrix.yx = l.yx * r.xx + l.yy * r.yx;\n\t\t\t\t\t\tmatrix.yy = l.yx * r.xy + l.yy * r.yy;\n\t\t\t\t\t\tmatrix.dx = l.xx * r.dx + l.xy * r.dy + l.dx;\n\t\t\t\t\t\tmatrix.dy = l.yx * r.dx + l.yy * r.dy + l.dy;\n\t\t\t\t\t}\n\t\t\t\t\tlang.mixin(this, matrix);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tlang.mixin(this, arg);\n\t\t\t}\n\t\t}\n\t};\n\n\t// the default (identity) matrix, which is used to fill in missing values\n\tlang.extend(m.Matrix2D, {xx: 1, xy: 0, yx: 0, yy: 1, dx: 0, dy: 0});\n\n\tlang.mixin(m, {\n\t\t// summary:\n\t\t//\t\tclass constants, and methods of dojox/gfx/matrix\n\n\t\t// matrix constants\n\n\t\t// identity: dojox/gfx/matrix.Matrix2D\n\t\t//\t\tan identity matrix constant: identity * (x, y) == (x, y)\n\t\tidentity: new m.Matrix2D(),\n\n\t\t// flipX: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta matrix, which reflects points at x = 0 line: flipX * (x, y) == (-x, y)\n\t\tflipX: new m.Matrix2D({xx: -1}),\n\n\t\t// flipY: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta matrix, which reflects points at y = 0 line: flipY * (x, y) == (x, -y)\n\t\tflipY: new m.Matrix2D({yy: -1}),\n\n\t\t// flipXY: dojox/gfx/matrix.Matrix2D\n\t\t//\t\ta matrix, which reflects points at the origin of coordinates: flipXY * (x, y) == (-x, -y)\n\t\tflipXY: new m.Matrix2D({xx: -1, yy: -1}),\n\n\t\t// matrix creators\n\n\t\ttranslate: function(a, b){\n\t\t\t// summary:\n\t\t\t//\t\tforms a translation matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to translate (move) points by specified offsets.\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x coordinate value, or a point-like object, which specifies offsets for both dimensions\n\t\t\t// b: Number?\n\t\t\t//\t\ta y coordinate value\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 1){\n\t\t\t\treturn new m.Matrix2D({dx: a, dy: b}); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\t// branch\n\t\t\treturn new m.Matrix2D({dx: a.x, dy: a.y}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tscale: function(a, b){\n\t\t\t// summary:\n\t\t\t//\t\tforms a scaling matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to scale (magnify) points by specified offsets.\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\ta scaling factor used for the x coordinate, or\n\t\t\t//\t\ta uniform scaling factor used for the both coordinates, or\n\t\t\t//\t\ta point-like object, which specifies scale factors for both dimensions\n\t\t\t// b: Number?\n\t\t\t//\t\ta scaling factor used for the y coordinate\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 1){\n\t\t\t\treturn new m.Matrix2D({xx: a, yy: b}); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\tif(typeof a == \"number\"){\n\t\t\t\treturn new m.Matrix2D({xx: a, yy: a}); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn new m.Matrix2D({xx: a.x, yy: a.y}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\trotate: function(angle){\n\t\t\t// summary:\n\t\t\t//\t\tforms a rotating matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to rotate points\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified angle.\n\t\t\t// angle: Number\n\t\t\t//\t\tan angle of rotation in radians (>0 for CW)\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tvar c = Math.cos(angle);\n\t\t\tvar s = Math.sin(angle);\n\t\t\treturn new m.Matrix2D({xx: c, xy: -s, yx: s, yy: c}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\trotateg: function(degree){\n\t\t\t// summary:\n\t\t\t//\t\tforms a rotating matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to rotate points\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified degree.\n\t\t\t//\t\tSee dojox/gfx/matrix.rotate() for comparison.\n\t\t\t// degree: Number\n\t\t\t//\t\tan angle of rotation in degrees (>0 for CW)\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn m.rotate(m._degToRad(degree)); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewX: function(angle) {\n\t\t\t// summary:\n\t\t\t//\t\tforms an x skewing matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to skew points in the x dimension\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified angle.\n\t\t\t// angle: Number\n\t\t\t//\t\ta skewing angle in radians\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn new m.Matrix2D({xy: Math.tan(angle)}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewXg: function(degree){\n\t\t\t// summary:\n\t\t\t//\t\tforms an x skewing matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to skew points in the x dimension\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified degree.\n\t\t\t//\t\tSee dojox/gfx/matrix.skewX() for comparison.\n\t\t\t// degree: Number\n\t\t\t//\t\ta skewing angle in degrees\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn m.skewX(m._degToRad(degree)); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewY: function(angle){\n\t\t\t// summary:\n\t\t\t//\t\tforms a y skewing matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to skew points in the y dimension\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified angle.\n\t\t\t// angle: Number\n\t\t\t//\t\ta skewing angle in radians\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn new m.Matrix2D({yx: Math.tan(angle)}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewYg: function(degree){\n\t\t\t// summary:\n\t\t\t//\t\tforms a y skewing matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to skew points in the y dimension\n\t\t\t//\t\taround the origin of coordinates (0, 0) by specified degree.\n\t\t\t//\t\tSee dojox/gfx/matrix.skewY() for comparison.\n\t\t\t// degree: Number\n\t\t\t//\t\ta skewing angle in degrees\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn m.skewY(m._degToRad(degree)); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\treflect: function(a, b){\n\t\t\t// summary:\n\t\t\t//\t\tforms a reflection matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to reflect points around a vector,\n\t\t\t//\t\twhich goes through the origin.\n\t\t\t// a: dojox/gfx.Point|Number\n\t\t\t//\t\ta point-like object, which specifies a vector of reflection, or an X value\n\t\t\t// b: Number?\n\t\t\t//\t\ta Y value\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length == 1){\n\t\t\t\tb = a.y;\n\t\t\t\ta = a.x;\n\t\t\t}\n\t\t\t// make a unit vector\n\t\t\tvar a2 = a * a, b2 = b * b, n2 = a2 + b2, xy = 2 * a * b / n2;\n\t\t\treturn new m.Matrix2D({xx: 2 * a2 / n2 - 1, xy: xy, yx: xy, yy: 2 * b2 / n2 - 1}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tproject: function(a, b){\n\t\t\t// summary:\n\t\t\t//\t\tforms an orthogonal projection matrix\n\t\t\t// description:\n\t\t\t//\t\tThe resulting matrix is used to project points orthogonally on a vector,\n\t\t\t//\t\twhich goes through the origin.\n\t\t\t// a: dojox/gfx.Point|Number\n\t\t\t//\t\ta point-like object, which specifies a vector of projection, or\n\t\t\t//\t\tan x coordinate value\n\t\t\t// b: Number?\n\t\t\t//\t\ta y coordinate value\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length == 1){\n\t\t\t\tb = a.y;\n\t\t\t\ta = a.x;\n\t\t\t}\n\t\t\t// make a unit vector\n\t\t\tvar a2 = a * a, b2 = b * b, n2 = a2 + b2, xy = a * b / n2;\n\t\t\treturn new m.Matrix2D({xx: a2 / n2, xy: xy, yx: xy, yy: b2 / n2}); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\n\t\t// ensure matrix 2D conformance\n\t\tnormalize: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tconverts an object to a matrix, if necessary\n\t\t\t// description:\n\t\t\t//\t\tConverts any 2D matrix-like object or an array of\n\t\t\t//\t\tsuch objects to a valid dojox/gfx/matrix.Matrix2D object.\n\t\t\t// matrix: Object\n\t\t\t//\t\tan object, which is converted to a matrix, if necessary\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\treturn (matrix instanceof m.Matrix2D) ? matrix : new m.Matrix2D(matrix); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\n\t\t// common operations\n\n\t\tisIdentity: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\treturns whether the specified matrix is the identity.\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix object to be tested\n\t\t\t// returns: Boolean\n\t\t\treturn matrix.xx == 1 && matrix.xy == 0 && matrix.yx == 0 && matrix.yy == 1 && matrix.dx == 0 && matrix.dy == 0; // Boolean\n\t\t},\n\t\tclone: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a copy of a 2D matrix\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix-like object to be cloned\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tvar obj = new m.Matrix2D();\n\t\t\tfor(var i in matrix){\n\t\t\t\tif(typeof(matrix[i]) == \"number\" && typeof(obj[i]) == \"number\" && obj[i] != matrix[i]) obj[i] = matrix[i];\n\t\t\t}\n\t\t\treturn obj; // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tinvert: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tinverts a 2D matrix\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix-like object to be inverted\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tvar M = m.normalize(matrix),\n\t\t\t\tD = M.xx * M.yy - M.xy * M.yx;\n\t\t\t\tM = new m.Matrix2D({\n\t\t\t\t\txx: M.yy/D, xy: -M.xy/D,\n\t\t\t\t\tyx: -M.yx/D, yy: M.xx/D,\n\t\t\t\t\tdx: (M.xy * M.dy - M.yy * M.dx) / D,\n\t\t\t\t\tdy: (M.yx * M.dx - M.xx * M.dy) / D\n\t\t\t\t});\n\t\t\treturn M; // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\t_multiplyPoint: function(matrix, x, y){\n\t\t\t// summary:\n\t\t\t//\t\tapplies a matrix to a point\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix object to be applied\n\t\t\t// x: Number\n\t\t\t//\t\tan x coordinate of a point\n\t\t\t// y: Number\n\t\t\t//\t\ta y coordinate of a point\n\t\t\t// returns: dojox/gfx.Point\n\t\t\treturn {x: matrix.xx * x + matrix.xy * y + matrix.dx, y: matrix.yx * x + matrix.yy * y + matrix.dy}; // dojox/gfx.Point\n\t\t},\n\t\tmultiplyPoint: function(matrix, /* Number||Point */ a, /* Number? */ b){\n\t\t\t// summary:\n\t\t\t//\t\tapplies a matrix to a point\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix object to be applied\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x coordinate of a point, or a point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y coordinate of a point\n\t\t\t// returns: dojox/gfx.Point\n\t\t\tvar M = m.normalize(matrix);\n\t\t\tif(typeof a == \"number\" && typeof b == \"number\"){\n\t\t\t\treturn m._multiplyPoint(M, a, b); // dojox/gfx.Point\n\t\t\t}\n\t\t\treturn m._multiplyPoint(M, a.x, a.y); // dojox/gfx.Point\n\t\t},\n\t\tmultiplyRectangle: function(matrix, /*Rectangle*/ rect){\n\t\t\t// summary:\n\t\t\t//\t\tApplies a matrix to a rectangle.\n\t\t\t// description:\n\t\t\t//\t\tThe method applies the transformation on all corners of the\n\t\t\t//\t\trectangle and returns the smallest rectangle enclosing the 4 transformed\n\t\t\t//\t\tpoints.\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix object to be applied.\n\t\t\t// rect: Rectangle\n\t\t\t//\t\tthe rectangle to transform.\n\t\t\t// returns: dojox/gfx.Rectangle\n\t\t\tvar M = m.normalize(matrix);\n\t\t\trect = rect || {x:0, y:0, width:0, height:0}; \n\t\t\tif(m.isIdentity(M))\n\t\t\t\treturn {x: rect.x, y: rect.y, width: rect.width, height: rect.height}; // dojo/gfx.Rectangle\n\t\t\tvar p0 = m.multiplyPoint(M, rect.x, rect.y),\n\t\t\t\tp1 = m.multiplyPoint(M, rect.x, rect.y + rect.height),\n\t\t\t\tp2 = m.multiplyPoint(M, rect.x + rect.width, rect.y),\n\t\t\t\tp3 = m.multiplyPoint(M, rect.x + rect.width, rect.y + rect.height),\n\t\t\t\tminx = Math.min(p0.x, p1.x, p2.x, p3.x),\n\t\t\t\tminy = Math.min(p0.y, p1.y, p2.y, p3.y),\n\t\t\t\tmaxx = Math.max(p0.x, p1.x, p2.x, p3.x),\n\t\t\t\tmaxy = Math.max(p0.y, p1.y, p2.y, p3.y);\n\t\t\treturn{ // dojo/gfx.Rectangle\n\t\t\t\tx: minx,\n\t\t\t\ty: miny,\n\t\t\t\twidth: maxx - minx,\n\t\t\t\theight: maxy - miny\n\t\t\t};\n\t\t},\n\t\tmultiply: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tcombines matrices by multiplying them sequentially in the given order\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix-like object,\n\t\t\t//\t\tall subsequent arguments are matrix-like objects too\n\t\t\tvar M = m.normalize(matrix);\n\t\t\t// combine matrices\n\t\t\tfor(var i = 1; i < arguments.length; ++i){\n\t\t\t\tvar l = M, r = m.normalize(arguments[i]);\n\t\t\t\tM = new m.Matrix2D();\n\t\t\t\tM.xx = l.xx * r.xx + l.xy * r.yx;\n\t\t\t\tM.xy = l.xx * r.xy + l.xy * r.yy;\n\t\t\t\tM.yx = l.yx * r.xx + l.yy * r.yx;\n\t\t\t\tM.yy = l.yx * r.xy + l.yy * r.yy;\n\t\t\t\tM.dx = l.xx * r.dx + l.xy * r.dy + l.dx;\n\t\t\t\tM.dy = l.yx * r.dx + l.yy * r.dy + l.dy;\n\t\t\t}\n\t\t\treturn M; // dojox/gfx/matrix.Matrix2D\n\t\t},\n\n\t\t// high level operations\n\n\t\t_sandwich: function(matrix, x, y){\n\t\t\t// summary:\n\t\t\t//\t\tapplies a matrix at a central point\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix-like object, which is applied at a central point\n\t\t\t// x: Number\n\t\t\t//\t\tan x component of the central point\n\t\t\t// y: Number\n\t\t\t//\t\ta y component of the central point\n\t\t\treturn m.multiply(m.translate(x, y), matrix, m.translate(-x, -y)); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tscaleAt: function(a, b, c, d){\n\t\t\t// summary:\n\t\t\t//\t\tscales a picture using a specified point as a center of scaling\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.scale().\n\t\t\t// a: Number\n\t\t\t//\t\ta scaling factor used for the x coordinate, or a uniform scaling factor used for both coordinates\n\t\t\t// b: Number?\n\t\t\t//\t\ta scaling factor used for the y coordinate\n\t\t\t// c: Number|Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// d: Number\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tswitch(arguments.length){\n\t\t\t\tcase 4:\n\t\t\t\t\t// a and b are scale factor components, c and d are components of a point\n\t\t\t\t\treturn m._sandwich(m.scale(a, b), c, d); // dojox/gfx/matrix.Matrix2D\n\t\t\t\tcase 3:\n\t\t\t\t\tif(typeof c == \"number\"){\n\t\t\t\t\t\treturn m._sandwich(m.scale(a), b, c); // dojox/gfx/matrix.Matrix2D\n\t\t\t\t\t}\n\t\t\t\t\treturn m._sandwich(m.scale(a, b), c.x, c.y); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.scale(a), b.x, b.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\trotateAt: function(angle, a, b){\n\t\t\t// summary:\n\t\t\t//\t\trotates a picture using a specified point as a center of rotation\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.rotate().\n\t\t\t// angle: Number\n\t\t\t//\t\tan angle of rotation in radians (>0 for CW)\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.rotate(angle), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.rotate(angle), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\trotategAt: function(degree, a, b){\n\t\t\t// summary:\n\t\t\t//\t\trotates a picture using a specified point as a center of rotation\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.rotateg().\n\t\t\t// degree: Number\n\t\t\t//\t\tan angle of rotation in degrees (>0 for CW)\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.rotateg(degree), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.rotateg(degree), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewXAt: function(angle, a, b){\n\t\t\t// summary:\n\t\t\t//\t\tskews a picture along the x axis using a specified point as a center of skewing\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.skewX().\n\t\t\t// angle: Number\n\t\t\t//\t\ta skewing angle in radians\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.skewX(angle), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.skewX(angle), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewXgAt: function(degree, a, b){\n\t\t\t// summary:\n\t\t\t//\t\tskews a picture along the x axis using a specified point as a center of skewing\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.skewXg().\n\t\t\t// degree: Number\n\t\t\t//\t\ta skewing angle in degrees\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.skewXg(degree), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.skewXg(degree), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewYAt: function(angle, a, b){\n\t\t\t// summary:\n\t\t\t//\t\tskews a picture along the y axis using a specified point as a center of skewing\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.skewY().\n\t\t\t// angle: Number\n\t\t\t//\t\ta skewing angle in radians\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.skewY(angle), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.skewY(angle), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tskewYgAt: function(/* Number */ degree, /* Number||Point */ a, /* Number? */ b){\n\t\t\t// summary:\n\t\t\t//\t\tskews a picture along the y axis using a specified point as a center of skewing\n\t\t\t// description:\n\t\t\t//\t\tCompare with dojox/gfx/matrix.skewYg().\n\t\t\t// degree: Number\n\t\t\t//\t\ta skewing angle in degrees\n\t\t\t// a: Number|dojox/gfx.Point\n\t\t\t//\t\tan x component of a central point, or a central point\n\t\t\t// b: Number?\n\t\t\t//\t\ta y component of a central point\n\t\t\t// returns: dojox/gfx/matrix.Matrix2D\n\t\t\tif(arguments.length > 2){\n\t\t\t\treturn m._sandwich(m.skewYg(degree), a, b); // dojox/gfx/matrix.Matrix2D\n\t\t\t}\n\t\t\treturn m._sandwich(m.skewYg(degree), a.x, a.y); // dojox/gfx/matrix.Matrix2D\n\t\t}\n\n\t\t//TODO: rect-to-rect mapping, scale-to-fit (isotropic and anisotropic versions)\n\n\t});\n\t// propagate Matrix2D up\n\tg.Matrix2D = m.Matrix2D;\n\n\treturn m;\n});\n\n\n","define([\"./_base\", \"dojo/_base/lang\",\"dojo/_base/declare\", \"./matrix\", \"./shape\"],\n\tfunction(g, lang, declare, matrix, shapeLib){\n\n\t// module:\n\t//\t\tdojox/gfx/path\n\n\tvar Path = declare(\"dojox.gfx.path.Path\", shapeLib.Shape, {\n\t\t// summary:\n\t\t//\t\ta generalized path shape\n\n\t\tconstructor: function(rawNode){\n\t\t\t// summary:\n\t\t\t//\t\ta path constructor\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM node to be used by this path object\n\t\t\tthis.shape = lang.clone(g.defaultPath);\n\t\t\tthis.segments = [];\n\t\t\tthis.tbbox = null;\n\t\t\tthis.absolute = true;\n\t\t\tthis.last = {};\n\t\t\tthis.rawNode = rawNode;\n\t\t\tthis.segmented = false;\n\t\t},\n\n\t\t// mode manipulations\n\t\tsetAbsoluteMode: function(mode){\n\t\t\t// summary:\n\t\t\t//\t\tsets an absolute or relative mode for path points\n\t\t\t// mode: Boolean\n\t\t\t//\t\ttrue/false or \"absolute\"/\"relative\" to specify the mode\n\t\t\tthis._confirmSegmented();\n\t\t\tthis.absolute = typeof mode == \"string\" ? (mode == \"absolute\") : mode;\n\t\t\treturn this; // self\n\t\t},\n\t\tgetAbsoluteMode: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns a current value of the absolute mode\n\t\t\tthis._confirmSegmented();\n\t\t\treturn this.absolute; // Boolean\n\t\t},\n\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box {x, y, width, height} or null\n\t\t\tthis._confirmSegmented();\n\t\t\treturn (this.bbox && (\"l\" in this.bbox)) ? {x: this.bbox.l, y: this.bbox.t, width: this.bbox.r - this.bbox.l, height: this.bbox.b - this.bbox.t} : null; // dojox/gfx.Rectangle\n\t\t},\n\n\t\t_getRealBBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns an array of four points or null\n\t\t\t//\t\tfour points represent four corners of the untransformed bounding box\n\t\t\tthis._confirmSegmented();\n\t\t\tif(this.tbbox){\n\t\t\t\treturn this.tbbox;\t// Array\n\t\t\t}\n\t\t\tvar bbox = this.bbox, matrix = this._getRealMatrix();\n\t\t\tthis.bbox = null;\n\t\t\tfor(var i = 0, len = this.segments.length; i < len; ++i){\n\t\t\t\tthis._updateWithSegment(this.segments[i], matrix);\n\t\t\t}\n\t\t\tvar t = this.bbox;\n\t\t\tthis.bbox = bbox;\n\t\t\tthis.tbbox = t ? [\n\t\t\t\t{x: t.l, y: t.t},\n\t\t\t\t{x: t.r, y: t.t},\n\t\t\t\t{x: t.r, y: t.b},\n\t\t\t\t{x: t.l, y: t.b}\n\t\t\t] : null;\n\t\t\treturn this.tbbox;\t// Array\n\t\t},\n\n\t\tgetLastPosition: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the last point in the path, or null\n\t\t\tthis._confirmSegmented();\n\t\t\treturn \"x\" in this.last ? this.last : null; // Object\n\t\t},\n\n\t\t_applyTransform: function(){\n\t\t\tthis.tbbox = null;\n\t\t\treturn this.inherited(arguments);\n\t\t},\n\n\t\t// segment interpretation\n\t\t_updateBBox: function(x, y, m){\n\t\t\t// summary:\n\t\t\t//\t\tupdates the bounding box of path with new point\n\t\t\t// x: Number\n\t\t\t//\t\tan x coordinate\n\t\t\t// y: Number\n\t\t\t//\t\ta y coordinate\n\n\t\t\tif(m){\n\t\t\t\tvar t = matrix.multiplyPoint(m, x, y);\n\t\t\t\tx = t.x;\n\t\t\t\ty = t.y;\n\t\t\t}\n\n\t\t\t// we use {l, b, r, t} representation of a bbox\n\t\t\tif(this.bbox && (\"l\" in this.bbox)){\n\t\t\t\tif(this.bbox.l > x) this.bbox.l = x;\n\t\t\t\tif(this.bbox.r < x) this.bbox.r = x;\n\t\t\t\tif(this.bbox.t > y) this.bbox.t = y;\n\t\t\t\tif(this.bbox.b < y) this.bbox.b = y;\n\t\t\t}else{\n\t\t\t\tthis.bbox = {l: x, b: y, r: x, t: y};\n\t\t\t}\n\t\t},\n\t\t_updateWithSegment: function(segment, matrix){\n\t\t\t// summary:\n\t\t\t//\t\tupdates the bounding box of path with new segment\n\t\t\t// segment: Object\n\t\t\t//\t\ta segment\n\t\t\tvar n = segment.args, l = n.length, i;\n\t\t\t// update internal variables: bbox, absolute, last\n\t\t\tswitch(segment.action){\n\t\t\t\tcase \"M\":\n\t\t\t\tcase \"L\":\n\t\t\t\tcase \"C\":\n\t\t\t\tcase \"S\":\n\t\t\t\tcase \"Q\":\n\t\t\t\tcase \"T\":\n\t\t\t\t\tfor(i = 0; i < l; i += 2){\n\t\t\t\t\t\tthis._updateBBox(n[i], n[i + 1], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.last.x = n[l - 2];\n\t\t\t\t\tthis.last.y = n[l - 1];\n\t\t\t\t\tthis.absolute = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"H\":\n\t\t\t\t\tfor(i = 0; i < l; ++i){\n\t\t\t\t\t\tthis._updateBBox(n[i], this.last.y, matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.last.x = n[l - 1];\n\t\t\t\t\tthis.absolute = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"V\":\n\t\t\t\t\tfor(i = 0; i < l; ++i){\n\t\t\t\t\t\tthis._updateBBox(this.last.x, n[i], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.last.y = n[l - 1];\n\t\t\t\t\tthis.absolute = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"m\":\n\t\t\t\t\tvar start = 0;\n\t\t\t\t\tif(!(\"x\" in this.last)){\n\t\t\t\t\t\tthis._updateBBox(this.last.x = n[0], this.last.y = n[1], matrix);\n\t\t\t\t\t\tstart = 2;\n\t\t\t\t\t}\n\t\t\t\t\tfor(i = start; i < l; i += 2){\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i], this.last.y += n[i + 1], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"l\":\n\t\t\t\tcase \"t\":\n\t\t\t\t\tfor(i = 0; i < l; i += 2){\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i], this.last.y += n[i + 1], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"h\":\n\t\t\t\t\tfor(i = 0; i < l; ++i){\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i], this.last.y, matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"v\":\n\t\t\t\t\tfor(i = 0; i < l; ++i){\n\t\t\t\t\t\tthis._updateBBox(this.last.x, this.last.y += n[i], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"c\":\n\t\t\t\t\tfor(i = 0; i < l; i += 6){\n\t\t\t\t\t\tthis._updateBBox(this.last.x + n[i], this.last.y + n[i + 1], matrix);\n\t\t\t\t\t\tthis._updateBBox(this.last.x + n[i + 2], this.last.y + n[i + 3], matrix);\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i + 4], this.last.y += n[i + 5], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"s\":\n\t\t\t\tcase \"q\":\n\t\t\t\t\tfor(i = 0; i < l; i += 4){\n\t\t\t\t\t\tthis._updateBBox(this.last.x + n[i], this.last.y + n[i + 1], matrix);\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i + 2], this.last.y += n[i + 3], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"A\":\n\t\t\t\t\tfor(i = 0; i < l; i += 7){\n\t\t\t\t\t\tthis._updateBBox(n[i + 5], n[i + 6], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.last.x = n[l - 2];\n\t\t\t\t\tthis.last.y = n[l - 1];\n\t\t\t\t\tthis.absolute = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"a\":\n\t\t\t\t\tfor(i = 0; i < l; i += 7){\n\t\t\t\t\t\tthis._updateBBox(this.last.x += n[i + 5], this.last.y += n[i + 6], matrix);\n\t\t\t\t\t}\n\t\t\t\t\tthis.absolute = false;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// add an SVG path segment\n\t\t\tvar path = [segment.action];\n\t\t\tfor(i = 0; i < l; ++i){\n\t\t\t\tpath.push(g.formatNumber(n[i], true));\n\t\t\t}\n\t\t\tif(typeof this.shape.path == \"string\"){\n\t\t\t\tthis.shape.path += path.join(\"\");\n\t\t\t}else{\n\t\t\t\tfor(i = 0, l = path.length; i < l; ++i){\n\t\t\t\t\tthis.shape.path.push(path[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// a dictionary, which maps segment type codes to a number of their arguments\n\t\t_validSegments: {m: 2, l: 2, h: 1, v: 1, c: 6, s: 4, q: 4, t: 2, a: 7, z: 0},\n\n\t\t_pushSegment: function(action, args){\n\t\t\t// summary:\n\t\t\t//\t\tadds a segment\n\t\t\t// action: String\n\t\t\t//\t\tvalid SVG code for a segment's type\n\t\t\t// args: Array\n\t\t\t//\t\ta list of parameters for this segment\n\t\t\tthis.tbbox = null;\n\t\t\tvar group = this._validSegments[action.toLowerCase()], segment;\n\t\t\tif(typeof group == \"number\"){\n\t\t\t\tif(group){\n\t\t\t\t\tif(args.length >= group){\n\t\t\t\t\t\tsegment = {action: action, args: args.slice(0, args.length - args.length % group)};\n\t\t\t\t\t\tthis.segments.push(segment);\n\t\t\t\t\t\tthis._updateWithSegment(segment);\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tsegment = {action: action, args: []};\n\t\t\t\t\tthis.segments.push(segment);\n\t\t\t\t\tthis._updateWithSegment(segment);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_collectArgs: function(array, args){\n\t\t\t// summary:\n\t\t\t//\t\tconverts an array of arguments to plain numeric values\n\t\t\t// array: Array\n\t\t\t//\t\tan output argument (array of numbers)\n\t\t\t// args: Array\n\t\t\t//\t\tan input argument (can be values of Boolean, Number, dojox/gfx.Point, or an embedded array of them)\n\t\t\tfor(var i = 0; i < args.length; ++i){\n\t\t\t\tvar t = args[i];\n\t\t\t\tif(typeof t == \"boolean\"){\n\t\t\t\t\tarray.push(t ? 1 : 0);\n\t\t\t\t}else if(typeof t == \"number\"){\n\t\t\t\t\tarray.push(t);\n\t\t\t\t}else if(t instanceof Array){\n\t\t\t\t\tthis._collectArgs(array, t);\n\t\t\t\t}else if(\"x\" in t && \"y\" in t){\n\t\t\t\t\tarray.push(t.x, t.y);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// segments\n\t\tmoveTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a move segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"M\" : \"m\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tlineTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a line segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"L\" : \"l\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\thLineTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a horizontal line segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"H\" : \"h\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tvLineTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a vertical line segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"V\" : \"v\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tcurveTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a curve segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"C\" : \"c\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tsmoothCurveTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a smooth curve segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"S\" : \"s\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tqCurveTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a quadratic curve segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"Q\" : \"q\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tqSmoothCurveTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms a quadratic smooth curve segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"T\" : \"t\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tarcTo: function(){\n\t\t\t// summary:\n\t\t\t//\t\tforms an elliptic arc segment\n\t\t\tthis._confirmSegmented();\n\t\t\tvar args = [];\n\t\t\tthis._collectArgs(args, arguments);\n\t\t\tthis._pushSegment(this.absolute ? \"A\" : \"a\", args);\n\t\t\treturn this; // self\n\t\t},\n\t\tclosePath: function(){\n\t\t\t// summary:\n\t\t\t//\t\tcloses a path\n\t\t\tthis._confirmSegmented();\n\t\t\tthis._pushSegment(\"Z\", []);\n\t\t\treturn this; // self\n\t\t},\n\n\t\t_confirmSegmented: function() {\n\t\t\tif (!this.segmented) {\n\t\t\t\tvar path = this.shape.path;\n\t\t\t\t// switch to non-updating version of path building\n\t\t\t\tthis.shape.path = [];\n\t\t\t\tthis._setPath(path);\n\t\t\t\t// switch back to the string path\n\t\t\t\tthis.shape.path = this.shape.path.join(\"\");\n\t\t\t\t// become segmented\n\t\t\t\tthis.segmented = true;\n\t\t\t}\n\t\t},\n\n\t\t// setShape\n\t\t_setPath: function(path){\n\t\t\t// summary:\n\t\t\t//\t\tforms a path using an SVG path string\n\t\t\t// path: String\n\t\t\t//\t\tan SVG path string\n\t\t\tvar p = lang.isArray(path) ? path : path.match(g.pathSvgRegExp);\n\t\t\tthis.segments = [];\n\t\t\tthis.absolute = true;\n\t\t\tthis.bbox = {};\n\t\t\tthis.last = {};\n\t\t\tif(!p) return;\n\t\t\t// create segments\n\t\t\tvar action = \"\",\t// current action\n\t\t\t\targs = [],\t\t// current arguments\n\t\t\t\tl = p.length;\n\t\t\tfor(var i = 0; i < l; ++i){\n\t\t\t\tvar t = p[i], x = parseFloat(t);\n\t\t\t\tif(isNaN(x)){\n\t\t\t\t\tif(action){\n\t\t\t\t\t\tthis._pushSegment(action, args);\n\t\t\t\t\t}\n\t\t\t\t\targs = [];\n\t\t\t\t\taction = t;\n\t\t\t\t}else{\n\t\t\t\t\targs.push(x);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._pushSegment(action, args);\n\t\t},\n\t\tsetShape: function(newShape){\n\t\t\t// summary:\n\t\t\t//\t\tforms a path using a shape\n\t\t\t// newShape: Object\n\t\t\t//\t\tan SVG path string or a path object (see dojox/gfx.defaultPath)\n\t\t\tthis.inherited(arguments, [typeof newShape == \"string\" ? {path: newShape} : newShape]);\n\n\t\t\tthis.segmented = false;\n\t\t\tthis.segments = [];\n\t\t\tif(!g.lazyPathSegmentation){\n\t\t\t\tthis._confirmSegmented();\n\t\t\t}\n\t\t\treturn this; // self\n\t\t},\n\n\t\t// useful constant for descendants\n\t\t_2PI: Math.PI * 2\n\t});\n\n\tvar TextPath = declare(\"dojox.gfx.path.TextPath\", Path, {\n\t\t// summary:\n\t\t//\t\ta generalized TextPath shape\n\n\t\tconstructor: function(rawNode){\n\t\t\t// summary:\n\t\t\t//\t\ta TextPath shape constructor\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM node to be used by this TextPath object\n\t\t\tif(!(\"text\" in this)){\n\t\t\t\tthis.text = lang.clone(g.defaultTextPath);\n\t\t\t}\n\t\t\tif(!(\"fontStyle\" in this)){\n\t\t\t\tthis.fontStyle = lang.clone(g.defaultFont);\n\t\t\t}\n\t\t},\n\t\tgetText: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the current text object or null\n\t\t\treturn this.text;\t// Object\n\t\t},\n\t\tsetText: function(newText){\n\t\t\t// summary:\n\t\t\t//\t\tsets a text to be drawn along the path\n\t\t\tthis.text = g.makeParameters(this.text,\n\t\t\t\ttypeof newText == \"string\" ? {text: newText} : newText);\n\t\t\tthis._setText();\n\t\t\treturn this;\t// self\n\t\t},\n\t\tgetFont: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the current font object or null\n\t\t\treturn this.fontStyle;\t// Object\n\t\t},\n\t\tsetFont: function(newFont){\n\t\t\t// summary:\n\t\t\t//\t\tsets a font for text\n\t\t\tthis.fontStyle = typeof newFont == \"string\" ?\n\t\t\t\tg.splitFontString(newFont) :\n\t\t\t\tg.makeParameters(g.defaultFont, newFont);\n\t\t\tthis._setFont();\n\t\t\treturn this;\t// self\n\t\t}\n\t});\n\n\t/*=====\n\tg.Path = Path;\n\tg.TextPath = TextPath;\n\t=====*/\n\n\treturn g.path = {\n\t\t// summary:\n\t\t//\t\tThis module contains the core graphics Path API.\n\t\t//\t\tPath command format follows the W3C SVG 1.0 Path api.\n\n\t\tPath: Path,\n\t\tTextPath: TextPath\n\t};\n});\n","define([\"./_base\", \"dojo/_base/lang\", \"dojo/_base/declare\", \"dojo/_base/kernel\", \"dojo/_base/sniff\",\n\t\"dojo/on\", \"dojo/_base/array\", \"dojo/dom-construct\", \"dojo/_base/Color\", \"./matrix\" ],\n\tfunction(g, lang, declare, kernel, has, on, arr, domConstruct, Color, matrixLib){\n\n\tfunction removeItemAt(a, index) {\n\t\tvar len = (a.length - 1);\n\t\twhile (index < len) {\n\t\t\ta[index] = a[++index];\n\t\t}\n\t\ta.length = len;\n\t}\n\n\tvar shape = g.shape = {\n\t\t// summary:\n\t\t//\t\tThis module contains the core graphics Shape API.\n\t\t//\t\tDifferent graphics renderer implementation modules (svg, canvas, vml, silverlight, etc.) extend this\n\t\t//\t\tbasic api to provide renderer-specific implementations for each shape.\n\t};\n\n\tshape.Shape = declare(\"dojox.gfx.shape.Shape\", null, {\n\t\t// summary:\n\t\t//\t\ta Shape object, which knows how to apply\n\t\t//\t\tgraphical attributes and transformations\n\t\n\t\tconstructor: function(){\n\t\t\t// rawNode: Node\n\t\t\t//\t\tunderlying graphics-renderer-specific implementation object (if applicable)\n\t\t\tthis.rawNode = null;\n\n\t\t\t// shape: Object\n\t\t\t//\t\tan abstract shape object\n\t\t\t//\t\t(see dojox/gfx.defaultPath,\n\t\t\t//\t\tdojox/gfx.defaultPolyline,\n\t\t\t//\t\tdojox/gfx.defaultRect,\n\t\t\t//\t\tdojox/gfx.defaultEllipse,\n\t\t\t//\t\tdojox/gfx.defaultCircle,\n\t\t\t//\t\tdojox/gfx.defaultLine,\n\t\t\t//\t\tor dojox/gfx.defaultImage)\n\t\t\tthis.shape = null;\n\t\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta transformation matrix\n\t\t\tthis.matrix = null;\n\t\n\t\t\t// fillStyle: dojox/gfx.Fill\n\t\t\t//\t\ta fill object\n\t\t\t//\t\t(see dojox/gfx.defaultLinearGradient,\n\t\t\t//\t\tdojox/gfx.defaultRadialGradient,\n\t\t\t//\t\tdojox/gfx.defaultPattern,\n\t\t\t//\t\tor dojo/Color)\n\t\t\tthis.fillStyle = null;\n\t\n\t\t\t// strokeStyle: dojox/gfx.Stroke\n\t\t\t//\t\ta stroke object\n\t\t\t//\t\t(see dojox/gfx.defaultStroke)\n\t\t\tthis.strokeStyle = null;\n\t\n\t\t\t// bbox: dojox/gfx.Rectangle\n\t\t\t//\t\ta bounding box of this shape\n\t\t\t//\t\t(see dojox/gfx.defaultRect)\n\t\t\tthis.bbox = null;\n\t\n\t\t\t// virtual group structure\n\t\n\t\t\t// parent: Object\n\t\t\t//\t\ta parent or null\n\t\t\t//\t\t(see dojox/gfx/shape.Surface,\n\t\t\t//\t\tor dojox/gfx.Group)\n\t\t\tthis.parent = null;\n\t\n\t\t\t// parentMatrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta transformation matrix inherited from the parent\n\t\t\tthis.parentMatrix = null;\n\n\t\t\tif(has(\"gfxRegistry\")){\n\t\t\t\tvar uid = shape.register(this);\n\t\t\t\tthis.getUID = function(){\n\t\t\t\t\treturn uid;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t\tdestroy: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReleases all internal resources owned by this shape. Once this method has been called,\n\t\t\t//\t\tthe instance is considered destroyed and should not be used anymore.\n\t\t\tif(has(\"gfxRegistry\")){\n\t\t\t\tshape.dispose(this);\n\t\t\t}\n\t\t\tif(this.rawNode && \"__gfxObject__\" in this.rawNode){\n\t\t\t\tthis.rawNode.__gfxObject__ = null;\n\t\t\t}\n\t\t\tthis.rawNode = null;\n\t\t},\n\t\n\t\t// trivial getters\n\t\n\t\tgetNode: function(){\n\t\t\t// summary:\n\t\t\t//\t\tDifferent graphics rendering subsystems implement shapes in different ways. This\n\t\t\t//\t\tmethod provides access to the underlying graphics subsystem object. Clients calling this\n\t\t\t//\t\tmethod and using the return value must be careful not to try sharing or using the underlying node\n\t\t\t//\t\tin a general way across renderer implementation.\n\t\t\t//\t\tReturns the underlying graphics Node, or null if no underlying graphics node is used by this shape.\n\t\t\treturn this.rawNode; // Node\n\t\t},\n\t\tgetShape: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the current Shape object or null\n\t\t\t//\t\t(see dojox/gfx.defaultPath,\n\t\t\t//\t\tdojox/gfx.defaultPolyline,\n\t\t\t//\t\tdojox/gfx.defaultRect,\n\t\t\t//\t\tdojox/gfx.defaultEllipse,\n\t\t\t//\t\tdojox/gfx.defaultCircle,\n\t\t\t//\t\tdojox/gfx.defaultLine,\n\t\t\t//\t\tor dojox/gfx.defaultImage)\n\t\t\treturn this.shape; // Object\n\t\t},\n\t\tgetTransform: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the current transformation matrix applied to this Shape or null\n\t\t\treturn this.matrix;\t// dojox/gfx/matrix.Matrix2D\n\t\t},\n\t\tgetFill: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the current fill object or null\n\t\t\t//\t\t(see dojox/gfx.defaultLinearGradient,\n\t\t\t//\t\tdojox/gfx.defaultRadialGradient,\n\t\t\t//\t\tdojox/gfx.defaultPattern,\n\t\t\t//\t\tor dojo/Color)\n\t\t\treturn this.fillStyle;\t// Object\n\t\t},\n\t\tgetStroke: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the current stroke object or null\n\t\t\t//\t\t(see dojox/gfx.defaultStroke)\n\t\t\treturn this.strokeStyle;\t// Object\n\t\t},\n\t\tgetParent: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the parent Shape, Group or null if this Shape is unparented.\n\t\t\t//\t\t(see dojox/gfx/shape.Surface,\n\t\t\t//\t\tor dojox/gfx.Group)\n\t\t\treturn this.parent;\t// Object\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the bounding box Rectangle for this shape or null if a BoundingBox cannot be\n\t\t\t//\t\tcalculated for the shape on the current renderer or for shapes with no geometric area (points).\n\t\t\t//\t\tA bounding box is a rectangular geometric region\n\t\t\t//\t\tdefining the X and Y extent of the shape.\n\t\t\t//\t\t(see dojox/gfx.defaultRect)\n\t\t\t//\t\tNote that this method returns a direct reference to the attribute of this instance. Therefore you should\n\t\t\t//\t\tnot modify its value directly but clone it instead.\n\t\t\treturn this.bbox;\t// dojox/gfx.Rectangle\n\t\t},\n\t\tgetTransformedBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns an array of four points or null\n\t\t\t//\t\tfour points represent four corners of the untransformed bounding box\n\t\t\tvar b = this.getBoundingBox();\n\t\t\tif(!b){\n\t\t\t\treturn null;\t// null\n\t\t\t}\n\t\t\tvar m = this._getRealMatrix(),\n\t\t\t\tgm = matrixLib;\n\t\t\treturn [\t// Array\n\t\t\t\t\tgm.multiplyPoint(m, b.x, b.y),\n\t\t\t\t\tgm.multiplyPoint(m, b.x + b.width, b.y),\n\t\t\t\t\tgm.multiplyPoint(m, b.x + b.width, b.y + b.height),\n\t\t\t\t\tgm.multiplyPoint(m, b.x, b.y + b.height)\n\t\t\t\t];\n\t\t},\n\t\tgetEventSource: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns a Node, which is used as\n\t\t\t//\t\ta source of events for this shape\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\treturn this.rawNode;\t// Node\n\t\t},\n\t\n\t\t// empty settings\n\t\t\n\t\tsetClip: function(clip){\n\t\t\t// summary:\n\t\t\t//\t\tsets the clipping area of this shape.\n\t\t\t// description:\n\t\t\t//\t\tThe clipping area defines the shape area that will be effectively visible. Everything that\n\t\t\t//\t\twould be drawn outside of the clipping area will not be rendered.\n\t\t\t//\t\tThe possible clipping area types are rectangle, ellipse, polyline and path, but all are not\n\t\t\t//\t\tsupported by all the renderers. vml only supports rectangle clipping, while the gfx silverlight renderer does not\n\t\t\t//\t\tsupport path clipping.\n\t\t\t//\t\tThe clip parameter defines the clipping area geometry, and should be an object with the following properties:\n\t\t\t//\n\t\t\t//\t\t- {x:Number, y:Number, width:Number, height:Number} for rectangular clip\n\t\t\t//\t\t- {cx:Number, cy:Number, rx:Number, ry:Number} for ellipse clip\n\t\t\t//\t\t- {points:Array} for polyline clip\n\t\t\t//\t\t- {d:String} for a path clip.\n\t\t\t//\n\t\t\t//\t\tThe clip geometry coordinates are expressed in the coordinate system used to draw the shape. In other\n\t\t\t//\t\twords, the clipping area is defined in the shape parent coordinate system and the shape transform is automatically applied.\n\t\t\t// example:\n\t\t\t//\t\tThe following example shows how to clip a gfx image with all the possible clip geometry: a rectangle,\n\t\t\t//\t\tan ellipse, a circle (using the ellipse geometry), a polyline and a path:\n\t\t\t//\n\t\t\t//\t|\tsurface.createImage({src:img, width:200,height:200}).setClip({x:10,y:10,width:50,height:50});\n\t\t\t//\t|\tsurface.createImage({src:img, x:100,y:50,width:200,height:200}).setClip({cx:200,cy:100,rx:20,ry:30});\n\t\t\t//\t|\tsurface.createImage({src:img, x:0,y:350,width:200,height:200}).setClip({cx:100,cy:425,rx:60,ry:60});\n\t\t\t//\t|\tsurface.createImage({src:img, x:300,y:0,width:200,height:200}).setClip({points:[350,0,450,50,380,130,300,110]});\n\t\t\t//\t|\tsurface.createImage({src:img, x:300,y:350,width:200,height:200}).setClip({d:\"M 350,350 C314,414 317,557 373,450.0000 z\"});\n\n\t\t\t// clip: Object\n\t\t\t//\t\tan object that defines the clipping geometry, or null to remove clip.\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\tthis.clip = clip;\n\t\t},\n\t\t\n\t\tgetClip: function(){\n\t\t\treturn this.clip;\n\t\t},\n\t\n\t\tsetShape: function(shape){\n\t\t\t// summary:\n\t\t\t//\t\tsets a shape object\n\t\t\t//\t\t(the default implementation simply ignores it)\n\t\t\t// shape: Object\n\t\t\t//\t\ta shape object\n\t\t\t//\t\t(see dojox/gfx.defaultPath,\n\t\t\t//\t\tdojox/gfx.defaultPolyline,\n\t\t\t//\t\tdojox/gfx.defaultRect,\n\t\t\t//\t\tdojox/gfx.defaultEllipse,\n\t\t\t//\t\tdojox/gfx.defaultCircle,\n\t\t\t//\t\tdojox/gfx.defaultLine,\n\t\t\t//\t\tor dojox/gfx.defaultImage)\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\tthis.shape = g.makeParameters(this.shape, shape);\n\t\t\tthis.bbox = null;\n\t\t\treturn this;\t// self\n\t\t},\n\t\tsetFill: function(fill){\n\t\t\t// summary:\n\t\t\t//\t\tsets a fill object\n\t\t\t//\t\t(the default implementation simply ignores it)\n\t\t\t// fill: Object\n\t\t\t//\t\ta fill object\n\t\t\t//\t\t(see dojox/gfx.defaultLinearGradient,\n\t\t\t//\t\tdojox/gfx.defaultRadialGradient,\n\t\t\t//\t\tdojox/gfx.defaultPattern,\n\t\t\t//\t\tor dojo/_base/Color)\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\tif(!fill){\n\t\t\t\t// don't fill\n\t\t\t\tthis.fillStyle = null;\n\t\t\t\treturn this;\t// self\n\t\t\t}\n\t\t\tvar f = null;\n\t\t\tif(typeof(fill) == \"object\" && \"type\" in fill){\n\t\t\t\t// gradient or pattern\n\t\t\t\tswitch(fill.type){\n\t\t\t\t\tcase \"linear\":\n\t\t\t\t\t\tf = g.makeParameters(g.defaultLinearGradient, fill);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"radial\":\n\t\t\t\t\t\tf = g.makeParameters(g.defaultRadialGradient, fill);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"pattern\":\n\t\t\t\t\t\tf = g.makeParameters(g.defaultPattern, fill);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\t// color object\n\t\t\t\tf = g.normalizeColor(fill);\n\t\t\t}\n\t\t\tthis.fillStyle = f;\n\t\t\treturn this;\t// self\n\t\t},\n\t\tsetStroke: function(stroke){\n\t\t\t// summary:\n\t\t\t//\t\tsets a stroke object\n\t\t\t//\t\t(the default implementation simply ignores it)\n\t\t\t// stroke: Object\n\t\t\t//\t\ta stroke object\n\t\t\t//\t\t(see dojox/gfx.defaultStroke)\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\tif(!stroke){\n\t\t\t\t// don't stroke\n\t\t\t\tthis.strokeStyle = null;\n\t\t\t\treturn this;\t// self\n\t\t\t}\n\t\t\t// normalize the stroke\n\t\t\tif(typeof stroke == \"string\" || lang.isArray(stroke) || stroke instanceof Color){\n\t\t\t\tstroke = {color: stroke};\n\t\t\t}\n\t\t\tvar s = this.strokeStyle = g.makeParameters(g.defaultStroke, stroke);\n\t\t\ts.color = g.normalizeColor(s.color);\n\t\t\treturn this;\t// self\n\t\t},\n\t\tsetTransform: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tsets a transformation matrix\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta matrix or a matrix-like object\n\t\t\t//\t\t(see an argument of dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\tconstructor for a list of acceptable arguments)\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\tthis.matrix = matrixLib.clone(matrix ? matrixLib.normalize(matrix) : matrixLib.identity);\n\t\t\treturn this._applyTransform();\t// self\n\t\t},\n\t\n\t\t_applyTransform: function(){\n\t\t\t// summary:\n\t\t\t//\t\tphysically sets a matrix\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\treturn this;\t// self\n\t\t},\n\t\n\t\t// z-index\n\t\n\t\tmoveToFront: function(){\n\t\t\t// summary:\n\t\t\t//\t\tmoves a shape to front of its parent's list of shapes\n\t\t\tvar p = this.getParent();\n\t\t\tif(p){\n\t\t\t\tp._moveChildToFront(this);\n\t\t\t\tthis._moveToFront();\t// execute renderer-specific action\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t},\n\t\tmoveToBack: function(){\n\t\t\t// summary:\n\t\t\t//\t\tmoves a shape to back of its parent's list of shapes\n\t\t\tvar p = this.getParent();\n\t\t\tif(p){\n\t\t\t\tp._moveChildToBack(this);\n\t\t\t\tthis._moveToBack();\t// execute renderer-specific action\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t_moveToFront: function(){\n\t\t\t// summary:\n\t\t\t//\t\trenderer-specific hook, see dojox/gfx/shape.Shape.moveToFront()\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t},\n\t\t_moveToBack: function(){\n\t\t\t// summary:\n\t\t\t//\t\trenderer-specific hook, see dojox/gfx/shape.Shape.moveToFront()\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t},\n\t\n\t\t// apply left & right transformation\n\t\n\t\tapplyRightTransform: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tmultiplies the existing matrix with an argument on right side\n\t\t\t//\t\t(this.matrix * matrix)\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta matrix or a matrix-like object\n\t\t\t//\t\t(see an argument of dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\tconstructor for a list of acceptable arguments)\n\t\t\treturn matrix ? this.setTransform([this.matrix, matrix]) : this;\t// self\n\t\t},\n\t\tapplyLeftTransform: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tmultiplies the existing matrix with an argument on left side\n\t\t\t//\t\t(matrix * this.matrix)\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta matrix or a matrix-like object\n\t\t\t//\t\t(see an argument of dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\tconstructor for a list of acceptable arguments)\n\t\t\treturn matrix ? this.setTransform([matrix, this.matrix]) : this;\t// self\n\t\t},\n\t\tapplyTransform: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\ta shortcut for dojox/gfx/shape.Shape.applyRightTransform\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta matrix or a matrix-like object\n\t\t\t//\t\t(see an argument of dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\tconstructor for a list of acceptable arguments)\n\t\t\treturn matrix ? this.setTransform([this.matrix, matrix]) : this;\t// self\n\t\t},\n\t\n\t\t// virtual group methods\n\t\n\t\tremoveShape: function(silently){\n\t\t\t// summary:\n\t\t\t//\t\tremoves the shape from its parent's list of shapes\n\t\t\t// silently: Boolean\n\t\t\t//\t\tif true, do not redraw a picture yet\n\t\t\tif(this.parent){\n\t\t\t\tthis.parent.remove(this, silently);\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t},\n\t\t_setParent: function(parent, matrix){\n\t\t\t// summary:\n\t\t\t//\t\tsets a parent\n\t\t\t// parent: Object\n\t\t\t//\t\ta parent or null\n\t\t\t//\t\t(see dojox/gfx/shape.Surface,\n\t\t\t//\t\tor dojox/gfx.Group)\n\t\t\t// matrix: dojox/gfx/matrix.Matrix2D\n\t\t\t//\t\ta 2D matrix or a matrix-like object\n\t\t\tthis.parent = parent;\n\t\t\treturn this._updateParentMatrix(matrix);\t// self\n\t\t},\n\t\t_updateParentMatrix: function(matrix){\n\t\t\t// summary:\n\t\t\t//\t\tupdates the parent matrix with new matrix\n\t\t\t// matrix: dojox/gfx/Matrix2D\n\t\t\t//\t\ta 2D matrix or a matrix-like object\n\t\t\tthis.parentMatrix = matrix ? matrixLib.clone(matrix) : null;\n\t\t\treturn this._applyTransform();\t// self\n\t\t},\n\t\t_getRealMatrix: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the cumulative ('real') transformation matrix\n\t\t\t//\t\tby combining the shape's matrix with its parent's matrix\n\t\t\tvar m = this.matrix;\n\t\t\tvar p = this.parent;\n\t\t\twhile(p){\n\t\t\t\tif(p.matrix){\n\t\t\t\t\tm = matrixLib.multiply(p.matrix, m);\n\t\t\t\t}\n\t\t\t\tp = p.parent;\n\t\t\t}\n\t\t\treturn m;\t// dojox/gfx/matrix.Matrix2D\n\t\t}\n\t});\n\t\n\tshape._eventsProcessing = {\n\t\ton: function(type, listener){\n\t\t\t//\tsummary:\n\t\t\t//\t\tConnects an event to this shape.\n\n\t\t\treturn on(this.getEventSource(), type, shape.fixCallback(this, g.fixTarget, listener));\n\t\t},\n\n\t\tconnect: function(name, object, method){\n\t\t\t// summary:\n\t\t\t//\t\tconnects a handler to an event on this shape\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\t// redirect to fixCallback to normalize events and add the gfxTarget to the event. The latter\n\t\t\t// is done by dojox/gfx.fixTarget which is defined by each renderer\n\t\t\tif(name.substring(0, 2) == \"on\"){\n\t\t\t\tname = name.substring(2);\n\t\t\t}\n\t\t\treturn this.on(name, method ? lang.hitch(object, method) : object);\n\t\t},\n\n\t\tdisconnect: function(token){\n\t\t\t// summary:\n\t\t\t//\t\tconnects a handler by token from an event on this shape\n\t\t\t\n\t\t\t// COULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\n\t\t\treturn token.remove();\n\t\t}\n\t};\n\t\n\tshape.fixCallback = function(gfxElement, fixFunction, scope, method){\n\t\t// summary:\n\t\t//\t\tWraps the callback to allow for tests and event normalization\n\t\t//\t\tbefore it gets invoked. This is where 'fixTarget' is invoked.\n\t\t// tags:\n\t\t// private\n\t\t// gfxElement: Object\n\t\t//\t\tThe GFX object that triggers the action (ex.:\n\t\t//\t\tdojox/gfx.Surface and dojox/gfx/shape.Shape). A new event property\n\t\t//\t\t'gfxTarget' is added to the event to reference this object.\n\t\t//\t\tfor easy manipulation of GFX objects by the event handlers.\n\t\t// fixFunction: Function\n\t\t//\t\tThe function that implements the logic to set the 'gfxTarget'\n\t\t//\t\tproperty to the event. It should be 'dojox/gfx.fixTarget' for\n\t\t//\t\tmost of the cases\n\t\t// scope: Object\n\t\t//\t\tOptional. The scope to be used when invoking 'method'. If\n\t\t//\t\tomitted, a global scope is used.\n\t\t// method: Function|String\n\t\t//\t\tThe original callback to be invoked.\n\t\tif(!method){\n\t\t\tmethod = scope;\n\t\t\tscope = null;\n\t\t}\n\t\tif(lang.isString(method)){\n\t\t\tscope = scope || kernel.global;\n\t\t\tif(!scope[method]){ throw(['dojox.gfx.shape.fixCallback: scope[\"', method, '\"] is null (scope=\"', scope, '\")'].join('')); }\n\t\t\treturn function(e){ \n\t\t\t\treturn fixFunction(e,gfxElement) ? scope[method].apply(scope, arguments || []) : undefined; }; // Function\n\t\t}\n\t\treturn !scope \n\t\t\t? function(e){ \n\t\t\t\treturn fixFunction(e,gfxElement) ? method.apply(scope, arguments) : undefined; } \n\t\t\t: function(e){ \n\t\t\t\treturn fixFunction(e,gfxElement) ? method.apply(scope, arguments || []) : undefined; }; // Function\n\t};\n\tlang.extend(shape.Shape, shape._eventsProcessing);\n\t\n\tshape.Container = {\n\t\t// summary:\n\t\t//\t\ta container of shapes, which can be used\n\t\t//\t\tas a foundation for renderer-specific groups, or as a way\n\t\t//\t\tto logically group shapes (e.g, to propagate matricies)\n\t\n\t\t_init: function() {\n\t\t\t// children: Array\n\t\t\t//\t\ta list of children\n\t\t\tthis.children = [];\n\t\t\tthis._batch = 0;\n\t\t},\n\t\n\t\t// group management\n\t\n\t\topenBatch: function() {\n\t\t\t// summary:\n\t\t\t//\t\tstarts a new batch, subsequent new child shapes will be held in\n\t\t\t//\t\tthe batch instead of appending to the container directly.\n\t\t\t// description:\n\t\t\t//\t\tBecause the canvas renderer has no DOM hierarchy, the canvas implementation differs\n\t\t\t//\t\tsuch that it suspends the repaint requests for this container until the current batch is closed by a call to closeBatch().\n\t\t\treturn this;\n\t\t},\n\t\tcloseBatch: function() {\n\t\t\t// summary:\n\t\t\t//\t\tsubmits the current batch, append all pending child shapes to DOM\n\t\t\t// description:\n\t\t\t//\t\tOn canvas, this method flushes the pending redraws queue.\n\t\t\treturn this;\n\t\t},\n\t\tadd: function(shape){\n\t\t\t// summary:\n\t\t\t//\t\tadds a shape to the list\n\t\t\t// shape: dojox/gfx/shape.Shape\n\t\t\t//\t\tthe shape to add to the list\n\t\t\tvar oldParent = shape.getParent();\n\t\t\tif(oldParent){\n\t\t\t\toldParent.remove(shape, true);\n\t\t\t}\n\t\t\tthis.children.push(shape);\n\t\t\treturn shape._setParent(this, this._getRealMatrix());\t// self\n\t\t},\n\t\tremove: function(shape, silently){\n\t\t\t// summary:\n\t\t\t//\t\tremoves a shape from the list\n\t\t\t// shape: dojox/gfx/shape.Shape\n\t\t\t//\t\tthe shape to remove\n\t\t\t// silently: Boolean\n\t\t\t//\t\tif true, do not redraw a picture yet\n\t\t\tfor(var i = 0; i < this.children.length; ++i){\n\t\t\t\tif(this.children[i] == shape){\n\t\t\t\t\tif(silently){\n\t\t\t\t\t\t// skip for now\n\t\t\t\t\t}else{\n\t\t\t\t\t\tshape.parent = null;\n\t\t\t\t\t\tshape.parentMatrix = null;\n\t\t\t\t\t}\n\t\t\t\t\tremoveItemAt(this.children, i);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t},\n\t\tclear: function(/*Boolean?*/ destroy){\n\t\t\t// summary:\n\t\t\t//\t\tremoves all shapes from a group/surface.\n\t\t\t// destroy: Boolean\n\t\t\t//\t\tIndicates whether the children should be destroyed. Optional.\n\t\t\tvar shape;\n\t\t\tfor(var i = 0; i < this.children.length;++i){\n\t\t\t\tshape = this.children[i];\n\t\t\t\tshape.parent = null;\n\t\t\t\tshape.parentMatrix = null;\n\t\t\t\tif(destroy){\n\t\t\t\t\tshape.destroy();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.children = [];\n\t\t\treturn this;\t// self\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\tReturns the bounding box Rectangle for this shape.\n\t\t\tif(this.children){\n\t\t\t\t// if this is a composite shape, then sum up all the children\n\t\t\t\tvar result = null;\n\t\t\t\tarr.forEach(this.children, function(shape){\n\t\t\t\t\tvar bb = shape.getBoundingBox();\n\t\t\t\t\tif(bb){\n\t\t\t\t\t\tvar ct = shape.getTransform();\n\t\t\t\t\t\tif(ct){\n\t\t\t\t\t\t\tbb = matrixLib.multiplyRectangle(ct, bb);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(result){\n\t\t\t\t\t\t\t// merge two bbox \n\t\t\t\t\t\t\tresult.x = Math.min(result.x, bb.x);\n\t\t\t\t\t\t\tresult.y = Math.min(result.y, bb.y);\n\t\t\t\t\t\t\tresult.endX = Math.max(result.endX, bb.x + bb.width);\n\t\t\t\t\t\t\tresult.endY = Math.max(result.endY, bb.y + bb.height);\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t// first bbox \n\t\t\t\t\t\t\tresult = {\n\t\t\t\t\t\t\t\tx: bb.x,\n\t\t\t\t\t\t\t\ty: bb.y,\n\t\t\t\t\t\t\t\tendX: bb.x + bb.width,\n\t\t\t\t\t\t\t\tendY: bb.y + bb.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(result){\n\t\t\t\t\tresult.width = result.endX - result.x;\n\t\t\t\t\tresult.height = result.endY - result.y;\n\t\t\t\t}\n\t\t\t\treturn result; // dojox/gfx.Rectangle\n\t\t\t}\n\t\t\t// unknown/empty bounding box, subclass shall override this impl \n\t\t\treturn null;\n\t\t},\n\t\t// moving child nodes\n\t\t_moveChildToFront: function(shape){\n\t\t\t// summary:\n\t\t\t//\t\tmoves a shape to front of the list of shapes\n\t\t\t// shape: dojox/gfx/shape.Shape\n\t\t\t//\t\tone of the child shapes to move to the front\n\t\t\tfor(var i = 0; i < this.children.length; ++i){\n\t\t\t\tif(this.children[i] == shape){\n\t\t\t\t\tremoveItemAt(this.children, i);\n\t\t\t\t\tthis.children.push(shape);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t},\n\t\t_moveChildToBack: function(shape){\n\t\t\t// summary:\n\t\t\t//\t\tmoves a shape to back of the list of shapes\n\t\t\t// shape: dojox/gfx/shape.Shape\n\t\t\t//\t\tone of the child shapes to move to the front\n\t\t\tfor(var i = 0; i < this.children.length; ++i){\n\t\t\t\tif(this.children[i] == shape){\n\t\t\t\t\tremoveItemAt(this.children, i);\n\t\t\t\t\tthis.children.unshift(shape);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t}\n\t};\n\n\tshape.Surface = declare(\"dojox.gfx.shape.Surface\", null, {\n\t\t// summary:\n\t\t//\t\ta surface object to be used for drawings\n\t\tconstructor: function(){\n\t\t\t// underlying node\n\t\t\tthis.rawNode = null;\n\t\t\t// the parent node\n\t\t\tthis._parent = null;\n\t\t\t// the list of DOM nodes to be deleted in the case of destruction\n\t\t\tthis._nodes = [];\n\t\t\t// the list of events to be detached in the case of destruction\n\t\t\tthis._events = [];\n\t\t},\n\t\tdestroy: function(){\n\t\t\t// summary:\n\t\t\t//\t\tdestroy all relevant external resources and release all\n\t\t\t//\t\texternal references to make this object garbage-collectible\n\t\t\tarr.forEach(this._nodes, domConstruct.destroy);\n\t\t\tthis._nodes = [];\n\t\t\tarr.forEach(this._events, function(h){ if(h){ h.remove(); } });\n\t\t\tthis._events = [];\n\t\t\tthis.rawNode = null;\t// recycle it in _nodes, if it needs to be recycled\n\t\t\tif(has(\"ie\")){\n\t\t\t\twhile(this._parent.lastChild){\n\t\t\t\t\tdomConstruct.destroy(this._parent.lastChild);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tthis._parent.innerHTML = \"\";\n\t\t\t}\n\t\t\tthis._parent = null;\n\t\t},\n\t\tgetEventSource: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns a node, which can be used to attach event listeners\n\t\t\treturn this.rawNode; // Node\n\t\t},\n\t\t_getRealMatrix: function(){\n\t\t\t// summary:\n\t\t\t//\t\talways returns the identity matrix\n\t\t\treturn null;\t// dojox/gfx/Matrix2D\n\t\t},\n\t\t/*=====\n\t\t setDimensions: function(width, height){\n\t\t\t // summary:\n\t\t\t //\t\tsets the width and height of the rawNode\n\t\t\t // width: String\n\t\t\t //\t\twidth of surface, e.g., \"100px\"\n\t\t\t // height: String\n\t\t\t //\t\theight of surface, e.g., \"100px\"\n\t\t\t return this;\t// self\n\t\t },\n\t\t getDimensions: function(){\n\t\t\t // summary:\n\t\t\t // gets current width and height in pixels\n\t\t\t // returns: Object\n\t\t\t // object with properties \"width\" and \"height\"\n\t\t },\n\t\t =====*/\n\t\tisLoaded: true,\n\t\tonLoad: function(/*dojox/gfx/shape.Surface*/ surface){\n\t\t\t// summary:\n\t\t\t//\t\tlocal event, fired once when the surface is created\n\t\t\t//\t\tasynchronously, used only when isLoaded is false, required\n\t\t\t//\t\tonly for Silverlight.\n\t\t},\n\t\twhenLoaded: function(/*Object|Null*/ context, /*Function|String*/ method){\n\t\t\tvar f = lang.hitch(context, method);\n\t\t\tif(this.isLoaded){\n\t\t\t\tf(this);\n\t\t\t}else{\n\t\t\t\ton.once(this, \"load\", function(surface){\n\t\t\t\t\tf(surface);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\tlang.extend(shape.Surface, shape._eventsProcessing);\n\n\t/*=====\n\tg.Point = declare(\"dojox/gfx.Point\", null, {\n\t\t// summary:\n\t\t//\t\t2D point for drawings - {x, y}\n\t\t// description:\n\t\t//\t\tDo not use this object directly!\n\t\t//\t\tUse the naked object instead: {x: 1, y: 2}.\n\t});\n\n\tg.Rectangle = declare(\"dojox.gfx.Rectangle\", null, {\n\t\t// summary:\n\t\t//\t\trectangle - {x, y, width, height}\n\t\t// description:\n\t\t//\t\tDo not use this object directly!\n\t\t//\t\tUse the naked object instead: {x: 1, y: 2, width: 100, height: 200}.\n\t});\n\t =====*/\n\n\n\tshape.Rect = declare(\"dojox.gfx.shape.Rect\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic rectangle\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\tThe underlying graphics system object (typically a DOM Node)\n\t\t\tthis.shape = g.getDefault(\"Rect\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box (its shape in this case)\n\t\t\treturn this.shape;\t// dojox/gfx.Rectangle\n\t\t}\n\t});\n\t\n\tshape.Ellipse = declare(\"dojox.gfx.shape.Ellipse\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic ellipse\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.shape = g.getDefault(\"Ellipse\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box\n\t\t\tif(!this.bbox){\n\t\t\t\tvar shape = this.shape;\n\t\t\t\tthis.bbox = {x: shape.cx - shape.rx, y: shape.cy - shape.ry,\n\t\t\t\t\twidth: 2 * shape.rx, height: 2 * shape.ry};\n\t\t\t}\n\t\t\treturn this.bbox;\t// dojox/gfx.Rectangle\n\t\t}\n\t});\n\t\n\tshape.Circle = declare(\"dojox.gfx.shape.Circle\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic circle\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.shape = g.getDefault(\"Circle\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box\n\t\t\tif(!this.bbox){\n\t\t\t\tvar shape = this.shape;\n\t\t\t\tthis.bbox = {x: shape.cx - shape.r, y: shape.cy - shape.r,\n\t\t\t\t\twidth: 2 * shape.r, height: 2 * shape.r};\n\t\t\t}\n\t\t\treturn this.bbox;\t// dojox/gfx.Rectangle\n\t\t}\n\t});\n\t\n\tshape.Line = declare(\"dojox.gfx.shape.Line\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic line (do not instantiate it directly)\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.shape = g.getDefault(\"Line\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box\n\t\t\tif(!this.bbox){\n\t\t\t\tvar shape = this.shape;\n\t\t\t\tthis.bbox = {\n\t\t\t\t\tx:\t\tMath.min(shape.x1, shape.x2),\n\t\t\t\t\ty:\t\tMath.min(shape.y1, shape.y2),\n\t\t\t\t\twidth:\tMath.abs(shape.x2 - shape.x1),\n\t\t\t\t\theight:\tMath.abs(shape.y2 - shape.y1)\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn this.bbox;\t// dojox/gfx.Rectangle\n\t\t}\n\t});\n\t\n\tshape.Polyline = declare(\"dojox.gfx.shape.Polyline\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic polyline/polygon (do not instantiate it directly)\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.shape = g.getDefault(\"Polyline\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tsetShape: function(points, closed){\n\t\t\t// summary:\n\t\t\t//\t\tsets a polyline/polygon shape object\n\t\t\t// points: Object|Array\n\t\t\t//\t\ta polyline/polygon shape object, or an array of points\n\t\t\t// closed: Boolean\n\t\t\t//\t\tclose the polyline to make a polygon\n\t\t\tif(points && points instanceof Array){\n\t\t\t\tthis.inherited(arguments, [{points: points}]);\n\t\t\t\tif(closed && this.shape.points.length){\n\t\t\t\t\tthis.shape.points.push(this.shape.points[0]);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tthis.inherited(arguments, [points]);\n\t\t\t}\n\t\t\treturn this;\t// self\n\t\t},\n\t\t_normalizePoints: function(){\n\t\t\t// summary:\n\t\t\t//\t\tnormalize points to array of {x:number, y:number}\n\t\t\tvar p = this.shape.points, l = p && p.length;\n\t\t\tif(l && typeof p[0] == \"number\"){\n\t\t\t\tvar points = [];\n\t\t\t\tfor(var i = 0; i < l; i += 2){\n\t\t\t\t\tpoints.push({x: p[i], y: p[i + 1]});\n\t\t\t\t}\n\t\t\t\tthis.shape.points = points;\n\t\t\t}\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box\n\t\t\tif(!this.bbox && this.shape.points.length){\n\t\t\t\tvar p = this.shape.points;\n\t\t\t\tvar l = p.length;\n\t\t\t\tvar t = p[0];\n\t\t\t\tvar bbox = {l: t.x, t: t.y, r: t.x, b: t.y};\n\t\t\t\tfor(var i = 1; i < l; ++i){\n\t\t\t\t\tt = p[i];\n\t\t\t\t\tif(bbox.l > t.x) bbox.l = t.x;\n\t\t\t\t\tif(bbox.r < t.x) bbox.r = t.x;\n\t\t\t\t\tif(bbox.t > t.y) bbox.t = t.y;\n\t\t\t\t\tif(bbox.b < t.y) bbox.b = t.y;\n\t\t\t\t}\n\t\t\t\tthis.bbox = {\n\t\t\t\t\tx:\t\tbbox.l,\n\t\t\t\t\ty:\t\tbbox.t,\n\t\t\t\t\twidth:\tbbox.r - bbox.l,\n\t\t\t\t\theight:\tbbox.b - bbox.t\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn this.bbox;\t// dojox/gfx.Rectangle\n\t\t}\n\t});\n\t\n\tshape.Image = declare(\"dojox.gfx.shape.Image\", shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic image (do not instantiate it directly)\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.shape = g.getDefault(\"Image\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the bounding box (its shape in this case)\n\t\t\treturn this.shape;\t// dojox/gfx.Rectangle\n\t\t},\n\t\tsetStroke: function(){\n\t\t\t// summary:\n\t\t\t//\t\tignore setting a stroke style\n\t\t\treturn this;\t// self\n\t\t},\n\t\tsetFill: function(){\n\t\t\t// summary:\n\t\t\t//\t\tignore setting a fill style\n\t\t\treturn this;\t// self\n\t\t}\n\t});\n\t\n\tshape.Text = declare(shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta generic text (do not instantiate it directly)\n\t\tconstructor: function(rawNode){\n\t\t\t// rawNode: Node\n\t\t\t//\t\ta DOM Node\n\t\t\tthis.fontStyle = null;\n\t\t\tthis.shape = g.getDefault(\"Text\");\n\t\t\tthis.rawNode = rawNode;\n\t\t},\n\t\tgetFont: function(){\n\t\t\t// summary:\n\t\t\t//\t\treturns the current font object or null\n\t\t\treturn this.fontStyle;\t// Object\n\t\t},\n\t\tsetFont: function(newFont){\n\t\t\t// summary:\n\t\t\t//\t\tsets a font for text\n\t\t\t// newFont: Object\n\t\t\t//\t\ta font object (see dojox/gfx.defaultFont) or a font string\n\t\t\tthis.fontStyle = typeof newFont == \"string\" ? g.splitFontString(newFont) :\n\t\t\t\tg.makeParameters(g.defaultFont, newFont);\n\t\t\tthis._setFont();\n\t\t\treturn this;\t// self\n\t\t},\n\t\tgetBoundingBox: function(){\n\t\t\tvar bbox = null, s = this.getShape();\n\t\t\tif(s.text){\n\t\t\t\tbbox = g._base._computeTextBoundingBox(this);\n\t\t\t}\n\t\t\treturn bbox;\n\t\t}\n\t});\n\t\n\tshape.Creator = {\n\t\t// summary:\n\t\t//\t\tshape creators\n\t\tcreateShape: function(shape){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a shape object based on its type; it is meant to be used\n\t\t\t//\t\tby group-like objects\n\t\t\t// shape: Object\n\t\t\t//\t\ta shape descriptor object\n\t\t\t// returns: dojox/gfx/shape.Shape | Null\n\t\t\t// a fully instantiated surface-specific Shape object\n\t\t\tswitch(shape.type){\n\t\t\t\tcase g.defaultPath.type:\t\treturn this.createPath(shape);\n\t\t\t\tcase g.defaultRect.type:\t\treturn this.createRect(shape);\n\t\t\t\tcase g.defaultCircle.type:\t return this.createCircle(shape);\n\t\t\t\tcase g.defaultEllipse.type:\t return this.createEllipse(shape);\n\t\t\t\tcase g.defaultLine.type:\t\treturn this.createLine(shape);\n\t\t\t\tcase g.defaultPolyline.type:\treturn this.createPolyline(shape);\n\t\t\t\tcase g.defaultImage.type:\t\treturn this.createImage(shape);\n\t\t\t\tcase g.defaultText.type:\t\treturn this.createText(shape);\n\t\t\t\tcase g.defaultTextPath.type:\treturn this.createTextPath(shape);\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tcreateGroup: function(){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a group shape\n\t\t\treturn this.createObject(g.Group);\t// dojox/gfx/Group\n\t\t},\n\t\tcreateRect: function(rect){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a rectangle shape\n\t\t\t// rect: Object\n\t\t\t//\t\ta path object (see dojox/gfx.defaultRect)\n\t\t\treturn this.createObject(g.Rect, rect);\t// dojox/gfx/shape.Rect\n\t\t},\n\t\tcreateEllipse: function(ellipse){\n\t\t\t// summary:\n\t\t\t//\t\tcreates an ellipse shape\n\t\t\t// ellipse: Object\n\t\t\t//\t\tan ellipse object (see dojox/gfx.defaultEllipse)\n\t\t\treturn this.createObject(g.Ellipse, ellipse);\t// dojox/gfx/shape.Ellipse\n\t\t},\n\t\tcreateCircle: function(circle){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a circle shape\n\t\t\t// circle: Object\n\t\t\t//\t\ta circle object (see dojox/gfx.defaultCircle)\n\t\t\treturn this.createObject(g.Circle, circle);\t// dojox/gfx/shape.Circle\n\t\t},\n\t\tcreateLine: function(line){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a line shape\n\t\t\t// line: Object\n\t\t\t//\t\ta line object (see dojox/gfx.defaultLine)\n\t\t\treturn this.createObject(g.Line, line);\t// dojox/gfx/shape.Line\n\t\t},\n\t\tcreatePolyline: function(points){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a polyline/polygon shape\n\t\t\t// points: Object\n\t\t\t//\t\ta points object (see dojox/gfx.defaultPolyline)\n\t\t\t//\t\tor an Array of points\n\t\t\treturn this.createObject(g.Polyline, points);\t// dojox/gfx/shape.Polyline\n\t\t},\n\t\tcreateImage: function(image){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a image shape\n\t\t\t// image: Object\n\t\t\t//\t\tan image object (see dojox/gfx.defaultImage)\n\t\t\treturn this.createObject(g.Image, image);\t// dojox/gfx/shape.Image\n\t\t},\n\t\tcreateText: function(text){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a text shape\n\t\t\t// text: Object\n\t\t\t//\t\ta text object (see dojox/gfx.defaultText)\n\t\t\treturn this.createObject(g.Text, text);\t// dojox/gfx/shape.Text\n\t\t},\n\t\tcreatePath: function(path){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a path shape\n\t\t\t// path: Object\n\t\t\t//\t\ta path object (see dojox/gfx.defaultPath)\n\t\t\treturn this.createObject(g.Path, path);\t// dojox/gfx/shape.Path\n\t\t},\n\t\tcreateTextPath: function(text){\n\t\t\t// summary:\n\t\t\t//\t\tcreates a text shape\n\t\t\t// text: Object\n\t\t\t//\t\ta textpath object (see dojox/gfx.defaultTextPath)\n\t\t\treturn this.createObject(g.TextPath, {}).setText(text);\t// dojox/gfx/shape.TextPath\n\t\t},\n\t\tcreateObject: function(shapeType, rawShape){\n\t\t\t// summary:\n\t\t\t//\t\tcreates an instance of the passed shapeType class\n\t\t\t// shapeType: Function\n\t\t\t//\t\ta class constructor to create an instance of\n\t\t\t// rawShape: Object \n\t\t\t//\t\tproperties to be passed in to the classes 'setShape' method\n\t\n\t\t\t// SHOULD BE RE-IMPLEMENTED BY THE RENDERER!\n\t\t\treturn null;\t// dojox/gfx/shape.Shape\n\t\t}\n\t};\n\t\n\t/*=====\n\t lang.extend(shape.Surface, shape.Container);\n\t lang.extend(shape.Surface, shape.Creator);\n\n\t g.Group = declare(shape.Shape, {\n\t\t// summary:\n\t\t//\t\ta group shape, which can be used\n\t\t//\t\tto logically group shapes (e.g, to propagate matricies)\n\t});\n\tlang.extend(g.Group, shape.Container);\n\tlang.extend(g.Group, shape.Creator);\n\n\tg.Rect = shape.Rect;\n\tg.Circle = shape.Circle;\n\tg.Ellipse = shape.Ellipse;\n\tg.Line = shape.Line;\n\tg.Polyline = shape.Polyline;\n\tg.Text = shape.Text;\n\tg.Surface = shape.Surface;\n\t=====*/\n\n\treturn shape;\n});\n","define([\"dojo/_base/lang\", \"dojo/_base/declare\", \"dojo/Stateful\"],\n function(lang,declare,Stateful) {\n\tlang.getObject(\"string\", true, dojox);\n\n\tvar BidiEngine = declare(\"dojox.string.BidiEngine\", Stateful, {\n\t\t// summary:\n\t\t//\t\tThis class provides a bidi transformation engine, i.e.\n\t\t//\t\tfunctions for reordering and shaping bidi text.\n\t\t// description:\n\t\t//\t\tBidi stands for support for languages with a bidirectional script.\n\t\t//\n\t\t//\t\tUsually Unicode Bidi Algorithm used by OS platform (and web browsers) is capable of properly\n\t\t//\t\ttransforming Bidi text and as a result it is adequately displayed on the screen.\n\t\t//\t\tHowever, in some situations, Unicode Bidi Algorithm is not invoked or is not properly applied.\n\t\t//\t\tThis may occur in situation in which software responsible for rendering the text is not leveraging\n\t\t//\t\tUnicode Bidi Algorithm implemented by OS (e.g. GFX renderers).\n\t\t//\n\t\t//\t\tBidi engine provided in this class implements Unicode Bidi Algorithm as specified at\n\t\t//\t\thttp://www.unicode.org/reports/tr9/.\n\t\t//\n\t\t//\t\tFor more information on basic Bidi concepts please read\n\t\t//\t\t\"Bidirectional script support - A primer\" available from\n\t\t//\t\thttp://www.ibm.com/developerworks/websphere/library/techarticles/bidi/bidigen.html.\n\t\t//\n\t\t//\t\tAs of February 2011, Bidi engine has following limitations:\n\t\t//\n\t\t//\t\t1. No support for following numeric shaping options:\n\t\t//\t\t\t- H - Hindi,\n\t\t//\t\t\t- C - Contextual,\n\t\t//\t\t\t- N - Nominal.\n\t\t//\t\t2. No support for following shaping options:\n\t\t//\t\t\t- I - Initial shaping,\n\t\t//\t\t\t- M - Middle shaping,\n\t\t//\t\t\t- F - Final shaping,\n\t\t//\t\t\t- B - Isolated shaping.\n\t\t//\t\t3. No support for LRE/RLE/LRO/RLO/PDF (they are handled like neutrals).\n\t\t//\t\t4. No support for Windows compatibility.\n\t\t//\t\t5. No support for insert/remove marks.\n\t\t//\t\t6. No support for code pages.\n\t\t//\n\n\t\t// Input Bidi layout in which inputText is passed to the function.\n\t\tinputFormat: \"ILYNN\",\n\n\t\t// Output Bidi layout to which inputText should be transformed.\n\t\toutputFormat: \"VLNNN\",\n\n\t\t// Array, containing positions of each character from the source text in the resulting text.\n\t\tsourceToTarget: [],\n\n\t\t// Array, containing positions of each character from the resulting text in the source text.\n\t\ttargetToSource: [],\n\n\t\t// Array, containing bidi level of each character from the source text\n\t\tlevels: [],\n\n\t\tbidiTransform: function (/*String*/text, /*String*/formatIn, /*String*/formatOut) {\n\t\t\t// summary:\n\t\t\t//\t\tCentral public API for Bidi engine. Transforms the text according to formatIn, formatOut\n\t\t\t//\t\tparameters. If formatIn or formatOut parametrs are not valid throws an exception.\n\t\t\t// inputText:\n\t\t\t//\t\tInput text subject to application of Bidi transformation.\n\t\t\t// formatIn:\n\t\t\t//\t\tInput Bidi layout in which inputText is passed to the function.\n\t\t\t// formatOut:\n\t\t\t//\t\tOutput Bidi layout to which inputText should be transformed.\n\t\t\t// description:\n\t\t\t//\t\tBoth formatIn and formatOut parameters are 5 letters long strings.\n\t\t\t//\t\tFor example - \"ILYNN\". Each letter is associated with specific attribute of Bidi layout.\n\t\t\t//\t\tPossible and default values for each one of the letters are provided below:\n\t\t\t//\n\t\t\t//\t\tFirst letter:\n\t\t\t//\n\t\t\t//\t\t- Letter position/index:\n\t\t\t//\t\t\t1\n\t\t\t//\t\t- Letter meaning:\n\t\t\t//\t\t\tOrdering Schema.\n\t\t\t//\t\t- Possible values:\n\t\t\t//\t\t\t- I - Implicit (Logical).\n\t\t\t//\t\t\t- V - Visual.\n\t\t\t//\t\t- Default value:\n\t\t\t//\t\t\tI\n\t\t\t//\n\t\t\t//\t\tSecond letter:\n\t\t\t//\n\t\t\t//\t\t- Letter position/index:\n\t\t\t//\t\t\t2\n\t\t\t//\t\t- Letter meaning:\n\t\t\t//\t\t\tOrientation.\n\t\t\t//\t\t- Possible values:\n\t\t\t//\t\t\t- L - Left To Right.\n\t\t\t//\t\t\t- R - Right To Left.\n\t\t\t//\t\t\t- C - Contextual Left to Right.\n\t\t\t//\t\t\t- D - Contextual Right to Left.\n\t\t\t//\t\t- Default value:\n\t\t\t//\t\t\tL\n\t\t\t//\n\t\t\t//\t\tThird letter:\n\t\t\t//\n\t\t\t//\t\t- Letter position/index:\n\t\t\t//\t\t\t3\n\t\t\t//\t\t- Letter meaning:\n\t\t\t//\t\t\tSymmetric Swapping.\n\t\t\t//\t\t- Possible values:\n\t\t\t//\t\t\t- Y - Symmetric swapping is on.\n\t\t\t//\t\t\t- N - Symmetric swapping is off.\n\t\t\t//\t\t- Default value:\n\t\t\t//\t\t\tY\n\t\t\t//\n\t\t\t//\t\tFourth letter:\n\t\t\t//\n\t\t\t//\t\t- Letter position/index:\n\t\t\t//\t\t\t4\n\t\t\t//\t\t- Letter meaning:\n\t\t\t//\t\t\tShaping.\n\t\t\t//\t\t- Possible values:\n\t\t\t//\t\t\t- S - Text is shaped.\n\t\t\t//\t\t\t- N - Text is not shaped.\n\t\t\t//\t\t- Default value:\n\t\t\t//\t\t\tN\n\t\t\t//\n\t\t\t//\t\tFifth letter:\n\t\t\t//\n\t\t\t//\t\t- Letter position/index:\n\t\t\t//\t\t\t5\n\t\t\t//\t\t- Letter meaning:\n\t\t\t//\t\t\tNumeric Shaping.\n\t\t\t//\t\t- Possible values:\n\t\t\t//\t\t\t- N - Nominal.\n\t\t\t//\t\t- Default value:\n\t\t\t//\t\t\tN\n\t\t\t//\n\t\t\t//\t\tThe output of this function is original text (passed via first argument) transformed from\n\t\t\t//\t\tinput Bidi layout (second argument) to output Bidi layout (last argument).\n\t\t\t//\n\t\t\t//\t\tSample call:\n\t\t\t//\t|\tmytext = bidiTransform(\"HELLO WORLD\", \"ILYNN\", \"VLYNN\");\n\t\t\t//\t\tIn this case, \"HELLO WORLD\" text is transformed from Logical - LTR to Visual - LTR Bidi layout\n\t\t\t//\t\twith default values for symmetric swapping (Yes), shaping (Not shaped) and numeric shaping\n\t\t\t//\t\t(Nominal).\n\t\t\t// returns: String\n\t\t\t//\t\tOriginal text transformed from input Bidi layout (second argument)\n\t\t\t//\t\tto output Bidi layout (last argument).\n\t\t\t//\t\tThrows an exception if the bidi layout strings are not valid.\n\t\t\t// tags:\n\t\t\t//\t\tpublic\n\n\t\t\tthis.sourceToTarget = [];\n\t\t\tthis.targetToSource = [];\n\t\t\tif (!text) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\tinitMaps(this.sourceToTarget, this.targetToSource, text.length);\n\t\t\tif (!this.checkParameters(formatIn, formatOut)) {\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\tformatIn = this.inputFormat;\n\t\t\tformatOut = this.outputFormat;\n\t\t\tvar result = text;\n\t\t\tvar bdx = BDX;\n\t\t\tvar orientIn = getOrientation(formatIn.charAt(1)),\n\t\t\t\torientOut = getOrientation(formatOut.charAt(1)),\n\t\t\t\tosIn = (formatIn.charAt(0) === \"I\") ? \"L\" : formatIn.charAt(0),\n\t\t\t\tosOut = (formatOut.charAt(0) === \"I\") ? \"L\" : formatOut.charAt(0),\n\t\t\t\tinFormat = osIn + orientIn,\n\t\t\t\toutFormat = osOut + orientOut,\n\t\t\t\tswap = formatIn.charAt(2) + formatOut.charAt(2);\n\n\t\t\tbdx.defInFormat = inFormat;\n\t\t\tbdx.defOutFormat = outFormat;\n\t\t\tbdx.defSwap = swap;\n\n\t\t\tvar stage1Text = doBidiReorder(text, inFormat, outFormat, swap, bdx),\n\t\t\t\tisRtl = false;\n\n\t\t\tif (formatOut.charAt(1) === \"R\") {\n\t\t\t\tisRtl = true;\n\t\t\t} else if (formatOut.charAt(1) === \"C\" || formatOut.charAt(1) === \"D\") {\n\t\t\t\tisRtl = this.checkContextual(stage1Text);\n\t\t\t}\n\n\t\t\tthis.sourceToTarget = stMap;\n\t\t\tthis.targetToSource = reverseMap(this.sourceToTarget);\n\t\t\ttsMap = this.targetToSource;\n\n\t\t\tif (formatIn.charAt(3) === formatOut.charAt(3)) {\n\t\t\t\tresult = stage1Text;\n\t\t\t} else if (formatOut.charAt(3) === \"S\") {\n\t\t\t\tresult = shape(isRtl, stage1Text, true);\n\t\t\t} else { //formatOut.charAt(3) === \"N\"\n\t\t\t\tresult = deshape(stage1Text, isRtl, true);\n\t\t\t}\n\t\t\tthis.sourceToTarget = stMap;\n\t\t\tthis.targetToSource = tsMap;\n\t\t\tthis.levels = lvMap;\n\t\t\treturn result;\n\t\t},\n\n\t\t_inputFormatSetter: function (format) {\n\t\t\tif (!validFormat.test(format)) {\n\t\t\t\tthrow new Error(\"dojox/string/BidiEngine: the bidi layout string is wrong!\");\n\t\t\t}\n\t\t\tthis.inputFormat = format;\n\t\t},\n\n\t\t_outputFormatSetter: function (format) {\n\t\t\tif (!validFormat.test(format)) {\n\t\t\t\tthrow new Error(\"dojox/string/BidiEngine: the bidi layout string is wrong!\");\n\t\t\t}\n\t\t\tthis.outputFormat = format;\n\t\t},\n\n\t\tcheckParameters: function (/*String*/formatIn, /*String*/formatOut) {\n\t\t\t// summary:\n\t\t\t//\t\tChecks layout parameters.\n\t\t\t// formatIn:\n\t\t\t//\t\tInput Bidi layout in which inputText is passed to the function.\n\t\t\t// formatOut:\n\t\t\t//\t\tOutput Bidi layout to which inputText should be transformed.\n\t\t\t// description:\n\t\t\t//\t\tChecks, that layout parameters are different and contain allowed values.\n\t\t\t//\t\tAllowed values for format string are:\n\t\t\t//\t\t\t- 1st letter: I, V\n\t\t\t//\t\t\t- 2nd letter: L, R, C, D\n\t\t\t//\t\t\t- 3rd letter: Y, N\n\t\t\t//\t\t\t- 4th letter: S, N\n\t\t\t//\t\t\t- 5th letter: N\n\t\t\t// returns: /*Boolean*/\n\t\t\t//\t\ttrue - if layout parameters are valid.\n\t\t\t//\t\tfalse - otherwise.\n\t\t\t// tags:\n\t\t\t//\t\tprivate\n\n\t\t\tif (!formatIn) {\n\t\t\t\tformatIn = this.inputFormat;\n\t\t\t} else {\n\t\t\t\tthis.set(\"inputFormat\", formatIn);\n\t\t\t}\n\t\t\tif (!formatOut) {\n\t\t\t\tformatOut = this.outputFormat;\n\t\t\t} else {\n\t\t\t\tthis.set(\"outputFormat\", formatOut);\n\t\t\t}\n\t\t\tif (formatIn === formatOut) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\tcheckContextual: function (/*String*/text) {\n\t\t\t// summary:\n\t\t\t//\t\tDetermine the base direction of a bidi text according\n\t\t\t//\t\tto its first strong directional character.\n\t\t\t// text:\n\t\t\t//\t\tThe text to check.\n\t\t\t// returns: /*String*/\n\t\t\t//\t\t\"ltr\" or \"rtl\" according to the first strong character.\n\t\t\t//\t\tIf there is no strong character, returns the value of the\n\t\t\t//\t\tdocument dir property.\n\t\t\t// tags:\n\t\t\t//\t\tpublic\n\t\t\tvar dir = firstStrongDir(text);\n\t\t\tif (dir !== \"ltr\" && dir !== \"rtl\") {\n\t\t\t\ttry {\n\t\t\t\t\tdir = document.dir.toLowerCase();\n\t\t\t\t} catch (e) {\n\t\t\t\t}\n\t\t\t\tif (dir !== \"ltr\" && dir !== \"rtl\") {\n\t\t\t\t\tdir = \"ltr\";\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dir;\n\t\t},\n\n\t\thasBidiChar: function (/*String*/text) {\n\t\t\t// summary:\n\t\t\t//\t\tReturn true if text contains RTL directed character.\n\t\t\t// text:\n\t\t\t//\t\tThe source string.\n\t\t\t// description:\n\t\t\t//\t\tSearches for RTL directed character.\n\t\t\t//\t\tReturns true if found, else returns false.\n\t\t\t// returns: /*Boolean*/\n\t\t\t//\t\ttrue - if text has a RTL directed character.\n\t\t\t//\t\tfalse - otherwise.\n\t\t\t// tags:\n\t\t\t//\t\tpublic\n\n\t\t return bidiChars.test(text);\n\t\t}\n\t});\n\n\tfunction doBidiReorder(/*String*/text, /*String*/inFormat,\n\t\t\t\t/*String*/outFormat, /*String*/swap, /*Object*/bdx) {\n\t\t// summary:\n\t\t//\t\tReorder the source text according to the bidi attributes\n\t\t//\t\tof source and result.\n\t\t// text:\n\t\t//\t\tThe text to reorder.\n\t\t// inFormat:\n\t\t//\t\tOrdering scheme and base direction of the source text.\n\t\t//\t\tCan be \"LLTR\", \"LRTL\", \"LCLR\", \"LCRL\", \"VLTR\", \"VRTL\",\n\t\t//\t\t\"VCLR\", \"VCRL\".\n\t\t//\t\tThe first letter is \"L\" for logical ordering scheme,\n\t\t//\t\t\"V\" for visual ordering scheme.\n\t\t//\t\tThe other letters specify the base direction.\n\t\t//\t\t\"CLR\" means contextual direction defaulting to LTR if\n\t\t//\t\tthere is no strong letter.\n\t\t//\t\t\"CRL\" means contextual direction defaulting to RTL if\n\t\t//\t\tthere is no strong letter.\n\t\t//\t\tThe initial value is \"LLTR\", if none, the initial value is used.\n\t\t// outFormat:\n\t\t//\t\tRequired ordering scheme and base direction of the\n\t\t//\t\tresult. Has the same format as inFormat.\n\t\t//\t\tIf none, the initial value \"VLTR\" is used.\n\t\t// swap:\n\t\t//\t\tSymmetric swapping attributes of source and result.\n\t\t//\t\tThe allowed values can be \"YN\", \"NY\", \"YY\" and \"NN\".\n\t\t//\t\tThe first letter reflects the symmetric swapping attribute\n\t\t//\t\tof the source, the second letter that of the result.\n\t\t// bdx: Object\n\t\t//\t\tUsed for intermediate data storage\n\t\t// returns:\n\t\t//\t\tText reordered according to source and result attributes.\n\n\t\tvar params = prepareReorderingParameters(text, {inFormat: inFormat, outFormat: outFormat, swap: swap}, bdx);\n\t\tif (params.inFormat === params.outFormat) {\n\t\t\treturn text;\n\t\t}\n\t\tinFormat = params.inFormat;\n\t\toutFormat = params.outFormat;\n\t\tswap = params.swap;\n\t\tvar inOrdering = inFormat.substring(0, 1),\n\t\tinOrientation = inFormat.substring(1, 4),\n\t\toutOrdering = outFormat.substring(0, 1),\n\t\toutOrientation = outFormat.substring(1, 4);\n\t\tbdx.inFormat = inFormat;\n\t\tbdx.outFormat = outFormat;\n\t\tbdx.swap = swap;\n\t\tif ((inOrdering === \"L\") && (outFormat === \"VLTR\")) { //core cases\n\t\t\t//cases: LLTR->VLTR, LRTL->VLTR\n\t\t\tif (inOrientation === \"LTR\") {\n\t\t\t\tbdx.dir = LTR;\n\t\t\t\treturn doReorder(text, bdx);\n\t\t\t}\n\t\t\tif (inOrientation === \"RTL\") {\n\t\t\t\tbdx.dir = RTL;\n\t\t\t\treturn doReorder(text, bdx);\n\t\t\t}\n\t\t}\n\t\tif ((inOrdering === \"V\") && (outOrdering === \"V\")) {\n\t\t\t//inOrientation != outOrientation\n\t\t\t//cases: VRTL->VLTR, VLTR->VRTL\n\t\t\tbdx.dir = inOrientation === \"RTL\"? RTL : LTR;\n\t\t\treturn invertStr(text, bdx);\n\t\t}\n\t\tif ((inOrdering === \"L\") && (outFormat === \"VRTL\")) {\n\t\t\t//cases: LLTR->VRTL, LRTL->VRTL\n\t\t\tif (inOrientation === \"LTR\") {\n\t\t\t\tbdx.dir = LTR;\n\t\t\t\ttext = doReorder(text, bdx);\n\t\t\t} else {\n\t\t\t\t//inOrientation == RTL\n\t\t\t\tbdx.dir = RTL;\n\t\t\t\ttext = doReorder(text, bdx);\n\t\t\t}\n\t\t\treturn invertStr(text);\n\t\t}\n\t\tif ((inFormat === \"VLTR\") && (outFormat === \"LLTR\")) {\n\t\t\t//case: VLTR->LLTR\n\t\t\tbdx.dir = LTR;\n\t\t\treturn doReorder(text, bdx);\n\t\t}\n\t\tif ((inOrdering === \"V\") && (outOrdering === \"L\") && (inOrientation !== outOrientation)) {\n\t\t\t//cases: VLTR->LRTL, VRTL->LLTR\n\t\t\ttext = invertStr(text);\n\t\t\treturn (inOrientation === \"RTL\") ? doBidiReorder(text, \"LLTR\", \"VLTR\", swap, bdx) :\n\t\t\t\t\t\t\t\t\t\t\t\tdoBidiReorder(text, \"LRTL\", \"VRTL\", swap, bdx);\n\t\t}\n\t\tif ((inFormat === \"VRTL\") && (outFormat === \"LRTL\")) {\n\t\t\t//case VRTL->LRTL\n\t\t\treturn doBidiReorder(text, \"LRTL\", \"VRTL\", swap, bdx);\n\t\t}\n\t\tif ((inOrdering === \"L\") && (outOrdering === \"L\")) {\n\t\t\t//inOrientation != outOrientation\n\t\t\t//cases: LRTL->LLTR, LLTR->LRTL\n\t\t\tvar saveSwap = bdx.swap;\n\t\t\tbdx.swap = saveSwap.substr(0, 1) + \"N\";\n\t\t\tif (inOrientation === \"RTL\") {\n\t\t\t\t//LRTL->LLTR\n\t\t\t\tbdx.dir = RTL;\n\t\t\t\ttext = doReorder(text, bdx);\n\t\t\t\tbdx.swap = \"N\" + saveSwap.substr(1, 2);\n\t\t\t\tbdx.dir = LTR;\n\t\t\t\ttext = doReorder(text, bdx);\n\t\t\t} else { //LLTR->LRTL\n\t\t\t\tbdx.dir = LTR;\n\t\t\t\ttext = doReorder(text, bdx);\n\t\t\t\tbdx.swap = \"N\" + saveSwap.substr(1, 2);\n\t\t\t\ttext = doBidiReorder(text, \"VLTR\", \"LRTL\", bdx.swap, bdx);\n\t\t\t}\n\t\t\treturn text;\n\t\t}\n\t}\n\n\tfunction prepareReorderingParameters(/*String*/text, /*Object*/params, /*Object*/bdx) {\n\t\t// summary:\n\t\t//\t\tPrepare reordering parameters\n\t\t// text:\n\t\t//\t\tThe text to reorder.\n\t\t// params:\n\t\t// Object, containing reordering parameters:\n\t\t// - inFormat: Ordering scheme and base direction of the source text.\n\t\t// - outFormat: Required ordering scheme and base direction of the result.\n\t\t// - swap: Symmetric swapping attributes of source and result.\n\t\t// bdx: Object\n\t\t//\t\tUsed for intermediate data storage\n\t\t// tags:\n\t\t//\t\tprivate\n\n\t\tif (params.inFormat === undefined) {\n\t\t\tparams.inFormat = bdx.defInFormat;\n\t\t}\n\t\tif (params.outFormat === undefined) {\n\t\t\tparams.outFormat = bdx.defOutFormat;\n\t\t}\n\t\tif (params.swap === undefined) {\n\t\t\tparams.swap = bdx.defSwap;\n\t\t}\n\t\tif (params.inFormat === params.outFormat) {\n\t\t\treturn params;\n\t\t}\n\t\tvar dir, inOrdering = params.inFormat.substring(0, 1),\n\t\tinOrientation = params.inFormat.substring(1, 4),\n\t\toutOrdering = params.outFormat.substring(0, 1),\n\t\toutOrientation = params.outFormat.substring(1, 4);\n\t\tif (inOrientation.charAt(0) === \"C\") {\n\t\t\tdir = firstStrongDir(text);\n\t\t\tif (dir === \"ltr\" || dir === \"rtl\") {\n\t\t\t\tinOrientation = dir.toUpperCase();\n\t\t\t} else {\n\t\t\t\tinOrientation = params.inFormat.charAt(2) === \"L\" ? \"LTR\" : \"RTL\";\n\t\t\t}\n\t\t\tparams.inFormat = inOrdering + inOrientation;\n\t\t}\n\t\tif (outOrientation.charAt(0) === \"C\") {\n\t\t\tdir = firstStrongDir(text);\n\t\t\tif (dir === \"rtl\") {\n\t\t\t\toutOrientation = \"RTL\";\n\t\t\t} else if (dir === \"ltr\") {\n\t\t\t\tdir = lastStrongDir(text);\n\t\t\t\toutOrientation = dir.toUpperCase();\n\t\t\t} else {\n\t\t\t\toutOrientation = params.outFormat.charAt(2) === \"L\" ? \"LTR\" : \"RTL\";\n\t\t\t}\n\t\t\tparams.outFormat = outOrdering + outOrientation;\n\t\t}\n\t\treturn params;\n\t}\n\n\tfunction shape(/*boolean*/rtl, /*String*/text, /*boolean*/compress) {\n\t\t// summary:\n\t\t//\t\tShape the source text.\n\t\t// rtl:\n\t\t//\t\tFlag indicating if the text is in RTL direction (logical\n\t\t//\t\tdirection for Arabic words).\n\t\t// text:\n\t\t//\t\tThe text to shape.\n\t\t// compress:\n\t\t//\t\tA flag indicates to insert extra space after the lam alef compression\n\t\t//\t\tto preserve the buffer size or not insert an extra space which will lead\n\t\t//\t\tto decrease the buffer size. This option can be:\n\t\t//\n\t\t//\t\t- true (default) to not insert extra space after compressing Lam+Alef into one character Lamalef\n\t\t//\t\t- false to insert an extra space after compressed Lamalef to preserve the buffer size\n\t\t// returns:\n\t\t//\t\ttext shaped.\n\t\t// tags:\n\t\t//\t\tprivate.\n\n\t\tif (text.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tif (rtl === undefined) {\n\t\t\trtl = true;\n\t\t}\n\t\tif (compress === undefined) {\n\t\t\tcompress = true;\n\t\t}\n\t\ttext = String(text);\n\n\t\tvar str06 = text.split(\"\"),\n\t\t\tIx = 0,\n\t\t\tstep = +1,\n\t\t\tnIEnd = str06.length;\n\t\tif (!rtl) {\n\t\t\tIx = str06.length - 1;\n\t\t\tstep = -1;\n\t\t\tnIEnd = 1;\n\t\t}\n\t\tvar compressArray = doShape(str06, Ix, step, nIEnd, compress);\n\t\tvar outBuf = \"\";\n\t\tfor (var idx = 0; idx < str06.length; idx++) {\n\t\t\tif (!(compress && indexOf(compressArray, compressArray.length, idx) > -1)) {\n\t\t\t\toutBuf += str06[idx];\n\t\t\t} else {\n\t\t\t\tupdateMap(tsMap, idx, !rtl, -1);\n\t\t\t\tstMap.splice(idx, 1);\n\t\t\t}\n\t\t}\n\t\treturn outBuf;\n\t}\n\n\tfunction doShape(str06, Ix, step, nIEnd, compress) {\n\t\t// summary:\n\t\t//\t\tShape the source text.\n\t\t// str06:\n\t\t//\t\tArray containing source text\n\t\t// Ix:\n\t\t//\t\tIndex of the first handled element\n\t\t// step:\n\t\t//\t\tdirection of the process\n\t\t// nIEnd:\n\t\t//\t\tIndex of the last handled element\n\t\t// compress:\n\t\t//\t\tA flag indicates to insert extra space after the lam alef compression\n\t\t//\t\tto preserve the buffer size or not insert an extra space which will lead\n\t\t//\t\tto decrease the buffer size.\n\t\t// returns:\n\t\t//\t\tArray, contained shaped text.\n\t\t// tags:\n\t\t//\t\tprivate.\n\n\t\tvar previousCursive = 0, compressArray = [], compressArrayIndx = 0;\n\t\tfor (var index = Ix; index * step < nIEnd; index = index + step) {\n\t\t\tif (isArabicAlefbet(str06[index]) || isArabicDiacritics(str06[index])) {\n\t\t\t\t// Arabic letter Lam\n\t\t\t\tif (str06[index] === \"\\u0644\" && isNextAlef(str06, (index + step), step, nIEnd)) {\n\t\t\t\t\tstr06[index] = (previousCursive === 0) ?\n\t\t\t\t\t\t\tgetLamAlefFE(str06[index + step], LamAlefInialTableFE) :\n\t\t\t\t\t\t\tgetLamAlefFE(str06[index + step], LamAlefMedialTableFE);\n\t\t\t\t\tindex += step;\n\t\t\t\t\tsetAlefToSpace(str06, index, step, nIEnd);\n\t\t\t\t\tif (compress) {\n\t\t\t\t\t\tcompressArray[compressArrayIndx] = index;\n\t\t\t\t\t\tcompressArrayIndx++;\n\t\t\t\t\t}\n\t\t\t\t\tpreviousCursive = 0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tvar currentChr = str06[index];\n\t\t\t\tif (previousCursive === 1) {\n\t\t\t\t\t// if next is Arabic\n\t\t\t\t\t// Character is in medial form\n\t\t\t\t\t// else character is in final form\n\t\t\t\t\tstr06[index] = (isNextArabic(str06, (index + step), step, nIEnd)) ?\n\t\t\t\t\t\tgetMedialFormCharacterFE(str06[index]) : getFormCharacterFE(str06[index], FinalForm);\n\t\t\t\t} else {\n\t\t\t\t\tif (isNextArabic(str06, (index + step), step, nIEnd) === true) {\n\t\t\t\t\t\t//character is in Initial form\n\t\t\t\t\t\tstr06[index] = getFormCharacterFE(str06[index], InitialForm);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr06[index] = getFormCharacterFE(str06[index], IsolatedForm);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//exam if the current character is cursive\n\t\t\t\tif (!isArabicDiacritics(currentChr)) {\n\t\t\t\t\tpreviousCursive = 1;\n\t\t\t\t}\n\t\t\t\tif (isStandAlonCharacter(currentChr) === true) {\n\t\t\t\t\tpreviousCursive = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpreviousCursive = 0;\n\t\t\t}\n\t\t}\n\t\treturn compressArray;\n\t}\n\n\tfunction firstStrongDir(/*String*/text) {\n\t\t// summary:\n\t\t//\t\tReturn the first strong character direction\n\t\t// text:\n\t\t//\t\tThe source string.\n\t\t// description:\n\t\t//\t\tSearches for first \"strong\" character.\n\t\t//\t\tReturns if strong character was found with the direction defined by this\n\t\t//\t\tcharacter, if no strong character was found returns an empty string.\n\t\t// returns: String\n\t\t//\t\t\"ltr\" - if the first strong character is Latin.\n\t\t//\t\t\"rtl\" - if the first strong character is RTL directed character.\n\t\t//\t\t\"\" - if the strong character wasn't found.\n\t\t// tags:\n\t\t//\t\tprivate\n\n\t\tvar fdc = /[A-Za-z\\u05d0-\\u065f\\u066a-\\u06ef\\u06fa-\\u07ff\\ufb1d-\\ufdff\\ufe70-\\ufefc]/.exec(text);\n\t\t// if found return the direction that defined by the character\n\t\treturn fdc ? (fdc[0] <= \"z\" ? \"ltr\" : \"rtl\") : \"\";\n\t}\n\n\tfunction lastStrongDir(text) {\n\t\t// summary:\n\t\t//\t\tReturn the last strong character direction\n\t\t// text:\n\t\t//\t\tThe source string.\n\t\t// description:\n\t\t//\t\tSearches for first (from the end) \"strong\" character.\n\t\t//\t\tReturns if strong character was found with the direction defined by this\n\t\t//\t\tcharacter, if no strong character was found returns an empty string.\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar chars = text.split(\"\");\n\t\tchars.reverse();\n\t\treturn firstStrongDir(chars.join(\"\"));\n\t}\n\n\tfunction deshape(/*String*/text, /*boolean*/rtl, /*boolean*/consumeNextSpace) {\n\t\t// summary:\n\t\t//\t\tdeshape the source text.\n\t\t// text:\n\t\t//\t\tthe text to be deshape.\n\t\t// rtl:\n\t\t//\t\tflag indicating if the text is in RTL direction (logical\n\t\t//\t\tdirection for Arabic words).\n\t\t// consumeNextSpace:\n\t\t//\t\tflag indicating whether to consume the space next to the\n\t\t//\t\tthe lam alef if there is a space followed the Lamalef character to preserve the buffer size.\n\t\t//\t\tIn case there is no space next to the lam alef the buffer size will be increased due to the\n\t\t//\t\texpansion of the lam alef one character into lam+alef two characters\n\t\t// returns:\n\t\t//\t\ttext deshaped.\n\t\tif (text.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tif (consumeNextSpace === undefined) {\n\t\t\tconsumeNextSpace = true;\n\t\t}\n\t\tif (rtl === undefined) {\n\t\t\trtl = true;\n\t\t}\n\t\ttext = String(text);\n\n\t\tvar outBuf = \"\", strFE = [];\n\t\tstrFE = text.split(\"\");\n\t\tfor (var i = 0; i < text.length; i++) {\n\t\t\tvar increase = false;\n\t\t\tif (strFE[i] >= \"\\uFE70\" && strFE[i] < \"\\uFEFF\") {\n\t\t\t\tvar chNum = text.charCodeAt(i);\n\t\t\t\tif (strFE[i] >= \"\\uFEF5\" && strFE[i] <= \"\\uFEFC\") {\n\t\t\t\t\t//expand the LamAlef\n\t\t\t\t\tif (rtl) {\n\t\t\t\t\t\t//Lam + Alef\n\t\t\t\t\t\tif (i > 0 && consumeNextSpace && strFE[i - 1] === \" \") {\n\t\t\t\t\t\t\toutBuf = outBuf.substring(0, outBuf.length - 1) + \"\\u0644\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\toutBuf += \"\\u0644\";\n\t\t\t\t\t\t\tincrease = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\toutBuf += AlefTable[(chNum - 65269) / 2];\n\t\t\t\t\t} else {\n\t\t\t\t\t\toutBuf += AlefTable[(chNum - 65269) / 2];\n\t\t\t\t\t\toutBuf += \"\\u0644\";\n\t\t\t\t\t\tif (i + 1 < text.length && consumeNextSpace && strFE[i + 1] === \" \") {\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tincrease = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (increase) {\n\t\t\t\t\t\tupdateMap(tsMap, i, true, 1);\n\t\t\t\t\t\tstMap.splice(i, 0, stMap[i]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\toutBuf += FETo06Table[chNum - 65136];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutBuf += strFE[i];\n\t\t\t}\n\t\t}\n\t\treturn outBuf;\n\t}\n\n\tfunction doReorder(str, bdx) {\n\t\t// summary:\n\t\t//\t\tHelper to the doBidiReorder. Manages the UBA.\n\t\t// str:\n\t\t//\t\tthe string to reorder.\n\t\t// bdx: Object\n\t\t//\t\tUsed for intermediate data storage\n\t\t// returns:\n\t\t//\t\ttext reordered according to source and result attributes.\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar chars = str.split(\"\"), levels = [];\n\n\t\tcomputeLevels(chars, levels, bdx);\n\t\tswapChars(chars, levels, bdx);\n\t\tinvertLevel(2, chars, levels, bdx);\n\t\tinvertLevel(1, chars, levels, bdx);\n\t\tlvMap = levels;\n\t\treturn chars.join(\"\");\n\t}\n\n\tfunction computeLevels(chars, levels, bdx) {\n\t\tvar len = chars.length,\n\t\t\timpTab = bdx.dir ? impTabRtl : impTabLtr,\n\t\t\tprevState = null, newClass = null, newLevel = null, newState = 0,\n\t\t\taction = null, cond = null, condPos = -1, i = null, ix = null,\n\t\t\ttypes = [],\n\t\t\tclasses = [];\n\t\tbdx.hiLevel = bdx.dir;\n\t\tbdx.lastArabic = false;\n\t\tbdx.hasUbatAl = false;\n\t\tbdx.hasUbatB = false;\n\t\tbdx.hasUbatS = false;\n\t\tfor (i = 0; i < len; i++) {\n\t\t\ttypes[i] = getCharacterType(chars[i]);\n\t\t}\n\t\tfor (ix = 0; ix < len; ix++) {\n\t\t\tprevState = newState;\n\t\t\tclasses[ix] = newClass = getCharClass(chars, types, classes, ix, bdx);\n\t\t\tnewState = impTab[prevState][newClass];\n\t\t\taction = newState & 0xF0;\n\t\t\tnewState &= 0x0F;\n\t\t\tlevels[ix] = newLevel = impTab[newState][ITIL];\n\t\t\tif (action > 0) {\n\t\t\t\tif (action === 0x10) {\t// set conditional run to level 1\n\t\t\t\t\tfor (i = condPos; i < ix; i++) {\n\t\t\t\t\t\tlevels[i] = 1;\n\t\t\t\t\t}\n\t\t\t\t\tcondPos = -1;\n\t\t\t\t} else {\t// 0x20 confirm the conditional run\n\t\t\t\t\tcondPos = -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcond = impTab[newState][ITCOND];\n\t\t\tif (cond) {\n\t\t\t\tif (condPos === -1) {\n\t\t\t\t\tcondPos = ix;\n\t\t\t\t}\n\t\t\t} else {\t// unconditional level\n\t\t\t\tif (condPos > -1) {\n\t\t\t\t\tfor (i = condPos; i < ix; i++) {\n\t\t\t\t\t\tlevels[i] = newLevel;\n\t\t\t\t\t}\n\t\t\t\t\tcondPos = -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (types[ix] === UBAT_B) {\n\t\t\t\tlevels[ix] = 0;\n\t\t\t}\n\t\t\tbdx.hiLevel |= newLevel;\n\t\t}\n\t\tif (bdx.hasUbatS) {\n\t\t\thandleUbatS(types, levels, len, bdx);\n\t\t}\n\t}\n\n\tfunction handleUbatS(types, levels, len, bdx) {\n\t\tfor (var i = 0; i < len; i++) {\n\t\t\tif (types[i] === UBAT_S) {\n\t\t\t\tlevels[i] = bdx.dir;\n\t\t\t\tfor (var j = i - 1; j >= 0; j--) {\n\t\t\t\t\tif (types[j] === UBAT_WS) {\n\t\t\t\t\t\tlevels[j] = bdx.dir;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction swapChars(chars, levels, bdx) {\n\t\t// summary:\n\t\t//\t\tSwap characters with symmetrical mirroring as all kinds of parenthesis.\n\t\t//\t\t(When needed).\n\t\t// chars:\n\t\t//\t\tThe source string as Array of characters.\n\t\t// levels:\n\t\t//\t\tAn array (like hash) of flags for each character in the source string,\n\t\t//\t\tthat defines if swapping should be applied on the following character.\n\t\t// bdx: Object\n\t\t//\t\tUsed for intermediate data storage\n\t\t// tags:\n\t\t//\t\tprivate\n\n\t\tif (bdx.hiLevel === 0 || bdx.swap.substr(0, 1) === bdx.swap.substr(1, 2)) {\n\t\t\treturn;\n\t\t}\n\t\tfor (var i = 0; i < chars.length; i++) {\n\t\t\tif (levels[i] === 1) {\n\t\t\t\tchars[i] = getMirror(chars[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getCharacterType(ch) {\n\t\t// summary:\n\t\t//\t\tReturn the type of the character.\n\t\t// ch:\n\t\t//\t\tThe character to be checked.\n\n\t\t// description:\n\t\t//\t\tCheck the type of the character according to MasterTable,\n\t\t//\t\ttype = LTR, RTL, neutral,Arabic-Indic digit etc.\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar uc = ch.charCodeAt(0),\n\t\t\thi = MasterTable[uc >> 8];\n\t\treturn (hi < TBBASE) ? hi : UnicodeTable[hi - TBBASE][uc & 0xFF];\n\t}\n\n\tfunction invertStr(str, bdx) {\n\t\t// summary:\n\t\t//\t\tReturn the reversed string.\n\t\t// str:\n\t\t//\t\tThe string to be reversed.\n\t\t// description:\n\t\t//\t\tReverse the string str.\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar chars = str.split(\"\");\n\t\tif (bdx) {\n\t\t\tvar levels = [];\n\t\t\tcomputeLevels(chars, levels, bdx);\n\t\t\tlvMap = levels;\n\t\t}\n\t\tchars.reverse();\n\t\tstMap.reverse();\n\t\treturn chars.join(\"\");\n\t}\n\n\tfunction indexOf(cArray, cLength, idx) {\n\t\tfor (var i = 0; i < cLength; i++) {\n\t\t\tif (cArray[i] === idx) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\tfunction isArabicAlefbet(c) {\n\t\tfor (var i = 0; i < ArabicAlefBetIntervalsBegine.length; i++) {\n\t\t\tif (c >= ArabicAlefBetIntervalsBegine[i] && c <= ArabicAlefBetIntervalsEnd[i]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction isNextArabic(str06, index, step, nIEnd) {\n\t\twhile (((index) * step) < nIEnd && isArabicDiacritics(str06[index])) {\n\t\t\tindex += step;\n\t\t}\n\t\tif (((index) * step) < nIEnd && isArabicAlefbet(str06[index])) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction isNextAlef(str06, index, step, nIEnd) {\n\t\twhile (((index) * step) < nIEnd && isArabicDiacritics(str06[index])) {\n\t\t\tindex += step;\n\t\t}\n\t\tvar c = \" \";\n\t\tif (((index) * step) < nIEnd) {\n\t\t\tc = str06[index];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t\tfor (var i = 0; i < AlefTable.length; i++) {\n\t\t\tif (AlefTable[i] === c) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction invertLevel(lev, chars, levels, bdx) {\n\t\tif (bdx.hiLevel < lev) {\n\t\t\treturn;\n\t\t}\n\t\tif (lev === 1 && bdx.dir === RTL && !bdx.hasUbatB) {\n\t\t\tchars.reverse();\n\t\t\tstMap.reverse();\n\t\t\treturn;\n\t\t}\n\t\tvar len = chars.length, start = 0, end, lo, hi, tmp;\n\t\twhile (start < len) {\n\t\t\tif (levels[start] >= lev) {\n\t\t\t\tend = start + 1;\n\t\t\t\twhile (end < len && levels[end] >= lev) {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t\tfor (lo = start, hi = end - 1 ; lo < hi; lo++, hi--) {\n\t\t\t\t\ttmp = chars[lo];\n\t\t\t\t\tchars[lo] = chars[hi];\n\t\t\t\t\tchars[hi] = tmp;\n\t\t\t\t\ttmp = stMap[lo];\n\t\t\t\t\tstMap[lo] = stMap[hi];\n\t\t\t\t\tstMap[hi] = tmp;\n\t\t\t\t}\n\t\t\t\tstart = end;\n\t\t\t}\n\t\t\tstart++;\n\t\t}\n\t}\n\n\tfunction getCharClass(chars, types, classes, ix, bdx) {\n\t\t// summary:\n\t\t//\t\tReturn the class if ix character in chars.\n\t\t// chars:\n\t\t//\t\tThe source string as Array of characters.\n\t\t// types:\n\t\t//\t\tArray of types, for each character in chars.\n\t\t// classes:\n\t\t//\t\tArray of classes that already been solved.\n\t\t// ix:\n\t\t//\t\tthe index of checked character.\n\t\t// bdx: Object\n\t\t//\t\tUsed for intermediate data storage\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar cType = types[ix],\n\t\t\tresults = {\n\t\t\t\tUBAT_L : function () { bdx.lastArabic = false; return UBAT_L; },\n\t\t\t\tUBAT_R : function () { bdx.lastArabic = false; return UBAT_R; },\n\t\t\t\tUBAT_ON : function () { return UBAT_ON; },\n\t\t\t\tUBAT_AN : function () { return UBAT_AN; },\n\t\t\t\tUBAT_EN : function () { return bdx.lastArabic ? UBAT_AN : UBAT_EN; },\n\t\t\t\tUBAT_AL : function () { bdx.lastArabic = true; bdx.hasUbatAl = true; return UBAT_R; },\n\t\t\t\tUBAT_WS : function () { return UBAT_ON; },\n\t\t\t\tUBAT_CS : function () {\n\t\t\t\t\t\t\t\t\t\tvar wType, nType;\n\t\t\t\t\t\t\t\t\t\tif (ix < 1 || (ix + 1) >= types.length ||\n\t\t\t\t\t\t\t\t\t\t\t((wType = classes[ix - 1]) !== UBAT_EN && wType !== UBAT_AN) ||\n\t\t\t\t\t\t\t\t\t\t\t((nType = types[ix + 1]) !== UBAT_EN && nType !== UBAT_AN)) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_ON;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (bdx.lastArabic) {\n\t\t\t\t\t\t\t\t\t\t\tnType = UBAT_AN;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn nType === wType ? nType : UBAT_ON;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\tUBAT_ES : function () {\n\t\t\t\t\t\t\t\t\t\tvar wType = ix > 0 ? classes[ix - 1] : UBAT_B;\n\t\t\t\t\t\t\t\t\t\tif (wType === UBAT_EN && (ix + 1) < types.length && types[ix + 1] === UBAT_EN) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_EN;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn UBAT_ON;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\tUBAT_ET : function () {\n\t\t\t\t\t\t\t\t\t\tif (ix > 0 && classes[ix - 1] === UBAT_EN) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_EN;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (bdx.lastArabic) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_ON;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvar i = ix + 1,\n\t\t\t\t\t\t\t\t\t\t\tlen = types.length;\n\t\t\t\t\t\t\t\t\t\twhile (i < len && types[i] === UBAT_ET) {\n\t\t\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (i < len && types[i] === UBAT_EN) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_EN;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn UBAT_ON;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\tUBAT_NSM : function () {\n\t\t\t\t\t\t\t\t\t\tif (bdx.inFormat === \"VLTR\") {\t// visual to implicit transformation\n\t\t\t\t\t\t\t\t\t\t\tvar len = types.length,\n\t\t\t\t\t\t\t\t\t\t\t\ti = ix + 1;\n\t\t\t\t\t\t\t\t\t\t\twhile (i < len && types[i] === UBAT_NSM) {\n\t\t\t\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (i < len) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar c = chars[ix],\n\t\t\t\t\t\t\t\t\t\t\t\t\trtlCandidate = (c >= 0x0591 && c <= 0x08FF) || c === 0xFB1E,\n\t\t\t\t\t\t\t\t\t\t\t\t\twType = types[i];\n\t\t\t\t\t\t\t\t\t\t\t\tif (rtlCandidate && (wType === UBAT_R || wType === UBAT_AL)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn UBAT_R;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (ix < 1 || types[ix - 1] === UBAT_B) {\n\t\t\t\t\t\t\t\t\t\t\treturn UBAT_ON;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn classes[ix - 1];\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\tUBAT_B : function () { bdx.lastArabic = true; bdx.hasUbatB = true; return bdx.dir; },\n\t\t\t\tUBAT_S : function () { bdx.hasUbatS = true; return UBAT_ON; },\n\t\t\t\tUBAT_LRE : function () { bdx.lastArabic = false; return UBAT_ON; },\n\t\t\t\tUBAT_RLE : function () { bdx.lastArabic = false; return UBAT_ON; },\n\t\t\t\tUBAT_LRO : function () { bdx.lastArabic = false; return UBAT_ON; },\n\t\t\t\tUBAT_RLO : function () { bdx.lastArabic = false; return UBAT_ON; },\n\t\t\t\tUBAT_PDF : function () { bdx.lastArabic = false; return UBAT_ON; },\n\t\t\t\tUBAT_BN : function () { return UBAT_ON; }\n\t\t\t};\n\t\treturn results[TYPES_NAMES[cType]]();\n\t}\n\n\tfunction getMirror(c) {\n\t\t// summary:\n\t\t//\t\tCalculates the mirrored character of c\n\t\t// c:\n\t\t//\t\tThe character to be mirrored.\n\t\t// tags:\n\t\t//\t\tprivate\n\t\tvar mid, low = 0, high = SwapTable.length - 1;\n\n\t\twhile (low <= high) {\n\t\t\tmid = Math.floor((low + high) / 2);\n\t\t\tif (c < SwapTable[mid][0]) {\n\t\t\t\thigh = mid - 1;\n\t\t\t} else if (c > SwapTable[mid][0]) {\n\t\t\t\tlow = mid + 1;\n\t\t\t} else {\n\t\t\t\treturn SwapTable[mid][1];\n\t\t\t}\n\t\t}\n\t\treturn c;\n\t}\n\n\tfunction isStandAlonCharacter(c) {\n\t\tfor (var i = 0; i < StandAlonForm.length; i++) {\n\t\t\tif (StandAlonForm[i] === c) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction getMedialFormCharacterFE(c) {\n\t\tfor (var i = 0; i < BaseForm.length; i++) {\n\t\t\tif (c === BaseForm[i]) {\n\t\t\t\treturn MedialForm[i];\n\t\t\t}\n\t\t}\n\t\treturn c;\n\t}\n\n\tfunction getFormCharacterFE(/*char*/ c, /*char[]*/formArr) {\n\t\tfor (var i = 0; i < BaseForm.length; i++) {\n\t\t\tif (c === BaseForm[i]) {\n\t\t\t\treturn formArr[i];\n\t\t\t}\n\t\t}\n\t\treturn c;\n\t}\n\n\tfunction isArabicDiacritics(c) {\n\t\treturn\t(c >= \"\\u064b\" && c <= \"\\u0655\") ? true : false;\n\t}\n\n\tfunction getOrientation(/*Char*/ oc) {\n\t\tif (oc === \"L\") {\n\t\t\treturn \"LTR\";\n\t\t}\n\t\tif (oc === \"R\") {\n\t\t\treturn \"RTL\";\n\t\t}\n\t\tif (oc === \"C\") {\n\t\t\treturn \"CLR\";\n\t\t}\n\t\tif (oc === \"D\") {\n\t\t\treturn \"CRL\";\n\t\t}\n\t}\n\n\tfunction setAlefToSpace(str06, index, step, nIEnd) {\n\t\twhile (((index) * step) < nIEnd && isArabicDiacritics(str06[index])) {\n\t\t\tindex += step;\n\t\t}\n\t\tif (((index) * step) < nIEnd) {\n\t\t\tstr06[index] = \" \";\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction getLamAlefFE(alef06, LamAlefForm) {\n\t\tfor (var i = 0; i < AlefTable.length; i++) {\n\t\t\tif (alef06 === AlefTable[i]) {\n\t\t\t\treturn LamAlefForm[i];\n\t\t\t}\n\t\t}\n\t\treturn alef06;\n\t}\n\n\tfunction initMaps(map1, map2, length) {\n\t\tstMap = [];\n\t\tlvMap = [];\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tmap1[i] = i;\n\t\t\tmap2[i] = i;\n\t\t\tstMap[i] = i;\n\t\t}\n\t}\n\n\tfunction reverseMap(sourceMap) {\n\t\tvar map = new Array(sourceMap.length);\n\t\tfor (var i = 0; i < sourceMap.length; i++) {\n\t\t\tmap[sourceMap[i]] = i;\n\t\t}\n\t\treturn map;\n\t}\n\n\tfunction updateMap(map, value, isGreater, update) {\n\t\tfor (var i = 0; i < map.length; i++) {\n\t\t\tif (map[i] > value || (!isGreater && map[i] === value)) {\n\t\t\t\tmap[i] += update;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar stMap = [];\n\tvar tsMap = [];\n\tvar lvMap = [];\n\n\tvar\tBDX = {\n\t\t\tdir: 0,\n\t\t\tdefInFormat: \"LLTR\",\n\t\t\tdefoutFormat: \"VLTR\",\n\t\t\tdefSwap: \"YN\",\n\t\t\tinFormat: \"LLTR\",\n\t\t\toutFormat: \"VLTR\",\n\t\t\tswap: \"YN\",\n\t\t\thiLevel: 0,\n\t\t\tlastArabic: false,\n\t\t\thasUbatAl: false,\n\t\t\thasBlockSep: false,\n\t\t\thasSegSep: false\n\t\t};\n\n\tvar ITIL = 5;\n\n\tvar ITCOND = 6;\n\n\tvar LTR = 0;\n\n\tvar RTL = 1;\n\n\tvar validFormat = /^[(I|V)][(L|R|C|D)][(Y|N)][(S|N)][N]$/;\n\n\tvar bidiChars = /[\\u0591-\\u06ff\\ufb1d-\\ufefc]/;\n\n\t/****************************************************************************/\n\t/* Array in which directional characters are replaced by their symmetric.\t*/\n\t/****************************************************************************/\n\tvar SwapTable = [\n\t\t[ \"\\u0028\", \"\\u0029\" ],\t/* Round brackets\t\t\t\t\t*/\n\t\t[ \"\\u0029\", \"\\u0028\" ],\n\t\t[ \"\\u003C\", \"\\u003E\" ],\t/* Less than/greater than\t\t\t*/\n\t\t[ \"\\u003E\", \"\\u003C\" ],\n\t\t[ \"\\u005B\", \"\\u005D\" ],\t/* Square brackets\t\t\t\t\t*/\n\t\t[ \"\\u005D\", \"\\u005B\" ],\n\t\t[ \"\\u007B\", \"\\u007D\" ],\t/* Curly brackets\t\t\t\t\t*/\n\t\t[ \"\\u007D\", \"\\u007B\" ],\n\t\t[ \"\\u00AB\", \"\\u00BB\" ],\t/* Double angle quotation marks\t\t*/\n\t\t[ \"\\u00BB\", \"\\u00AB\" ],\n\t\t[ \"\\u2039\", \"\\u203A\" ],\t/* single angle quotation mark\t\t*/\n\t\t[ \"\\u203A\", \"\\u2039\" ],\n\t\t[ \"\\u207D\", \"\\u207E\" ],\t/* Superscript parentheses\t\t\t*/\n\t\t[ \"\\u207E\", \"\\u207D\" ],\n\t\t[ \"\\u208D\", \"\\u208E\" ],\t/* Subscript parentheses\t\t\t*/\n\t\t[ \"\\u208E\", \"\\u208D\" ],\n\t\t[ \"\\u2264\", \"\\u2265\" ],\t/* Less/greater than or equal\t\t*/\n\t\t[ \"\\u2265\", \"\\u2264\" ],\n\t\t[ \"\\u2329\", \"\\u232A\" ],\t/* Angle brackets\t\t\t\t\t*/\n\t\t[ \"\\u232A\", \"\\u2329\" ],\n\t\t[ \"\\uFE59\", \"\\uFE5A\" ],\t/* Small round brackets\t\t\t\t*/\n\t\t[ \"\\uFE5A\", \"\\uFE59\" ],\n\t\t[ \"\\uFE5B\", \"\\uFE5C\" ],\t/* Small curly brackets\t\t\t\t*/\n\t\t[ \"\\uFE5C\", \"\\uFE5B\" ],\n\t\t[ \"\\uFE5D\", \"\\uFE5E\" ],\t/* Small tortoise shell brackets\t*/\n\t\t[ \"\\uFE5E\", \"\\uFE5D\" ],\n\t\t[ \"\\uFE64\", \"\\uFE65\" ],\t/* Small less than/greater than\t\t*/\n\t\t[ \"\\uFE65\", \"\\uFE64\" ]\n\t];\n\tvar AlefTable = [\"\\u0622\", \"\\u0623\", \"\\u0625\", \"\\u0627\"];\n\n\tvar LamAlefInialTableFE = [\"\\ufef5\", \"\\ufef7\", \"\\ufef9\", \"\\ufefb\"];\n\n\tvar LamAlefMedialTableFE = [\"\\ufef6\", \"\\ufef8\", \"\\ufefa\", \"\\ufefc\"];\n\t/**\n\t * Arabic Characters in the base form\n\t */\n\tvar BaseForm = [\"\\u0627\", \"\\u0628\", \"\\u062A\", \"\\u062B\", \"\\u062C\", \"\\u062D\", \"\\u062E\", \"\\u062F\", \"\\u0630\", \"\\u0631\",\n \"\\u0632\", \"\\u0633\", \"\\u0634\", \"\\u0635\", \"\\u0636\", \"\\u0637\", \"\\u0638\", \"\\u0639\", \"\\u063A\", \"\\u0641\",\n \"\\u0642\", \"\\u0643\", \"\\u0644\", \"\\u0645\", \"\\u0646\", \"\\u0647\", \"\\u0648\", \"\\u064A\", \"\\u0625\", \"\\u0623\",\n \"\\u0622\", \"\\u0629\", \"\\u0649\", \"\\u0644\", \"\\u0645\", \"\\u0646\", \"\\u0647\", \"\\u0648\", \"\\u064A\", \"\\u0625\",\n \"\\u0623\", \"\\u0622\", \"\\u0629\", \"\\u0649\", \"\\u06CC\", \"\\u0626\", \"\\u0624\"];\n\n\t/**\n\t * Arabic shaped characters in Isolated form\n\t */\n\tvar IsolatedForm = [\"\\uFE8D\", \"\\uFE8F\", \"\\uFE95\", \"\\uFE99\", \"\\uFE9D\", \"\\uFEA1\", \"\\uFEA5\", \"\\uFEA9\", \"\\uFEAB\",\n \"\\uFEAD\", \"\\uFEAF\", \"\\uFEB1\", \"\\uFEB5\", \"\\uFEB9\", \"\\uFEBD\", \"\\uFEC1\", \"\\uFEC5\", \"\\uFEC9\",\n \"\\uFECD\", \"\\uFED1\", \"\\uFED5\", \"\\uFED9\", \"\\uFEDD\", \"\\uFEE1\", \"\\uFEE5\", \"\\uFEE9\", \"\\uFEED\",\n \"\\uFEF1\", \"\\uFE87\", \"\\uFE83\", \"\\uFE81\", \"\\uFE93\", \"\\uFEEF\", \"\\uFBFC\", \"\\uFE89\", \"\\uFE85\",\n \"\\uFE70\", \"\\uFE72\", \"\\uFE74\", \"\\uFE76\", \"\\uFE78\", \"\\uFE7A\", \"\\uFE7C\", \"\\uFE7E\", \"\\uFE80\",\n \"\\uFE89\", \"\\uFE85\"];\n\n\t/**\n\t * Arabic shaped characters in Final form\n\t */\n\tvar FinalForm = [\"\\uFE8E\", \"\\uFE90\", \"\\uFE96\", \"\\uFE9A\", \"\\uFE9E\", \"\\uFEA2\", \"\\uFEA6\", \"\\uFEAA\", \"\\uFEAC\", \"\\uFEAE\",\n \"\\uFEB0\", \"\\uFEB2\", \"\\uFEB6\", \"\\uFEBA\", \"\\uFEBE\", \"\\uFEC2\", \"\\uFEC6\", \"\\uFECA\", \"\\uFECE\", \"\\uFED2\",\n \"\\uFED6\", \"\\uFEDA\", \"\\uFEDE\", \"\\uFEE2\", \"\\uFEE6\", \"\\uFEEA\", \"\\uFEEE\", \"\\uFEF2\", \"\\uFE88\", \"\\uFE84\",\n \"\\uFE82\", \"\\uFE94\", \"\\uFEF0\", \"\\uFBFD\", \"\\uFE8A\", \"\\uFE86\", \"\\uFE70\", \"\\uFE72\", \"\\uFE74\", \"\\uFE76\",\n \"\\uFE78\", \"\\uFE7A\", \"\\uFE7C\", \"\\uFE7E\", \"\\uFE80\", \"\\uFE8A\", \"\\uFE86\"];\n\n\t/**\n\t * Arabic shaped characters in Media form\n\t */\n\tvar MedialForm = [\"\\uFE8E\", \"\\uFE92\", \"\\uFE98\", \"\\uFE9C\", \"\\uFEA0\", \"\\uFEA4\", \"\\uFEA8\", \"\\uFEAA\", \"\\uFEAC\",\n \"\\uFEAE\", \"\\uFEB0\", \"\\uFEB4\", \"\\uFEB8\", \"\\uFEBC\", \"\\uFEC0\", \"\\uFEC4\", \"\\uFEC8\", \"\\uFECC\",\n \"\\uFED0\", \"\\uFED4\", \"\\uFED8\", \"\\uFEDC\", \"\\uFEE0\", \"\\uFEE4\", \"\\uFEE8\", \"\\uFEEC\", \"\\uFEEE\",\n \"\\uFEF4\", \"\\uFE88\", \"\\uFE84\", \"\\uFE82\", \"\\uFE94\", \"\\uFEF0\", \"\\uFBFF\", \"\\uFE8C\", \"\\uFE86\",\n \"\\uFE71\", \"\\uFE72\", \"\\uFE74\", \"\\uFE77\", \"\\uFE79\", \"\\uFE7B\", \"\\uFE7D\", \"\\uFE7F\", \"\\uFE80\",\n \"\\uFE8C\", \"\\uFE86\"];\n\n\t/**\n\t * Arabic shaped characters in Initial form\n\t */\n\tvar InitialForm = [\"\\uFE8D\", \"\\uFE91\", \"\\uFE97\", \"\\uFE9B\", \"\\uFE9F\", \"\\uFEA3\", \"\\uFEA7\", \"\\uFEA9\", \"\\uFEAB\",\n \"\\uFEAD\", \"\\uFEAF\", \"\\uFEB3\", \"\\uFEB7\", \"\\uFEBB\", \"\\uFEBF\", \"\\uFEC3\", \"\\uFEC7\", \"\\uFECB\",\n \"\\uFECF\", \"\\uFED3\", \"\\uFED7\", \"\\uFEDB\", \"\\uFEDF\", \"\\uFEE3\", \"\\uFEE7\", \"\\uFEEB\", \"\\uFEED\",\n \"\\uFEF3\", \"\\uFE87\", \"\\uFE83\", \"\\uFE81\", \"\\uFE93\", \"\\uFEEF\", \"\\uFBFE\", \"\\uFE8B\", \"\\uFE85\",\n \"\\uFE70\", \"\\uFE72\", \"\\uFE74\", \"\\uFE76\", \"\\uFE78\", \"\\uFE7A\", \"\\uFE7C\", \"\\uFE7E\", \"\\uFE80\",\n \"\\uFE8B\", \"\\uFE85\"];\n\n\t/**\n\t * Arabic characters that couldn't join to the next character\n\t */\n\tvar StandAlonForm = [\"\\u0621\", \"\\u0622\", \"\\u0623\", \"\\u0624\", \"\\u0625\", \"\\u0627\", \"\\u0629\", \"\\u062F\", \"\\u0630\",\n \"\\u0631\", \"\\u0632\", \"\\u0648\", \"\\u0649\"];\n\n\tvar FETo06Table = [\"\\u064B\", \"\\u064B\", \"\\u064C\", \"\\u061F\", \"\\u064D\", \"\\u061F\", \"\\u064E\", \"\\u064E\", \"\\u064F\",\n \"\\u064F\", \"\\u0650\", \"\\u0650\", \"\\u0651\", \"\\u0651\", \"\\u0652\", \"\\u0652\", \"\\u0621\", \"\\u0622\",\n \"\\u0622\", \"\\u0623\", \"\\u0623\", \"\\u0624\", \"\\u0624\", \"\\u0625\", \"\\u0625\", \"\\u0626\", \"\\u0626\",\n \"\\u0626\", \"\\u0626\", \"\\u0627\", \"\\u0627\", \"\\u0628\", \"\\u0628\", \"\\u0628\", \"\\u0628\", \"\\u0629\",\n \"\\u0629\", \"\\u062A\", \"\\u062A\", \"\\u062A\", \"\\u062A\", \"\\u062B\", \"\\u062B\", \"\\u062B\", \"\\u062B\",\n \"\\u062C\", \"\\u062C\", \"\\u062C\", \"\\u062c\", \"\\u062D\", \"\\u062D\", \"\\u062D\", \"\\u062D\", \"\\u062E\",\n \"\\u062E\", \"\\u062E\", \"\\u062E\", \"\\u062F\", \"\\u062F\", \"\\u0630\", \"\\u0630\", \"\\u0631\", \"\\u0631\",\n \"\\u0632\", \"\\u0632\", \"\\u0633\", \"\\u0633\", \"\\u0633\", \"\\u0633\", \"\\u0634\", \"\\u0634\", \"\\u0634\",\n \"\\u0634\", \"\\u0635\", \"\\u0635\", \"\\u0635\", \"\\u0635\", \"\\u0636\", \"\\u0636\", \"\\u0636\", \"\\u0636\",\n \"\\u0637\", \"\\u0637\", \"\\u0637\", \"\\u0637\", \"\\u0638\", \"\\u0638\", \"\\u0638\", \"\\u0638\", \"\\u0639\",\n \"\\u0639\", \"\\u0639\", \"\\u0639\", \"\\u063A\", \"\\u063A\", \"\\u063A\", \"\\u063A\", \"\\u0641\", \"\\u0641\",\n \"\\u0641\", \"\\u0641\", \"\\u0642\", \"\\u0642\", \"\\u0642\", \"\\u0642\", \"\\u0643\", \"\\u0643\", \"\\u0643\",\n \"\\u0643\", \"\\u0644\", \"\\u0644\", \"\\u0644\", \"\\u0644\", \"\\u0645\", \"\\u0645\", \"\\u0645\", \"\\u0645\",\n \"\\u0646\", \"\\u0646\", \"\\u0646\", \"\\u0646\", \"\\u0647\", \"\\u0647\", \"\\u0647\", \"\\u0647\", \"\\u0648\",\n \"\\u0648\", \"\\u0649\", \"\\u0649\", \"\\u064A\", \"\\u064A\", \"\\u064A\", \"\\u064A\", \"\\uFEF5\", \"\\uFEF6\",\n \"\\uFEF7\", \"\\uFEF8\", \"\\uFEF9\", \"\\uFEFA\", \"\\uFEFB\", \"\\uFEFC\", \"\\u061F\", \"\\u061F\", \"\\u061F\"];\n\n\tvar ArabicAlefBetIntervalsBegine = [\"\\u0621\", \"\\u0641\"];\n\n\tvar ArabicAlefBetIntervalsEnd = [\"\\u063A\", \"\\u064a\"];\n\n\tvar\timpTabLtr = [\n\t/*\t\tL,\t\tR,\t\tEN,\t\tAN,\t\tN,\t\tIL,\t\tCond */\n\t\t[\t0,\t\t3,\t\t0,\t\t1,\t\t0,\t\t0,\t\t0\t], /* 0 LTR text\t*/\n\t\t[\t0,\t\t3,\t\t0,\t\t1,\t\t2,\t\t2,\t\t0\t], /* 1 LTR+AN\t\t*/\n\t\t[\t0,\t\t3,\t\t0,\t\t0x11,\t2,\t\t0,\t\t1\t], /* 2 LTR+AN+N\t*/\n\t\t[\t0,\t\t3,\t\t5,\t\t5,\t\t4,\t\t1,\t\t0\t], /* 3 RTL text\t*/\n\t\t[\t0,\t\t3,\t\t0x15,\t0x15,\t4,\t\t0,\t\t1\t], /* 4 RTL cont\t*/\n\t\t[\t0,\t\t3,\t\t5,\t\t5,\t\t4,\t\t2,\t\t0\t] /* 5 RTL+EN/AN\t*/\n\t];\n\tvar impTabRtl = [\n\t/*\t\tL,\t\tR,\t\tEN,\t\tAN,\t\tN,\t\tIL,\t\tCond */\n\t\t[\t2,\t\t0,\t\t1,\t\t1,\t\t0,\t\t1,\t\t0\t], /* 0 RTL text\t*/\n\t\t[\t2,\t\t0,\t\t1,\t\t1,\t\t0,\t\t2,\t\t0\t], /* 1 RTL+EN/AN\t*/\n\t\t[\t2,\t\t0,\t\t2,\t\t1,\t\t3,\t\t2,\t\t0\t], /* 2 LTR text\t*/\n\t\t[\t2,\t\t0,\t\t2,\t\t0x21,\t3,\t\t1,\t\t1\t] /* 3 LTR+cont\t*/\n\t];\n\n\tvar UBAT_L\t= 0; /* left to right\t\t\t\t*/\n\tvar UBAT_R\t= 1; /* right to left\t\t\t\t*/\n\tvar UBAT_EN = 2; /* European digit\t\t\t\t*/\n\tvar UBAT_AN = 3; /* Arabic-Indic digit\t\t\t*/\n\tvar UBAT_ON = 4; /* neutral\t\t\t\t\t\t*/\n\tvar UBAT_B\t= 5; /* block separator\t\t\t\t*/\n\tvar UBAT_S\t= 6; /* segment separator\t\t\t*/\n\tvar UBAT_AL = 7; /* Arabic Letter\t\t\t\t*/\n\tvar UBAT_WS = 8; /* white space\t\t\t\t\t*/\n\tvar UBAT_CS = 9; /* common digit separator\t\t*/\n\tvar UBAT_ES = 10; /* European digit separator\t*/\n\tvar UBAT_ET = 11; /* European digit terminator\t*/\n\tvar UBAT_NSM = 12; /* Non Spacing Mark\t\t\t*/\n\tvar UBAT_LRE = 13; /* LRE\t\t\t\t\t\t*/\n\tvar UBAT_RLE = 14; /* RLE\t\t\t\t\t\t*/\n\tvar UBAT_PDF = 15; /* PDF\t\t\t\t\t\t*/\n\tvar UBAT_LRO = 16; /* LRO\t\t\t\t\t\t*/\n\tvar UBAT_RLO = 17; /* RLO\t\t\t\t\t\t*/\n\tvar UBAT_BN\t= 18; /* Boundary Neutral\t\t\t*/\n\n\tvar TYPES_NAMES = [ \"UBAT_L\", \"UBAT_R\", \"UBAT_EN\", \"UBAT_AN\", \"UBAT_ON\", \"UBAT_B\", \"UBAT_S\", \"UBAT_AL\", \"UBAT_WS\",\n\t\t\t\t\t\t\"UBAT_CS\", \"UBAT_ES\", \"UBAT_ET\", \"UBAT_NSM\", \"UBAT_LRE\", \"UBAT_RLE\", \"UBAT_PDF\", \"UBAT_LRO\",\n\t\t\t\t\t\t\"UBAT_RLO\", \"UBAT_BN\" ];\n\tvar TBBASE = 100;\n\n\tvar TB00 = TBBASE + 0;\n\tvar TB05 = TBBASE + 1;\n\tvar TB06 = TBBASE + 2;\n\tvar TB07 = TBBASE + 3;\n\tvar TB20 = TBBASE + 4;\n\tvar TBFB = TBBASE + 5;\n\tvar TBFE = TBBASE + 6;\n\tvar TBFF = TBBASE + 7;\n\n\tvar L\t= UBAT_L;\n\tvar R\t= UBAT_R;\n\tvar EN\t= UBAT_EN;\n\tvar AN\t= UBAT_AN;\n\tvar ON\t= UBAT_ON;\n\tvar B\t= UBAT_B;\n\tvar S\t= UBAT_S;\n\tvar AL\t= UBAT_AL;\n\tvar WS\t= UBAT_WS;\n\tvar CS\t= UBAT_CS;\n\tvar ES\t= UBAT_ES;\n\tvar ET\t= UBAT_ET;\n\tvar NSM\t= UBAT_NSM;\n\tvar LRE\t= UBAT_LRE;\n\tvar RLE\t= UBAT_RLE;\n\tvar PDF\t= UBAT_PDF;\n\tvar LRO\t= UBAT_LRO;\n\tvar RLO\t= UBAT_RLO;\n\tvar BN\t= UBAT_BN;\n\n\tvar MasterTable = [\n /*******************************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */\n /*******************************************************************************************************/\n /*0-*/ TB00, L, L, L, L, TB05, TB06, TB07, R, L, L, L, L, L, L, L,\n /*1-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*2-*/ TB20, ON, ON, ON, L, ON, L, ON, L, ON, ON, ON, L, L, ON, ON,\n /*3-*/ L, L, L, L, L, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*4-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, L, L, ON,\n /*5-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*6-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*7-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*8-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*9-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, L,\n /*A-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON,\n /*B-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*C-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*D-*/ ON, ON, ON, ON, ON, ON, ON, L, L, ON, ON, L, L, ON, ON, L,\n /*E-*/ L, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*F-*/ ON, ON, ON, ON, ON, ON, ON, ON, L, L, L, TBFB, AL, AL, TBFE, TBFF\n\t];\n\n\tvar UnicodeTable = [\n [ /*\tTable 00: Unicode 00xx */\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ BN, BN, BN, BN, BN, BN, BN, BN, BN, S, B, S, WS, B, BN, BN,\n /*1-*/ BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, B, B, B, S,\n /*2-*/ WS, ON, ON, ET, ET, ET, ON, ON, ON, ON, ON, ES, CS, ES, CS, CS,\n /*3-*/ EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, CS, ON, ON, ON, ON, ON,\n /*4-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*5-*/ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON,\n /*6-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*7-*/ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, BN,\n /*8-*/ BN, BN, BN, BN, BN, B, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,\n /*9-*/ BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,\n /*A-*/ CS, ON, ET, ET, ET, ET, ON, ON, ON, ON, L, ON, ON, BN, ON, ON,\n /*B-*/ ET, ET, EN, EN, ON, L, ON, ON, ON, EN, L, ON, ON, ON, ON, ON,\n /*C-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*D-*/ L, L, L, L, L, L, L, ON, L, L, L, L, L, L, L, L,\n /*E-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*F-*/ L, L, L, L, L, L, L, ON, L, L, L, L, L, L, L, L\n\t\t],\n\t\t[ /*\tTable 01: Unicode 05xx */\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*1-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*2-*/ L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON, ON, ON, ON,\n /*3-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*4-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*5-*/ L, L, L, L, L, L, L, ON, ON, L, L, L, L, L, L, L,\n /*6-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*7-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*8-*/ L, L, L, L, L, L, L, L, ON, L, ON, ON, ON, ON, ON, ON,\n /*9-*/ ON, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*A-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*B-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, R, NSM,\n /*C-*/ R, NSM, NSM, R, NSM, NSM, R, NSM, ON, ON, ON, ON, ON, ON, ON, ON,\n /*D-*/ R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R,\n /*E-*/ R, R, R, R, R, R, R, R, R, R, R, ON, ON, ON, ON, ON,\n /*F-*/ R, R, R, R, R, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON\n\t\t],\n\t\t[ /*\tTable 02: Unicode 06xx */\n /****************************************************************************************/\n\t/* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n\t/****************************************************************************************/\n /*0-*/ AN, AN, AN, AN, ON, ON, ON, ON, AL, ET, ET, AL, CS, AL, ON, ON,\n /*1-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, AL, ON, ON, AL, AL,\n /*2-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*3-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*4-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, NSM, NSM, NSM, NSM, NSM,\n /*5-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*6-*/ AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, ET, AN, AN, AL, AL, AL,\n /*7-*/ NSM, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*8-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*9-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*A-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*B-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*C-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*D-*/ AL, AL, AL, AL, AL, AL, NSM, NSM, NSM, NSM, NSM, NSM, NSM, AN, ON, NSM,\n /*E-*/ NSM, NSM, NSM, NSM, NSM, AL, AL, NSM, NSM, ON, NSM, NSM, NSM, NSM, AL, AL,\n /*F-*/ EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, AL, AL, AL, AL, AL, AL\n\t\t],\n\t\t[\t/*\tTable\t03:\tUnicode\t07xx\t*/\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, ON, AL,\n /*1-*/ AL, NSM, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*2-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*3-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*4-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, ON, ON, AL, AL, AL,\n /*5-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*6-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*7-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*8-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*9-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*A-*/ AL, AL, AL, AL, AL, AL, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*B-*/ NSM, AL, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*C-*/ R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R,\n /*D-*/ R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R,\n /*E-*/ R, R, R, R, R, R, R, R, R, R, R, NSM, NSM, NSM, NSM, NSM,\n /*F-*/ NSM, NSM, NSM, NSM, R, R, ON, ON, ON, ON, R, ON, ON, ON, ON, ON\n\t\t],\n\t\t[\t/*\tTable\t04:\tUnicode\t20xx\t*/\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, BN, BN, BN, L, R,\n /*1-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*2-*/ ON, ON, ON, ON, ON, ON, ON, ON, WS, B, LRE, RLE, PDF, LRO, RLO, CS,\n /*3-*/ ET, ET, ET, ET, ET, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*4-*/ ON, ON, ON, ON, CS, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*5-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, WS,\n /*6-*/ BN, BN, BN, BN, BN, ON, ON, ON, ON, ON, BN, BN, BN, BN, BN, BN,\n /*7-*/ EN, L, ON, ON, EN, EN, EN, EN, EN, EN, ES, ES, ON, ON, ON, L,\n /*8-*/ EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, ES, ES, ON, ON, ON, ON,\n /*9-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON,\n /*A-*/ ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ET,\n /*B-*/ ET, ET, ET, ET, ET, ET, ET, ET, ET, ET, ON, ON, ON, ON, ON, ON,\n /*C-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*D-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*E-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*F-*/ NSM, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON\n\t\t],\n\t\t[\t/*\tTable\t05:\tUnicode\tFBxx\t*/\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ L, L, L, L, L, L, L, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*1-*/ ON, ON, ON, L, L, L, L, L, ON, ON, ON, ON, ON, R, NSM, R,\n /*2-*/ R, R, R, R, R, R, R, R, R, ES, R, R, R, R, R, R,\n /*3-*/ R, R, R, R, R, R, R, ON, R, R, R, R, R, ON, R, ON,\n /*4-*/ R, R, ON, R, R, ON, R, R, R, R, R, R, R, R, R, R,\n /*5-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*6-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*7-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*8-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*9-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*A-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*B-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*C-*/ AL, AL, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*D-*/ ON, ON, ON, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*E-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*F-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL\n\t\t],\n\t\t[\t/*\tTable\t06:\tUnicode\tFExx\t*/\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,\n /*1-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*2-*/ NSM, NSM, NSM, NSM, NSM, NSM, NSM, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*3-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*4-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*5-*/ CS, ON, CS, ON, ON, CS, ON, ON, ON, ON, ON, ON, ON, ON, ON, ET,\n /*6-*/ ON, ON, ES, ES, ON, ON, ON, ON, ON, ET, ET, ON, ON, ON, ON, ON,\n /*7-*/ AL, AL, AL, AL, AL, ON, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*8-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*9-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*A-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*B-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*C-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*D-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*E-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,\n /*F-*/ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, ON, ON, BN\n\t\t],\n\t\t[\t/*\tTable\t07:\tUnicode\tFFxx\t*/\n /****************************************************************************************/\n /* 0 1 2 3 4 5 6 7 8 9 A B C D E F\t*/\n /****************************************************************************************/\n /*0-*/ ON, ON, ON, ET, ET, ET, ON, ON, ON, ON, ON, ES, CS, ES, CS, CS,\n /*1-*/ EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, CS, ON, ON, ON, ON, ON,\n /*2-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*3-*/ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON,\n /*4-*/ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*5-*/ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON,\n /*6-*/ ON, ON, ON, ON, ON, ON, L, L, L, L, L, L, L, L, L, L,\n /*7-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*8-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*9-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*A-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n /*B-*/ L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, ON,\n /*C-*/ ON, ON, L, L, L, L, L, L, ON, ON, L, L, L, L, L, L,\n /*D-*/ ON, ON, L, L, L, L, L, L, ON, ON, L, L, L, ON, ON, ON,\n /*E-*/ ET, ET, ON, ON, ON, ET, ET, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n /*F-*/ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON\n\t\t]\n\t];\n\n\treturn BidiEngine;\n});\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(value);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.maquetteCssTransitions = {}));\n}(this, function (exports) { 'use strict';\n\n var browserSpecificTransitionEndEventName;\r\n var browserSpecificAnimationEndEventName;\r\n var determineBrowserSpecificStyleNames = function (element) {\r\n if ('WebkitTransition' in element.style) {\r\n browserSpecificTransitionEndEventName = 'webkitTransitionEnd';\r\n browserSpecificAnimationEndEventName = 'webkitAnimationEnd';\r\n }\r\n else if ('transition' in element.style) {\r\n browserSpecificTransitionEndEventName = 'transitionend';\r\n browserSpecificAnimationEndEventName = 'animationend';\r\n }\r\n else {\r\n throw new Error('Your browser is not supported!');\r\n }\r\n };\r\n var init = function (testElement) {\r\n if (!browserSpecificTransitionEndEventName) {\r\n determineBrowserSpecificStyleNames(testElement);\r\n }\r\n };\r\n var createEnterCssTransition = function (cssClassBase, activeClass) {\r\n if (activeClass === void 0) { activeClass = cssClassBase + \"-active\"; }\r\n return function (element) {\r\n init(element);\r\n var finished = false;\r\n var transitionEnd = function (evt) {\r\n if (!finished) {\r\n finished = true;\r\n element.removeEventListener(browserSpecificTransitionEndEventName, transitionEnd);\r\n element.removeEventListener(browserSpecificAnimationEndEventName, transitionEnd);\r\n element.classList.remove(cssClassBase);\r\n element.classList.remove(activeClass);\r\n }\r\n };\r\n element.classList.add(cssClassBase);\r\n element.addEventListener(browserSpecificTransitionEndEventName, transitionEnd);\r\n element.addEventListener(browserSpecificAnimationEndEventName, transitionEnd);\r\n requestAnimationFrame(function () {\r\n element.classList.add(activeClass);\r\n });\r\n };\r\n };\r\n var createExitCssTransition = function (cssClassBase, activeClass) {\r\n if (activeClass === void 0) { activeClass = cssClassBase + \"-active\"; }\r\n return function (element, removeElement) {\r\n init(element);\r\n var finished = false;\r\n var transitionEnd = function (evt) {\r\n if (!finished) {\r\n finished = true;\r\n element.removeEventListener(browserSpecificTransitionEndEventName, transitionEnd);\r\n element.removeEventListener(browserSpecificAnimationEndEventName, transitionEnd);\r\n removeElement();\r\n }\r\n };\r\n element.classList.add(cssClassBase);\r\n element.addEventListener(browserSpecificTransitionEndEventName, transitionEnd);\r\n element.addEventListener(browserSpecificAnimationEndEventName, transitionEnd);\r\n requestAnimationFrame(function () {\r\n element.classList.add(activeClass);\r\n });\r\n };\r\n };\n\n exports.createEnterCssTransition = createEnterCssTransition;\n exports.createExitCssTransition = createExitCssTransition;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.maquetteCssTransitions = {})));\n}(this, (function (exports) { 'use strict';\n\nvar toTextVNode = function (data) {\r\n return {\r\n vnodeSelector: '',\r\n properties: undefined,\r\n children: undefined,\r\n text: data.toString(),\r\n domNode: null\r\n };\r\n};\r\nvar appendChildren = function (insertions, main) {\r\n for (var i = 0, length_1 = insertions.length; i < length_1; i++) {\r\n var item = insertions[i];\r\n if (Array.isArray(item)) {\r\n appendChildren(item, main);\r\n }\r\n else {\r\n if (item !== null && item !== undefined && item !== false) {\r\n if (!item.hasOwnProperty('vnodeSelector')) {\r\n item = toTextVNode(item);\r\n }\r\n main.push(item);\r\n }\r\n }\r\n }\r\n};\r\nvar jsx = function (tagName, properties) {\r\n var childNodes = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n childNodes[_i - 2] = arguments[_i];\r\n }\r\n if (childNodes.length === 1 && typeof childNodes[0] === 'string') {\r\n return {\r\n vnodeSelector: tagName,\r\n properties: properties || undefined,\r\n children: undefined,\r\n text: childNodes[0],\r\n domNode: null\r\n };\r\n }\r\n var children = [];\r\n appendChildren(childNodes, children);\r\n return {\r\n vnodeSelector: tagName,\r\n properties: properties || undefined,\r\n children: children,\r\n text: undefined,\r\n domNode: null\r\n };\r\n};\r\n/**\r\n * Call this function before executing any JSX formatted code. This function makes the window.jsx function available.\r\n */\r\nvar enableGlobalJsx = function () {\r\n window.jsx = jsx;\r\n};\n\nexports.jsx = jsx;\nexports.enableGlobalJsx = enableGlobalJsx;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","import { Component, ViewChild, Input, Output, EventEmitter, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\r\n * @fileoverview added by tsickle\r\n * Generated from: ng2-pdfjs-viewer.component.ts\r\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nvar PdfJsViewerComponent = /** @class */ (function () {\r\n function PdfJsViewerComponent() {\r\n this.onBeforePrint = new EventEmitter();\r\n this.onAfterPrint = new EventEmitter();\r\n this.onDocumentLoad = new EventEmitter();\r\n this.onPageChange = new EventEmitter();\r\n this.externalWindow = false;\r\n this.showSpinner = true;\r\n this.openFile = true;\r\n this.download = true;\r\n this.viewBookmark = true;\r\n this.print = true;\r\n this.fullScreen = true;\r\n //@Input() public showFullScreen: boolean;\r\n this.find = true;\r\n this.useOnlyCssZoom = false;\r\n this.errorOverride = false;\r\n this.errorAppend = true;\r\n this.diagnosticLogs = true;\r\n }\r\n Object.defineProperty(PdfJsViewerComponent.prototype, \"page\", {\r\n get: /**\r\n * @return {?}\r\n */\r\n function () {\r\n if (this.PDFViewerApplication) {\r\n return this.PDFViewerApplication.page;\r\n }\r\n else {\r\n if (this.diagnosticLogs)\r\n console.warn(\"Document is not loaded yet!!!. Try to retrieve page# after full load.\");\r\n }\r\n },\r\n set: /**\r\n * @param {?} _page\r\n * @return {?}\r\n */\r\n function (_page) {\r\n this._page = _page;\r\n if (this.PDFViewerApplication) {\r\n this.PDFViewerApplication.page = this._page;\r\n }\r\n else {\r\n if (this.diagnosticLogs)\r\n console.warn(\"Document is not loaded yet!!!. Try to set page# after full load. Ignore this warning if you are not setting page# using '.' notation. (E.g. pdfViewer.page = 5;)\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PdfJsViewerComponent.prototype, \"pdfSrc\", {\r\n get: /**\r\n * @return {?}\r\n */\r\n function () {\r\n return this._src;\r\n },\r\n set: /**\r\n * @param {?} _src\r\n * @return {?}\r\n */\r\n function (_src) {\r\n this._src = _src;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PdfJsViewerComponent.prototype, \"PDFViewerApplicationOptions\", {\r\n get: /**\r\n * @return {?}\r\n */\r\n function () {\r\n /** @type {?} */\r\n var pdfViewerOptions = null;\r\n if (this.externalWindow) {\r\n if (this.viewerTab) {\r\n pdfViewerOptions = this.viewerTab.PDFViewerApplicationOptions;\r\n }\r\n }\r\n else {\r\n if (this.iframe.nativeElement.contentWindow) {\r\n pdfViewerOptions = this.iframe.nativeElement.contentWindow.PDFViewerApplicationOptions;\r\n }\r\n }\r\n return pdfViewerOptions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PdfJsViewerComponent.prototype, \"PDFViewerApplication\", {\r\n get: /**\r\n * @return {?}\r\n */\r\n function () {\r\n /** @type {?} */\r\n var pdfViewer = null;\r\n if (this.externalWindow) {\r\n if (this.viewerTab) {\r\n pdfViewer = this.viewerTab.PDFViewerApplication;\r\n }\r\n }\r\n else {\r\n if (this.iframe.nativeElement.contentWindow) {\r\n pdfViewer = this.iframe.nativeElement.contentWindow.PDFViewerApplication;\r\n }\r\n }\r\n return pdfViewer;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * @param {?} viewerEvent\r\n * @return {?}\r\n */\r\n PdfJsViewerComponent.prototype.receiveMessage = /**\r\n * @param {?} viewerEvent\r\n * @return {?}\r\n */\r\n function (viewerEvent) {\r\n if (viewerEvent.data && viewerEvent.data.viewerId && viewerEvent.data.event) {\r\n /** @type {?} */\r\n var viewerId = viewerEvent.data.viewerId;\r\n /** @type {?} */\r\n var event_1 = viewerEvent.data.event;\r\n /** @type {?} */\r\n var param = viewerEvent.data.param;\r\n if (this.viewerId == viewerId) {\r\n if (this.onBeforePrint && event_1 == \"beforePrint\") {\r\n this.onBeforePrint.emit();\r\n }\r\n else if (this.onAfterPrint && event_1 == \"afterPrint\") {\r\n this.onAfterPrint.emit();\r\n }\r\n else if (this.onDocumentLoad && event_1 == \"pagesLoaded\") {\r\n this.onDocumentLoad.emit(param);\r\n }\r\n else if (this.onPageChange && event_1 == \"pageChange\") {\r\n this.onPageChange.emit(param);\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n PdfJsViewerComponent.prototype.ngOnInit = /**\r\n * @return {?}\r\n */\r\n function () {\r\n window.addEventListener(\"message\", this.receiveMessage.bind(this), false);\r\n if (!this.externalWindow) { // Load pdf for embedded views\r\n this.loadPdf();\r\n }\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n PdfJsViewerComponent.prototype.refresh = /**\r\n * @return {?}\r\n */\r\n function () {\r\n this.loadPdf();\r\n };\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n PdfJsViewerComponent.prototype.loadPdf = /**\r\n * @private\r\n * @return {?}\r\n */\r\n function () {\r\n if (!this._src) {\r\n return;\r\n }\r\n // console.log(`Tab is - ${this.viewerTab}`);\r\n // if (this.viewerTab) {\r\n // console.log(`Status of window - ${this.viewerTab.closed}`);\r\n // }\r\n if (this.externalWindow && (typeof this.viewerTab === 'undefined' || this.viewerTab.closed)) {\r\n this.viewerTab = window.open('', '_blank', this.externalWindowOptions || '');\r\n if (this.viewerTab == null) {\r\n if (this.diagnosticLogs)\r\n console.error(\"ng2-pdfjs-viewer: For 'externalWindow = true'. i.e opening in new tab to work, pop-ups should be enabled.\");\r\n return;\r\n }\r\n if (this.showSpinner) {\r\n this.viewerTab.document.write(\"\\n <style>\\n .loader {\\n position: fixed;\\n left: 40%;\\n top: 40%;\\n border: 16px solid #f3f3f3;\\n border-radius: 50%;\\n border-top: 16px solid #3498db;\\n width: 120px;\\n height: 120px;\\n animation: spin 2s linear infinite;\\n }\\n @keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n }\\n </style>\\n <div class=\\\"loader\\\"></div>\\n \");\r\n }\r\n }\r\n /** @type {?} */\r\n var fileUrl;\r\n //if (typeof this.src === \"string\") {\r\n // fileUrl = this.src;\r\n //}\r\n if (this._src instanceof Blob) {\r\n fileUrl = encodeURIComponent(URL.createObjectURL(this._src));\r\n }\r\n else if (this._src instanceof Uint8Array) {\r\n /** @type {?} */\r\n var blob = new Blob([this._src], { type: \"application/pdf\" });\r\n fileUrl = encodeURIComponent(URL.createObjectURL(blob));\r\n }\r\n else {\r\n fileUrl = this._src;\r\n }\r\n /** @type {?} */\r\n var viewerUrl;\r\n if (this.viewerFolder) {\r\n viewerUrl = this.viewerFolder + \"/web/viewer.html\";\r\n }\r\n else {\r\n viewerUrl = \"assets/pdfjs/web/viewer.html\";\r\n }\r\n viewerUrl += \"?file=\" + fileUrl;\r\n if (typeof this.viewerId !== 'undefined') {\r\n viewerUrl += \"&viewerId=\" + this.viewerId;\r\n }\r\n if (typeof this.onBeforePrint !== 'undefined') {\r\n viewerUrl += \"&beforePrint=true\";\r\n }\r\n if (typeof this.onAfterPrint !== 'undefined') {\r\n viewerUrl += \"&afterPrint=true\";\r\n }\r\n if (typeof this.onDocumentLoad !== 'undefined') {\r\n viewerUrl += \"&pagesLoaded=true\";\r\n }\r\n if (typeof this.onPageChange !== 'undefined') {\r\n viewerUrl += \"&pageChange=true\";\r\n }\r\n if (this.downloadFileName) {\r\n if (!this.downloadFileName.endsWith(\".pdf\")) {\r\n this.downloadFileName += \".pdf\";\r\n }\r\n viewerUrl += \"&fileName=\" + this.downloadFileName;\r\n }\r\n if (typeof this.openFile !== 'undefined') {\r\n viewerUrl += \"&openFile=\" + this.openFile;\r\n }\r\n if (typeof this.download !== 'undefined') {\r\n viewerUrl += \"&download=\" + this.download;\r\n }\r\n if (this.startDownload) {\r\n viewerUrl += \"&startDownload=\" + this.startDownload;\r\n }\r\n if (typeof this.viewBookmark !== 'undefined') {\r\n viewerUrl += \"&viewBookmark=\" + this.viewBookmark;\r\n }\r\n if (typeof this.print !== 'undefined') {\r\n viewerUrl += \"&print=\" + this.print;\r\n }\r\n if (this.startPrint) {\r\n viewerUrl += \"&startPrint=\" + this.startPrint;\r\n }\r\n if (typeof this.fullScreen !== 'undefined') {\r\n viewerUrl += \"&fullScreen=\" + this.fullScreen;\r\n }\r\n // if (this.showFullScreen) {\r\n // viewerUrl += `&showFullScreen=${this.showFullScreen}`;\r\n // }\r\n if (typeof this.find !== 'undefined') {\r\n viewerUrl += \"&find=\" + this.find;\r\n }\r\n if (this.lastPage) {\r\n viewerUrl += \"&lastpage=\" + this.lastPage;\r\n }\r\n if (this.rotatecw) {\r\n viewerUrl += \"&rotatecw=\" + this.rotatecw;\r\n }\r\n if (this.rotateccw) {\r\n viewerUrl += \"&rotateccw=\" + this.rotateccw;\r\n }\r\n if (this.cursor) {\r\n viewerUrl += \"&cursor=\" + this.cursor;\r\n }\r\n if (this.scroll) {\r\n viewerUrl += \"&scroll=\" + this.scroll;\r\n }\r\n if (this.spread) {\r\n viewerUrl += \"&spread=\" + this.spread;\r\n }\r\n if (this.locale) {\r\n viewerUrl += \"&locale=\" + this.locale;\r\n }\r\n if (this.useOnlyCssZoom) {\r\n viewerUrl += \"&useOnlyCssZoom=\" + this.useOnlyCssZoom;\r\n }\r\n if (this._page || this.zoom || this.nameddest || this.pagemode)\r\n viewerUrl += \"#\";\r\n if (this._page) {\r\n viewerUrl += \"&page=\" + this._page;\r\n }\r\n if (this.zoom) {\r\n viewerUrl += \"&zoom=\" + this.zoom;\r\n }\r\n if (this.nameddest) {\r\n viewerUrl += \"&nameddest=\" + this.nameddest;\r\n }\r\n if (this.pagemode) {\r\n viewerUrl += \"&pagemode=\" + this.pagemode;\r\n }\r\n if (this.errorOverride || this.errorAppend) {\r\n viewerUrl += \"&errorMessage=\" + this.errorMessage;\r\n if (this.errorOverride) {\r\n viewerUrl += \"&errorOverride=\" + this.errorOverride;\r\n }\r\n if (this.errorAppend) {\r\n viewerUrl += \"&errorAppend=\" + this.errorAppend;\r\n }\r\n }\r\n if (this.externalWindow) {\r\n this.viewerTab.location.href = viewerUrl;\r\n }\r\n else {\r\n this.iframe.nativeElement.src = viewerUrl;\r\n }\r\n // console.log(`\r\n // pdfSrc = ${this.pdfSrc}\r\n // fileUrl = ${fileUrl}\r\n // externalWindow = ${this.externalWindow}\r\n // downloadFileName = ${this.downloadFileName}\r\n // viewerFolder = ${this.viewerFolder}\r\n // openFile = ${this.openFile}\r\n // download = ${this.download}\r\n // startDownload = ${this.startDownload}\r\n // viewBookmark = ${this.viewBookmark}\r\n // print = ${this.print}\r\n // startPrint = ${this.startPrint}\r\n // fullScreen = ${this.fullScreen}\r\n // find = ${this.find}\r\n // lastPage = ${this.lastPage}\r\n // rotatecw = ${this.rotatecw}\r\n // rotateccw = ${this.rotateccw}\r\n // cursor = ${this.cursor}\r\n // scrollMode = ${this.scroll}\r\n // spread = ${this.spread}\r\n // page = ${this.page}\r\n // zoom = ${this.zoom}\r\n // nameddest = ${this.nameddest}\r\n // pagemode = ${this.pagemode}\r\n // pagemode = ${this.errorOverride}\r\n // pagemode = ${this.errorAppend}\r\n // pagemode = ${this.errorMessage}\r\n // `);\r\n };\r\n PdfJsViewerComponent.decorators = [\r\n { type: Component, args: [{\r\n selector: 'ng2-pdfjs-viewer',\r\n template: \"<iframe title=\\\"ng2-pdfjs-viewer\\\" [hidden]=\\\"externalWindow || (!externalWindow && !pdfSrc)\\\" #iframe width=\\\"100%\\\" height=\\\"100%\\\"></iframe>\"\r\n },] }\r\n ];\r\n PdfJsViewerComponent.propDecorators = {\r\n iframe: [{ type: ViewChild, args: ['iframe', { static: true },] }],\r\n viewerId: [{ type: Input }],\r\n onBeforePrint: [{ type: Output }],\r\n onAfterPrint: [{ type: Output }],\r\n onDocumentLoad: [{ type: Output }],\r\n onPageChange: [{ type: Output }],\r\n viewerFolder: [{ type: Input }],\r\n externalWindow: [{ type: Input }],\r\n showSpinner: [{ type: Input }],\r\n downloadFileName: [{ type: Input }],\r\n openFile: [{ type: Input }],\r\n download: [{ type: Input }],\r\n startDownload: [{ type: Input }],\r\n viewBookmark: [{ type: Input }],\r\n print: [{ type: Input }],\r\n startPrint: [{ type: Input }],\r\n fullScreen: [{ type: Input }],\r\n find: [{ type: Input }],\r\n zoom: [{ type: Input }],\r\n nameddest: [{ type: Input }],\r\n pagemode: [{ type: Input }],\r\n lastPage: [{ type: Input }],\r\n rotatecw: [{ type: Input }],\r\n rotateccw: [{ type: Input }],\r\n cursor: [{ type: Input }],\r\n scroll: [{ type: Input }],\r\n spread: [{ type: Input }],\r\n locale: [{ type: Input }],\r\n useOnlyCssZoom: [{ type: Input }],\r\n errorOverride: [{ type: Input }],\r\n errorAppend: [{ type: Input }],\r\n errorMessage: [{ type: Input }],\r\n diagnosticLogs: [{ type: Input }],\r\n externalWindowOptions: [{ type: Input }],\r\n page: [{ type: Input }],\r\n pdfSrc: [{ type: Input }]\r\n };\r\n return PdfJsViewerComponent;\r\n}());\n\n/**\r\n * @fileoverview added by tsickle\r\n * Generated from: index.ts\r\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nvar PdfJsViewerModule = /** @class */ (function () {\r\n function PdfJsViewerModule() {\r\n }\r\n /**\r\n * @return {?}\r\n */\r\n PdfJsViewerModule.forRoot = /**\r\n * @return {?}\r\n */\r\n function () {\r\n return {\r\n ngModule: PdfJsViewerModule\r\n };\r\n };\r\n PdfJsViewerModule.decorators = [\r\n { type: NgModule, args: [{\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n PdfJsViewerComponent\r\n ],\r\n exports: [\r\n PdfJsViewerComponent\r\n ]\r\n },] }\r\n ];\r\n return PdfJsViewerModule;\r\n}());\n\nexport { PdfJsViewerModule, PdfJsViewerComponent };\n","<iframe title=\"ng2-pdfjs-viewer\" [hidden]=\"externalWindow || (!externalWindow && !pdfSrc)\" #iframe width=\"100%\" height=\"100%\"></iframe>","<div style=\"position: static;\" [class.ps]=\"usePSClass\" [perfectScrollbar]=\"config\" [disabled]=\"disabled\">\n <div class=\"ps-content\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"scrollIndicators\" class=\"ps-overlay\" [class.ps-at-top]=\"states.top\" [class.ps-at-left]=\"states.left\" [class.ps-at-right]=\"states.right\" [class.ps-at-bottom]=\"states.bottom\">\n <div class=\"ps-indicator-top\" [class.ps-indicator-show]=\"indicatorY && interaction\"></div>\n <div class=\"ps-indicator-left\" [class.ps-indicator-show]=\"indicatorX && interaction\"></div>\n <div class=\"ps-indicator-right\" [class.ps-indicator-show]=\"indicatorX && interaction\"></div>\n <div class=\"ps-indicator-bottom\" [class.ps-indicator-show]=\"indicatorY && interaction\"></div>\n </div>\n</div>\n","<div\r\n class=\"d-flex flex-column flex-md-row align-items-center p-3 px-md-4 bg-white border-bottom shadow-sm header justify-content-between\">\r\n <div class=\"d-flex align-items-center\" style=\"margin-left: -30px;\">\r\n <img src=\"/assets/images/pti_gdt_while.png\" alt=\"logo\">\r\n <div>\r\n <h4 class=\"my-0 font-weight-normal\">{{title}}</h4>\r\n <p class=\"my-0 font-weight-normal\" style=\"font-size: 14px;\">{{titleSub}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <app-nav-bar></app-nav-bar>\r\n <div style=\"width: 40px;\">\r\n <div [ngbPopover]=\"setting\" [popoverTitle]=\"loginService?.taiKhoan?.TenHienThi\" autoClose=\"outside\"\r\n class=\"avatar\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #setting>\r\n <div class=\"list-group text-dark\">\r\n <a routerLink=\"/manager/profile\" class=\"list-group-item\">Thông tin tài khoản</a>\r\n <a (click)=\"logout()\" class=\"list-group-item\">Đăng xuất</a>\r\n </div>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\nimport { titlePage, titleSub } from 'src/app/shared/constants/page.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n title = titlePage;\r\n titleSub = titleSub;\r\n\r\n constructor(\r\n public loginService: LoginService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n logout() {\r\n this.loginService.logout();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { NavBarComponent } from './nav-bar/nav-bar.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n \r\n\r\n\r\n@NgModule({\r\n declarations: [HeaderComponent, FooterComponent, NavBarComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgbModule\r\n ],\r\n exports: [HeaderComponent, FooterComponent, NavBarComponent]\r\n})\r\nexport class LayoutModule { }\r\n","<nav class=\"my-2 my-md-0 mr-md-3\">\r\n <div class=\"row\" style=\"display: flex; justify-content: flex-end;\">\r\n <div *ngFor=\"let menu of menus\" >\r\n <a *ngIf=\"menu.children === null\" class=\"btn btn-sm text-light mr-1\" [routerLink]=\"'/manager' + menu.url\"\r\n routerLinkActive=\"active\">{{menu.name}} <span *ngIf=\"menu.url==='/phe-duyet'\" class=\"badge badge-danger\">{{notifyService.hoSoChoPheDuyet}}</span></a>\r\n <div *ngIf=\"menu.children !== null && menu.code!=='quan-tri-he-thong'\" class=\"d-inline-block\" ngbDropdown #myDrop=\"ngbDropdown\">\r\n <a class=\"btn btn-sm text-light mr-2\" id=\"dropdownManual\" [routerLink]=\"'/manager' + menu.url\" routerLinkActive=\"active\" ngbDropdownAnchor (focus)=\"myDrop.open()\">{{menu.name}}</a>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownManual\">\r\n <a *ngFor=\"let item of menu.children\" [routerLink]=\"[item.url]\" routerLinkActive=\"active\" ngbDropdownItem>{{item.name}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>","import {\r\n Component,\r\n OnInit\r\n} from '@angular/core';\r\nimport { Menu } from 'src/app/shared/models/login.model';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyService } from 'src/app/shared/services/notify.service';\r\n\r\n@Component({\r\n selector: 'app-nav-bar',\r\n templateUrl: './nav-bar.component.html',\r\n styleUrls: ['./nav-bar.component.scss']\r\n})\r\nexport class NavBarComponent implements OnInit {\r\n menus: Menu[] = [];\r\n slChoDuyet = 0;\r\n constructor(\r\n private service: LoginService,\r\n public router: Router,\r\n public notifyService: NotifyService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.service.loaded$.subscribe(loaded => {\r\n if(loaded) {\r\n this.menus = this.service.menus;\r\n }\r\n })\r\n }\r\n\r\n navigate(url) {\r\n // this.router.navigate['/manager', url]\r\n }\r\n\r\n}\r\n","<div class=\"container-fluid mt-3\" style=\"height: 90vh;\">\r\n <app-number-card-chart></app-number-card-chart>\r\n <div class=\"row mt-4\">\r\n <div class=\"col-md-6 col-sm-12\" *ngIf=\"!loginService.isQuanHuyen\">\r\n <div class=\"shadow-sm p-3 mb-5 bg-white rounded\">\r\n <h5 class=\"text-center\">Tình trạng hồ sơ</h5>\r\n <app-pie-chart-file ></app-pie-chart-file>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 col-sm-12\" [class.col-md-12]=\"loginService.isQuanHuyen\">\r\n <div class=\"shadow-sm p-3 mb-5 bg-white rounded\">\r\n <h5 class=\"text-center\">Tình trạng cấp phép Trạm BTS</h5>\r\n <app-pie-chart></app-pie-chart>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loginService.isDoanhNghiep\" class=\"col-sm-12 col-md-12\" >\r\n <div class=\"bar shadow-sm p-3 mb-5 bg-white rounded w-100\">\r\n <h5 class=\"text-center\">Dữ liệu viễn thông doanh nghiệp</h5>\r\n <app-group-bar-chart ></app-group-bar-chart>\r\n <!-- <div style=\"width: 100%;\">\r\n \r\n </div> -->\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { titlePage } from 'src/app/shared/constants/page.constant';\r\nimport { TramBtsService } from '../shared/services/tram-bts.service';\r\nimport { DiemDichVuService } from '../shared/services/diem-dich-vu.service';\r\nimport { TuyenCapNgamService } from '../shared/services/tuyen-cap-ngam.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\ninterface BtsStatistics {\r\n count: number;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-dasboard',\r\n templateUrl: './dasboard.component.html',\r\n styleUrls: ['./dasboard.component.scss']\r\n})\r\nexport class DasboardComponent implements OnInit {\r\n title = titlePage;\r\n btsStatistics: BtsStatistics[] = [\r\n {count: 60, title: 'Doanh nghiệp'},\r\n {count: 58, title: 'Trạm BTS'},\r\n {count: 1, title: 'Tuyến cáp ngầm'},\r\n {count: 1, title: 'Điểm dịch vụ'},\r\n ]\r\n\r\n constructor(\r\n private titleService: Title,\r\n private tramBtsService: TramBtsService,\r\n private diemDichVuService: DiemDichVuService,\r\n private tuyenCapNgamService: TuyenCapNgamService,\r\n public loginService: LoginService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.titleService.setTitle(`${this.title} - dasboard`);\r\n }\r\n\r\n changeDate(date) {\r\n }\r\n \r\n statisticTramBts() {\r\n this.tramBtsService.getAll({\r\n query: {\r\n where: '1=1',\r\n outStatistics: [\r\n {\r\n onStatisticField: ''\r\n }\r\n ]\r\n }\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DasboardComponent } from './dasboard.component';\r\nimport { PieChartComponent } from './pie-chart/pie-chart.component';\r\nimport { NumberCardChartComponent } from './number-card-chart/number-card-chart.component';\r\nimport { VerticalBarChartComponent } from './vertical-bar-chart/vertical-bar-chart.component';\r\nimport { GroupBarChartComponent } from './group-bar-chart/group-bar-chart.component';\r\nimport { NgxChartsModule, BarChartModule } from '@swimlane/ngx-charts';\r\nimport { ModalStatisticalComponent } from './modal-statistical/modal-statistical.component';\r\nimport { ComponentsModule } from 'src/app/shared/components/components.module';\r\nimport { BarChartComponent } from './bar-chart/bar-chart.component';\r\nimport { PieChartFileComponent } from './pie-chart-file/pie-chart-file.component';\r\nimport { NumberCardChartModule } from './number-card-chart/number-card-chart.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DasboardComponent,\r\n PieChartComponent,\r\n // NumberCardChartComponent,\r\n VerticalBarChartComponent,\r\n GroupBarChartComponent,\r\n ModalStatisticalComponent,\r\n BarChartComponent,\r\n PieChartFileComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgxChartsModule,\r\n BarChartModule,\r\n ComponentsModule,\r\n NumberCardChartModule\r\n ],\r\n // entryComponents: [ModalStatisticalComponent],\r\n})\r\nexport class DasboardModule { }\r\n","<ngx-charts-bar-vertical-2d\r\n (window:resize)=\"onResize($event)\"\r\n [view]=\"view\"\r\n [scheme]=\"colorScheme\"\r\n [results]=\"multi\"\r\n [gradient]=\"gradient\"\r\n [xAxis]=\"showXAxis\"\r\n [yAxis]=\"showYAxis\"\r\n [legend]=\"showLegend\"\r\n [showXAxisLabel]=\"showXAxisLabel\"\r\n [showYAxisLabel]=\"showYAxisLabel\"\r\n [xAxisLabel]=\"xAxisLabel\"\r\n [yAxisLabel]=\"yAxisLabel\"\r\n [legendTitle]=\"legendTitle\"\r\n [legendPosition]=\"legendPosition\"\r\n [showGridLines]=\"true\"\r\n [roundDomains]=\"true\"\r\n [showDataLabel]=\"true\"\r\n *ngIf=\"loaded\"\r\n>\r\n</ngx-charts-bar-vertical-2d>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TramBtsService } from '../../shared/services/tram-bts.service';\r\nimport { DiemDichVuService } from '../../shared/services/diem-dich-vu.service';\r\nimport { TuyenCapNgamService } from '../../shared/services/tuyen-cap-ngam.service';\r\nimport { min } from 'rxjs/operators';\r\nimport { CONSTNAME } from 'src/app/map/shared/constants/map.constant';\r\nimport { TuyenCapNoiService } from '../../shared/services/tuyen-cap-noi.service';\r\nimport { DonViService } from 'src/app/shared/services/don-vi.service';\r\nimport { DonVi } from '../../shared/models/ho-so.model';\r\n\r\ninterface Multi {\r\n name: string;\r\n series: Array<{name:string, value: number}>\r\n}\r\n\r\n@Component({\r\n selector: 'app-group-bar-chart',\r\n templateUrl: './group-bar-chart.component.html',\r\n styleUrls: ['./group-bar-chart.component.scss']\r\n})\r\nexport class GroupBarChartComponent implements OnInit {\r\n multi: Array<Multi> = [];\r\n donVis: Array<DonVi> = [];\r\n\r\n loaded = false;\r\n view: any[] = [];\r\n showXAxis: boolean = true;\r\n showYAxis: boolean = true;\r\n gradient: boolean = true;\r\n showLegend: boolean = true;\r\n groupPadding: number = 10;\r\n showXAxisLabel: boolean = false;\r\n xAxisLabel: string = 'Doanh nghiệp';\r\n showYAxisLabel: boolean = false;\r\n yAxisLabel: string = 'Số lượng';\r\n legendTitle: string = '';\r\n legendPosition: string = 'below';\r\n\r\n colorScheme = {\r\n domain: ['#B03A2E ', '#148F77', '#F39C12 ']\r\n };\r\n constructor(\r\n private donViService: DonViService,\r\n private tramBtsService: TramBtsService,\r\n private diemDichVuService: DiemDichVuService,\r\n private tuyenCapNgamService: TuyenCapNgamService,\r\n private tuyenCapNoiService: TuyenCapNoiService\r\n ) {\r\n this.view = [innerWidth / 1.1, 400];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.donViService.getListDonVi()\r\n .then(res => {\r\n this.donVis = res;\r\n this.loadData();\r\n });\r\n }\r\n\r\n private loadData() {\r\n const promises: Array<Promise<__esri.FeatureSet>> = [];\r\n promises.push(\r\n this.tramBtsService.getAll({\r\n query: {\r\n where: `TinhTrang=3`,\r\n outFields: ['TenDoanhNghiep']\r\n }\r\n })\r\n );\r\n // promises.push(\r\n // this.tuyenCapNgamService.getAll({\r\n // query: {\r\n // where: `1=1`,\r\n // outFields: ['TenDoanhNghiep']\r\n // }\r\n // })\r\n // );\r\n promises.push(\r\n this.diemDichVuService.getAll({\r\n query: {\r\n where: `1=1`,\r\n outFields: ['TenDoanhNghiep']\r\n }\r\n })\r\n );\r\n // promises.push(\r\n // this.tuyenCapNoiService.getAll({\r\n // query: {\r\n // where: `1=1`,\r\n // outFields: ['TenDoanhNghiep']\r\n // }\r\n // })\r\n // );\r\n\r\n Promise.all(promises).then(([tramBts, tuyenCapNgam, diemDv, tuyenCapNoi]) => {\r\n if (tramBts) {\r\n this.assignData(tramBts, CONSTNAME.TRAMBTS.title + ' hoàn công');\r\n }\r\n // if (tuyenCapNgam) {\r\n // this.assignData(tuyenCapNgam, CONSTNAME.TUYENCAPNGAM.title);\r\n // }\r\n if (diemDv) {\r\n this.assignData(diemDv, CONSTNAME.DIEMDICHVU.title);\r\n }\r\n // if (tuyenCapNoi) {\r\n // this.assignData(tuyenCapNoi, CONSTNAME.TUYENCAPNOI.title);\r\n // }\r\n this.loaded = true;\r\n });\r\n }\r\n\r\n assignData(graphic, title: string) {\r\n const attributes = graphic.features.map(m => m.attributes);\r\n this.donVis.forEach(f => {\r\n const multiAttemp:Multi = {name: f.TenDonVi, series: []} \r\n const count = attributes.filter(m => m.TenDoanhNghiep === f.MaDonVi).length;\r\n multiAttemp.series.push({name: title, value: count});\r\n this.multi.push(multiAttemp);\r\n });\r\n }\r\n\r\n onResize(event) {\r\n this.view = [event.target.innerWidth / 1.1, 400];\r\n}\r\n\r\n}\r\n","<app-modal-template [title]=\"receiveData?.title\">\r\n <div body>\r\n <table class=\"table table-striped table-sm table-bordered\" *ngIf=\"datas; else noData\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\" *ngFor=\"let column of columns\">{{column.name}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of datas\">\r\n <td *ngFor=\"let column of columns\" style=\"text-align: left;\">{{data[column.prop] || '-'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-template #noData>\r\n <div class=\"v-100\" style=\"height: 50vh\">\r\n <app-loading></app-loading>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</app-modal-template>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DataService } from '../../shared/services/data.service';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { DDoanhNghieps, DLoaiDichVu } from 'src/app/shared/constants/data.constant';\r\nimport { DonViService } from 'src/app/shared/services/don-vi.service';\r\nimport { Statistics } from '../number-card-chart/number-card-chart.component';\r\nimport Query from 'esri/tasks/support/Query';\r\n\r\nexport interface Data {\r\n huyen?: string,\r\n GTL?: number,\r\n VNPT?: number,\r\n VNM?: number,\r\n MBF?: number,\r\n VTL?: number\r\n}\r\n\r\ninterface Column {\r\n name: string;\r\n prop: string;\r\n}\r\n\r\ntype Columns = Column[]\r\n@Component({\r\n selector: 'app-modal-statistical',\r\n templateUrl: './modal-statistical.component.html',\r\n styleUrls: ['./modal-statistical.component.scss']\r\n})\r\nexport class ModalStatisticalComponent implements OnInit {\r\n receiveData: Statistics;\r\n loaded = false;\r\n columnsĐiemichVu: Columns = [\r\n { name: 'Tên huyện', prop: 'huyen' },\r\n { name: 'Điểm phục vụ bưu chính', prop: '' },\r\n { name: 'Điểm cung cấp dịch vụ viễn thông', prop: '' },\r\n { name: 'Đại lý internet công cộng', prop: '' },\r\n ];\r\n doanhNghieps = DDoanhNghieps;\r\n columns: Columns = [];\r\n loaiDichVus = DLoaiDichVu;\r\n datas: Array<Data> = null;\r\n huyenTXTPs: __esri.CodedValueDomainCodedValues[];\r\n\r\n constructor(\r\n private hanhChinhService: HanhChinhService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.hanhChinhService.districtLoaded$.subscribe(async results => {\r\n if (results.length) {\r\n let name: string, cols: Columns;\r\n this.huyenTXTPs = results;\r\n const concatMap = map => ([{ name: 'Tên huyện', prop: 'huyen' }, ...map, { name: 'Tổng', prop: 'SUM' }])\r\n const mp = (dm: __esri.CodedValueDomainCodedValues) => ({ name: dm.name, prop: dm.code as string })\r\n if (this.receiveData.type === 'diemDichVu') {\r\n cols = DLoaiDichVu.map(mp)\r\n name = 'LoaiDichVu';\r\n } else {\r\n cols = DDoanhNghieps.map(mp);\r\n name = 'TenDoanhNghiep';\r\n }\r\n this.columns = concatMap(cols);\r\n this.getData(name);\r\n }\r\n })\r\n }\r\n\r\n async getData(name: string) {\r\n\r\n const count = (featureSet: __esri.FeatureSet, dmHuyenTXTPs = this.huyenTXTPs) => {\r\n const { features } = featureSet;\r\n const attributes = features.map(m => m.attributes) as Array<{ TenDoanhNghiep: string, SoLuong: number, HuyenTXTP: number }>;\r\n\r\n let map = {};\r\n const sum = (soLuong: number, lastSum: number) => (lastSum && soLuong + lastSum) || soLuong;\r\n\r\n // map so luong theo ma phuong xa \r\n for (const attribute of attributes) {\r\n const { SoLuong, HuyenTXTP } = attribute, nameOfThing = attribute[name];\r\n let dataHuyen = map[HuyenTXTP], lastSum = dataHuyen && dataHuyen.SUM;\r\n map[HuyenTXTP] = {\r\n ...dataHuyen,\r\n [nameOfThing]: SoLuong,\r\n SUM: sum(SoLuong, lastSum),\r\n huyen: 'Chưa xác định'\r\n };\r\n }\r\n\r\n // map de them TenPhuongTXTP theo ma\r\n console.log(map);\r\n\r\n for (const dm of dmHuyenTXTPs) {\r\n // vi ke qua chi tra ve nhung huyen co du lieu\r\n const { code, name } = dm;\r\n map[code]\r\n ? map[code].huyen = name\r\n : map[code] = { huyen: name };\r\n }\r\n console.log(Array.from(Object.entries(map), ([_, v]) => v));\r\n\r\n return Array.from(Object.entries(map), ([_, v]) => v);\r\n }\r\n\r\n const query = new Query({\r\n where: '1=1',\r\n outStatistics: [{\r\n onStatisticField: 'ObjectId',\r\n outStatisticFieldName: 'SoLuong',\r\n statisticType: 'count'\r\n }],\r\n groupByFieldsForStatistics: ['HuyenTXTP', name]\r\n })\r\n const dataSt = await this.receiveData.service.getAll({ query }).then(count);\r\n this.datas = dataSt;\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, HostListener, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[counterUp]'\r\n})\r\nexport class CounterUpDirective implements OnInit {\r\n @Input() counterUp: number;\r\n constructor(private el: ElementRef<HTMLDivElement>) {\r\n this.el.nativeElement.innerText = '0';\r\n }\r\n\r\n ngOnInit() {\r\n this.updateCounter();\r\n }\r\n\r\n private updateCounter() {\r\n const c = +this.el.nativeElement.innerText;\r\n const increment = this.counterUp / 60;\r\n if (c < this.counterUp) {\r\n this.el.nativeElement.innerText = `${Math.ceil(c + increment)}`;\r\n setTimeout(this.updateCounter.bind(this), 1);\r\n } else {\r\n this.el.nativeElement.innerText = `${this.counterUp}`;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","<div class=\"row\" *ngIf=\"statistics; else noData\">\r\n <div class=\"col-3\" *ngFor=\"let item of statistics\">\r\n <div (click)=\"openModal(item)\" class=\"card shadow-sm\" [ngStyle]=\"{'background': item.background }\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center\">\r\n <div class=\"card-body--count\" [counterUp]=\"item.count\"></div>\r\n <div class=\"card-body--title\"> {{ item.title }} </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #noData>\r\n <div class=\"row\">\r\n <div class=\"col-3\" *ngFor=\"let item of [].constructor(2)\">\r\n <div class=\"skeleton\"></div>\r\n </div>\r\n </div>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TramBtsService } from '../../shared/services/tram-bts.service';\r\nimport { DiemDichVuService } from '../../shared/services/diem-dich-vu.service';\r\nimport { TuyenCapNgamService } from '../../shared/services/tuyen-cap-ngam.service';\r\nimport { TuyenCapNoiService } from '../../shared/services/tuyen-cap-noi.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalStatisticalComponent } from '../modal-statistical/modal-statistical.component';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport Query from 'esri/tasks/support/Query';\r\n\r\nexport interface Statistics {\r\n type: 'tramBts' | 'diemDichVu' | 'tuyenCapNgam' | 'tuyenCapNoi'\r\n count?: number;\r\n title: string;\r\n background: string;\r\n service: IDataService;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-number-card-chart',\r\n templateUrl: './number-card-chart.component.html',\r\n styleUrls: ['./number-card-chart.component.scss']\r\n})\r\nexport class NumberCardChartComponent implements OnInit {\r\n statistics: Statistics[] = null;\r\n\r\n constructor(\r\n private tramBtsService: TramBtsService,\r\n private diemDichVuService: DiemDichVuService,\r\n private tuyenCapNgamService: TuyenCapNgamService,\r\n private tuyenCapNoiService: TuyenCapNoiService,\r\n private modalService: NgbModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const info: Array<Statistics> = [\r\n {\r\n type: 'tramBts',\r\n title: 'Trạm BTS',\r\n background: 'linear-gradient(90deg, rgba(0,0,0,0.49933476808692223) 0%, rgba(255,54,54,1) 0%, rgba(185,0,0,1) 100%)',\r\n service: this.tramBtsService\r\n },\r\n // {\r\n // type: 'tuyenCapNoi',\r\n // title: 'Tuyến cáp nổi',\r\n // background: 'linear-gradient(90deg, rgba(0,0,0,0.49933476808692223) 0%, rgba(20,224,0,1) 0%, rgba(9,115,0,1) 100%)',\r\n // service: this.tuyenCapNoiService\r\n // },\r\n // {\r\n // type: 'tuyenCapNgam',\r\n // title: 'Tuyến cáp ngầm',\r\n // background: 'linear-gradient(90deg, rgba(0,0,0,0.49933476808692223) 0%, rgba(255,180,0,1) 0%, rgba(199,99,0,1) 100%)',\r\n // service: this.tuyenCapNgamService\r\n // },\r\n {\r\n type: 'diemDichVu',\r\n title: 'Điểm dịch vụ',\r\n background: 'linear-gradient(90deg, rgba(0,0,0,0.49933476808692223) 0%, rgba(0,198,255,1) 0%, rgba(0,68,166,1) 100%)',\r\n service: this.diemDichVuService\r\n }\r\n ]\r\n const query = new Query({ where: '1=1' });\r\n const promises = [\r\n this.tramBtsService.getCount({ query }),\r\n // this.tuyenCapNoiService.getCount({ query }),\r\n // this.tuyenCapNgamService.getCount({ query }),\r\n this.diemDichVuService.getCount({ query })\r\n ];\r\n\r\n Promise.all(promises)\r\n .then(res => {\r\n this.statistics = res.map((m, i) => ({ count: m, ...info[i] }));\r\n })\r\n }\r\n\r\n openModal(evt) {\r\n const modalref = this.modalService.open(ModalStatisticalComponent, {\r\n size: 'lg'\r\n })\r\n modalref.componentInstance.receiveData = evt;\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DecimalPipe } from '@angular/common';\r\nimport { NumberCardChartComponent } from './number-card-chart.component';\r\nimport { ModalStatisticalComponent } from '../modal-statistical/modal-statistical.component';\r\nimport { CounterUpDirective } from './counter-up.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n NumberCardChartComponent,\r\n CounterUpDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [DecimalPipe],\r\n entryComponents: [ModalStatisticalComponent],\r\n exports: [NumberCardChartComponent]\r\n})\r\nexport class NumberCardChartModule { }\r\n","<div class=\"wrap\" (window:resize)=\"onResize()\" #wrap>\r\n <ngx-charts-pie-chart *ngIf=\"(single && single.length); else noData\" [view]=\"view\" [scheme]=\"colorScheme\" [results]=\"single\" [gradient]=\"gradient\"\r\n [labels]=\"showLabels\" [doughnut]=\"isDoughnut\" [maxLabelLength]=\"50\">\r\n </ngx-charts-pie-chart>\r\n\r\n <ng-template #noData>\r\n <p style=\"font-weight: 100; text-align: center; font-size: 14px;\">Không có dữ liệu để hiển thị</p>\r\n </ng-template>\r\n</div>","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ApiService } from '../../shared/services/api.service';\r\nimport { TinhTrangHoSo } from '../../shared/models/ho-so.model';\r\nimport { Result } from '../pie-chart/pie-chart.component';\r\n\r\n@Component({\r\n selector: 'app-pie-chart-file',\r\n templateUrl: './pie-chart-file.component.html',\r\n styleUrls: ['./pie-chart-file.component.scss']\r\n})\r\nexport class PieChartFileComponent implements OnInit {\r\n @ViewChild('wrap', { static: true }) wrap: ElementRef<HTMLDivElement>;\r\n single: Array<Result> = null;\r\n view: any[] = [];\r\n idDV: string = '';\r\n maVT: string;\r\n tinhTrangHoSo = TinhTrangHoSo;\r\n columns: Array<{ name: string, code: number }> = [];\r\n gradient: boolean = true;\r\n // showLegend: boolean = true;\r\n showLabels: boolean = true;\r\n isDoughnut: boolean = false;\r\n // legendPosition: string = 'below';\r\n explodeSlices: boolean = true;\r\n colorScheme = {\r\n domain: ['#33CCCC', '#FF6633', '#0033CC', '#FF0000', '#FFFF00']\r\n };\r\n\r\n constructor(\r\n private loginService: LoginService,\r\n private apiService: ApiService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.columns = [\r\n { name: 'Chờ duyệt', code: this.tinhTrangHoSo.HoSoChoDuyet },\r\n { name: 'Đã duyệt', code: this.tinhTrangHoSo.HoSoDaDuyet },\r\n { name: 'Bị từ chối', code: this.tinhTrangHoSo.HoSoBiTuChoi },\r\n ]\r\n if (this.loginService.isDoanhNghiep) {\r\n this.idDV = this.loginService.taiKhoan.IDDonVi;\r\n this.columns.push(...[\r\n { name: 'Chưa ký số', code: this.tinhTrangHoSo.HoSoChuaKySo },\r\n { name: 'Đã ký số', code: this.tinhTrangHoSo.HoSoDaKySo },\r\n ]);\r\n\r\n }\r\n this.loadDatas();\r\n this.onResize();\r\n }\r\n\r\n loadDatas() {\r\n this.apiService.get(`HoSoes/ThongKeHoSo?IDDV=${this.idDV}`)\r\n .then(res => {\r\n const results = [];\r\n for (const item of this.columns) {\r\n const trangThai = res.q.find(f => f.TrangThai === item.code);\r\n if (trangThai) {\r\n results.push({ name: item.name, value: trangThai.SoLuong });\r\n }\r\n }\r\n this.single = results;\r\n })\r\n }\r\n\r\n onResize() {\r\n this.view = [this.wrap.nativeElement.clientWidth / 1.1, 300];\r\n }\r\n\r\n}\r\n","<div class=\"wrap\" (window:resize)=\"onResize()\" #wrap>\r\n <ngx-charts-advanced-pie-chart *ngIf=\"(result && result.length); else noData\" [view]=\"view\" [scheme]=\"colorScheme\"\r\n [results]=\"result\" [gradient]=\"gradient\" [label]=\"label\" [percentageFormatting]=\"percentageFormatting\"\r\n [valueFormatting]=\"valueFormatting\">\r\n <ng-template #tooltipTemplate let-model=\"model\">\r\n <span class=\"tooltip-label\">{{model.name}}</span>\r\n <span class=\"tooltip-val\">{{model.value | number}}</span>\r\n </ng-template>\r\n </ngx-charts-advanced-pie-chart>\r\n\r\n <ng-template #noData>\r\n <p>Không có dữ liệu để hiển thị</p>\r\n </ng-template>\r\n</div>","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { TramBtsService } from '../../shared/services/tram-bts.service';\r\nimport { DTinhTrang } from 'src/app/shared/constants/data.constant';\r\nimport Query from 'esri/tasks/support/Query';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\nexport interface Result {\r\n name: string;\r\n value: number;\r\n extra?: { code: string };\r\n}\r\n\r\nconst tinhTrangLabel = {\r\n 1: 'Xin cấp phép',\r\n 2: 'Đã cấp phép',\r\n 3: 'Hoàn công',\r\n 4: 'Không chấp nhận'\r\n}\r\n\r\n@Component({\r\n selector: 'app-pie-chart',\r\n templateUrl: './pie-chart.component.html',\r\n styleUrls: ['./pie-chart.component.scss']\r\n})\r\nexport class PieChartComponent implements OnInit {\r\n @ViewChild('wrap', { static: true }) wrap: ElementRef<HTMLDivElement>;\r\n result: Array<Result> = null;\r\n // loaded = false;\r\n // DTinhTrang = DTinhTrang;z\r\n\r\n\r\n view: any[] = [];\r\n\r\n // options\r\n gradient: boolean = true;\r\n showLegend: boolean = true;\r\n showLabels: boolean = true;\r\n isDoughnut: boolean = false;\r\n label: string = 'Trạm BTS';\r\n\r\n colorScheme = {\r\n domain: ['#0000ff', '#55c22d', '#f33', '#ff9d00']\r\n };\r\n\r\n constructor(\r\n private service: TramBtsService,\r\n private decimalPipe: DecimalPipe\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadDatas();\r\n this.onResize();\r\n\r\n }\r\n\r\n loadDatas() {\r\n this.service.loaded$.subscribe(loaded => {\r\n if (loaded) {\r\n const query = new Query({\r\n where: '1=1',\r\n outStatistics: [\r\n {\r\n onStatisticField: 'ObjectId',\r\n outStatisticFieldName: 'SoLuong',\r\n statisticType: 'count'\r\n }\r\n ],\r\n groupByFieldsForStatistics: ['TinhTrang']\r\n });\r\n\r\n const tinhTrang: __esri.CodedValueDomainCodedValues[] = (this.service.getField('TinhTrang').domain as __esri.CodedValueDomain).codedValues;\r\n this.service\r\n .getAll({ query })\r\n .then(({ features }) => {\r\n const attributes = features.map(m => m.attributes);\r\n\r\n this.result = Array.from(\r\n features.map(m => m.attributes),\r\n item => ({ name: tinhTrangLabel[item.TinhTrang], value: +item.SoLuong })\r\n ) as Array<Result>;\r\n\r\n // DTinhTrang.forEach(f => {\r\n // const count = attributes.filter(m => m.TinhTrang === f.code).length;\r\n // this.result.push({ name: f.name, value: count });\r\n // })\r\n // this.loaded = true;\r\n })\r\n }\r\n })\r\n }\r\n\r\n percentageFormatting(e) {\r\n return Math.round(e);\r\n }\r\n\r\n valueFormatting = (evt) => {\r\n return this.decimalPipe.transform(evt);\r\n }\r\n\r\n onResize = () => {\r\n this.view = [this.wrap.nativeElement.clientWidth / 1.045, 300];\r\n }\r\n\r\n}\r\n","<div class=\"container-fluid\">\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-card [header]=\"headerCard\">\r\n <app-form #form [fields]=\"fields\" (onSubmit)=\"handleClickAdd($event)\" [service]=\"service\" (changeFileInput)=\"getInputFiles($event)\"\r\n (onKeyup)=\"handleKeyup($event)\" (changeDoanhNghiep)=\"changeDoanhNghiep($event)\" (lstFormData)=\"lstFormData\">\r\n </app-form>\r\n </app-card>\r\n </div>\r\n\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map (mapLoaded)=\"mapLoaded($event)\" #miniMap (drawAllDoanhNghiep)=\"drawAgian($event)\"\r\n (closeSideNav)=\"closeSideNave($event)\"></app-mini-map>\r\n\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button id=\"distance\" class=\"esri-widget--button esri-interactive\" [ngClass]=\"'esri-icon-radio-checked'\"\r\n title=\"Vẽ\" (click)=\"enableCreatePoint()\"></button>\r\n\r\n <button id=\"clear\" class=\"esri-widget--button esri-interactive esri-icon-trash\" title=\"Xóa\"\r\n (click)=\"removeGraphic()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { DiemDichVus } from 'src/app/shared/constants/diem-dich-vu.constant';\r\nimport { MapService } from 'src/app/map/shared/services/map.service';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport { DiemDichVuService } from '../../shared/services/diem-dich-vu.service';\r\nimport FeatureLayer from 'esri/layers/FeatureLayer';\r\nimport { CONSTNAME } from 'src/app/map/shared/constants/map.constant';\r\nimport Point from 'esri/geometry/Point';\r\nimport ProjectParameters from 'esri/tasks/support/ProjectParameters';\r\nimport GeometryService from 'esri/tasks/GeometryService';\r\nimport Graphic from 'esri/Graphic';\r\nimport { SimpleMarkerSymbol, PictureMarkerSymbol } from 'esri/symbols';\r\nimport PointDrawAction from 'esri/views/draw/PointDrawAction';\r\nimport Draw from 'esri/views/draw/Draw';\r\nimport { MiniMapComponent } from '../../shared/components/mini-map/mini-map.component';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { FormComponent, FormFields } from '../../shared/components/form/form.component';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport UniqueValueRenderer from 'esri/renderers/UniqueValueRenderer';\r\nimport Expand from 'esri/widgets/Expand';\r\nimport Legend from 'esri/widgets/Legend';\r\nimport SimpleLineSymbol from 'esri/symbols/SimpleLineSymbol';\r\nimport { DiemDichVuAttachmentService } from '../../shared/services/diem-dich-vu-attachment.service';\r\nimport { BtsAttachmentService } from '../../shared/services/bts-attachment.service';\r\nimport { AttachmentService } from '../../shared/services/attachment.service';\r\n\r\n@Component({\r\n selector: 'app-add',\r\n templateUrl: './add.component.html',\r\n styleUrls: ['./add.component.scss']\r\n})\r\nexport class AddComponent implements OnInit, AfterViewInit {\r\n @ViewChild('miniMap') miniMap: MiniMapComponent;\r\n @ViewChild('form', { static: true }) formComponent: FormComponent;\r\n\r\n headerCard = 'Thêm mới điểm dịch vụ';\r\n fields: FormFields[] = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text', placeholder: 'Số hiệu' },\r\n { prop: 'TenDiem', name: 'Tên điểm', type: 'text', placeholder: 'Tên điểm' },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', placeholder: 'Tọa độ X (Có thể chọn một điểm trên bản đồ)', require: true },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', placeholder: 'Tọa độ Y (Có thể chọn một điểm trên bản đồ)', require: true },\r\n { prop: 'Địa_chỉ', name: 'Địa chỉ', type: 'text', placeholder: 'Địa chỉ' },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', placeholder: 'Huyện thành phố', isQuanHuyenTP: true },\r\n { prop: 'LoaiDichVu', name: 'Loại dịch vụ', type: 'select', placeholder: 'Loại dịch vụ', require: true },\r\n { prop: 'DichVuCungCap', name: 'Dịch vụ cung cấp', type: 'text', placeholder: 'Dịch vụ cung cấp' },\r\n { prop: 'DichVuCungCapVT', name: 'Dịch vụ cung cấp viễn thông', type: 'text', placeholder: 'Dịch vụ cung cấp viễn thông' },\r\n { prop: 'DichVuGTGTKhac', name: 'Dịch vụ GTGT khác', type: 'text', placeholder: 'Dịch vụ GTGT khác' },\r\n { prop: 'SoDienThoai', name: 'Số điện thoại', type: 'number', placeholder: 'Số điện thoại' },\r\n { prop: 'SoGPKD', name: 'Số Giấy phép kinh doanh', type: 'text', placeholder: 'Số Giấy phép kinh doanh' },\r\n { prop: 'NgayCapGPKD', name: 'Ngày cấp', type: 'date', placeholder: 'Ngày cấp' },\r\n { prop: 'TepDinhKemGPKD', name: 'Tệp đính kèm GPKD', type: 'file', placeholder: 'File đính kèm' },\r\n ];\r\n service: IDataService;\r\n layer: __esri.FeatureLayer;\r\n geometryService: any;\r\n view: __esri.MapView;\r\n _active = false;\r\n toaDoX: number;\r\n toaDoY: number;\r\n geometry: __esri.Geometry;\r\n maDoanhNghiep: string = \"\";\r\n isDoanhNghiepSlected = false; // kiem tra doanh nghiep da duoc chon hay chua\r\n isOpenSideNav = false; // mo side nav chon doanh nghiep\r\n lstFormData = [];\r\n fileId: number;\r\n\r\n constructor(\r\n private _service: DiemDichVuService,\r\n private loginService: LoginService,\r\n private toastService: ToastService,\r\n private layerService: LayerService,\r\n protected hanhChinhService: HanhChinhService,\r\n private attachmentService: DiemDichVuAttachmentService,\r\n ) {\r\n this.service = _service;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.loginService.maDonVi !== 'S4T') {\r\n this.maDoanhNghiep = this.loginService.maDonVi;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n getInputFiles(event) {\r\n const files = event.target.files\r\n for (const file of files) {\r\n console.log(file);\r\n\r\n const formData = new FormData();\r\n formData.append('attachment', file);\r\n formData.append('f', 'json');\r\n console.log(formData);\r\n\r\n this.lstFormData.push(formData);\r\n }\r\n }\r\n\r\n handleClickAdd(info) {\r\n const attributes = info as DiemDichVuModel;\r\n attributes.TepDinhKemGPKD = this.fileId;\r\n // if (!this.maDoanhNghiep) {\r\n // this.toastService.warning('Vui lòng chọn doanh nghiệp cần thêm mới!');\r\n // return;\r\n // }\r\n attributes.TenDoanhNghiep = this.maDoanhNghiep;\r\n const addFeature = {\r\n geometry: this.geometry,\r\n attributes\r\n } as any;\r\n this.layer.applyEdits({ addFeatures: [addFeature] }).then(async res => {\r\n const featureEditResult: __esri.FeatureEditResult[] =\r\n res.addFeatureResults;\r\n const objectId = featureEditResult[0].objectId;\r\n if (objectId) {\r\n this.layer.queryFeatures({\r\n returnGeometry: true,\r\n outSpatialReference: this.view.spatialReference,\r\n where: 'OBJECTID = ' + objectId,\r\n outFields: ['*']\r\n }).then(({ features }) => {\r\n const ft = features[0];\r\n this.view.graphics.add(new Graphic({\r\n geometry: ft.geometry,\r\n symbol: new SimpleMarkerSymbol({\r\n color: 'rgba(0,0,0,0)',\r\n size: '25px',\r\n outline: new SimpleLineSymbol({\r\n color: 'red',\r\n width: 1\r\n })\r\n\r\n })\r\n }))\r\n this.hanhChinhService.getLocationInfo(ft.geometry).then(locationInfo => {\r\n if (locationInfo) {\r\n for (let i in locationInfo) {\r\n ft.attributes[i] = locationInfo[i];\r\n }\r\n this.layer.applyEdits({\r\n updateFeatures: [{\r\n attributes: ft.attributes\r\n } as any]\r\n }).then((result) => {\r\n\r\n });\r\n }\r\n })\r\n });\r\n\r\n if (this.lstFormData) {\r\n for (const file of this.lstFormData) {\r\n await this.attachmentService.addAttachment(\r\n objectId,\r\n file,\r\n ).then((res: any) => {\r\n console.log(res.data.addAttachmentResult.success);\r\n if (res.data.addAttachmentResult.success) {\r\n this.layer.applyEdits({ updateFeatures: [{attributes: {OBJECTID: objectId, TepDinhKemGPKD: res.data.addAttachmentResult.objectId}} as any] }).then(res => { });\r\n }\r\n });\r\n }\r\n }\r\n this.toastService.success('Thêm mới điểm dịch vụ thành công!');\r\n this.view.graphics.removeAll();\r\n } else {\r\n this.toastService.danger('Có lỗi xảy ra!');\r\n }\r\n })\r\n }\r\n\r\n closeSideNave(event) {\r\n this.miniMap.isOpenSideNav = event;\r\n this.isDoanhNghiepSlected = false;\r\n }\r\n\r\n drawAgian(maDoanhNghiep) {\r\n this.maDoanhNghiep = maDoanhNghiep;\r\n this.enableCreatePoint();\r\n }\r\n\r\n changeDoanhNghiep(event) {\r\n this.maDoanhNghiep = event.target.value;\r\n }\r\n\r\n changeFileInput(event) {\r\n\r\n }\r\n\r\n enableCreatePoint() {\r\n // // check ma don vi la S4T va isDoanhNghiepSlected = false thi phai chon doanh nghiep\r\n // if(this.loginService.maDonVi === 'S4T' && !this.isDoanhNghiepSlected) {\r\n // this.miniMap.isOpenSideNav = true;\r\n // this.isDoanhNghiepSlected = true;\r\n // return;\r\n // }\r\n // // neu isDoanhNghiepSlected = false la doanh nghiep khong duoc chon tuc la lay doanh nghiep dang dang nhap\r\n // if(!this.isDoanhNghiepSlected) {\r\n // this.maDoanhNghiep = this.loginService.maDonVi;\r\n // }\r\n // if(this.maDoanhNghiep || this.maDoanhNghiep === 'undefined') {\r\n const draw = new Draw({\r\n view: this.view\r\n });\r\n var action = draw.create(\"point\");\r\n\r\n action.on(\"cursor-update\", (evt) => {\r\n this.createPointGraphic(evt);\r\n });\r\n\r\n action.on(\"draw-complete\", (evt) => {\r\n this.createPointGraphic(evt);\r\n this.isDoanhNghiepSlected = false;\r\n });\r\n // } else {\r\n // this.toastService.warning('Vui lòng chọn doanh nghiệp!');\r\n // }\r\n\r\n }\r\n\r\n createPointGraphic(evt) {\r\n const coordinates = evt.coordinates;\r\n this.view.graphics.removeAll();\r\n this.geometry = new Point({\r\n x: coordinates[0],\r\n y: coordinates[1],\r\n spatialReference: this.view.spatialReference\r\n });\r\n\r\n var graphic = new Graphic({\r\n geometry: this.geometry,\r\n symbol: this.miniMap.symbolCreate\r\n });\r\n this.view.graphics.add(graphic);\r\n if (evt.type === 'draw-complete') {\r\n const { longitude, latitude } = graphic.geometry as __esri.Point;\r\n this.toaDoX = longitude;\r\n this.toaDoY = latitude;\r\n this.formComponent.datas.ToaDoX = longitude.toString();\r\n this.formComponent.datas.ToaDoY = latitude.toString();\r\n this.view.goTo(graphic);\r\n }\r\n }\r\n\r\n mapLoaded(view) {\r\n this.view = view;\r\n const loaiDV: { name: string, title: string, name_img: string }[] = [\r\n { name: '1', title: 'Điểm phục vụ bưu chính', name_img: 'phucvubuuchinh' },\r\n { name: '2', title: 'Điểm cung cấp dịch vụ viễn thông', name_img: 'dichvuvienthong' },\r\n { name: '3', title: 'Đại lý internet công cộng', name_img: 'dailyinternet' },\r\n ];\r\n const uniqueValueInfos = [];\r\n for (let i = 0; i < loaiDV.length; i++) {\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"18px\",\r\n height: \"18px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = +loaiDV[i].name;\r\n uniqueValueInfo.label = loaiDV[i].title;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/store/type/\" + loaiDV[i].name_img + \".png\";\r\n\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n var renderer = new UniqueValueRenderer({\r\n field: \"LoaiDichVu\",\r\n fieldDelimiter: \", \",\r\n uniqueValueInfos,\r\n defaultSymbol: new PictureMarkerSymbol({\r\n url: \"/assets/images/store/type/chuaxacdinh.png\",\r\n width: \"18px\",\r\n height: \"18px\"\r\n }),\r\n defaultLabel: \"Chưa xác định\"\r\n })\r\n this.layer = new FeatureLayer(this.layerService.diemDichVuLayer);\r\n this.layer.renderer = renderer;\r\n this.view.map.add(this.layer);\r\n const legend = new Legend({\r\n view: this.view\r\n })\r\n const bgExpand = new Expand({\r\n view: this.view,\r\n content: legend\r\n });\r\n this.view.ui.add(bgExpand, 'top-left');\r\n }\r\n\r\n handleKeyup(evt) {\r\n const { name, value } = evt.target;\r\n if (name === \"ToaDoX\" || name === \"ToaDoY\") {\r\n if (name === \"ToaDoX\") {\r\n this.toaDoX = value;\r\n }\r\n if (name === \"ToaDoY\") {\r\n this.toaDoY = value;\r\n }\r\n if (this.toaDoX && this.toaDoY) {\r\n this.view.graphics.removeAll();\r\n this.geometry = new Point({\r\n longitude: this.toaDoX,\r\n latitude: this.toaDoY\r\n })\r\n const graphic = new Graphic({\r\n geometry: this.geometry,\r\n symbol: this.miniMap.symbolCreate,\r\n })\r\n\r\n this.view.graphics.add(graphic);\r\n this.view.goTo(graphic);\r\n } else {\r\n this.view.graphics.removeAll();\r\n }\r\n }\r\n }\r\n\r\n removeGraphic() {\r\n this.view.graphics.removeAll();\r\n this.formComponent.datas.ToaDoX = \"\";\r\n this.formComponent.datas.ToaDoY = \"\";\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DiemDichVuComponent } from './diem-dich-vu.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\n\r\nconst routes: Routes = [\r\n { \r\n path: '', \r\n component: DiemDichVuComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'list' },\r\n { path: 'list', component: ListComponent },\r\n { path: 'add', component: AddComponent }\r\n ]\r\n }\r\n\r\n]\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [RouterModule]\r\n\r\n})\r\nexport class DiemDichVumRoutingModule { }\r\n","<router-outlet></router-outlet>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-diem-dich-vu',\r\n templateUrl: './diem-dich-vu.component.html',\r\n styleUrls: ['./diem-dich-vu.component.scss']\r\n})\r\nexport class DiemDichVuComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DiemDichVumRoutingModule } from './diem-dich-vu-routing.module';\r\nimport { ComponentsModule } from '../shared/components/components.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DiemDichVuComponent } from './diem-dich-vu.component';\r\nimport { AddComponent } from './add/add.component';\r\nimport { ListComponent } from './list/list.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DiemDichVuComponent, AddComponent, ListComponent],\r\n imports: [\r\n CommonModule,\r\n DiemDichVumRoutingModule,\r\n ComponentsModule,\r\n RouterModule\r\n ]\r\n})\r\nexport class DiemDichVuModule { }\r\n","<div class=\"container-fluid mt-3\">\r\n <app-datatable [searchField]=\"searchField\" #dataTbl [header]=\"headerTable\" [service]=\"service\" [columns]=\"columns\" (onActivate)=\"onActivate($event)\">\r\n </app-datatable>\r\n</div>","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport { DiemDichVuService } from '../../shared/services/diem-dich-vu.service';\r\nimport { TableColumnMode } from '../../shared/components/datatable/datatable.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalDetailComponent } from '../../shared/components/modal-detail/modal-detail.component';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { DatatableComponent } from '../../shared/components/datatable/datatable.component';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild('dataTbl') dataTbl: DatatableComponent;\r\n headerTable = 'Danh sách điểm dịch vụ';\r\n columns: TableColumnMode[] = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text', width: 150, frozenLeft: true },\r\n { prop: 'TenDiem', name: 'Tên điểm', type: 'text', width: 200, frozenLeft: true },\r\n { prop: 'TenDoanhNghiep', name: 'Doanh nghiệp', type: 'select', width: 150, isNonEdit: true },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', width: 150, isNonEdit: true },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', width: 150, isNonEdit: true },\r\n { prop: 'LoaiDichVu', name: 'Loại dịch vụ', type: 'select', width: 250, isNonEdit: true },\r\n { prop: 'DichVuCungCap', name: 'Dịch vụ cung cấp', type: 'text', width:150 },\r\n { prop: 'DichVuCungCapVT', name: 'Dịch vụ cung cấp viễn thông', width:150, type: 'text' },\r\n { prop: 'DichVuGTGTKhac', name: 'Dịch vụ GTGT khác', type: 'text', width:150 },\r\n { prop: 'SoGPKD', name: 'Số Giấy phép kinh doanh', type: 'text', width:150},\r\n { prop: 'NgayCapGPKD', name: 'Ngày cấp', type: 'date', width:150 },\r\n { prop: 'TepDinhKemGPKD', name: 'File GPKD', type: 'file', width:150 },\r\n { prop: 'SoDienThoai', name: 'Số điện thoại', type: 'text', width:150 },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true, width:150, options: [] },\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', isPhuongXa: true, width:150, options: [] },\r\n { prop: 'Địa_chỉ', name: 'Địa chỉ', type: 'text' },\r\n ];\r\n service: IDataService;\r\n searchField = 'TenDiem';\r\n Flag = FlagMenu;\r\n constructor(\r\n private _service: DiemDichVuService,\r\n public modalService: NgbModal,\r\n private toastService: ToastService\r\n ) {\r\n this.service = _service;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleSave(data) {\r\n // this.loadingIndicator = true;\r\n this.service.update(data).then(res => {\r\n if (res.updateResults && res.updateResults.length) {\r\n this.dataTbl.loadData();\r\n this.toastService.success('Cập nhập dữ liệu thành công!');\r\n }\r\n else {\r\n this.toastService.danger('Cập nhật dữ liệu thất bại');\r\n }\r\n // this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n onActivate(event) {\r\n const modalRef = this.modalService.open(ModalDetailComponent, {\r\n size: 'xl'\r\n })\r\n modalRef.componentInstance.data = { row: event.row, fields: this.columns, flag: this.Flag.DiemDichVu };\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.handleSave(receivedEntry);\r\n });\r\n }\r\n\r\n}\r\n","<app-modal-template title=\"Hồ sơ\" [loading]=\"loading\">\r\n <div header>\r\n <app-button *ngIf=\"trangThai === 1\" btnClass=\"btn-primary mr-1\" (click)=\"guiHoSo()\">Gửi hồ sơ</app-button>\r\n <!-- <app-button *ngIf=\"display && trangThai === 0\" btnClass=\"btn-primary mr-1\" (click)=\"openDlgKySo()\">Ký số\r\n </app-button> -->\r\n <app-button *ngIf=\"!display\" btnClass=\"btn-success mr-1\" icon=\"save\" (click)=\"handleClickSaveHoSo()\">Lưu\r\n </app-button>\r\n <app-button *ngIf=\"maVT === Roles.SOTTTT && trangThai === 2\" btnClass=\"btn-success mr-1\" icon=\"check\"\r\n (click)=\"pheDuyetHoSo()\"> Phê duyệt </app-button>\r\n <app-button *ngIf=\"maVT === Roles.SOTTTT && trangThai === 2\" btnClass=\"btn-danger mr-1\" icon=\"times\"\r\n (click)=\"askCause()\"> Từ chối\r\n </app-button>\r\n </div>\r\n\r\n <div class=\"body\" body>\r\n <div class=\"horizontal-bar\">\r\n <div class=\"horizontal-bar__title\">\r\n <h6>Thông tin chung</h6>\r\n </div>\r\n <div [class]=\"'horizontal-bar__status text-' + tinhTrangHoSo.color\">{{tinhTrangHoSo.title}}</div>\r\n </div>\r\n\r\n <div class=\"form-file\">\r\n <div class=\"row w-100\">\r\n <ng-container *ngTemplateOutlet=\"flag === Flag.Add ? addInfo : flag === Flag.Edit ? editInfo : viewInfo\">\r\n </ng-container>\r\n <ng-template #editInfo>\r\n <div class=\"col-4\">\r\n <fieldset class=\"scheduler-border\">\r\n <legend class=\"scheduler-border\">Thông tin hồ sơ</legend>\r\n <div class=\"form-group row\">\r\n <label class=\"col-2 col-form-label-sm font-weight-lighter text-right p-0\">\r\n Tên hồ sơ<span class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"col-9\">\r\n <input type=\"text\" [(ngModel)]=\"tenHoSo\" class=\"form-control form-control-sm\"\r\n placeholder=\"Nhập tên hồ sơ\" [disabled]=\"display\">\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <label for=\"soCongVan\" class=\"col-2 col-form-label-sm font-weight-lighter text-right p-0\">\r\n Số công văn<span class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"col-9\">\r\n <input type=\"text\" [(ngModel)]=\"soCongVan\" class=\"form-control form-control-sm\"\r\n aria-describedby=\"inputGroup-sizing-sm\" placeholder=\"Nhập số công văn\" [disabled]=\"display\">\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <label for=\"thoiGianTao\" class=\"col-2 col-form-label-sm font-weight-lighter text-right p-0\">\r\n Thời gian tạo<span class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"col-9\">\r\n <input [ngModel]=\"thoiGianTao | date: 'yyyy-MM-dd'\" (ngModelChange)=\"thoiGianTao=$event\"\r\n class=\"form-control form-control-sm\" name=\"dp\" ngbDatepicker #d=\"ngbDatepicker\" (click)=\"d.toggle()\"\r\n [disabled]=\"display\" placeholder=\"dd/mm/yyyy\">\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #addInfo>\r\n <div class=\"col-12\">\r\n <div class=\"form-group row\">\r\n <label class=\"col-1 col-form-label-sm font-weight-lighter text-right\">\r\n Tên hồ sơ<span class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"col-5\">\r\n <input type=\"text\" [(ngModel)]=\"tenHoSo\" class=\"form-control form-control-sm\"\r\n placeholder=\"Nhập tên hồ sơ\" [disabled]=\"display\">\r\n </div>\r\n <label for=\"soCongVan\" class=\"col-1 col-form-label-sm font-weight-lighter text-right\">Số công văn</label>\r\n <div class=\"col-2\">\r\n <input type=\"text\" [(ngModel)]=\"soCongVan\" class=\"form-control form-control-sm\"\r\n aria-describedby=\"inputGroup-sizing-sm\" placeholder=\"Nhập số công văn\" [disabled]=\"display\">\r\n </div>\r\n <label for=\"thoiGianTao\" class=\"col-1 col-form-label-sm font-weight-lighter text-right\">Thời gian\r\n tạo</label>\r\n <div class=\"col-2\">\r\n <input [ngModel]=\"thoiGianTao | date: 'yyyy-MM-dd'\" (ngModelChange)=\"thoiGianTao=$event\"\r\n class=\"form-control form-control-sm\" name=\"dp\" ngbDatepicker #d=\"ngbDatepicker\" (click)=\"d.toggle()\"\r\n [disabled]=\"display\" placeholder=\"dd/mm/yyyy\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #viewInfo>\r\n <div class=\"col-4\">\r\n <fieldset class=\"scheduler-border\">\r\n <legend class=\"scheduler-border\">Thông tin hồ sơ</legend>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h6 class=\"text-center text-uppercase\" style=\"font-size: 0.8rem;\">Doanh nghiệp {{tenDoanhNghiep}}</h6>\r\n </div>\r\n <div class=\"col-12\">\r\n <h6 class=\"text-center text-uppercase\">Hồ sơ {{tenHoSo}}</h6>\r\n </div>\r\n <label class=\"col-2 p-0 col-form-label-sm font-weight-lighter text-right\">Số CV:</label>\r\n <div class=\"col-4\">\r\n <span>{{soCongVan}}</span>\r\n </div>\r\n <label class=\"col-2 p-0 col-form-label-sm font-weight-lighter text-right\">TG tạo:</label>\r\n <div class=\"col-4\">\r\n <span>{{thoiGianTao | date: 'dd/MM/yyyy'}}</span>\r\n </div>\r\n <label class=\"col-2 p-0 col-form-label-sm font-weight-lighter text-right\">TG gửi:</label>\r\n <div class=\"col-4\">\r\n <span>{{thoiGianGui | date: 'dd/MM/yyyy'}}</span>\r\n </div>\r\n <label class=\"col-2 p-0 col-form-label-sm font-weight-lighter text-right\">TG duyệt:</label>\r\n <div class=\"col-4\">\r\n <span>{{thoiGianDuyet | date: 'dd/MM/yyyy'}}</span>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Văn bản -->\r\n <div class=\"attach col-4\" *ngIf=\"flag === Flag.Edit || flag === Flag.View\">\r\n <fieldset class=\"scheduler-border\">\r\n <legend class=\"scheduler-border\">Tệp đính kèm</legend>\r\n <div style=\"height: 100%;\">\r\n <div class=\"d-flex flex-column\" style=\"height: 60%;\">\r\n <div class=\"d-flex align-items-center justify-content-start\">\r\n <div class=\"attach-file\">\r\n <input style=\"cursor: pointer;\" type=\"file\" name=\"file\" #fileEl (change)=\"fileChange(fileEl)\"\r\n accept=\"application/pdf\" />\r\n <button type=\"button\" class=\"btn btn-link p-0\" style=\"font-size: 14px;\"> <i\r\n class=\"fas fa-paperclip\"></i> Văn bản</button>\r\n </div>\r\n </div>\r\n\r\n <p class=\"font-weight-lighter\" *ngIf=\"arrayFiles && !arrayFiles.length\">Chưa có văn bản đính kèm!</p>\r\n <perfect-scrollbar *ngIf=\"arrayFiles && arrayFiles.length\" class=\"list-files\">\r\n <div class=\"file\" *ngFor=\"let file of arrayFiles\">\r\n <a class=\"text-dark\" [href]=\"downloadFilePDF(file.url)\" target=\"_blank\">\r\n <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"deleteFileAttachment(file.id)\" plac>x</a>\r\n <div class=\"d-flex h-100\">\r\n <i class=\"far fa-file-pdf mr-2\"></i>\r\n <span class=\"file-name\">{{file.name}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n </perfect-scrollbar>\r\n </div>\r\n\r\n <div class=\"border-top\">\r\n <div class=\"d-flex align-items-center justify-content-start\">\r\n <div class=\"attach-file\">\r\n <input style=\"cursor: pointer;\" type=\"file\" name=\"file\" #fileEl (change)=\"fileChangeKySo(fileEl)\"\r\n accept=\"application/pdf\" />\r\n <button type=\"button\" class=\"btn btn-link p-0\" style=\"font-size: 14px;\"> <i\r\n class=\"fas fa-paperclip\"></i> Tệp tin ký số</button>\r\n </div>\r\n </div>\r\n\r\n <p class=\"font-weight-lighter\" *ngIf=\"!fileKSUrl\">Chưa có tệp tin ký số!</p>\r\n \r\n <perfect-scrollbar *ngIf=\"trangThai !== 0\" class=\"list-files\">\r\n <div class=\"file\" *ngIf=\"fileKSUrl\">\r\n <a class=\"text-dark\" [href]=\"fileKSUrl\" target=\"_blank\">\r\n <!-- <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"deleteFileAttachment(fileKySo.id)\" plac>x</a> -->\r\n <div class=\"d-flex h-100\">\r\n <i class=\"far fa-file-pdf mr-2\"></i>\r\n <span class=\"file-name\">{{fileKSName}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n </perfect-scrollbar>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n <!-- ./ văn bản -->\r\n\r\n <!-- phản hồi -->\r\n <div class=\"col-md-4 col-xs-12\" *ngIf=\"trangThai > 1\">\r\n <fieldset class=\"scheduler-border\" *ngIf=\"trangThai > 2\">\r\n <legend class=\"scheduler-border\">Nội dung phản hồi</legend>\r\n <div class=\"reply\">\r\n <div class=\"alert alert-danger\" *ngIf=\"trangThai > 2\" [class.alert-danger]=\"trangThai === 3\"\r\n [class.alert-success]=\"trangThai === 4\" role=\"alert\">\r\n {{reason || content}}\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"horizontal-bar\">\r\n <div class=\"horizontal-bar__title\">\r\n <h6>Chi tiết</h6>\r\n </div>\r\n </div>\r\n <div class=\"detail\">\r\n <ul ngbNav #nav=\"ngbNav\" [activeId]=\"activeId\" (navChange)=\"onChangeNav($event)\" class=\"nav-tabs\">\r\n <li [ngbNavItem]=\"nav.navItem\" *ngFor=\"let nav of navs\">\r\n <a ngbNavLink>{{nav.title}}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"row h-100\">\r\n <div [class.col-12]=\"!viewMap\" [class.col-6]=\"viewMap\">\r\n <div class=\"d-flex\">\r\n <button *ngIf=\"flag !== Flag.View\" type=\"button\" class=\"btn btn-outline-primary btn-sm mb-2\"\r\n (click)=\"openModal()\">\r\n <i class=\"fa fa-plus\"></i> Thêm mới</button>\r\n <button *ngIf=\"flag === Flag.View\" type=\"button\" class=\"btn btn-outline-primary btn-sm mb-2 ml-1\"\r\n (click)=\"viewMap=!viewMap\">\r\n <i class=\"fa fa-map\"></i> Bản đồ</button>\r\n <a *ngIf=\"flag === Flag.View\" type=\"button\" class=\"btn btn-outline-primary btn-sm mb-2 ml-1\"\r\n [href]=\"downloadAppendix(idHoSo)\">\r\n <i class=\"fas fa-download\"></i> Tải phụ lục</a>\r\n </div>\r\n\r\n <app-table-details [columns]=\"colsTblDetail\" [trangThai]=\"trangThai\" [display]=\"display\"\r\n [rows]=\"rowAll[objectNameNavigated]\" (onCheck)=\"handleCheck($event)\"\r\n (onEdit)=\"handleClickEdit($event)\" (onDelete)=\"handleClickDelete($event)\" [maVT]=\"maVT\" [role]=\"Roles\"\r\n (onClickRow)=\"handleClickRow($event)\" (onRefuse)=\"handleClickAsk($event)\">\r\n </app-table-details>\r\n </div>\r\n <div *ngIf=\"viewMap\" class=\"h-100\" [class.col-6]=\"viewMap\">\r\n <app-mini-map class=\"h-100\" [isShowMeasure]=\"true\" (mapLoaded)=\"mapLoaded($event)\"\r\n (whenLayerView)=\"whenLayerView($event)\">\r\n </app-mini-map>\r\n </div>\r\n </div>\r\n\r\n </ng-template>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"nav\" class=\"mt-2 h-100\"></div>\r\n </div>\r\n </div>\r\n\r\n <div footer></div>\r\n</app-modal-template>","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgbActiveModal, NgbModal, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ModalViewPdfComponent } from \"../modal-view-pdf/modal-view-pdf.component\";\r\nimport { ModalDetailsComponent } from \"./modal-details/modal-details.component\";\r\nimport { ModalAddTrambtsComponent } from \"./modal-add-trambts/modal-add-trambts.component\";\r\nimport { ModalAddTcngamComponent } from \"./modal-add-tcngam/modal-add-tcngam.component\";\r\nimport { ModalAddTcnoiComponent } from \"./modal-add-tcnoi/modal-add-tcnoi.component\";\r\nimport { ModalAddDiemdvComponent } from \"./modal-add-diemdv/modal-add-diemdv.component\";\r\nimport { IDataService } from \"../../shared/services/IDataService\";\r\nimport { ApiService } from \"../../shared/services/api.service\";\r\nimport { TramBTSModel } from \"src/app/shared/models/tram-bts.model\";\r\nimport { DiemDichVuModel } from \"src/app/shared/models/diem-dich-vu.model\";\r\nimport { TuyenCapNgamModel } from \"src/app/shared/models/tuyen-cap-ngam.model\";\r\nimport { TinhTrangHoSo, TramBtsRows, DiemDichVuRows, TuyenCapRows, HoSo } from \"../../shared/models/ho-so.model\";\r\nimport { Columns } from \"../../shared/components/table-details/table-details.component\";\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { TramBtsService } from '../../shared/services/tram-bts.service';\r\nimport { DiemDichVuService } from '../../shared/services/diem-dich-vu.service';\r\nimport { TuyenCapNgamService } from '../../shared/services/tuyen-cap-ngam.service';\r\nimport { TuyenCapNoiService } from '../../shared/services/tuyen-cap-noi.service';\r\nimport { ModalEditComponent } from './modal-edit/modal-edit.component';\r\nimport { FormFields } from '../../shared/components/form/form.component';\r\nimport { ModalLyDoComponent } from './modal-ly-do/modal-ly-do.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ModalFilePdfComponent } from '../../phe-duyet/modal-file-pdf/modal-file-pdf.component';\r\nimport { ModalConfirmComponent, EventModal } from 'src/app/shared/components/modal-confirm/modal-confirm.component';\r\nimport { ModalRenameComponent } from './modal-rename/modal-rename.component';\r\nimport { ModalApprovedComponent } from './modal-approved/modal-approved.component';\r\nimport { Roles } from 'src/app/shared/models/login.model';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport FeatureLayer from 'esri/layers/FeatureLayer';\r\nimport { MiniMapComponent } from '../../shared/components/mini-map/mini-map.component';\r\nimport Circle from 'esri/geometry/Circle';\r\nimport Graphic from 'esri/Graphic';\r\nimport { SimpleLineSymbol, SimpleMarkerSymbol } from 'esri/symbols';\r\n\r\nexport enum Flag {\r\n Add,\r\n Edit,\r\n View,\r\n}\r\n\r\nenum Type {\r\n TramBts = 1,\r\n TuyenCapNgam,\r\n TuyenCapNoi,\r\n DiemDichVu,\r\n}\r\n\r\nconst colsTramBts: Columns = [\r\n { name: \"Mã trạm\", prop: \"MaTram\" },\r\n { name: \"Tên trạm\", prop: \"TenTram\" },\r\n { name: \"Tọa độ X\", prop: \"ToaDoX\" },\r\n { name: \"Tọa độ Y\", prop: \"ToaDoY\" },\r\n];\r\nconst colsTuyenCap: Columns = [\r\n { name: \"Mã tuyến\", prop: \"MaTuyen\" },\r\n { name: \"Tên tuyến\", prop: \"TenTuyen\" },\r\n { name: \"Điểm đầu\", prop: \"DiemDau\" },\r\n { name: \"Điểm cuối\", prop: \"DiemCuoi\" },\r\n];\r\nconst colsDiemDichVu: Columns = [\r\n { name: \"Số hiệu\", prop: \"SoHieu\" },\r\n { name: \"Tên\", prop: \"TenDiem\" },\r\n { name: \"Tọa độ X\", prop: \"ToaDoX\" },\r\n { name: \"Tọa độ Y\", prop: \"ToaDoY\" },\r\n];\r\n\r\ntype objectType = 'tramBts' | 'tuyenCapNgam' | 'tuyenCapNoi' | 'diemDichVu';\r\n\r\nexport type Rows = {\r\n tramBts: Array<TramBtsRows>,\r\n diemDichVu: Array<DiemDichVuRows>,\r\n tuyenCapNgam: Array<TuyenCapRows>,\r\n tuyenCapNoi: Array<TuyenCapRows>,\r\n\r\n}\r\n@Component({\r\n selector: \"app-add\",\r\n templateUrl: \"./add.component.html\",\r\n styleUrls: [\"./add.component.scss\"],\r\n})\r\nexport class AddComponent implements OnInit {\r\n @ViewChild('map') map: MiniMapComponent;\r\n Type = Type;\r\n activeId = Type.TramBts;\r\n display = false;\r\n service: IDataService;\r\n tenHoSo: string;\r\n soCongVan: string;\r\n thoiGianTao: string;\r\n thoiGianGui: string;\r\n thoiGianDuyet: string;\r\n idHoSo: string;\r\n rows: any = [];\r\n row: any;\r\n rowAll: Rows = {\r\n tramBts: [],\r\n diemDichVu: [],\r\n tuyenCapNgam: [],\r\n tuyenCapNoi: [],\r\n };\r\n Roles = Roles;\r\n arrayFiles: Array<{ name: string, url: string, id: string }> = [];\r\n fileKySo: { Status: boolean, FileName: string, FileServer: string, Message: string };\r\n fileKSName: string;\r\n fileKSUrl: string;\r\n rowDelete = {\r\n tramBts: [],\r\n diemDichVu: [],\r\n tuyenCapNgam: [],\r\n tuyenCapNoi: [],\r\n }\r\n\r\n rowAdd: Rows = {\r\n tramBts: [],\r\n diemDichVu: [],\r\n tuyenCapNgam: [],\r\n tuyenCapNoi: [],\r\n }\r\n\r\n rowUpdate: Rows = {\r\n tramBts: [],\r\n diemDichVu: [],\r\n tuyenCapNgam: [],\r\n tuyenCapNoi: [],\r\n }\r\n\r\n loading = false;\r\n colsTblDetail: Columns;\r\n viewMap = false;\r\n objectNameNavigated: objectType;\r\n flag: any;\r\n trangThai: number;\r\n Flag = Flag;\r\n maVT: string;\r\n urlVB: string;\r\n content: string;\r\n reason: string;\r\n EventModal = EventModal;\r\n // map\r\n layerProperties: __esri.FeatureLayerProperties;\r\n layer: __esri.FeatureLayer;\r\n layerView: __esri.FeatureLayerView;\r\n view: __esri.MapView;\r\n highlight: any;\r\n\r\n // nav\r\n navs: Array<{ title: string, navItem: number }> = [\r\n { title: 'Trạm BTS', navItem: Type.TramBts },\r\n { title: 'Tuyến cáp ngầm', navItem: Type.TuyenCapNgam },\r\n { title: 'Tuyến cáp nổi', navItem: Type.TuyenCapNoi },\r\n { title: 'Điểm dịch vụ', navItem: Type.DiemDichVu },\r\n ]\r\n \r\n UploadServer: string;\r\n\r\n maDoanhNghiep: string;\r\n tenDoanhNghiep: string;\r\n\r\n constructor(\r\n public modalService: NgbModal,\r\n public modal: NgbActiveModal,\r\n private apiService: ApiService,\r\n private loginService: LoginService,\r\n private toastService: ToastService,\r\n private datePipe: DatePipe,\r\n private tramBtsService: TramBtsService,\r\n private diemDichVuService: DiemDichVuService,\r\n private tuyenCapNgamService: TuyenCapNgamService,\r\n private tuyenCapNoiService: TuyenCapNoiService,\r\n private layerService: LayerService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.colsTblDetail = colsTramBts;\r\n this.objectNameNavigated = 'tramBts';\r\n this.layerProperties = this.layerService.tramBtsLayer;\r\n this.maVT = this.loginService.taiKhoan.MaVaiTro;\r\n if (this.maVT === this.Roles.DN) {\r\n this.tenDoanhNghiep = this.loginService.taiKhoan.TenDonVi;\r\n }\r\n if (this.maVT === this.Roles.SOTTTT) {\r\n this.display = true;\r\n }\r\n this.thoiGianTao = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n this.thoiGianGui = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n this.thoiGianDuyet = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n if (this.row) {\r\n this.idHoSo = this.row.ID;\r\n this.tenDoanhNghiep = this.row.TenDonVi;\r\n if (this.flag === Flag.View) {\r\n this.display = true;\r\n }\r\n this.trangThai = this.row.TrangThai;\r\n this.apiService.get(`odata/HoSoes(guid'${this.row.ID}')`).then(async result => {\r\n this.soCongVan = result.SoCongVan;\r\n this.tenHoSo = result.TenHoSo;\r\n this.thoiGianTao = result.TGTao;\r\n this.thoiGianGui = result.TGGuiHoSo;\r\n this.thoiGianDuyet = result.TGDuyet;\r\n this.content = result.NoiDungPhucDap;\r\n this.reason = result.LyDo;\r\n });\r\n this.loadChiTietHoSo();\r\n this.getFileAttachment(this.idHoSo);\r\n }\r\n if (this.trangThai !== 0 && this.row) {\r\n this.getFileKySo();\r\n }\r\n }\r\n\r\n get tinhTrangHoSo() {\r\n switch (this.trangThai) {\r\n case TinhTrangHoSo.HoSoBiTuChoi:\r\n return { color: 'danger', title: 'Hồ sơ bị từ chối' }\r\n case TinhTrangHoSo.HoSoChoDuyet:\r\n return { color: 'warning', title: 'Hồ sơ chờ duyệt' }\r\n case TinhTrangHoSo.HoSoChuaKySo:\r\n return { color: 'primary', title: 'Hồ sơ chưa có file ký số' }\r\n case TinhTrangHoSo.HoSoDaDuyet:\r\n return { color: 'success', title: 'Hồ sơ đã duyệt' }\r\n case TinhTrangHoSo.HoSoDaKySo:\r\n return { color: 'info', title: 'Hồ sơ đã có file ký số' }\r\n default:\r\n return { color: 'default', title: 'Thêm mới hồ sơ' }\r\n }\r\n }\r\n\r\n openModal() {\r\n switch (this.activeId) {\r\n case Type.TramBts:\r\n const modalRef = this.modalService.open(ModalAddTrambtsComponent, { size: \"xl\" });\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.rowAll.tramBts.push(receivedEntry);\r\n this.rowAdd.tramBts.push(receivedEntry);\r\n }\r\n );\r\n break;\r\n case Type.TuyenCapNgam:\r\n this.modalService\r\n .open(ModalAddTcngamComponent, { size: \"xl\" })\r\n .componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.rowAll.tuyenCapNgam.push(receivedEntry);\r\n this.rowAdd.tuyenCapNgam.push(receivedEntry);\r\n }\r\n );\r\n break;\r\n case Type.TuyenCapNoi:\r\n this.modalService\r\n .open(ModalAddTcnoiComponent, { size: \"xl\" })\r\n .componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.rowAll.tuyenCapNoi.push(receivedEntry);\r\n this.rowAdd.tuyenCapNoi.push(receivedEntry);\r\n }\r\n );\r\n break;\r\n case Type.DiemDichVu:\r\n this.modalService\r\n .open(ModalAddDiemdvComponent, { size: \"xl\" })\r\n .componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.rowAll.diemDichVu.push(receivedEntry);\r\n this.rowAdd.diemDichVu.push(receivedEntry);\r\n\r\n }\r\n );\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n handleClickEdit(row) {\r\n let index: number;\r\n let fields: FormFields[];\r\n let indexRowAll: number;\r\n let indexRowAdd: number;\r\n let modalRef: NgbModalRef;\r\n switch (this.activeId) {\r\n case Type.TramBts:\r\n fields = [\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', width: 150, disable: true },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', width: 150, disable: true },\r\n { prop: 'DiaChi', name: 'Địa chỉ', type: 'text', width: 550 },\r\n { prop: 'ChuSoHuuDat', name: 'Chủ sỡ hữu đất', type: 'text', width: 250 },\r\n { prop: 'LoaiAngTen', name: 'Loại ăng ten', type: 'select', width: 150 },\r\n { prop: 'LoaiTram', name: 'Loại trạm', type: 'select', width: 150 },\r\n { prop: 'DoCaoTram', name: 'Độ cao trạm', type: 'text', width: 150 },\r\n { prop: 'DoCaoTang', name: 'Độ cao tầng', type: 'text', width: 150 },\r\n { prop: 'CongSuat', name: 'Công suất', type: 'text', width: 150 },\r\n { prop: 'GocNgan', name: 'Số lượng ăng ten phát', type: 'text', width: 150 },\r\n { prop: 'TGPhatSong', name: 'TG phát sóng', type: 'text', width: 150 },\r\n { prop: 'ThietBiLapDat', name: 'Thiết bị lắp đặt', type: 'text', width: 150 },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', width: 150, isQuanHuyenTP: true, options: [] },\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', width: 150, isPhuongXa: true, options: [] },\r\n { prop: 'GhiChu', name: 'Ghi chú', type: 'text', width: 250 }\r\n ]\r\n modalRef = this.modalService.open(ModalEditComponent, { size: \"xl\" });\r\n // sau khi mo modal gan du lieu cho modal\r\n modalRef.componentInstance.data = row;\r\n modalRef.componentInstance.fields = fields;\r\n modalRef.componentInstance.isEdit = true;\r\n modalRef.componentInstance.service = this.tramBtsService;\r\n // su kien luu\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n // cap nhap rowAll ung voi tram bts hien thi tren table detail\r\n indexRowAll = this.rowAll.tramBts.indexOf(row); // index cap nhap row hien thi table detail\r\n indexRowAdd = this.rowAdd.tramBts.indexOf(row);\r\n const isObjectId = this.rowAll.tramBts[indexRowAll].attributes.OBJECTID;\r\n const isUpdated = this.rowUpdate.tramBts.findIndex(m => m.attributes.OBJECTID === receivedEntry.attributes.OBJECTID);\r\n this.rowAll.tramBts[index] = receivedEntry;\r\n // neu tram bts dang sua da duoc va chua co trong rowUpdate tao thi dua vao rowUpdate\r\n if (isObjectId && isUpdated < 0) {\r\n this.rowUpdate.tramBts.push(receivedEntry);\r\n } else { // nguoc lai tram bts dang sua chua duoc tao thi cap nhat lai tram bts trong rowAdd de them moi\r\n this.rowAdd.tramBts[indexRowAdd] = receivedEntry;\r\n }\r\n });\r\n break;\r\n case Type.TuyenCapNgam:\r\n fields = [\r\n { prop: \"MaTuyen\", name: \"Mã tuyến cáp\", type: \"text\", frozenLeft: true },\r\n { prop: \"TenTuyen\", name: \"Tên tuyến\", type: \"text\", frozenLeft: true },\r\n { prop: \"DiemDau\", name: \"Điểm đầu\", type: \"text\" },\r\n { prop: \"DiemCuoi\", name: \"Điểm cuối\", type: \"text\" },\r\n { prop: \"ChieuDaiThucTe\", name: \"Chiều dài thực tế\", type: \"text\" },\r\n { prop: \"ViTriTuyenCap\", name: \"Vị trí tuyến cáp\", type: \"text\" },\r\n { prop: \"KhoangCachSoVoiLe\", name: \"Khoảng cách so với lề\", type: \"text\" },\r\n { prop: \"DoSau\", name: \"Độ sâu\", type: \"text\" },\r\n { prop: \"SoLuongOngCap\", name: \"Số lượng ống cáp\", type: \"text\" },\r\n { prop: \"SoLuongOngDangDung\", name: \"Số lượng ống dẫn\", type: \"text\" },\r\n { prop: \"LoaiCap\", name: \"Loại cáp\", type: \"text\" },\r\n { prop: \"DungLuongCap\", name: \"Dung lượng cáp\", type: \"text\" },\r\n { prop: \"LoaiCongTrinh\", name: \"Loại công trình\", type: \"text\" },\r\n { prop: \"KhaNangDungChung\", name: \"Khả năng dùng chung\", type: \"text\" },\r\n ]\r\n modalRef = this.modalService.open(ModalEditComponent, { size: \"xl\" });\r\n // sau khi mo modal gan du lieu cho modal\r\n modalRef.componentInstance.data = row;\r\n modalRef.componentInstance.fields = fields;\r\n modalRef.componentInstance.isEdit = true;\r\n modalRef.componentInstance.service = this.tuyenCapNgamService;\r\n // su kien luu\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n // cap nhap rowAll ung voi tram bts hien thi tren table detail\r\n indexRowAll = this.rowAll.tuyenCapNgam.indexOf(row); // index cap nhap row hien thi table detail\r\n indexRowAdd = this.rowAdd.tuyenCapNgam.indexOf(row);\r\n const isObjectId = this.rowAll.tuyenCapNgam[indexRowAll].attributes.OBJECTID;\r\n const isUpdated = this.rowUpdate.tuyenCapNgam.findIndex(m => m.attributes.OBJECTID === receivedEntry.attributes.OBJECTID);\r\n this.rowAll.tuyenCapNgam[index] = receivedEntry;\r\n // neu tram bts dang sua da duoc va chua co trong rowUpdate tao thi dua vao rowUpdate\r\n if (isObjectId && isUpdated < 0) {\r\n this.rowUpdate.tuyenCapNgam.push(receivedEntry);\r\n } else { // nguoc lai tram bts dang sua chua duoc tao thi cap nhat lai tram bts trong rowAdd de them moi\r\n this.rowAdd.tuyenCapNgam[indexRowAdd] = receivedEntry;\r\n }\r\n });\r\n break;\r\n case Type.TuyenCapNoi:\r\n fields = [\r\n { prop: \"MaTuyen\", name: \"Mã tuyến cáp\", type: \"text\", frozenLeft: true },\r\n { prop: \"TenTuyen\", name: \"Tên tuyến\", type: \"text\", frozenLeft: true },\r\n { prop: \"DiemDau\", name: \"Điểm đầu\", type: \"text\" },\r\n { prop: \"DiemCuoi\", name: \"Điểm cuối\", type: \"text\" },\r\n { prop: \"ChieuDaiThucTe\", name: \"Chiều dài thực tế\", type: \"text\" },\r\n { prop: \"ViTriTuyenCap\", name: \"Vị trí tuyến cáp\", type: \"text\" },\r\n { prop: \"KhoangCachSoVoiLe\", name: \"Khoảng cách so với lề\", type: \"text\" },\r\n { prop: \"DoSau\", name: \"Độ sâu\", type: \"text\" },\r\n { prop: \"SoLuongOngCap\", name: \"Số lượng ống cáp\", type: \"text\" },\r\n { prop: \"SoLuongOngDangDung\", name: \"Số lượng ống dẫn\", type: \"text\" },\r\n { prop: \"LoaiCap\", name: \"Loại cáp\", type: \"text\" },\r\n { prop: \"DungLuongCap\", name: \"Dung lượng cáp\", type: \"text\" },\r\n { prop: \"LoaiCongTrinh\", name: \"Loại công trình\", type: \"text\" },\r\n { prop: \"KhaNangDungChung\", name: \"Khả năng dùng chung\", type: \"text\" },\r\n ]\r\n modalRef = this.modalService.open(ModalEditComponent, { size: \"xl\" });\r\n // sau khi mo modal gan du lieu cho modal\r\n modalRef.componentInstance.data = row;\r\n modalRef.componentInstance.fields = fields;\r\n modalRef.componentInstance.isEdit = true;\r\n modalRef.componentInstance.service = this.tuyenCapNoiService;\r\n // su kien luu\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n // cap nhap rowAll ung voi tram bts hien thi tren table detail\r\n indexRowAll = this.rowAll.tuyenCapNoi.indexOf(row); // index cap nhap row hien thi table detail\r\n indexRowAdd = this.rowAdd.tuyenCapNoi.indexOf(row);\r\n const isObjectId = this.rowAll.tuyenCapNoi[indexRowAll].attributes.OBJECTID;\r\n const isUpdated = this.rowUpdate.tuyenCapNoi.findIndex(m => m.attributes.OBJECTID === receivedEntry.attributes.OBJECTID);\r\n this.rowAll.tuyenCapNoi[index] = receivedEntry;\r\n // neu tram bts dang sua da duoc va chua co trong rowUpdate tao thi dua vao rowUpdate\r\n if (isObjectId && isUpdated < 0) {\r\n this.rowUpdate.tuyenCapNoi.push(receivedEntry);\r\n } else { // nguoc lai tram bts dang sua chua duoc tao thi cap nhat lai tram bts trong rowAdd de them moi\r\n this.rowAdd.tuyenCapNoi[indexRowAdd] = receivedEntry;\r\n }\r\n });\r\n break;\r\n case Type.DiemDichVu:\r\n fields = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text', frozenLeft: true },\r\n { prop: 'TenDiem', name: 'Tên điểm', type: 'text', frozenLeft: true },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text' },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text' },\r\n { prop: 'DichVuCungCap', name: 'Dịch vụ cung cấp', type: 'text' },\r\n { prop: 'DichVuCungCapVT', name: 'Dịch vụ cung cấp viễn thông', type: 'text' },\r\n { prop: 'DichVuGTGTKhac', name: 'Dịch vụ GTGT khác', type: 'text' },\r\n { prop: 'SoDienThoai', name: 'Số điện thoại', type: 'text' },\r\n { prop: 'Địa_chỉ', name: 'Địa chỉ', type: 'text' },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', width: 150, isQuanHuyenTP: true, options: [] },\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', width: 150, isPhuongXa: true, options: [] },\r\n\r\n ]\r\n modalRef = this.modalService.open(ModalEditComponent, { size: \"xl\" });\r\n // sau khi mo modal gan du lieu cho modal\r\n modalRef.componentInstance.data = row;\r\n modalRef.componentInstance.fields = fields;\r\n modalRef.componentInstance.isEdit = true;\r\n modalRef.componentInstance.service = this.diemDichVuService;\r\n // su kien luu\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n // cap nhap rowAll ung voi tram bts hien thi tren table detail\r\n indexRowAll = this.rowAll.diemDichVu.indexOf(row); // index cap nhap row hien thi table detail\r\n indexRowAdd = this.rowAdd.diemDichVu.indexOf(row);\r\n const isObjectId = this.rowAll.diemDichVu[indexRowAll].attributes.OBJECTID;\r\n const isUpdated = this.rowUpdate.diemDichVu.findIndex(m => m.attributes.OBJECTID === receivedEntry.attributes.OBJECTID);\r\n this.rowAll.diemDichVu[index] = receivedEntry;\r\n // neu tram bts dang sua da duoc va chua co trong rowUpdate tao thi dua vao rowUpdate\r\n if (isObjectId && isUpdated < 0) {\r\n this.rowUpdate.diemDichVu.push(receivedEntry);\r\n } else { // nguoc lai tram bts dang sua chua duoc tao thi cap nhat lai tram bts trong rowAdd de them moi\r\n this.rowAdd.diemDichVu[indexRowAdd] = receivedEntry;\r\n }\r\n });\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n askCause() {\r\n const status = this.rowAll.tramBts.filter(f => f.attributes.TinhTrang === 1);\r\n if (status.length !== 0) {\r\n this.toastService.warning('Vui lòng kiểm tra trạm!');\r\n } else {\r\n const modal = this.modalService.open(ModalLyDoComponent, {\r\n centered: true\r\n });\r\n modal.componentInstance.idHoSo = this.idHoSo;\r\n modal.componentInstance.listTramBts = this.rowAll.tramBts;\r\n modal.result.then(res => {\r\n if (res === 'ok') {\r\n this.modal.close('ok');\r\n }\r\n }, (response) => { }\r\n )\r\n }\r\n }\r\n\r\n delete(row, object: 'tramBts' | 'tuyenCapNgam' | 'tuyenCapNoi' | 'diemDichVu') {\r\n try {\r\n const indexRowAll = this.rowAll[object].indexOf(row);\r\n const indexRowAdd = this.rowAdd[object].indexOf(row);\r\n const isObjectId = this.rowAll[object][indexRowAll] && this.rowAll[object][indexRowAll].attributes.OBJECTID;\r\n const deleted = this.rowAll[object].splice(indexRowAll, 1);\r\n if (isObjectId) { // neu có objectId thì đưa vào rowDelete\r\n this.rowDelete[object].push(deleted[0]);\r\n } else { // chưa có objectId nghĩa là thêm mới nhưng chưa được lưu thì xóa trong rowAdd\r\n this.rowAdd[object].splice(indexRowAdd, 1);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n\r\n }\r\n\r\n handleClickDelete(row) {\r\n let object: objectType;\r\n switch (this.activeId) {\r\n case Type.TramBts:\r\n object = 'tramBts';\r\n break;\r\n case Type.TuyenCapNgam:\r\n object = 'tuyenCapNgam';\r\n break;\r\n case Type.TuyenCapNoi:\r\n object = 'tuyenCapNoi';\r\n break;\r\n case Type.DiemDichVu:\r\n object = 'diemDichVu';\r\n break;\r\n default:\r\n return;\r\n }\r\n this.modalService.open(ModalConfirmComponent, { centered: true }).result.then((result) => {\r\n if (result === EventModal.OK) {\r\n this.delete(row, object);\r\n }\r\n }, (reason) => { });\r\n }\r\n\r\n async handleClickSaveHoSo() {\r\n if (!this.tenHoSo || !this.soCongVan) {\r\n this.toastService.warning('Vui lòng nhập thông tin hồ sơ!');\r\n return;\r\n }\r\n\r\n if (!this.rowAll.tramBts.length && !this.rowAll.tuyenCapNoi.length\r\n && !this.rowAll.tuyenCapNgam.length && !this.rowAll.diemDichVu.length) {\r\n this.toastService.warning('Vui lòng thêm chi tiết hồ sơ!');\r\n return;\r\n }\r\n const hoSo: HoSo = {\r\n IDDV: this.loginService.taiKhoan.IDDonVi,\r\n TGTao: this.thoiGianTao,\r\n TenHoSo: this.tenHoSo,\r\n SoCongVan: this.soCongVan + ''\r\n }\r\n\r\n // Luu thong tin chung ho so\r\n if (!this.idHoSo) {\r\n await this.apiService.post('odata/HoSoes', hoSo).then(res => {\r\n if (res.ID) {\r\n this.idHoSo = res.ID;\r\n this.modal.close('CREATE');\r\n }\r\n });\r\n } else {\r\n this.apiService.update(`odata/HoSoes(guid'${this.idHoSo}')`, hoSo).then(res => {\r\n this.modal.close('UPDATE');\r\n });\r\n }\r\n\r\n\r\n this.handleAdd();\r\n this.handleUpdate();\r\n this.handleDelete()\r\n }\r\n\r\n handleClickRow(row) {\r\n if (this.layer) {\r\n const query = this.layer.createQuery();\r\n query.outSpatialReference = this.view.spatialReference;\r\n query.returnGeometry = true;\r\n this.view.graphics.removeAll();\r\n if (row.attributes && row.attributes.OBJECTID) {\r\n query.where = `OBJECTID = ${row.attributes.OBJECTID}`;\r\n this.layer.queryFeatures(query).then(async ({ features }) => {\r\n const point = features[0].geometry as __esri.Point;\r\n const maTram = features[0].attributes.MaTram;\r\n this.view.goTo(features);\r\n\r\n this.view.extent = features[0].geometry.extent;\r\n if (this.highlight) {\r\n this.highlight.remove();\r\n }\r\n this.highlight = this.layerView.highlight(features);\r\n this.view.popup.open({\r\n features: features\r\n });\r\n\r\n const circle = new Circle({ // tạo 1 hình tròn trên bản đồ\r\n center: point, // tâm,\r\n radius: 1000, // bán kính\r\n radiusUnit: 'meters' // đơn vị\r\n });\r\n\r\n this.layer.queryFeatures({ // query tron đường kính của hình tròn\r\n geometry: circle, // hình\r\n returnGeometry: true,\r\n }).then(({ features }) => {\r\n const _features = features.filter(f => f.attributes.MaTram !== maTram);\r\n _features.forEach(f => {\r\n this.view.graphics.add(new Graphic({ // tô màu cho kết quả\r\n geometry: f.geometry, // điểm kết quả\r\n symbol: new SimpleMarkerSymbol({ // màu\r\n color: 'rgba(102, 16, 242, 0.4)',\r\n size: '24px',\r\n outline: new SimpleLineSymbol({\r\n color: 'yellow',\r\n width: 1.5\r\n })\r\n })\r\n }))\r\n })\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n whenLayerView(layerView) {\r\n this.layerView = layerView;\r\n }\r\n\r\n private handleAdd() {\r\n const promises = [];\r\n // tram bts\r\n this.rowAdd.tramBts.length && promises.push(this.tramBtsService.adds(this.rowAdd.tramBts as any).then(({ addResults }) => {\r\n if (addResults) {\r\n const promises = [];\r\n for (let i = 0; i < addResults.length; i++) {\r\n promises.push(this.apiService.post('odata/HoSo_TramBTS', {\r\n HoSo_ID: this.idHoSo,\r\n TramBTS_ID: addResults[i].objectId\r\n }));\r\n }\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n }));\r\n // tuyen cap ngam\r\n this.rowAdd.tuyenCapNgam.length && promises.push(this.tuyenCapNgamService.adds(this.rowAdd.tuyenCapNgam as any).then(({ addResults }) => {\r\n if (addResults) {\r\n const promises = [];\r\n for (let i = 0; i < addResults.length; i++) {\r\n promises.push(this.apiService.post('odata/HoSo_TuyenCapNgam', {\r\n HoSo_ID: this.idHoSo,\r\n TuyenCapNgam_ID: addResults[i].objectId\r\n }));\r\n }\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n }));\r\n // tuyen cap noi\r\n this.rowAdd.tuyenCapNoi.length && promises.push(this.tuyenCapNoiService.adds(this.rowAdd.tuyenCapNoi as any).then(({ addResults }) => {\r\n if (addResults) {\r\n const promises = [];\r\n for (let i = 0; i < addResults.length; i++) {\r\n promises.push(this.apiService.post('odata/HoSo_TuyenCapNoi', {\r\n HoSo_ID: this.idHoSo,\r\n TuyenCapNoi_ID: addResults[i].objectId\r\n }));\r\n }\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n }));\r\n // diem dich vu\r\n this.rowAdd.diemDichVu.length && promises.push(this.diemDichVuService.adds(this.rowAdd.diemDichVu as any).then(({ addResults }) => {\r\n if (addResults) {\r\n const promises = [];\r\n for (let i = 0; i < addResults.length; i++) {\r\n promises.push(this.apiService.post('odata/HoSo_DiemDichVu', {\r\n HoSo_ID: this.idHoSo,\r\n DiemDichVu_ID: addResults[i].objectId\r\n }));\r\n }\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n }));\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n\r\n private handleUpdate() {\r\n const promises = [];\r\n // tram bts\r\n this.rowUpdate.tramBts.length && promises.push(this.tramBtsService.updatesGeometry(this.rowUpdate.tramBts as any).then(({ updateResults }) => {\r\n if (updateResults) {\r\n console.log('update trạm bts thành công!');\r\n }\r\n }));\r\n // tuyen cap ngam\r\n this.rowUpdate.tuyenCapNgam.length && promises.push(this.tuyenCapNgamService.updatesGeometry(this.rowUpdate.tuyenCapNgam as any).then(({ updateResults }) => {\r\n if (updateResults) {\r\n console.log('update tuyến cáp ngầm thành công!');\r\n }\r\n }));\r\n // tuyen cap noi\r\n this.rowUpdate.tuyenCapNoi.length && promises.push(this.tuyenCapNoiService.updatesGeometry(this.rowUpdate.tuyenCapNoi as any).then(({ updateResults }) => {\r\n if (updateResults) {\r\n console.log('update tuyến cáp nổi thành công!');\r\n }\r\n }));\r\n // diem dich vu\r\n this.rowUpdate.diemDichVu.length && promises.push(this.diemDichVuService.updatesGeometry(this.rowUpdate.diemDichVu as any).then(({ updateResults }) => {\r\n if (updateResults) {\r\n console.log('update điểm dịch vụ thành công!');\r\n }\r\n }));\r\n promises.length && Promise.all(promises).then(res => { });\r\n }\r\n\r\n private handleDelete() {\r\n const promises = [];\r\n // tram bts\r\n\r\n if (this.rowDelete.tramBts.length) {\r\n const promisesHoSo = [];\r\n const promisesDoiTuong = [];\r\n for (let i = 0; i < this.rowDelete.tramBts.length; i++) {\r\n // promise xoa ho so tram bts\r\n\r\n this.apiService.delete(`odata/HoSo_TramBTS(guid'${this.rowDelete.tramBts[i].attributes.uid}')`).then(() => {\r\n this.tramBtsService.deletes(this.rowDelete.tramBts[i].attributes.OBJECTID).then(res => { })\r\n })\r\n\r\n // promise xoa doi tuong tram bts\r\n // promisesDoiTuong.push(this.tramBtsService.deletes(this.rowDelete.tramBts[i].attributes.OBJECTID))\r\n }\r\n // thực hiện xóa hồ sơ trạm bts\r\n // promisesHoSo.length && Promise.all(promisesHoSo).then(res => {\r\n // // sau đó xóa đối tượng trạm bts (khóa ngoại)\r\n // Promise.all(promisesDoiTuong).then(res => console.log(res));\r\n // });\r\n\r\n }\r\n // tuyen cap ngam\r\n if (this.rowDelete.tuyenCapNgam.length) {\r\n const promisesHoSo = [];\r\n const promisesDoiTuong = [];\r\n for (let i = 0; i < this.rowDelete.tuyenCapNgam.length; i++) {\r\n promisesHoSo.push(\r\n this.apiService.delete(`odata/HoSo_TramBTS(guid'${this.rowDelete.tuyenCapNgam[i].attributes.uid}')`)\r\n );\r\n promisesDoiTuong.push(this.tuyenCapNgamService.deletes(this.rowDelete.tuyenCapNgam[i].attributes.OBJECTID))\r\n }\r\n promisesHoSo.length && Promise.all(promisesHoSo).then(res => {\r\n Promise.all(promisesDoiTuong).then(res => { });\r\n });\r\n }\r\n\r\n // tuyen cap noi\r\n if (this.rowDelete.tuyenCapNoi.length) {\r\n const promisesHoSo = [];\r\n const promisesDoiTuong = [];\r\n for (let i = 0; i < this.rowDelete.tuyenCapNoi.length; i++) {\r\n promisesHoSo.push(\r\n this.apiService.delete(`odata/HoSo_TramBTS(guid'${this.rowDelete.tuyenCapNoi[i].attributes.uid}')`)\r\n );\r\n promisesDoiTuong.push(this.tuyenCapNoiService.deletes(this.rowDelete.tuyenCapNoi[i].attributes.OBJECTID))\r\n }\r\n promisesHoSo.length && Promise.all(promisesHoSo).then(res => {\r\n Promise.all(promisesDoiTuong).then(res => { });\r\n });\r\n }\r\n\r\n // diem dich vu\r\n if (this.rowDelete.diemDichVu.length) {\r\n const promisesHoSo = [];\r\n const promisesDoiTuong = [];\r\n for (let i = 0; i < this.rowDelete.diemDichVu.length; i++) {\r\n promisesHoSo.push(\r\n this.apiService.delete(`odata/HoSo_TramBTS(guid'${this.rowDelete.diemDichVu[i].attributes.uid}')`)\r\n );\r\n promisesDoiTuong.push(this.diemDichVuService.deletes(this.rowDelete.diemDichVu[i].attributes.OBJECTID))\r\n }\r\n promisesHoSo.length && Promise.all(promisesHoSo).then(res => {\r\n Promise.all(promisesDoiTuong).then(res => { });\r\n });\r\n }\r\n // promises.length && Promise.all(promises).then(res => console.log(res));\r\n }\r\n\r\n handleCheck(row) {\r\n if (row) {\r\n this.apiService.update(`odata/HoSo_TramBTS(guid'${row.uid}')`, {\r\n TrangThai: 2,\r\n NgayCapNhat: this.datePipe.transform(new Date(), 'yyyy-MM-dd')\r\n }).then(() => {\r\n this.tramBtsService.update({ OBJECTID: row.OBJECTID, TinhTrang: 2 })\r\n .then(res => {\r\n if (res.updateResults) {\r\n this.toastService.success('Đã chấp thuận vị trí!');\r\n this.loadChiTietHoSo();\r\n }\r\n })\r\n });\r\n }\r\n }\r\n\r\n handleClickAsk(event) {\r\n const { row, lyDo } = event;\r\n this.apiService.update(`odata/HoSo_TramBTS(guid'${row.uid}')`, {\r\n TrangThai: 4,\r\n LyDo: lyDo,\r\n NgayCapNhat: this.datePipe.transform(new Date(), 'yyyy-MM-dd')\r\n }).then(res2 => {\r\n this.tramBtsService.update({ OBJECTID: row.OBJECTID, TinhTrang: 4 })\r\n .then(res => {\r\n if (res.updateResults) {\r\n this.toastService.success('Từ chối thành công!');\r\n this.loadChiTietHoSo();\r\n }\r\n });\r\n })\r\n }\r\n\r\n\r\n openDlgKySo() {\r\n const modalref = this.modalService.open(ModalViewPdfComponent, {\r\n size: 'xl',\r\n });\r\n modalref.componentInstance.idHS = this.idHoSo;\r\n }\r\n\r\n onChangeNav(event) {\r\n this.activeId = event.nextId;\r\n switch (this.activeId) {\r\n case Type.TramBts:\r\n this.colsTblDetail = colsTramBts;\r\n this.objectNameNavigated = 'tramBts';\r\n this.layerProperties = this.layerService.tramBtsLayer;\r\n break;\r\n case Type.TuyenCapNgam:\r\n this.colsTblDetail = colsTuyenCap;\r\n this.objectNameNavigated = 'tuyenCapNgam';\r\n this.layerProperties = this.layerService.tuyenCapNgamLayer;\r\n break;\r\n case Type.TuyenCapNoi:\r\n this.colsTblDetail = colsTuyenCap;\r\n this.objectNameNavigated = 'tuyenCapNoi';\r\n this.layerProperties = this.layerService.tuyenCapNoiLayer;\r\n break;\r\n case Type.DiemDichVu:\r\n this.colsTblDetail = colsDiemDichVu;\r\n this.objectNameNavigated = 'diemDichVu';\r\n this.layerProperties = this.layerService.diemDichVuLayer;\r\n break;\r\n default:\r\n console.error('Không xác định!');\r\n }\r\n }\r\n\r\n loadChiTietHoSo() {\r\n const promises = [];\r\n this.rowAll.tramBts = [];\r\n this.loading = true;\r\n promises.push(this.apiService.get(`odata/HoSo_TramBTS?$filter=HoSo_ID eq guid'${this.idHoSo}'&$expand=TRAMBT`));\r\n promises.push(this.apiService.get(`odata/HoSo_TuyenCapNgam?$filter=HoSo_ID eq guid'${this.idHoSo}'&$expand=TUYENCAPNGAM`));\r\n promises.push(this.apiService.get(`odata/HoSo_TuyenCapNoi?$filter=HoSo_ID eq guid'${this.idHoSo}'&$expand=TUYENCAPNOI`));\r\n promises.push(this.apiService.get(`odata/HoSo_DiemDichVu?$filter=HoSo_ID eq guid'${this.idHoSo}'&$expand=DIEMDICHVU`));\r\n Promise.all(promises).then(([tramBts, tuyenCapNgam, tuyenCapNoi, diemDichVu]) => {\r\n if (tramBts) {\r\n tramBts.value.forEach(f => {\r\n this.rowAll.tramBts.push({ attributes: { ...f.TRAMBT, uid: f.ID, lyDo: f.LyDo } })\r\n });\r\n }\r\n if (tuyenCapNgam) {\r\n tuyenCapNgam.value.forEach(f => {\r\n this.rowAll.tuyenCapNgam.push({ attributes: { ...f.TUYENCAPNGAM, uid: f.ID } })\r\n });\r\n }\r\n if (tuyenCapNoi) {\r\n tuyenCapNoi.value.forEach(f => {\r\n this.rowAll.tuyenCapNoi.push({ attributes: { ...f.TUYENCAPNOI, uid: f.ID } })\r\n });\r\n }\r\n if (diemDichVu) {\r\n diemDichVu.value.forEach(f => {\r\n this.rowAll.diemDichVu.push({ attributes: { ...f.DIEMDICHVU, uid: f.ID } })\r\n });\r\n }\r\n this.loading = false;\r\n })\r\n }\r\n\r\n guiHoSo() {\r\n this.apiService.post(`HoSoes/GuiHoSo`, {\r\n id: this.idHoSo,\r\n status: 2,\r\n ma_tai_khoan: this.loginService.taiKhoan.MaTaiKhoan,\r\n })\r\n .then(res => {\r\n this.modal.close('ok')\r\n })\r\n }\r\n\r\n pheDuyetHoSo() {\r\n const status = this.rowAll.tramBts.filter(f => f.attributes.TinhTrang === 1);\r\n if (status.length !== 0) {\r\n this.toastService.warning('Vui lòng kiểm tra trạm!');\r\n } else {\r\n const modalref = this.modalService.open(ModalApprovedComponent, {\r\n centered: true,\r\n size: 'lg'\r\n });\r\n modalref.componentInstance.listTramBts = this.rowAll.tramBts;\r\n modalref.componentInstance.idHoSo = this.idHoSo;\r\n modalref.result.then(res => {\r\n if (res === 'ok') {\r\n this.modal.close('ok');\r\n }\r\n }, (response) => { }\r\n )\r\n }\r\n }\r\n\r\n openModalViewPdf() {\r\n this.modalService.open(ModalFilePdfComponent, {\r\n size: 'xl'\r\n });\r\n }\r\n\r\n getFileAttachment(idHS: string) {\r\n if (idHS) {\r\n this.apiService.get(`QuanLyVanBan/DanhSach?id_ho_so=${idHS}`)\r\n .then(res => {\r\n if (res) {\r\n for (const file of res) {\r\n this.arrayFiles.push({\r\n id: file.ID,\r\n name: file.Subject,\r\n url: file.LinkFile\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n deleteFileAttachment(id: string) {\r\n const modal = this.modalService.open(ModalConfirmComponent, {\r\n centered: true\r\n })\r\n modal.result.then(res => {\r\n if (res === EventModal.OK) {\r\n this.apiService.post(`QuanLyVanBan/XoaVanBan?ID=${id}`)\r\n .then(res => {\r\n this.arrayFiles = [];\r\n this.toastService.success('Xóa thành công!');\r\n this.getFileAttachment(this.idHoSo);\r\n })\r\n }\r\n }, (response) => { });\r\n }\r\n\r\n getFileKySo() {\r\n this.apiService.get(`odata/HoSoes(guid'${this.idHoSo}')?$expand=VanBan`)\r\n .then(res => {\r\n if (res.VanBan) {\r\n this.fileKSName = res.VanBan.Subject;\r\n this.fileKSUrl = environment.apiUrl + res.VanBan.LinkFile;\r\n }\r\n })\r\n }\r\n\r\n fileChange(inputElement: HTMLInputElement) {\r\n if (inputElement.files[0]) {\r\n const formData = new FormData();\r\n const modal = this.modalService.open(ModalRenameComponent, {\r\n centered: true\r\n });\r\n modal.componentInstance.name = inputElement.files[0].name.split('.')[0];\r\n modal.result.then(response => {\r\n const name = response;\r\n formData.append('target_id', this.idHoSo);\r\n formData.append('target_module', 'HoSo');\r\n formData.append('ma_tai_khoan', this.loginService.taiKhoan.MaTaiKhoan);\r\n formData.append('Subject', name);\r\n formData.append('file', inputElement.files[0]);\r\n this.apiService.post('QuanLyVanBan/Attachment', formData, true)\r\n .then(res => {\r\n if (res) {\r\n this.apiService.get(`odata/VanBans`, true)\r\n .then(response => {\r\n const vanBan = response.filter(f => f.LinkFile === res);\r\n this.arrayFiles.push({\r\n id: vanBan[0].ID,\r\n name: name,\r\n url: res\r\n });\r\n });\r\n this.toastService.success('Đính kèm thành công!');\r\n }\r\n })\r\n }, (response1) => { })\r\n }\r\n }\r\n\r\n fileChangeKySo(inputElement: HTMLInputElement) {\r\n if (inputElement.files[0]) {\r\n const formData = new FormData();\r\n const modal = this.modalService.open(ModalRenameComponent, {\r\n centered: true\r\n });\r\n modal.componentInstance.name = inputElement.files[0].name.split('.')[0];\r\n modal.result.then(response => {\r\n const name = response;\r\n formData.append('id_ho_so', this.idHoSo);\r\n formData.append('ma_tai_khoan', this.loginService.taiKhoan.MaTaiKhoan);\r\n formData.append('file', inputElement.files[0]);\r\n this.apiService.post('HoSoes/KySo', formData, true)\r\n .then(res => {\r\n if (res) {\r\n console.log(res);\r\n this.trangThai = TinhTrangHoSo.HoSoDaKySo;\r\n this.getFileKySo();\r\n this.toastService.success('Đính kèm file ký số thành công!');\r\n }\r\n })\r\n }, (response1) => { })\r\n }\r\n\r\n }\r\n\r\n downloadFilePDF(url: string) {\r\n return environment.apiUrl + url;\r\n }\r\n\r\n mapLoaded(view: __esri.MapView) {\r\n this.view = view;\r\n if (this.activeId === Type.TramBts) {\r\n view.map.add(this.layerService.addTramBTSFeatureLayer());\r\n this.layer = this.layerService.layer;\r\n } else {\r\n this.layer = new FeatureLayer(this.layerProperties);\r\n this.layer.minScale = 0;\r\n this.layer.maxScale = 0;\r\n view.map.add(this.layer);\r\n }\r\n\r\n const popup = view.popup; // popup\r\n popup.dockOptions = {\r\n position: 'top-left',\r\n buttonEnabled: true,\r\n breakpoint: {\r\n height: 600\r\n }\r\n }\r\n\r\n view.on('click', (evt) => {\r\n if (this.highlight) {\r\n this.highlight.remove();\r\n }\r\n })\r\n }\r\n\r\n downloadAppendix(id: string) {\r\n return environment.apiUrl + `/HoSoes/TaiPhuLuc?id=${id}`;\r\n }\r\n\r\n}\r\n","<app-modal-template title=\"Thêm Điểm dịch vụ\">\r\n <div header></div>\r\n <div body>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-form #form [fields]=\"fields\" (onSubmit)=\"handleAdd($event)\" [service]=\"service\"\r\n (onKeyup)=\"handleKeyup($event)\"></app-form>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map (mapLoaded)=\"mapLoaded($event)\" #miniMap (drawAllDoanhNghiep)=\"drawAgian($event)\"\r\n (closeSideNav)=\"closeSideNave($event)\"></app-mini-map>\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button id=\"distance\" class=\"esri-widget--button esri-interactive\" [ngClass]=\"'esri-icon-radio-checked'\"\r\n title=\"Vẽ\" (click)=\"enableCreatePoint()\"></button>\r\n <button id=\"clear\" class=\"esri-widget--button esri-interactive esri-icon-trash\" title=\"Xóa\"\r\n (click)=\"removeGraphic()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div footer></div>\r\n</app-modal-template>","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { AddComponent } from 'src/app/manager/diem-dich-vu/add/add.component';\r\nimport { DiemDichVuService } from 'src/app/manager/shared/services/diem-dich-vu.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DiemDichVuRows } from 'src/app/manager/shared/models/ho-so.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { AttachmentService } from 'src/app/manager/shared/services/attachment.service';\r\n\r\n@Component({\r\n selector: 'app-modal-add-diemdv',\r\n templateUrl: './modal-add-diemdv.component.html',\r\n styleUrls: ['./modal-add-diemdv.component.scss']\r\n})\r\nexport class ModalAddDiemdvComponent extends AddComponent {\r\n @Output() passEntry = new EventEmitter<DiemDichVuRows>();\r\n data: DiemDichVuRows;\r\n constructor(\r\n public modal: NgbActiveModal,\r\n _service: DiemDichVuService,\r\n loginService: LoginService,\r\n toastService: ToastService,\r\n layerService: LayerService,\r\n hanhChinhService: HanhChinhService,\r\n attachmentService: AttachmentService\r\n ) {\r\n super(_service, loginService, toastService, layerService, hanhChinhService, attachmentService);\r\n }\r\n\r\n handleAdd(event) {\r\n const diemDichVu = event as DiemDichVuModel;\r\n diemDichVu.TenDoanhNghiep = this.maDoanhNghiep;\r\n this.hanhChinhService.getLocationInfo(this.geometry).then(locationInfo => {\r\n if(locationInfo) {\r\n for (let i in locationInfo) {\r\n diemDichVu[i] = locationInfo[i];\r\n }\r\n }\r\n this.passEntry.emit({attributes: diemDichVu, geometry: this.geometry});\r\n this.modal.dismiss('OK')\r\n });\r\n }\r\n\r\n}\r\n","<app-modal-template title=\"Thêm Tuyến cáp ngầm\">\r\n <div header></div>\r\n <div body>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-form #form [fields]=\"fields\" [service]=\"service\" (onSubmit)=\"handleAdd($event)\"></app-form>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map #miniMap (mapLoaded)=\"mapLoaded($event)\"\r\n (closeSideNav)=\"closeSideNav($event)\"></app-mini-map>\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button id=\"distance\" class=\"esri-widget--button esri-interactive esri-icon-polyline\"\r\n title=\"Distance Measurement Tool\" [class.active]=\"_active\"\r\n (click)=\"enableCreateLine()\"></button>\r\n <button id=\"clear\" class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\" (click)=\"miniMap.clearGraphic()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div footer></div>\r\n</app-modal-template>","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { TuyenCapNgamService } from 'src/app/manager/shared/services/tuyen-cap-ngam.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AddComponent } from 'src/app/manager/tuyen-cap-ngam/add/add.component';\r\nimport { TuyenCapRows, DiemDichVuRows } from 'src/app/manager/shared/models/ho-so.model';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\n\r\n@Component({\r\n selector: 'app-modal-add-tcngam',\r\n templateUrl: './modal-add-tcngam.component.html',\r\n styleUrls: ['./modal-add-tcngam.component.scss']\r\n})\r\nexport class ModalAddTcngamComponent extends AddComponent {\r\n @Output() passEntry = new EventEmitter<TuyenCapRows>();\r\n data: TuyenCapRows;\r\n constructor(\r\n public modal: NgbActiveModal,\r\n _service: TuyenCapNgamService,\r\n toastService: ToastService,\r\n layerService: LayerService,\r\n loginService: LoginService\r\n ) {\r\n super(_service, toastService, layerService, loginService);\r\n }\r\n\r\n handleAdd(event) {\r\n const tuyenCapNgam = event as TuyenCapNgamModel;\r\n tuyenCapNgam.TenDoanhNghiep = this.maDoanhNghiep;\r\n this.passEntry.emit({attributes: tuyenCapNgam, geometry: this.polyline});\r\n this.modal.dismiss('OK')\r\n }\r\n}\r\n","<app-modal-template title=\"Thêm Tuyến cáp nổi\">\r\n <div header></div>\r\n <div body>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-form #form [fields]=\"fields\" [service]=\"service\" (onSubmit)=\"handleAdd($event)\"></app-form>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map #miniMap (mapLoaded)=\"mapLoaded($event)\"\r\n (closeSideNav)=\"closeSideNav($event)\"></app-mini-map>\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button id=\"distance\" class=\"esri-widget--button esri-interactive esri-icon-polyline\"\r\n title=\"Distance Measurement Tool\" (click)=\"enableCreateLine()\"></button>\r\n <button id=\"clear\" class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\" (click)=\"miniMap.clearGraphic()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div footer></div>\r\n</app-modal-template>","import { Component, Output, EventEmitter } from '@angular/core';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport { TuyenCapNoiService } from 'src/app/manager/shared/services/tuyen-cap-noi.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AddComponent } from 'src/app/manager/tuyen-cap-ngam/add/add.component';\r\nimport { TuyenCapRows } from 'src/app/manager/shared/models/ho-so.model';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\n\r\n@Component({\r\n selector: 'app-modal-add-tcnoi',\r\n templateUrl: './modal-add-tcnoi.component.html',\r\n styleUrls: ['./modal-add-tcnoi.component.scss']\r\n})\r\nexport class ModalAddTcnoiComponent extends AddComponent {\r\n @Output() passEntry = new EventEmitter<TuyenCapRows>();\r\n data: TuyenCapRows;\r\n constructor(\r\n public modal: NgbActiveModal,\r\n _service: TuyenCapNoiService,\r\n toastService: ToastService,\r\n layerService: LayerService,\r\n loginService: LoginService,\r\n ) {\r\n super(_service, toastService, layerService, loginService,);\r\n }\r\n\r\n handleAdd(event) {\r\n const tuyenCapNoi = event as TuyenCapNgamModel;\r\n tuyenCapNoi.TenDoanhNghiep = this.maDoanhNghiep;\r\n this.passEntry.emit({attributes: tuyenCapNoi, geometry: this.polyline});\r\n this.modal.dismiss('OK')\r\n }\r\n}\r\n","<app-modal-template title=\"Thêm Trạm BTS\">\r\n <div header></div>\r\n <div body>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-form #form [service]=\"service\" [fields]=\"fields\" (onSubmit)=\"handleAdd($event)\"\r\n (onKeyup)=\"handleKeyup($event)\"></app-form>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <!-- map -->\r\n <app-mini-map #miniMap (mapLoaded)=\"mapLoaded($event)\"\r\n (closeSideNav)=\"closeSideNav($event)\">\r\n </app-mini-map>\r\n\r\n <!-- toolbar -->\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button id=\"distance\" class=\"esri-widget--button esri-interactive\" [ngClass]=\"'esri-icon-radio-checked'\"\r\n title=\"Vẽ\" [class.active]=\"active\" (click)=\"enableCreatePoint()\"></button>\r\n <button id=\"clear\" class=\"esri-widget--button esri-interactive esri-icon-trash\" title=\"Xóa\"\r\n (click)=\"removeGraphic()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div footer></div>\r\n</app-modal-template>\r\n","import { Component, Output, EventEmitter } from '@angular/core';\r\nimport { AddComponent } from 'src/app/manager/tram-bts/add/add.component';\r\nimport { TramBtsService } from 'src/app/manager/shared/services/tram-bts.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { BtsAttachmentService } from 'src/app/manager/shared/services/bts-attachment.service';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormFields } from 'src/app/manager/shared/components/form/form.component';\r\nimport { TramBtsRows } from 'src/app/manager/shared/models/ho-so.model';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\n\r\n@Component({\r\n selector: 'app-modal-add-trambts',\r\n templateUrl: './modal-add-trambts.component.html',\r\n styleUrls: ['./modal-add-trambts.component.scss']\r\n})\r\nexport class ModalAddTrambtsComponent extends AddComponent {\r\n @Output() passEntry = new EventEmitter<TramBtsRows>();\r\n fields: FormFields[] = [\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text', frozenLeft: true, width: 150, require: true, placeholder: 'Mã trạm' },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', frozenLeft: true, width: 150, require: true, placeholder: 'Tên trạm' },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', width: 150, require: true, placeholder: 'Tọa độ X (Có thể chọn 1 điểm trên bản đồ)', },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', width: 150, require: true, placeholder: 'Tọa độ Y (Có thể chọn 1 điểm trên bản đồ)' },\r\n { prop: 'DiaChi', name: 'Địa chỉ', type: 'text', width: 550, placeholder: 'Địa chỉ' },\r\n { prop: 'ChuSoHuuDat', name: 'Chủ sỡ hữu đất', type: 'text', width: 250, placeholder: 'Chủ sở hữu đất' },\r\n { prop: 'LoaiAngTen', name: 'Loại ăng ten', type: 'select', width: 150, placeholder: 'Loại ăng ten' },\r\n { prop: 'LoaiTram', name: 'Loại trạm', type: 'select', width: 150, placeholder: 'Loại trạm' },\r\n { prop: 'DoCaoTram', name: 'Độ cao trạm', type: 'text', width: 150, placeholder: 'Độ cao trạm' },\r\n { prop: 'DoCaoTang', name: 'Độ cao tầng', type: 'text', width: 150, placeholder: 'Độ cao tầng' },\r\n { prop: 'CongSuat', name: 'Công suất', type: 'text', width: 150, placeholder: 'Công xuất' },\r\n { prop: 'GocNgan', name: 'Số lượng ăng ten phát', type: 'text', width: 150, placeholder: 'Số lượng ăng ten phát' },\r\n { prop: 'ThietBiLapDat', name: 'Thiết bị lắp đặt', type: 'text', width: 150, placeholder: 'Thiết bị lắp đặt' },\r\n { prop: 'NguoiCungCapThongTin', name: 'Người cung cấp thông tin', type: 'text', width: 150, placeholder: 'Người cung cấp thông tin' },\r\n { prop: 'GhiChu', name: 'Ghi chú', type: 'text', width: 250, placeholder: 'Ghi chú' }\r\n ];\r\n data: TramBtsRows;\r\n constructor (\r\n public modal: NgbActiveModal,\r\n _service: TramBtsService,\r\n toastService: ToastService,\r\n attachmentService: BtsAttachmentService,\r\n layerService: LayerService,\r\n loginService: LoginService,\r\n hanhChinhService: HanhChinhService\r\n ) {\r\n super(_service, toastService, attachmentService, layerService, loginService, hanhChinhService);\r\n }\r\n\r\n handleAdd(event) {\r\n const tramBts = event as TramBTSModel;\r\n tramBts.TenDoanhNghiep = this.maDoanhNghiep;\r\n this.hanhChinhService.getLocationInfo(this.geometry).then(locationInfo => {\r\n if(locationInfo) {\r\n for (let i in locationInfo) {\r\n tramBts[i] = locationInfo[i];\r\n }\r\n }\r\n\r\n this.passEntry.emit({attributes: tramBts, geometry: this.geometry});\r\n this.modal.dismiss('OK')\r\n });\r\n \r\n }\r\n\r\n}\r\n","<app-modal-template [title]=\"title\" [isAction]=\"false\">\r\n <div body class=\"row\">\r\n <div class=\"col-6 content\">\r\n <fieldset class=\"scheduler-border\">\r\n <legend class=\"scheduler-border\">Nội dung phúc đáp</legend>\r\n <textarea rows=\"4\" [(ngModel)]=\"content\" cols=\"20\" class=\"form-control form-control-lg\"\r\n placeholder=\"Nhập nội dung phúc đáp\"></textarea>\r\n </fieldset>\r\n </div>\r\n <div class=\"col-6 attach\">\r\n <fieldset class=\"scheduler-border\">\r\n <legend class=\"scheduler-border\"></legend>\r\n <div class=\"files-attach\">\r\n <input type=\"file\" name=\"file\" #fileEl hidden (change)=\"fileChange(fileEl)\" accept=\"application/pdf\" />\r\n <app-button btnClass=\"btn-primary mr-1\" icon=\"paperclip\" (click)=\"fileEl.click()\">Đính kèm</app-button>\r\n </div>\r\n <div class=\"list-files\">\r\n <div class=\" file row mb-2 mr-2\" *ngFor=\"let file of arrayFiles\">\r\n <a class=\"p-2 shadow-sm bg-white rounded text-darkp-2 shadow-sm bg-white rounded text-dark\"\r\n target=\"_blank\">\r\n <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"deleteFileAttach(file)\" plac>x</a>\r\n <div class=\"d-flex h-100\">\r\n <i class=\"fas fa-file-pdf\" style=\" font-size: 25px; color: red;\"></i>\r\n <span class=\"file-name\">{{file.name}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-success\" icon=\"check\" (click)=\"onSave()\">Phê duyệt</app-button>\r\n <app-button btnClass=\"btn-secondary\" icon=\"close\" (click)=\"onClose()\">Hủy</app-button>\r\n </div>\r\n</app-modal-template>","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService } from 'src/app/manager/shared/services/api.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ModalRenameComponent } from '../modal-rename/modal-rename.component';\r\nimport { TramBtsService } from 'src/app/manager/shared/services/tram-bts.service';\r\nimport { IDataService } from 'src/app/manager/shared/services/IDataService';\r\nimport { NotifyService } from 'src/app/shared/services/notify.service';\r\n\r\n@Component({\r\n selector: 'app-modal-approved',\r\n templateUrl: './modal-approved.component.html',\r\n styleUrls: ['./modal-approved.component.scss']\r\n})\r\nexport class ModalApprovedComponent implements OnInit {\r\n title = 'Phúc đáp hồ sơ';\r\n content: string;\r\n idHoSo: string;\r\n arrayFiles: Array<{ name: string }> = [];\r\n files: any;\r\n name: string;\r\n listTramBts = [];\r\n objectId: number;\r\n service: IDataService;\r\n constructor(\r\n private modal: NgbActiveModal,\r\n private modalService: NgbModal,\r\n private apiService: ApiService,\r\n private toastService: ToastService,\r\n private loginService: LoginService,\r\n private tramBtsService: TramBtsService,\r\n private notifyService: NotifyService\r\n ) { }\r\n\r\n ngOnInit(): void { \r\n }\r\n\r\n onClose() {\r\n this.modal.dismiss();\r\n }\r\n\r\n onSave() {\r\n if (!this.content || this.arrayFiles.length === 0) {\r\n this.toastService.warning('Vui lòng nhập nội dung phúc đáp và đính kèm văn bản pháp lý!');\r\n } else {\r\n const formData = new FormData();\r\n formData.append('target_id', this.idHoSo);\r\n formData.append('target_module', 'HoSo');\r\n formData.append('ma_tai_khoan', this.loginService.taiKhoan.MaTaiKhoan);\r\n formData.append('Subject', this.name);\r\n formData.append('file', this.files);\r\n this.apiService.post('QuanLyVanBan/Attachment', formData, true)\r\n .then(res => {\r\n if (res) {\r\n this.apiService.post(`HoSoes/DuyetHoSo`, {\r\n id: this.idHoSo,\r\n status: 4,\r\n ma_tai_khoan: this.loginService.taiKhoan.MaTaiKhoan,\r\n phuc_dap: this.content\r\n }).then(res => {\r\n this.notifyService.countHsChoPheDuyet();\r\n this.modal.close('ok');\r\n })\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n deleteFileAttach(file) {\r\n const delFile = this.arrayFiles.indexOf(file);\r\n this.arrayFiles.splice(delFile, 1);\r\n this.toastService.success('Xóa thành công!');\r\n }\r\n\r\n fileChange(inputElement: HTMLInputElement) {\r\n if (inputElement.files[0]) {\r\n this.files = inputElement.files[0];\r\n const modal = this.modalService.open(ModalRenameComponent, {\r\n centered: true\r\n });\r\n modal.componentInstance.name = inputElement.files[0].name.split('.')[0];\r\n modal.result.then(response => {\r\n this.name = response;\r\n this.arrayFiles.push({\r\n name: this.name,\r\n });\r\n this.toastService.success('Đính kèm thành công!');\r\n }, (res) => {})\r\n }\r\n }\r\n\r\n\r\n downloadFilePDF(url: string) {\r\n return environment.apiUrl + url;\r\n }\r\n\r\n}\r\n","<app-modal-template header=\"Chi tiết hồ sơ\">\r\n\r\n</app-modal-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal-details',\r\n templateUrl: './modal-details.component.html',\r\n styleUrls: ['./modal-details.component.scss']\r\n})\r\nexport class ModalDetailsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<app-modal-template title=\"Thông tin chi tiết\">\r\n <div body>\r\n <div class=\"row\">\r\n <div class=\"col-6\" *ngFor=\"let field of fields\">\r\n <div class=\"form-group row\">\r\n <label [for]=\"field.prop\" class=\"col-sm-4 col-form-label-sm font-weight-lighter text-right\">{{\r\n field.name\r\n }}:</label>\r\n <div class=\"col-sm-8\">\r\n <div *ngIf=\"isEdit; else noneEdit\">\r\n <input\r\n [type]=\"field.type\"\r\n [attr.name]=\"field.prop\"\r\n [(ngModel)]=\"data.attributes[field.prop]\"\r\n class=\"form-control form-control-sm\"\r\n [placeholder]=\"field.name\"\r\n *ngIf=\"(field.type === 'text' || field.type === 'number')\"\r\n [disabled]=\"field.disable\"\r\n />\r\n \r\n <select class=\"form-control form-control-sm\" \r\n [ngModel]=\"data.attributes[field.prop] ? data.attributes[field.prop] : ''\" (ngModelChange)=\"data.attributes[field.prop]=$event\" \r\n *ngIf=\"field.type === 'select' && field.prop !== 'TenDoanhNghiep'\">\r\n <option value=\"\">Chọn...</option>\r\n <option\r\n *ngFor=\"let option of field.options\"\r\n [value]=\"option.code\"\r\n [selected]=\"data?.attributes[field.prop] === option.code\"\r\n >{{ option.name }}</option\r\n >\r\n </select>\r\n </div>\r\n <ng-template #noneEdit>\r\n \r\n {{\r\n field.type === \"select\"\r\n ? getNameDomain(data.attributes[field.prop], field)\r\n : field.type === \"date\"\r\n ? (data.attributes[field.prop] | date: \"dd/MM/yyyy\")\r\n : data.attributes[field.prop]\r\n }}\r\n \r\n </ng-template>\r\n </div>\r\n \r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-outline-primary\" icon=\"save\" (click)=\"pass(data)\" *ngIf=\"isEdit\"> Lưu</app-button>\r\n <app-button btnClass=\"btn-outline-danger\" icon=\"close\" (click)=\"modal.dismiss('CLOSE')\"> Đóng</app-button>\r\n </div>\r\n</app-modal-template>\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { FormFields } from 'src/app/manager/shared/components/form/form.component';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { IDataService } from 'src/app/manager/shared/services/IDataService';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\n\r\n@Component({\r\n selector: 'app-modal-edit',\r\n templateUrl: './modal-edit.component.html',\r\n styleUrls: ['./modal-edit.component.scss']\r\n})\r\nexport class ModalEditComponent implements OnInit, OnChanges {\r\n @Output() passEntry = new EventEmitter();\r\n fields: FormFields[] = [];\r\n data: any;\r\n service: IDataService;\r\n isEdit = false;\r\n protected dataEdited = {};\r\n\r\n \r\n\r\n constructor(public modal: NgbActiveModal, private hanhChinhService: HanhChinhService) { }\r\n\r\n // ngOnChanges(changes: SimpleChange) {\r\n // this.data = changes.currentValue.\r\n // }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // this.data = {...changes.currentValue.data} \r\n }\r\n\r\n pass(data) {\r\n this.modal.dismiss('SAVE');\r\n this.passEntry.emit(data);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.service.loaded$.subscribe(loaded => {\r\n if(loaded) {\r\n this.fields = this.fields.map(m => {\r\n if(m.type === 'select') {\r\n if(m.isQuanHuyenTP) {\r\n this.hanhChinhService.getAllDistrict().then(res => m.options = res);\r\n } else if(m.isPhuongXa) {\r\n this.hanhChinhService.getAllWard().then(res => m.options = res);\r\n } else {\r\n m.options = (this.service.getField(m.prop).domain as __esri.CodedValueDomain).codedValues;\r\n }\r\n }\r\n return m;\r\n })\r\n }\r\n });\r\n }\r\n\r\n getNameDomain(value, column) {\r\n const val = column.options.find(m => m.code === value);\r\n return val && val.name || \"\";\r\n }\r\n\r\n}\r\n","<!-- <div class=\"card border-light mb-3\">\r\n <div class=\"card-header\">\r\n <h4>Lý do</h4>\r\n </div>\r\n <div class=\"card-body\">\r\n <textarea rows=\"5\" cols=\"20\" class=\"form-control form-control-lg\" placeholder=\"Nhập lý do từ chối\"></textarea>\r\n </div>\r\n <div class=\"footer\">\r\n <button type=\"button\" class=\"btn btn-success\">Lưu</button>\r\n <button type=\"button\" class=\"btn btn-success\">Lưu</button>\r\n </div>\r\n</div> -->\r\n<app-modal-template [title]=\"title\" [isAction]=\"false\">\r\n <div body>\r\n <textarea rows=\"5\" [(ngModel)]=\"lyDo\" cols=\"20\" class=\"form-control form-control-lg\" placeholder=\"Nhập lý do từ chối\"></textarea>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-danger\" icon=\"save\" (click)=\"onSave()\">Lưu</app-button>\r\n <app-button btnClass=\"btn-secondary\" icon=\"close\" (click)=\"onClose()\">Hủy</app-button>\r\n </div>\r\n</app-modal-template>","import { Component, OnInit } from '@angular/core';\r\nimport { ApiService } from 'src/app/manager/shared/services/api.service';\r\nimport { HoSo } from 'src/app/manager/shared/models/ho-so.model';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { TramBtsService } from 'src/app/manager/shared/services/tram-bts.service';\r\n\r\n@Component({\r\n selector: 'app-modal-ly-do',\r\n templateUrl: './modal-ly-do.component.html',\r\n styleUrls: ['./modal-ly-do.component.scss']\r\n})\r\nexport class ModalLyDoComponent implements OnInit {\r\n lyDo: string;\r\n title = 'Lý do từ chối';\r\n idHoSo: string;\r\n listTramBts = [];\r\n constructor(\r\n private apiService: ApiService,\r\n private modal: NgbActiveModal,\r\n private loginService: LoginService,\r\n private toastService: ToastService,\r\n private tramBtsService: TramBtsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClose() {\r\n this.modal.dismiss();\r\n }\r\n\r\n onSave() {\r\n if (!this.lyDo) {\r\n this.toastService.warning('Vui lòng nhập lý do từ chối!');\r\n } else {\r\n this.apiService.post(`HoSoes/TuChoiHoSo`, {\r\n id: this.idHoSo,\r\n status: 3,\r\n ma_tai_khoan: this.loginService.taiKhoan.MaTaiKhoan,\r\n ly_do: this.lyDo\r\n }, true).then(res => {\r\n // this.listTramBts.forEach(f => {\r\n // this.tramBtsService.update({OBJECTID: f.attributes.OBJECTID, TinhTrang: 4})\r\n // })\r\n this.modal.close('ok');\r\n })\r\n }\r\n }\r\n\r\n}\r\n","<app-modal-template [title]=\"title\" [isAction]=\"false\">\r\n <div body>\r\n <input rows=\"5\" [(ngModel)]=\"name\" cols=\"20\" class=\"form-control form-control-lg\" placeholder=\"Tên văn bản đính kèm\">\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-danger\" icon=\"save\" (click)=\"onSave()\">Lưu</app-button>\r\n <app-button btnClass=\"btn-secondary\" icon=\"close\" (click)=\"onClose()\">Hủy</app-button>\r\n </div>\r\n</app-modal-template>","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\n\r\n@Component({\r\n selector: 'app-modal-rename',\r\n templateUrl: './modal-rename.component.html',\r\n styleUrls: ['./modal-rename.component.scss']\r\n})\r\nexport class ModalRenameComponent implements OnInit {\r\n title='Nhập tên văn bản đính kèm';\r\n name: string;\r\n constructor(\r\n private modal: NgbActiveModal,\r\n private toastService: ToastService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClose() {\r\n this.modal.dismiss();\r\n }\r\n\r\n onSave() {\r\n if(!this.name) {\r\n this.toastService.warning('Vui lòng nhập tên văn bản đính kèm!');\r\n } else {\r\n this.modal.close(this.name);\r\n }\r\n }\r\n\r\n}\r\n","<app-modal-template [title]=\"title\" [isAction]=\"false\">\r\n <div body>\r\n <textarea *ngIf=\"flag === Flag.TuChoi\" rows=\"5\" [(ngModel)]=\"lyDo\" cols=\"20\" class=\"form-control form-control-lg\" placeholder=\"Nhập lý do từ chối\"></textarea>\r\n <strong *ngIf=\"flag === Flag.PheDuyet\">Bạn chắc chắn muốn cấp phép cho trạm này?</strong>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-danger\" icon=\"save\" (click)=\"onSave()\">Lưu</app-button>\r\n <app-button btnClass=\"btn-secondary\" icon=\"close\" (click)=\"onClose()\">Hủy</app-button>\r\n </div>\r\n</app-modal-template>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nenum Flag {\r\n PheDuyet = 1,\r\n TuChoi\r\n}\r\n@Component({\r\n selector: 'app-modal-tuchoi-tram',\r\n templateUrl: './modal-tuchoi-tram.component.html',\r\n styleUrls: ['./modal-tuchoi-tram.component.scss']\r\n})\r\n\r\n\r\nexport class ModalTuchoiTramComponent implements OnInit {\r\n title: string;;\r\n lyDo: string;\r\n Flag = Flag;\r\n flag: any;\r\n constructor(\r\n private modal: NgbActiveModal,\r\n private toastService: ToastService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if(this.flag===Flag.PheDuyet) {\r\n this.title = 'Cấp phép';\r\n } else if(this.flag===Flag.TuChoi) {\r\n this.title = 'Lý do từ chối';\r\n }\r\n }\r\n\r\n\r\n onClose() {\r\n this.modal.dismiss();\r\n }\r\n\r\n onSave() {\r\n if (this.flag === Flag.PheDuyet) {\r\n this.modal.close('ok');\r\n } else if (this.flag === Flag.TuChoi) {\r\n if (!this.lyDo) {\r\n this.toastService.warning('Vui lòng nhập lý do từ chối!');\r\n } else {\r\n this.modal.close(this.lyDo);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HoSoComponent } from './ho-so.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', \r\n component: HoSoComponent,\r\n children: [\r\n {\r\n path: '', pathMatch: 'full', redirectTo: 'list'\r\n },\r\n {path: 'list', component: ListComponent},\r\n {path: 'add', component: AddComponent},\r\n\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HoSoRoutingModule { }\r\n","<router-outlet></router-outlet>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ho-so',\r\n templateUrl: './ho-so.component.html',\r\n styleUrls: ['./ho-so.component.scss']\r\n})\r\nexport class HoSoComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { HoSoComponent } from './ho-so.component';\r\nimport { HoSoRoutingModule } from './ho-so-routing.module';\r\nimport { AddComponent } from './add/add.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { ModalViewPdfComponent, ModalKySo } from './modal-view-pdf/modal-view-pdf.component';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { ComponentsModule } from '../shared/components/components.module';\r\nimport { ModalDetailsComponent } from './add/modal-details/modal-details.component';\r\nimport { TramBtsModule } from '../tram-bts/tram-bts.module';\r\nimport { ModalAddTrambtsComponent } from './add/modal-add-trambts/modal-add-trambts.component';\r\nimport { ModalAddTcngamComponent } from './add/modal-add-tcngam/modal-add-tcngam.component';\r\nimport { ModalAddTcnoiComponent } from './add/modal-add-tcnoi/modal-add-tcnoi.component';\r\nimport { ModalAddDiemdvComponent } from './add/modal-add-diemdv/modal-add-diemdv.component';\r\nimport { ModalDeleteComponent } from './list/modal-delete/modal-delete.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ModalEditComponent } from './add/modal-edit/modal-edit.component';\r\nimport { MiniMapViewComponent } from './add/mini-map-view/mini-map-view.component';\r\nimport { ModalLyDoComponent } from './add/modal-ly-do/modal-ly-do.component';\r\nimport { ModalFilePdfComponent } from '../phe-duyet/modal-file-pdf/modal-file-pdf.component';\r\nimport { ModalApprovedComponent } from './add/modal-approved/modal-approved.component';\r\nimport { ModalRenameComponent } from './add/modal-rename/modal-rename.component';\r\nimport { ModalTuchoiTramComponent } from './add/modal-tuchoi-tram/modal-tuchoi-tram.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [HoSoComponent,\r\n AddComponent,\r\n ListComponent,\r\n ModalViewPdfComponent,\r\n ModalKySo,\r\n ModalDetailsComponent,\r\n ModalAddTrambtsComponent,\r\n ModalAddTcngamComponent,\r\n ModalAddTcnoiComponent,\r\n ModalAddDiemdvComponent,\r\n ModalDeleteComponent,\r\n ModalEditComponent,\r\n MiniMapViewComponent,\r\n ModalLyDoComponent,\r\n ModalFilePdfComponent,\r\n ModalApprovedComponent,\r\n ModalRenameComponent,\r\n ModalTuchoiTramComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n HoSoRoutingModule,\r\n SharedModule,\r\n PdfJsViewerModule,\r\n ComponentsModule,\r\n FormsModule\r\n ],\r\n providers: [DatePipe],\r\n entryComponents: [ModalViewPdfComponent,\r\n ModalKySo,\r\n ModalDetailsComponent,\r\n ModalAddTrambtsComponent,\r\n ModalAddTcngamComponent,\r\n ModalAddTcnoiComponent,\r\n ModalAddDiemdvComponent,\r\n ModalDeleteComponent,\r\n ModalEditComponent,\r\n ModalLyDoComponent,\r\n ModalFilePdfComponent,\r\n ModalApprovedComponent,\r\n ModalRenameComponent,\r\n ModalTuchoiTramComponent\r\n ]\r\n})\r\nexport class HoSoModule { }\r\n","<div class=\"container-fluid mt-3\">\r\n <app-table #table [header]=\"header\" [columns]=\"columns\" [url]=\"url\" [file]=\"file\">\r\n <ng-container filter>\r\n <select class=\"form-control form-control-sm\" (change)=\"getData($event)\">\r\n <option value=\"\">Trạng thái</option>\r\n <option *ngFor=\"let tinhTrangHoSo of tinhTrangHoSos\" [value]=\"tinhTrangHoSo.code\">{{tinhTrangHoSo.name}}</option>\r\n </select>\r\n <input class=\"form-control form-control-sm\" type=\"date\" name=\"startDay\" [value]=\"file.startDay\" (change)=\"getStartDay($event)\">\r\n <input class=\"form-control form-control-sm\" type=\"date\" name=\"endDay\" [value]=\"file.endDay\" (change)=\"getEndDay($event)\">\r\n <input class=\"form-control form-control-sm \" placeholder=\"Tìm kiếm tên hồ sơ...\" (change)=\"getSearch($event)\">\r\n <button type=\"button\" class='btn btn-sm btn-success ml-1' placement=\"left\" ngbTooltip=\"Thêm mới\"\r\n (click)=\"openModal(undefined, Flag.Add)\">\r\n <i class='fa fa-plus' aria-hidden=\"true\"></i>\r\n </button>\r\n </ng-container>\r\n </app-table>\r\n</div>\r\n\r\n<ng-template #editTmpl let-row=\"row\" let-value=\"value\">\r\n <ng-container [ngSwitch]=\"value\">\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoChuaKySo\" class=\"badge badge-pill badge-info\">Hồ sơ chưa ký số</span>\r\n </h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoDaKySo\" class=\"badge badge-pill badge-primary\">Hồ sơ đã ký số</span>\r\n </h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoChoDuyet\" class=\"badge badge-pill badge-warning\">Hồ sơ chờ\r\n duyệt</span></h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoDaDuyet\" class=\"badge badge-pill badge-success\">Hồ sơ đã duyệt</span>\r\n </h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoBiTuChoi\" class=\"badge badge-pill badge-danger\">Hồ sơ bị từ\r\n chối</span></h6>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #actionTmpl let-row=\"row\" let-value=\"value\">\r\n <ng-container [ngSwitch]=\"value\">\r\n <app-button *ngIf=\"row.TrangThai === 0\" btnClass=\"btn-outline-primary\" icon=\"edit\"\r\n (click)=\"openModal(row,Flag.Edit)\"></app-button>\r\n <app-button *ngIf=\"row.TrangThai === 0 || row.TrangThai === 1\" btnClass=\"btn-outline-danger\"\r\n icon=\"trash\" (click)=\"delete(row)\">\r\n </app-button>\r\n <app-button btnClass=\"btn-outline-success\" icon=\"eye\" (click)=\"openModal(row,Flag.View)\"></app-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #date let-row=\"row\" let-value=\"value\">\r\n <span>{{value | date: 'dd/MM/yyyy'}}</span>\r\n</ng-template>\r\n\r\n\r\n<ng-template #filter>\r\n <select class=\"form-control form-control-sm\">\r\n <option>ffff</option>\r\n </select>\r\n <input class=\"form-control form-control-sm\" type=\"date\">\r\n <input class=\"form-control form-control-sm\" type=\"date\">\r\n <input class=\"form-control form-control-sm \" placeholder=\"Tên hồ sơ\">\r\n</ng-template>\r\n\r\n<!-- <app-button btnClass=\"btn-danger\" icon=\"edit\" (click)=\"handleOpenDlg()\">Ký số</app-button> -->","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { TableColumn } from \"@swimlane/ngx-datatable\";\r\nimport { TinhTrangHoSo, HoSo } from \"../../shared/models/ho-so.model\";\r\nimport { ApiService } from '../../shared/services/api.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { AddComponent } from '../add/add.component';\r\nimport { isBuffer } from 'util';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { ModalDeleteComponent } from './modal-delete/modal-delete.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TableComponent } from '../../shared/components/table/table.component';\r\n\r\nexport enum Flag {\r\n Add,\r\n Edit,\r\n View\r\n}\r\n\r\nexport interface File {\r\n idDV: string;\r\n status: number;\r\n name: string;\r\n startDay: string;\r\n endDay: string;\r\n}\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.scss\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(\"editTmpl\", { static: true }) editTmpl: ElementRef<any>;\r\n @ViewChild(\"actionTmpl\", { static: true }) actionTmpl: ElementRef<any>;\r\n @ViewChild(\"date\", { static: true }) date: ElementRef<any>;\r\n @ViewChild(\"filter\", { static: true }) filter: ElementRef<any>;\r\n @ViewChild(\"table\", { static: true }) table: TableComponent;\r\n url = 'HoSoes/GetList';\r\n tinhTrangHoSos = [\r\n { code: TinhTrangHoSo.HoSoChuaKySo, name: 'Chưa ký số' },\r\n { code: TinhTrangHoSo.HoSoDaKySo, name: 'Đã ký số' },\r\n { code: TinhTrangHoSo.HoSoChoDuyet, name: 'Chờ duyệt' },\r\n { code: TinhTrangHoSo.HoSoBiTuChoi, name: 'Từ chối' },\r\n { code: TinhTrangHoSo.HoSoDaDuyet, name: 'Đã duyệt' },\r\n ]\r\n Flag = Flag;\r\n TinhTrangHoSo = TinhTrangHoSo;\r\n header = \"Danh sách hồ sơ\";\r\n columns: TableColumn[];\r\n rows: Array<HoSo> = [];\r\n limit = 10;\r\n\r\n get firstMonth() {\r\n const dt = new Date();\r\n // const firstDate = new Date(dt.getFullYear(), dt.getMonth(), 1);\r\n const firstDate = new Date(new Date().getFullYear(), 0, 1);\r\n \r\n return this.datePipe.transform(firstDate, 'yyyy-MM-dd');\r\n }\r\n\r\n get lastMonth() {\r\n const currentDate = new Date();\r\n const lastDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0)\r\n return this.datePipe.transform(lastDate, 'yyyy-MM-dd');\r\n }\r\n \r\n file: File = {\r\n idDV: '',\r\n status: null,\r\n name: '',\r\n startDay: this.firstMonth,\r\n endDay: this.lastMonth ,\r\n }\r\n tenDoanhNghiep: string;\r\n\r\n constructor(\r\n public modalService: NgbModal,\r\n private apiService: ApiService,\r\n private loginService: LoginService,\r\n private toastService: ToastService,\r\n private datePipe: DatePipe,\r\n ) { }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.file.idDV = this.loginService.taiKhoan.IDDonVi;\r\n // this.tenDoanhNghiep = this.loginService.taiKhoan.TenDonVi;\r\n // console.log(this.tenDoanhNghiep);\r\n this.columns = [\r\n { name: \"Mã hồ sơ\", prop: \"MaHoSo\", flexGrow: 2 },\r\n { name: \"Tên hồ sơ\", prop: \"TenHoSo\", flexGrow: 5 },\r\n { name: \"Ngày tạo\", prop: \"TGTao\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Ngày gửi\", prop: \"TGGuiHoSo\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Ngày duyệt\", prop: \"TGDuyet\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Ngày đến hạn xử lý\", prop: \"TGDenHanXuLy\", flexGrow: 3, cellTemplate: this.date },\r\n // { name: \"Lý do\", prop: \"LyDo\", flexGrow: 2 },\r\n { name: \"Trạng thái\", prop: \"TrangThai\", flexGrow: 3, cellTemplate: this.editTmpl },\r\n { name: \"Thao tác\", prop: \"action\", flexGrow: 3, cellTemplate: this.actionTmpl },\r\n ];\r\n }\r\n\r\n handleOpenDlg(id) {\r\n this.modalService.open(AddComponent, {\r\n size: \"full\",\r\n });\r\n }\r\n\r\n delete(id) {\r\n const modal = this.modalService.open(ModalDeleteComponent, {\r\n size: 'sm',\r\n centered: true\r\n });\r\n modal.componentInstance.idHS = id.ID;\r\n modal.result.then(res => {\r\n if (res === 'ok') {\r\n this.toastService.success('Xóa thành công!');\r\n this.table.loadData();\r\n } else {\r\n this.toastService.danger('Xóa thất bại!');\r\n }\r\n }, (response) => { }\r\n )\r\n }\r\n\r\n viewFile(id) {\r\n const modalref = this.modalService.open(AddComponent, {\r\n size: \"full\",\r\n });\r\n modalref.componentInstance.row = id;\r\n }\r\n\r\n getData(event) {\r\n const val = event.target.value;\r\n this.file.status = val;\r\n this.table.loadData();\r\n\r\n }\r\n\r\n getSearch(event) {\r\n this.file.name = event.target.value;\r\n this.table.loadData();\r\n }\r\n\r\n getStartDay(event) {\r\n this.file.startDay = event.target.value;\r\n this.table.loadData();\r\n }\r\n getEndDay(event) {\r\n this.file.endDay = event.target.value;\r\n this.table.loadData();\r\n }\r\n\r\n openModal(id, flag: Flag) {\r\n const modalref = this.modalService.open(AddComponent, {\r\n size: \"full\",\r\n });\r\n modalref.componentInstance.row = id;\r\n modalref.componentInstance.flag = flag;\r\n modalref.result.then(res => {\r\n if (res === 'ok') {\r\n this.toastService.success('Gửi hồ sơ thành công!');\r\n } else if (res === 'CREATE') {\r\n this.toastService.success('Khởi tạo hồ sơ thành công!');\r\n } else if (res === 'UPDATE') {\r\n this.toastService.success('Cập nhật hồ sơ thành công!');\r\n } else {\r\n this.toastService.danger('Thất bại!');\r\n }\r\n this.table.loadData();\r\n }, (response) => {\r\n if (response === 'Ký số') {\r\n this.toastService.success('Ký số thành công!');\r\n this.table.loadData();\r\n }\r\n }\r\n )\r\n }\r\n\r\n}\r\n","<app-modal-template [title]=\"title\" [isAction]=\"false\">\r\n <div body>\r\n <strong>Bạn chắc chắn muốn xóa hồ sơ này không?</strong>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-danger\" icon=\"trash\" (click)=\"onDelete()\">Xóa</app-button>\r\n <app-button btnClass=\"btn-secondary\" icon=\"close\" (click)=\"onClose()\">Hủy</app-button>\r\n </div>\r\n</app-modal-template>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApiService } from 'src/app/manager/shared/services/api.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-modal-delete',\r\n templateUrl: './modal-delete.component.html',\r\n styleUrls: ['./modal-delete.component.scss']\r\n})\r\nexport class ModalDeleteComponent implements OnInit {\r\n title = 'Xóa dữ liệu';\r\n idHS: string;\r\n constructor(\r\n private apiService: ApiService,\r\n private modal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onDelete() {\r\n this.apiService.delete(`odata/HoSoes(guid'${this.idHS}')`)\r\n .then(res => {\r\n this.modal.close('ok');\r\n });\r\n }\r\n onClose() {\r\n this.modal.dismiss();\r\n }\r\n\r\n}\r\n","<app-modal-template [title]=\"title\">\r\n <div body style=\"height: 85vh; overflow-y: hidden;\">\r\n <ng2-pdfjs-viewer #pdfViewer></ng2-pdfjs-viewer>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-primary\" icon=\"edit\" (click)=\"openOptionDN()\">Ký số</app-button>\r\n <app-button btnClass=\"btn-danger\" icon=\"close\">Đóng</app-button>\r\n </div>\r\n</app-modal-template>","\n <app-modal-template title=\"Chọn doanh nghiệp\">\n <div body>\n <div class=\"row\">\n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/viettel-ca.png);\" (click)=\"handleSign(6)\"></div> \n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/vnpt-ca.png);\" (click)=\"handleSign(4)\"></div>\n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/fpt.png);\" (click)=\"handleSign(8)\"></div>\n </div>\n </div>\n </app-modal-template>\n ","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventModal } from 'src/app/shared/components/modal/modal.component';\r\nimport { environment } from 'src/environments/environment'\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\n\r\n@Component({\r\n selector: 'app-modal-view-pdf',\r\n templateUrl: './modal-view-pdf.component.html',\r\n styleUrls: ['./modal-view-pdf.component.scss']\r\n})\r\nexport class ModalViewPdfComponent implements OnInit {\r\n @ViewChild('pdfViewer') public pdfViewer;\r\n idHoso: any;\r\n title = 'Ký số';\r\n idHS: string;\r\n constructor(\r\n public http: HttpClient,\r\n private modalService: NgbModal,\r\n public activeModal: NgbActiveModal,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.viewFilePDF();\r\n }\r\n\r\n private downloadFile(url: string): any {\r\n return this.http.get(url, { responseType: 'blob' })\r\n .pipe(\r\n map((result: any) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n viewFilePDF() {\r\n let url = environment.apiUrl + `/HoSoes/GeneratePDF?id=${this.idHS}&mode=blob`;\r\n this.downloadFile(url).subscribe(\r\n (res) => {\r\n this.pdfViewer.pdfSrc = res; // pdfSrc can be Blob or Uint8Array\r\n this.pdfViewer.refresh(); // Ask pdf viewer to load/refresh pdf\r\n }\r\n );\r\n }\r\n\r\n openOptionDN() {\r\n const modalref = this.modalService.open(ModalKySo, {\r\n size: 'sm',\r\n centered: true\r\n });\r\n modalref.componentInstance.idHS = this.idHS;\r\n }\r\n\r\n}\r\n\r\n@Component({\r\n template: `\r\n <app-modal-template title=\"Chọn doanh nghiệp\">\r\n <div body>\r\n <div class=\"row\">\r\n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/viettel-ca.png);\" (click)=\"handleSign(6)\"></div> \r\n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/vnpt-ca.png);\" (click)=\"handleSign(4)\"></div>\r\n <div class=\"col-12 sign-item\" style=\"background-image: url(/assets/images/dn/fpt.png);\" (click)=\"handleSign(8)\"></div>\r\n </div>\r\n </div>\r\n </app-modal-template>\r\n `,\r\n styles: ['.sign-item { height: 100px; background-repeat: no-repeat; background-size: cover; margin-bottom: 5px; border: 1px solid #e8e8e8}']\r\n})\r\n\r\n\r\nexport class ModalKySo implements OnInit {\r\n idHS: string;\r\n titleDlg = \"Ký số\";\r\n FileName: string; \r\n UploadServer: string;\r\n TOKEN_CLIENT_INFO: any = { MaTaiKhoan: this.loginService.taiKhoan.MaTaiKhoan };\r\n EventModal = EventModal;\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private modal: NgbModal,\r\n private loginService: LoginService\r\n ) { }\r\n ngOnInit(): void {\r\n this.FileName = environment.apiUrl + `/HoSoes/GeneratePDF?id=${this.idHS}&mode=blob`;\r\n this.UploadServer = environment.apiUrl + `/HoSoes/KySo?id_ho_so=${this.idHS}`;\r\n }\r\n \r\n handleSign = (issuer) => {\r\n this.activeModal.close('ok');\r\n var json_prms = JSON.stringify({\r\n issuer: issuer,\r\n page: 1,\r\n x: 0,\r\n y: 0,\r\n width: 300,\r\n height: 100,\r\n UploadHandler: this.UploadServer,\r\n FileName: this.FileName,\r\n maTaiKhoan: this.TOKEN_CLIENT_INFO.MaTaiKhoan\r\n });\r\n fetch(\"http://127.0.0.1:12019/SignPDF/\", {\r\n mode: 'cors',\r\n method: 'POST',\r\n body: json_prms,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => JSON.parse(res))\r\n .then(received_msg => {\r\n this.modal.dismissAll('Ký số');\r\n })\r\n .catch(err => {\r\n })\r\n \r\n }\r\n}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { DasboardComponent } from './dasboard/dasboard.component';\r\nimport { ManagerComponent } from './manager.component';\r\nimport { MapComponent } from '../map/map.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { PheDuyetComponent } from './phe-duyet/phe-duyet.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ManagerComponent,\r\n children: [\r\n {\r\n path: '', pathMatch: 'full', redirectTo: 'dashboard'\r\n },\r\n {\r\n path: 'dashboard', component: DasboardComponent\r\n },\r\n {\r\n path: 'bts-stations',\r\n loadChildren: () => import('./tram-bts/tram-bts.module').then(t => t.TramBtsModule)\r\n },\r\n {\r\n path: 'underground-cable-glands',\r\n loadChildren: () => import('./tuyen-cap-ngam/tuyen-cap-ngam.module').then(t => t.TuyenCapNgamModule)\r\n },\r\n {\r\n path: 'floating-cable-glands',\r\n loadChildren: () => import('./tuyen-cap-noi/tuyen-cap-noi.module').then(t => t.TuyenCapNoiModule)\r\n },\r\n {\r\n path: 'service-locations',\r\n loadChildren: () => import('./diem-dich-vu/diem-dich-vu.module').then(t => t.DiemDichVuModule)\r\n },\r\n {\r\n path: 'ho-so',\r\n loadChildren: () => import('./ho-so/ho-so.module').then(t => t.HoSoModule)\r\n },\r\n { path: 'phe-duyet', component: PheDuyetComponent },\r\n {\r\n path: 'map', component: MapComponent\r\n },\r\n {\r\n path: 'profile', component: ProfileComponent\r\n }\r\n ]\r\n }\r\n];\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ManagerRoutingModule { }\r\n","<app-header></app-header>\r\n<perfect-scrollbar style=\"background-color: #fefefe; min-height: calc(100vh - 10vh);\">\r\n<router-outlet></router-outlet>\r\n</perfect-scrollbar>\r\n<!-- <app-footer></app-footer> -->\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-manager',\r\n templateUrl: './manager.component.html',\r\n styleUrls: ['./manager.component.scss']\r\n})\r\nexport class ManagerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ManagerComponent } from './manager.component';\r\nimport { ManagerRoutingModule } from './manager-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { LayoutModule } from '../layout/layout.module';\r\nimport { MapModule } from '../map/map.module';\r\nimport { ComponentsModule } from './shared/components/components.module';\r\nimport { TramBtsModule } from './tram-bts/tram-bts.module';\r\nimport { TuyenCapNgamModule } from './tuyen-cap-ngam/tuyen-cap-ngam.module';\r\nimport { DiemDichVuModule } from './diem-dich-vu/diem-dich-vu.module';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { DasboardModule } from './dasboard/dasboard.module';\r\nimport { TuyenCapNoiModule } from './tuyen-cap-noi/tuyen-cap-noi.module';\r\nimport { PheDuyetComponent } from './phe-duyet/phe-duyet.component';\r\nimport { AddComponent } from './ho-so/add/add.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { HoSoModule } from './ho-so/ho-so.module';\r\nimport { ProfileModule } from './profile/profile.module';\r\nimport { YKienNguoiDanComponent } from './y-kien-nguoi-dan/y-kien-nguoi-dan.component';\r\nimport { YKienNguoiDanModule } from './y-kien-nguoi-dan/y-kien-nguoi-dan.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ManagerComponent, PheDuyetComponent],\r\n imports: [\r\n ManagerRoutingModule,\r\n SharedModule,\r\n LayoutModule,\r\n MapModule,\r\n ComponentsModule,\r\n TramBtsModule,\r\n TuyenCapNgamModule,\r\n TuyenCapNoiModule,\r\n DiemDichVuModule,\r\n DasboardModule,\r\n HoSoModule,\r\n ProfileModule,\r\n YKienNguoiDanModule\r\n ],\r\n providers: [DatePipe],\r\n entryComponents: [\r\n AddComponent\r\n ]\r\n})\r\nexport class ManagerModule { }\r\n","<app-modal-template [title]=\"title\">\r\n <div body style=\"height: 85vh; overflow-y: hidden;\">\r\n <!-- <ng2-pdfjs-viewer pdfSrc=\"https://api-bcvt-kontum.gdtvietnam.com/Uploads/VTL/HoSo/354e5e02-8975-48b3-8d99-6fb9d1eeaab5.pdf\"></ng2-pdfjs-viewer> -->\r\n <a src = \"https://api-bcvt-kontum.gdtvietnam.com/Uploads/VTL/HoSo/354e5e02-8975-48b3-8d99-6fb9d1eeaab5.pdf\" hidden></a>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-primary\" icon=\"edit\" >Ký số</app-button>\r\n <app-button btnClass=\"btn-danger\" icon=\"close\">Đóng</app-button>\r\n </div>\r\n</app-modal-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal-file-pdf',\r\n templateUrl: './modal-file-pdf.component.html',\r\n styleUrls: ['./modal-file-pdf.component.scss']\r\n})\r\nexport class ModalFilePdfComponent implements OnInit {\r\n title='Xem file PDF';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"container-fluid mt-3\">\r\n <app-table #table [header]=\"header\" [columns]=\"columns\" [url]=\"url\" [file]=\"file\">\r\n <ng-container filter>\r\n <select style=\"width: 200px;\" class=\"form-control form-control-sm\" (change)=\"filterDV($event)\">\r\n <option value=\"\">Doanh nghiệp</option>\r\n <option *ngFor=\"let donVi of donVis\" [value]=\"donVi.ID\">{{donVi.TenDonVi}}</option>\r\n </select>\r\n <select class=\"form-control form-control-sm\" (change)=\"filter($event)\">\r\n <option value=\"\">Trạng thái</option>\r\n <option *ngFor=\"let tinhTrangHoSo of tinhTrangHoSos\" [value]=\"tinhTrangHoSo.code\">{{tinhTrangHoSo.name}}</option>\r\n </select>\r\n <input class=\"form-control form-control-sm\" type=\"date\" name=\"startDay\" [value]=\"file.startDay\" (change)=\"getStartDay($event)\">\r\n <input class=\"form-control form-control-sm\" type=\"date\" name=\"endDay\" [value]=\"file.endDay\" (change)=\"getEndDay($event)\">\r\n </ng-container>\r\n </app-table>\r\n</div>\r\n\r\n<ng-template #statusTpl let-row=\"row\" let-value=\"value\">\r\n <ng-container [ngSwitch]=\"value\">\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoChoDuyet\" class=\"badge badge-pill badge-warning\">Hồ sơ chờ\r\n duyệt</span></h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoDaDuyet\" class=\"badge badge-pill badge-success\">Hồ sơ đã duyệt</span>\r\n </h6>\r\n <h6><span *ngSwitchCase=\"TinhTrangHoSo.HoSoBiTuChoi\" class=\"badge badge-pill badge-danger\">Hồ sơ bị từ\r\n chối</span></h6>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #action let-row=\"row\">\r\n <ng-container>\r\n <app-button btnClass=\"btn-outline-danger\" icon=\"trash\" (click)=\"delete(row)\">\r\n </app-button>\r\n <app-button btnClass=\"btn-outline-success\" icon=\"eye\" (click)=\"openModal(flag.View, row)\"></app-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #date let-row=\"row\" let-value=\"value\">\r\n <span>{{value | date: 'dd/MM/yyyy'}}</span>\r\n</ng-template>\r\n","import { Component, OnInit, ViewChild, ElementRef, TemplateRef } from '@angular/core';\r\nimport { TableColumn, ColumnMode } from '@swimlane/ngx-datatable';\r\nimport { ApiService } from '../shared/services/api.service';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { AddComponent, Flag } from '../ho-so/add/add.component';\r\nimport { HoSo, TinhTrangHoSo, DonVi } from '../shared/models/ho-so.model';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { ModalDeleteComponent } from '../ho-so/list/modal-delete/modal-delete.component';\r\nimport { DonViService } from 'src/app/shared/services/don-vi.service';\r\nimport { File } from '../ho-so/list/list.component';\r\nimport { TableComponent } from '../shared/components/table/table.component';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nexport enum DoanhNghiep {\r\n viettel = 'VIETTEL',\r\n mobile = 'MOBILE',\r\n vnmobile = 'VN MOBILE',\r\n vnpt = 'VNPT',\r\n gtel = 'GTEL'\r\n}\r\n\r\nexport enum LoaiHoSo {\r\n HoSoChoDuyet = 'Hồ sơ chờ duyệt',\r\n HoSoDaDuyet = 'Hồ sơ đã duyệt',\r\n HoSoBiTuChoi = 'Hồ sơ bị từ chối'\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-phe-duyet',\r\n templateUrl: './phe-duyet.component.html',\r\n styleUrls: ['./phe-duyet.component.scss']\r\n})\r\nexport class PheDuyetComponent implements OnInit {\r\n @ViewChild(\"action\", { static: true }) action: ElementRef<any>;\r\n @ViewChild(\"date\", { static: true }) date: ElementRef<any>;\r\n @ViewChild(\"statusTpl\", { static: true }) statusTpl: ElementRef<any>;\r\n @ViewChild(\"table\", { static: true }) table: TableComponent;\r\n header = \"Danh sách hồ sơ\";\r\n url = 'HoSoes/GetListPheDuyet';\r\n\r\n get firstDateOnMonth() {\r\n const dt = new Date();\r\n // const firstDate = new Date(dt.getFullYear(), dt.getMonth(), 1);\r\n const firstDate = new Date(new Date().getFullYear(), 0, 1)\r\n return this.datePipe.transform(firstDate, 'yyyy-MM-dd');\r\n }\r\n\r\n get lastDateOnMonth() {\r\n const currentDate = new Date();\r\n const lastDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0)\r\n return this.datePipe.transform(lastDate, 'yyyy-MM-dd');\r\n }\r\n\r\n file: File = {\r\n idDV: '',\r\n status: null,\r\n name: '',\r\n startDay: this.firstDateOnMonth,\r\n endDay: this.lastDateOnMonth,\r\n }\r\n tinhTrangHoSos = [\r\n { code: TinhTrangHoSo.HoSoChoDuyet, name: 'Chờ duyệt' },\r\n { code: TinhTrangHoSo.HoSoBiTuChoi, name: 'Từ chối' },\r\n { code: TinhTrangHoSo.HoSoDaDuyet, name: 'Đã duyệt' },\r\n ]\r\n donVis: any = [];\r\n flag = Flag;\r\n columns: TableColumn[];\r\n TinhTrangHoSo = TinhTrangHoSo;\r\n rows: Array<HoSo> = [];\r\n DoanhNghiep: string = '';\r\n maDoanhNghiep: string;\r\n tenDoanhNghiep: string;\r\n constructor(\r\n public modalService: NgbModal,\r\n private apiService: ApiService,\r\n private loginService: LoginService,\r\n private toastService: ToastService,\r\n private donViService: DonViService,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // this.DoanhNghiep = this.loginService.taiKhoan.TenDonVi;\r\n // console.log(this.DoanhNghiep);\r\n // this.table.loadData();\r\n\r\n this.columns = [\r\n { name: \"Mã hồ sơ\", prop: \"MaHoSo\", flexGrow: 2 },\r\n { name: \"Tên hồ sơ\", prop: \"TenHoSo\", flexGrow: 5 },\r\n { name: \"Ngày tạo\", prop: \"TGTao\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Ngày gửi\", prop: \"TGGuiHoSo\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Ngày đến hạn xử lý\", prop: \"TGDenHanXuLy\", flexGrow: 3, cellTemplate: this.date },\r\n { name: \"Doanh nghiệp\", prop: \"TenDonVi\", flexGrow: 3, },\r\n // { name: \"Lý do\", prop: \"LyDo\", flexGrow: 3,},\r\n { name: \"Trạng thái\", prop: \"TrangThai\", flexGrow: 3, cellTemplate: this.statusTpl },\r\n { name: \"Thao tác\", prop: \"action\", flexGrow: 2, cellTemplate: this.action }\r\n ];\r\n this.donViService.getListDonVi()\r\n .then(res => this.donVis = res);\r\n }\r\n\r\n // getListHoSo() {\r\n // this.apiService.get(`HoSoes/GetListPheDuyet?TenHoSo=${this.name}&LoaiHoSo=&IDDV=${this.idDV}&StartDate=${this.startDay}&EndDate=${this.endDay}&TrangThai=${this.status}`, true)\r\n // .then(res => {\r\n // this.rows = res;\r\n // })\r\n // }\r\n\r\n getStartDay(event) {\r\n this.file.startDay = event.target.value;\r\n this.table.loadData();\r\n }\r\n getEndDay(event) {\r\n this.file.endDay = event.target.value;\r\n this.table.loadData();\r\n }\r\n\r\n filter(event) {\r\n const val = event.target.value;\r\n this.file.status = val;\r\n this.table.loadData();\r\n }\r\n\r\n filterDV(event) {\r\n this.file.idDV = event.target.value;\r\n this.table.loadData();\r\n }\r\n\r\n openModal(flag: Flag, row) {\r\n const modalref = this.modalService.open(AddComponent, {\r\n size: 'full'\r\n });\r\n modalref.componentInstance.flag = flag;\r\n modalref.componentInstance.row = row;\r\n console.log(row);\r\n\r\n modalref.result.then(res => {\r\n if (res === 'ok') {\r\n this.toastService.success('Lưu trạng thái thành công!');\r\n this.table.loadData();\r\n } else {\r\n this.toastService.danger('Lưu trạng thái thất bại!');\r\n }\r\n }, (response) => { }\r\n )\r\n }\r\n\r\n delete(id) {\r\n const modal = this.modalService.open(ModalDeleteComponent, {\r\n size: 'sm',\r\n centered: true\r\n });\r\n modal.componentInstance.idHS = id.ID;\r\n modal.result.then(res => {\r\n if (res === 'ok') {\r\n this.toastService.success('Xóa thành công!');\r\n this.table.loadData();\r\n } else {\r\n this.toastService.danger('Xóa thất bại!');\r\n }\r\n }, (response) => { }\r\n )\r\n }\r\n}\r\n","<app-modal-template title=\"Đổi mật khẩu\">\r\n <div body>\r\n <div class=\"form-group row\">\r\n <div class=\"col-sm-12 row\" style=\"margin-bottom: 5px\">\r\n <label class=\"col-4 col-form-label-sm\">Mật khẩu cũ:</label>\r\n <input class=\"form-control col-8\" id=\"old-password\" type=\"password\" required fullWidth\r\n name=\"old-password\" placeholder=\"Mật khẩu cũ\" [(ngModel)]=\"matKhauCu\">\r\n </div>\r\n <div class=\"col-sm-12 row\" style=\"margin-bottom: 5px\">\r\n <label class=\"col-4 col-form-label-sm\">Mật khẩu mới:</label>\r\n <input class=\"form-control col-8\" id=\"new-password\" type=\"password\" required fullWidth\r\n name=\"new-password\" placeholder=\"Mật khẩu mới\" [(ngModel)]=\"matKhauMoi\">\r\n </div>\r\n <div class=\"col-sm-12 row\" style=\"margin-bottom: 5px\">\r\n <label class=\"col-4 col-form-label-sm\">Nhập lại mật khẩu mới:</label>\r\n <input class=\"form-control col-8\" id=\"confirm\" type=\"password\" required fullWidth\r\n name=\"confirm-password\" placeholder=\"Nhập lại mật khẩu mới\" [(ngModel)]=\"matKhauMoiAgain\">\r\n </div>\r\n </div>\r\n </div>\r\n <div footer>\r\n <app-button btnClass=\"btn-outline-danger\" icon=\"ban\" (click)=\"cancel()\"> Hủy\r\n </app-button>\r\n <app-button btnClass=\"btn-primary ml-1\" icon=\"save\" (click)=\"handleChangePassword()\"> Lưu\r\n </app-button>\r\n </div>\r\n</app-modal-template>","import { Component, OnInit } from \"@angular/core\";\r\nimport { ToastService } from \"src/app/shared/services/toast.service\";\r\nimport { ApiService } from \"../../shared/services/api.service\";\r\nimport { LoginService } from \"src/app/shared/services/login.service\";\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: \"app-mdl-change-password\",\r\n templateUrl: \"./mdl-change-password.component.html\",\r\n styleUrls: [\"./mdl-change-password.component.scss\"],\r\n})\r\nexport class MdlChangePasswordComponent implements OnInit {\r\n matKhauCu: string;\r\n matKhauMoi: string;\r\n matKhauMoiAgain: string;\r\n\r\n constructor(\r\n private toastService: ToastService,\r\n private apiService: ApiService,\r\n private loginService: LoginService,\r\n private modal: NgbActiveModal\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n checkInvalid(): boolean {\r\n if (!(this.matKhauCu)) {\r\n this.toastService.warning(\"Vui lòng nhập mật khẩu cũ!\");\r\n return false;\r\n }\r\n if (!this.matKhauMoi) {\r\n this.toastService.warning(\"Vui lòng nhập mật khẩu mới!\");\r\n return false;\r\n }\r\n if (!this.matKhauMoiAgain) {\r\n this.toastService.warning(\"Vui lòng nhập lại mật khẩu mới!\");\r\n return false;\r\n }\r\n if (this.matKhauMoi !== this.matKhauMoiAgain) {\r\n this.toastService.warning(\"Mật khẩu mới nhập lại không khớp!\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n handleChangePassword() {\r\n if(this.checkInvalid()) {\r\n this.apiService\r\n .post(`/QuanLyTaiKhoan/DoiMatKhau`, {\r\n ma_tai_khoan: this.loginService.taiKhoan.MaTaiKhoan,\r\n mat_khau_cu: this.matKhauCu,\r\n mat_khau_moi: this.matKhauMoi,\r\n })\r\n .then((result) => {\r\n if (result === \"Sai mật khẩu cũ!\") {\r\n this.toastService.warning(result);\r\n } else {\r\n this.toastService.success(result);\r\n this.modal.dismiss();\r\n }\r\n });\r\n }\r\n }\r\n\r\n cancel() {\r\n this.modal.dismiss();\r\n }\r\n}\r\n","<div class=\"container bootstrap snippet my-4\">\r\n <div class=\"profile-card shadow\">\r\n <!-- <app-loading [loading]=\"true\"></app-loading> -->\r\n <div class=\"row no-gutters\">\r\n <div class=\"col-4 p-0\">\r\n <div class=\"text-center wrap-avatar\">\r\n <div class=\"position-relative mb-3\">\r\n <img [src]=\"src ? src : '../../../assets/images/profile.png'\" class=\"avatar img-circle img-thumbnail\" alt=\"avatar\">\r\n <input #fileInput type=\"file\" alt=\"avatar\" class=\"avatar position-absolute\" accept=\"image/*\"\r\n (change)=\"onSelectFile($event)\">\r\n\r\n </div>\r\n <button class=\"btn btn-info text-white\" (click)=\"openMdlChangePassword()\">Đổi mật khẩu</button>\r\n </div>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"form-group row\">\r\n <label class=\"col-sm-3 col-form-label-sm text-right\">Tên hiển thị:</label>\r\n <input class=\"form-control col-sm-9\" id=\"tenhienthi\" name=\"tenhienthi\" type=\"text\" fullWidth\r\n required placeholder=\"Tên hiển thị\" [(ngModel)]=\"tenHienThi\">\r\n </div>\r\n <div class=\"form-group row\">\r\n <label class=\"col-sm-3 col-form-label-sm text-right\">Đơn vị:</label>\r\n <input class=\"form-control col-sm-9\" id=\"donvi\" name=\"donvi\" type=\"text\" disabled fullWidth\r\n placeholder=\"Đơn vị\" [(ngModel)]=\"tenDonVi\">\r\n </div>\r\n <div class=\"form-group row\">\r\n <label class=\"col-sm-3 col-form-label-sm text-right\">Số điện thoại:</label>\r\n <input class=\"form-control col-sm-9\" id=\"sdt\" name=\"sdt\" type=\"text\" fullWidth\r\n placeholder=\"Số điện thoại\" [(ngModel)]=\"SDT\">\r\n </div>\r\n <div class=\"form-group row\">\r\n <label class=\"col-sm-3 col-form-label-sm text-right\">Email:</label>\r\n <input class=\"form-control col-sm-9\" id=\"email\" name=\"email\" type=\"text\" fullWidth\r\n placeholder=\"Email\" [(ngModel)]=\"email\">\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"offset-3 col-9 d-flex p-0\">\r\n <app-button btnClass=\"btn-outline-danger\" icon=\"sync-alt\" (click)=\"handleReset()\"> Tạo lại\r\n </app-button>\r\n <app-button btnClass=\"btn-primary ml-1\" icon=\"save\" (click)=\"updateProfile()\"> Lưu\r\n </app-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { TableColumnMode } from '../shared/components/datatable/datatable.model';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { TaiKhoan } from 'src/app/shared/models/login.model';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ApiService } from '../shared/services/api.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MdlChangePasswordComponent } from './mdl-change-password/mdl-change-password.component';\r\n// import { HttpClient } from '@angular/common/http';\r\n\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n @ViewChild('fileInput') fileInput: ElementRef<any>\r\n loading = false;\r\n form: FormGroup;\r\n ThongTinNguoiDungs: TaiKhoan = {} as TaiKhoan;\r\n maTK: string;\r\n tenHienThi: string;\r\n tenDonVi: string;\r\n idDonVi: string;\r\n email: string;\r\n SDT: string;\r\n image: File;\r\n src: any;\r\n url = 'https://api-bcvt-kontum.gdtvietnam.com';\r\n\r\n @Input() fields: TableColumnMode[] = [];\r\n\r\n @Output() onSubmit = new EventEmitter();\r\n datas = {};\r\n constructor(\r\n private loginService: LoginService,\r\n private apiService: ApiService,\r\n private toastService: ToastService,\r\n private modalService: NgbModal\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.maTK = this.loginService.taiKhoan.MaTaiKhoan;\r\n this.tenDonVi = this.loginService.taiKhoan.TenDonVi\r\n this.apiService.get(`odata/TaiKhoans?$filter=MaTaiKhoan eq '${this.maTK}'`).then(res => {\r\n const { value } = res;\r\n this.tenHienThi = value[0].TenHienThi;\r\n this.email = value[0].Email;\r\n this.SDT = value[0].DienThoai;\r\n this.src = `${this.url}${value[0].HinhAnh}`;\r\n console.log(this.src);\r\n })\r\n }\r\n\r\n onSelectFile(event) {\r\n this.image = event.target.files[0];\r\n if (event.target.files && event.target.files[0]) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(event.target.files[0]);\r\n reader.onload = (event) => {\r\n this.src = event.target.result;\r\n }\r\n }\r\n }\r\n\r\n updateProfile() {\r\n const formData = new FormData();\r\n formData.append('MaTaiKhoan', this.maTK);\r\n formData.append('TenHienThi', this.tenHienThi);\r\n formData.append('DienThoai', this.SDT);\r\n formData.append('Email', this.email);\r\n formData.append('HinhAnh', this.image);\r\n // this.fileInput.nativeElement.value && formData.append('HinhAnh', this.fileInput.nativeElement.files[0]);\r\n this.apiService.post('QuanLyTaiKhoan/ChinhSuaThongTin', formData, true).then(res => {\r\n this.toastService.success(res);\r\n }).catch(e => this.toastService.danger(e.message));\r\n }\r\n\r\n openMdlChangePassword() {\r\n const modalRef = this.modalService.open(MdlChangePasswordComponent, {\r\n centered: true\r\n });\r\n }\r\n\r\n handleReset() {\r\n this.ThongTinNguoiDungs = this.loginService.taiKhoan;\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MdlChangePasswordComponent } from './mdl-change-password/mdl-change-password.component';\r\nimport { ComponentsModule } from 'src/app/shared/components/components.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ProfileComponent } from './profile.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [MdlChangePasswordComponent, ProfileComponent],\r\n imports: [\r\n CommonModule,\r\n ComponentsModule,\r\n FormsModule\r\n ],\r\n entryComponents: [MdlChangePasswordComponent]\r\n})\r\nexport class ProfileModule { }\r\n","<div class=\"card border-light mb-3\">\r\n <div class=\"card-header d-flex justify-content-between\">\r\n {{header}}\r\n <div>\r\n <ng-content select=\"[header-button]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss']\r\n})\r\nexport class CardComponent implements OnInit {\r\n @Input() header = '';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CardComponent } from './card/card.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { DatatableComponent } from './datatable/datatable.component';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { MiniMapComponent } from './mini-map/mini-map.component';\r\nimport { FormComponent } from './form/form.component';\r\nimport { NgxLoadingModule } from 'ngx-loading';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ModalDetailComponent } from './modal-detail/modal-detail.component';\r\nimport { TableComponent } from './table/table.component';\r\nimport { TableDetailsComponent } from './table-details/table-details.component';\r\nimport { MeasureModule } from 'src/app/map/measure/measure.module';\r\nimport { InputFileModule } from 'src/app/shared/components/input-file/input-file.module';\r\n\r\n\r\n\r\n@NgModule({\r\n\r\n declarations: [\r\n CardComponent,\r\n DatatableComponent,\r\n MiniMapComponent,\r\n FormComponent,\r\n ModalDetailComponent,\r\n TableComponent,\r\n TableDetailsComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n NgxDatatableModule,\r\n NgxLoadingModule,\r\n FormsModule,\r\n MeasureModule,\r\n InputFileModule\r\n ],\r\n exports: [\r\n CardComponent,\r\n DatatableComponent,\r\n MiniMapComponent,\r\n FormComponent,\r\n TableComponent,\r\n TableDetailsComponent,\r\n \r\n ],\r\n entryComponents: [ModalDetailComponent]\r\n})\r\nexport class ComponentsModule { }\r\n","<div class=\"card border-light mb-3\">\r\n <div class=\"card-header d-flex justify-content-between\">\r\n <span>{{ header }}</span>\r\n <div class=\"d-flex align-items-end\">\r\n <div class=\"mr-1 d-flex\">\r\n <ng-content select=\".search-kha-nang-dung-chung\"></ng-content>\r\n\r\n <select\r\n class=\"form-control form-control-sm\"\r\n (change)=\"filterDoanhNghiep($event)\"\r\n *ngIf=\"!loginService.isDoanhNghiep\"\r\n >\r\n <option value=\"\">Chọn doanh nghiệp</option>\r\n <option *ngFor=\"let donVi of dsDonVi\" [value]=\"donVi.MaDonVi\">\r\n {{ donVi.TenDonVi }}\r\n </option>\r\n </select>\r\n\r\n <ng-content select=\".tinh-trang-cap-phep\"></ng-content>\r\n\r\n <!-- <select class=\"form-control form-control-sm\" \r\n (change)=\"filterTinhTrang($event)\">\r\n <option value=\"\">Chọn tình trạng</option>\r\n <option\r\n *ngFor=\"let tinhTrang of tinhTrangs\"\r\n [value]=\"tinhTrang.code\"\r\n >{{ tinhTrang.name }}</option\r\n >\r\n </select> -->\r\n\r\n <input\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n placeholder=\"Tìm kiếm theo tên\"\r\n (keyup)=\"handleKeyupSearch($event)\"\r\n />\r\n </div>\r\n\r\n <a\r\n *ngIf=\"isHidden === false\"\r\n [routerLink]=\"['../', 'add']\"\r\n routerLinkActive\r\n type=\"button\"\r\n class=\"btn btn-sm btn-success\"\r\n placement=\"left\"\r\n ngbTooltip=\"Thêm mới\"\r\n >\r\n <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ngx-datatable\r\n #table\r\n class=\"material\"\r\n [rows]=\"rows\"\r\n [loadingIndicator]=\"loadingIndicator\"\r\n [columnMode]=\"ColumnMode.force\"\r\n [headerHeight]=\"45\"\r\n [footerHeight]=\"50\"\r\n [rowHeight]=\"40\"\r\n [reorderable]=\"reorderable\"\r\n [scrollbarH]=\"true\"\r\n [externalPaging]=\"true\"\r\n [count]=\"count\"\r\n [offset]=\"page\"\r\n [limit]=\"limit\"\r\n (page)=\"setPage($event)\"\r\n [selected]=\"selected\"\r\n [selectionType]=\"SelectionType.single\"\r\n (activate)=\"handleActivate($event)\"\r\n >\r\n <!-- columns -->\r\n <ng-container *ngFor=\"let column of columns\">\r\n <ngx-datatable-column\r\n *ngIf=\"column.hidden !== undefined ? !column.hidden : true\"\r\n [name]=\"column.name\"\r\n [prop]=\"column.prop\"\r\n [frozenLeft]=\"column.frozenLeft\"\r\n [width]=\"column.width\"\r\n >\r\n <ng-template\r\n ngx-datatable-cell-template\r\n let-rowIndex=\"rowIndex\"\r\n let-value=\"value\"\r\n let-row=\"row\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isEditing(rowIndex) && !column.isNonEdit ? editing : text;\r\n context: { column: column, value: value, rowIndex: rowIndex }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n\r\n <!-- column actions -->\r\n <ngx-datatable-column\r\n *ngIf=\"isHidden === false\"\r\n name=\"Thao tác\"\r\n [frozenRight]=\"'true'\"\r\n width=\"100\"\r\n >\r\n <ng-template\r\n let-row=\"row\"\r\n let-rowIndex=\"rowIndex\"\r\n ngx-datatable-cell-template\r\n >\r\n <ng-container *ngFor=\"let action of actions\">\r\n <app-button\r\n *ngIf=\"action.isEditing(rowIndex)\"\r\n [btnClass]=\"action.class\"\r\n [icon]=\"action.icon\"\r\n (click)=\"action.click(row, rowIndex)\"\r\n [placement]=\"action.placement\"\r\n [ngbTooltip]=\"action.tooltip\"\r\n >\r\n </app-button>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #editing\r\n let-column=\"column\"\r\n let-value=\"value\"\r\n let-rowIndex=\"rowIndex\"\r\n>\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n *ngIf=\"column.type === 'text' || column.type === 'number'\"\r\n [type]=\"column.type\"\r\n class=\"form-control\"\r\n style=\"width: 100%\"\r\n [(ngModel)]=\"rowEditing[column.prop]\"\r\n />\r\n </div>\r\n\r\n <select\r\n *ngIf=\"column.type === 'select'\"\r\n class=\"custom-select\"\r\n [ngModel]=\"rowEditing[column.prop] ? rowEditing[column.prop] : ''\"\r\n (ngModelChange)=\"rowEditing[column.prop] = $event\"\r\n >\r\n <option value=\"\">Chọn...</option>\r\n <option\r\n *ngFor=\"let option of column.options\"\r\n [value]=\"option.code\"\r\n [selected]=\"option.code === value\"\r\n >\r\n {{ option.name }}\r\n </option>\r\n </select>\r\n\r\n <input\r\n *ngIf=\"column.type === 'date'\"\r\n class=\"form-control\"\r\n placeholder=\"dd/MM/yyyy\"\r\n name=\"dp\"\r\n [ngModel]=\"rowEditing[column.prop] | date : 'yyyy-MM-dd'\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n (click)=\"d.toggle()\"\r\n (ngModelChange)=\"rowEditing[column.prop] = $event.getTime()\"\r\n />\r\n</ng-template>\r\n\r\n<ng-template #text let-column=\"column\" let-value=\"value\">\r\n <span>{{\r\n column.type === \"select\"\r\n ? formatValue(column, value)\r\n : column.type === \"date\"\r\n ? (value | date : \"dd-MM-yyy\")\r\n : value\r\n }}</span>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { ColumnMode, SelectionType } from '@swimlane/ngx-datatable';\r\nimport { IDataService } from '../../services/IDataService';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalConfirmComponent, EventModal } from 'src/app/shared/components/modal-confirm/modal-confirm.component';\r\nimport { TableColumnMode } from './datatable.model';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { DonViService } from 'src/app/shared/services/don-vi.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-datatable',\r\n templateUrl: './datatable.component.html',\r\n styleUrls: ['./datatable.component.scss']\r\n})\r\nexport class DatatableComponent implements OnInit, OnChanges {\r\n SelectionType = SelectionType;\r\n rows: any = [];\r\n @Input() columns: TableColumnMode[] = [];\r\n @Input() service: IDataService;\r\n @Input() header = '';\r\n @Input() searchField: string;\r\n @Input() isHidden = false;\r\n selected = [];\r\n @Input() khaNangDungChung: boolean;\r\n @Input() tinhTrang: number;\r\n\r\n @Output() onActivate = new EventEmitter<{}>();\r\n\r\n\r\n rowEditing = {};\r\n loadingIndicator = true;\r\n ColumnMode = ColumnMode\r\n reorderable = true;\r\n limit = 10;\r\n page = 0;\r\n count = 0;\r\n where = [];\r\n _rowIndex: number | undefined = undefined;\r\n timer: any;\r\n dsDonVi = [];\r\n\r\n actions = [\r\n { class: 'btn-primary', icon: 'edit', click: (row, rowIndex) => this.handleClickEdit(row, rowIndex), isEditing: (rowIndex) => !this.isEditing(rowIndex), placement: 'left', tooltip: 'Sửa' },\r\n { class: 'btn-danger ml-1', icon: 'trash', click: (row, rowIndex) => this.handleClickDelete(row, rowIndex), isEditing: (rowIndex) => !this.isEditing(rowIndex), placement: 'left', tooltip: 'Xóa' },\r\n { class: 'btn-success', icon: 'save', click: (row, rowIndex) => this.handleClickSave(row, rowIndex), isEditing: (rowIndex) => this.isEditing(rowIndex), placement: 'left', tooltip: 'Lưu' },\r\n { class: 'btn-danger ml-1', icon: 'ban', click: (row, rowIndex) => this.handleClickCancel(row, rowIndex), isEditing: (rowIndex) => this.isEditing(rowIndex), placement: 'left', tooltip: 'Hủy' },\r\n ]\r\n\r\n constructor(\r\n public toastService: ToastService,\r\n public modalService: NgbModal,\r\n public hanhChinhService: HanhChinhService,\r\n public loginService: LoginService,\r\n public donViService: DonViService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.isHidden === true) {\r\n this.actions = [];\r\n }\r\n this.loadData();\r\n this.donViService.getListDonVi().then(donVis => this.dsDonVi = donVis)\r\n this.service.loaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.columns = this.columns.map(m => {\r\n if (m.type === 'select') {\r\n if (m.isQuanHuyenTP) {\r\n this.hanhChinhService.getAllDistrict().then(res => m.options = res);\r\n } else if (m.isPhuongXa) {\r\n this.hanhChinhService.getAllWard().then(res => m.options = res);\r\n } else {\r\n m.options = (this.service.getField(m.prop).domain as __esri.CodedValueDomain).codedValues;\r\n }\r\n }\r\n return m;\r\n })\r\n }\r\n })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n console.log(changes);\r\n if (changes.khaNangDungChung) {\r\n this.searchCheckKhaNangDungChung(changes.khaNangDungChung.currentValue);\r\n }\r\n if (changes.tinhTrang) {\r\n this.filterTinhTrang(changes.tinhTrang.currentValue)\r\n }\r\n }\r\n\r\n formatValue(column: TableColumnMode, value: any) {\r\n const val = column.options.find(m => m.code === value);\r\n return val && val.name || \"\";\r\n }\r\n\r\n isEditing(rowIndex) {\r\n return this._rowIndex === rowIndex;\r\n }\r\n\r\n loadData() {\r\n const query: __esri.QueryProperties = {\r\n where: this.where.join(' and '),\r\n outFields: ['*'],\r\n start: this.page * this.limit,\r\n num: this.limit,\r\n orderByFields: ['OBJECTID DESC']\r\n };\r\n this.service.loaded$.subscribe(async loaded => {\r\n if (loaded) {\r\n this.service.getAll({ query })\r\n .then(({ features }) => {\r\n this.loadingIndicator = false;\r\n this.rows = features.map(m => m.attributes);\r\n console.log(this.rows);\r\n\r\n })\r\n }\r\n });\r\n this.getCount();\r\n }\r\n\r\n getCount() {\r\n this.service.loaded$.subscribe(async loaded => {\r\n if (loaded) {\r\n this.service.getCount({ query: { where: this.where.join(' and ') } }).then(count => this.count = count);\r\n }\r\n })\r\n }\r\n\r\n setPage(pageInfo) {\r\n this.loadingIndicator = true;\r\n this.page = pageInfo.offset;\r\n this.loadData();\r\n }\r\n\r\n handleClickEdit(row, rowIndex) {\r\n if (this.loginService.isQuanHuyen) {\r\n if (row?.LoaiDichVu === 3) {\r\n this._rowIndex = rowIndex;\r\n this.rowEditing = { ...row };\r\n } else if (row?.LoaiDichVu !== 3) {\r\n this.toastService.danger('Tài khoản không đủ quyền để sửa loại dịch vụ này!', 'Thông Báo:');\r\n }\r\n } else {\r\n this._rowIndex = rowIndex;\r\n this.rowEditing = { ...row };\r\n }\r\n }\r\n\r\n handleClickSave(row, rowIndex) {\r\n this.handleSave();\r\n this._rowIndex = undefined;\r\n }\r\n\r\n private handleSave() {\r\n this.loadingIndicator = true;\r\n this.service.update(this.rowEditing).then(res => {\r\n if (res.updateResults && res.updateResults.length) {\r\n this.loadData();\r\n this.toastService.success('Cập nhập dữ liệu thành công!');\r\n }\r\n else {\r\n this.toastService.danger('Cập nhật dữ liệu thất bại');\r\n }\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n handleClickDelete(row, rowIndex) {\r\n if (this.loginService.isQuanHuyen) {\r\n if (row?.LoaiDichVu === 3) {\r\n this.modalService.open(ModalConfirmComponent, { centered: true }).result.then((result) => {\r\n if (result === EventModal.OK) {\r\n this.service.deletes(row.OBJECTID).then(res => {\r\n if (res.deleteResults && res.deleteResults.length) {\r\n this.loadData();\r\n this.toastService.success('Xóa dữ liệu thành công!');\r\n\r\n } else {\r\n this.toastService.danger(\"Xóa dữ liệu thất bại!\");\r\n }\r\n })\r\n }\r\n }, (reason) => { });\r\n } else {\r\n this.toastService.danger('Tài khoản không đủ quyền để xóa loại dịch vụ này!', 'Thông Báo:');\r\n }\r\n } else {\r\n this.modalService.open(ModalConfirmComponent, { centered: true }).result.then((result) => {\r\n if (result === EventModal.OK) {\r\n this.service.deletes(row.OBJECTID).then(res => {\r\n if (res.deleteResults && res.deleteResults.length) {\r\n this.loadData();\r\n this.toastService.success('Xóa dữ liệu thành công!');\r\n\r\n } else {\r\n this.toastService.danger(\"Xóa dữ liệu thất bại!\");\r\n }\r\n })\r\n }\r\n }, (reason) => { });\r\n }\r\n }\r\n\r\n handleClickCancel(row, rowIndex) {\r\n this._rowIndex = undefined;\r\n }\r\n\r\n handleActivate(event) {\r\n if (event.type === 'click' && !event.column.frozenRight && this._rowIndex === undefined) {\r\n event.cellElement.blur()\r\n this.onActivate.emit({ row: event.row, fields: this.columns })\r\n }\r\n }\r\n\r\n filterDoanhNghiep(event) {\r\n const value = event.target.value;\r\n const queryString = `TenDoanhNghiep='${value}'`\r\n this.filterWheres(value, queryString, 'TenDoanhNghiep');\r\n this.loadData();\r\n }\r\n\r\n filterTinhTrang(value) {\r\n const queryString = `TinhTrang=${value}`;\r\n this.filterWheres(value, queryString, 'TinhTrang')\r\n this.loadData();\r\n }\r\n\r\n private filterWheres(value: any, queryString: string, fieldName: string) {\r\n const index = this.where.findIndex(m => m.indexOf(fieldName) > -1);\r\n if (index > -1) {\r\n value ? this.where[index] = queryString : this.where.splice(index, 1);\r\n }\r\n else if (value) {\r\n this.where.push(queryString);\r\n }\r\n }\r\n\r\n handleKeyupSearch(event) {\r\n if (this.searchField) {\r\n const value = event.target.value;\r\n const queryString = `${this.searchField} LIKE N'%${value}%'`\r\n this.timer && clearTimeout(this.timer);\r\n this.timer = setTimeout(() => {\r\n this.filterWheres(value, queryString, this.searchField);\r\n this.loadData();\r\n }, 200);\r\n }\r\n }\r\n\r\n searchCheckKhaNangDungChung(value) {\r\n const queryString = `CoKhaNangDungChung='${value}'`;\r\n this.filterWheres(value, queryString, 'CoKhaNangDungChung');\r\n this.loadData();\r\n }\r\n}\r\n","<div class=\"wrap-form\">\r\n <perfect-scrollbar\r\n [ngStyle]=\"{ height: height }\"\r\n class=\"form\"\r\n [config]=\"scrollBarConfig\"\r\n >\r\n <div class=\"form-group row\" *ngIf=\"isSTTT\">\r\n <label\r\n for=\"doanhNghiep\"\r\n class=\"col-sm-3 col-form-label-sm font-weight-lighter text-right p-0\"\r\n >Doanh nghiệp</label\r\n >\r\n <div class=\"col-sm-9\">\r\n <select\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"datas.TenDoanhNghiep ? datas.TenDoanhNghiep : ''\"\r\n (ngModelChange)=\"datas.TenDoanhNghiep = $event\"\r\n (change)=\"changeDoanhNghiep.emit($event)\"\r\n >\r\n <option value=\"\">Chọn...</option>\r\n <option\r\n *ngFor=\"let doanhNghiep of doanhNghieps\"\r\n [value]=\"doanhNghiep.code\"\r\n >\r\n {{ doanhNghiep.name }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n <ng-container *ngFor=\"let item of fields\">\r\n <div\r\n class=\"form-group row\"\r\n *ngIf=\"item.hidden !== undefined ? !item.hidden : true\"\r\n >\r\n <label\r\n [for]=\"item.prop\"\r\n class=\"col-sm-3 col-form-label-sm font-weight-lighter text-right p-0\"\r\n >{{ item.name }}<span *ngIf=\"item.require\">*</span></label\r\n >\r\n\r\n <div class=\"col-sm-9\">\r\n <input\r\n [type]=\"item.type\"\r\n [attr.name]=\"item.prop\"\r\n [(ngModel)]=\"datas[item.prop]\"\r\n class=\"form-control form-control-sm\"\r\n [placeholder]=\"item.placeholder ? item.placeholder : ''\"\r\n *ngIf=\"item.type === 'text' || item.type === 'number'\"\r\n (keyup)=\"handleKeyup($event)\"\r\n />\r\n\r\n <select\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"datas[item.prop] ? datas[item.prop] : ''\"\r\n (ngModelChange)=\"datas[item.prop] = $event\"\r\n *ngIf=\"item.type === 'select' && item.prop !== 'TenDoanhNghiep'\"\r\n >\r\n <option value=\"\" disabled>Chọn...</option>\r\n <option\r\n *ngFor=\"let option of item.options\"\r\n [value]=\"option.code\"\r\n [selected]=\"datas[item.prop] === option.code\"\r\n >\r\n {{ option.name }}\r\n </option>\r\n </select>\r\n\r\n <input\r\n class=\"form-control form-control-sm\"\r\n placeholder=\"dd/MM/yyyy\"\r\n name=\"dp\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n (click)=\"d.toggle()\"\r\n (ngModelChange)=\"datas[item.prop] = $event.getTime()\"\r\n *ngIf=\"item.type === 'date'\"\r\n />\r\n\r\n <input\r\n [(ngModel)]=\"datas[item.prop]\"\r\n *ngIf=\"item.type === 'checkbox'\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n id=\"exampleCheck1\"\r\n />\r\n\r\n <div *ngIf=\"item.type === 'file'\" class=\"custom-file mb-3\">\r\n <form #upload enctype=\"multipart/form-data\">\r\n <input\r\n type=\"file\"\r\n multiple\r\n name=\"attachment\"\r\n (change)=\"changeFileInput.emit($event)\"\r\n />\r\n <input type=\"hidden\" name=\"f\" value=\"json\" />\r\n </form>\r\n <!-- <label class=\"custom-file-label col-form-label-sm label-info\" for=\"customFile\">Chọn file</label> -->\r\n <!-- <div class=\"attachment-file\"><i class=\"fas fa-plus\"></i> Đính kèm file</div> -->\r\n </div>\r\n\r\n <ng-content #file></ng-content>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </perfect-scrollbar>\r\n\r\n <div class=\"float-right p-2\" *ngIf=\"actions\">\r\n <app-button\r\n btnClass=\"btn-outline-secondary\"\r\n icon=\"refresh\"\r\n (click)=\"datas = {}\"\r\n >\r\n Tạo lại</app-button\r\n >\r\n <app-button\r\n btnClass=\"btn-outline-primary ml-1\"\r\n icon=\"plus\"\r\n (click)=\"handleSubmit()\"\r\n >\r\n Lưu</app-button\r\n >\r\n </div>\r\n</div>\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { IDataService } from '../../services/IDataService';\r\nimport { TableColumnMode } from '../datatable/datatable.model';\r\nimport { MapService } from 'src/app/map/shared/services/map.service';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { DDoanhNghieps } from 'src/app/shared/constants/data.constant';\r\nimport {Location} from '@angular/common';\r\nexport interface FormFields extends TableColumnMode {\r\n isQuanHuyenTP?: boolean;\r\n isPhuongXa?: boolean;\r\n disable?: boolean;\r\n require?: boolean;\r\n placeholder?: string;\r\n tooltip?: string;\r\n hidden?: boolean;\r\n};\r\nexport type DataForm = TramBTSModel & TuyenCapNgamModel & DiemDichVuModel\r\n\r\n@Component({\r\n selector: 'app-form',\r\n templateUrl: './form.component.html',\r\n styleUrls: ['./form.component.scss']\r\n})\r\nexport class FormComponent implements OnInit {\r\n @ViewChild('upload') public upload: ElementRef<HTMLFormElement>;\r\n @Input() fields: FormFields[] = [];\r\n @Input() service: IDataService;\r\n @Input() height = '70vh';\r\n @Input() actions = true;\r\n @Output() onSubmit = new EventEmitter();\r\n @Output() onKeyup = new EventEmitter();\r\n @Output() changeFileInput = new EventEmitter();\r\n @Output() changeDoanhNghiep = new EventEmitter();\r\n\r\n datas: any = {};\r\n doanhNghieps: __esri.CodedValueDomainCodedValues[] = DDoanhNghieps;\r\n isSTTT = false;\r\n scrollBarConfig: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n };\r\n constructor(\r\n private hanhChinhService: HanhChinhService,\r\n public loginService: LoginService,\r\n private cdRef: ChangeDetectorRef,\r\n private toastService: ToastService,\r\n private location: Location,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isSTTT = this.loginService.isSoTTTT;\r\n this.service.loaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.fields = this.fields.map(m => {\r\n if (m.type === 'select') {\r\n if (m.isQuanHuyenTP) {\r\n this.hanhChinhService.getAllDistrict().then(res => m.options = res);\r\n } else if (m.isPhuongXa) {\r\n this.hanhChinhService.getAllWard().then(res => m.options = res);\r\n } else {\r\n const options = (this.service.getField(m.prop).domain as __esri.CodedValueDomain).codedValues;\r\n if (this.loginService.isQuanHuyen) {\r\n m.options = options.filter(f => f.code === 3 || f.code === 4);\r\n } else {\r\n m.options = options;\r\n }\r\n }\r\n }\r\n return m;\r\n })\r\n }\r\n });\r\n }\r\n\r\n handleKeyup(event) {\r\n this.onKeyup.emit(event);\r\n }\r\n\r\n getFormUpload(): HTMLFormElement {\r\n return this.upload && this.upload.nativeElement\r\n }\r\n\r\n reset() {\r\n this.datas = {};\r\n this.upload && this.upload.nativeElement.reset();\r\n }\r\n\r\n checkValue() {\r\n for (let i = 0; i < this.fields.length; i++) {\r\n if (this.fields[i].require && !this.datas[this.fields[i].prop]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.checkValue()) {\r\n this.toastService.warning('Vui lòng nhập những trường thông tin bắt buộc!');\r\n return;\r\n }\r\n this.onSubmit.emit(this.datas);\r\n this.reset();\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n}\r\n","<div id=\"mapViewEl\" #mapViewEl>\r\n <div id=\"toolbarDiv\" class=\"esri-component esri-widget\" *ngIf=\"isShowMeasure\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive esri-icon-measure-line\"\r\n title=\"Distance Measurement Tool\"\r\n (click)=\"distanceMeasurement()\"\r\n ></button>\r\n\r\n <button\r\n id=\"area\"\r\n class=\"esri-widget--button esri-interactive esri-icon-measure-area\"\r\n title=\"Area Measurement Tool\"\r\n (click)=\"areaMeasurement()\"\r\n ></button>\r\n\r\n <button\r\n id=\"clear\"\r\n class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\"\r\n (click)=\"clearMeasurements()\"\r\n ></button>\r\n\r\n <app-side-nav title=\"Chọn doanh nghiệp\" class=\"side-nav\" [isOpen]=\"isOpenSideNav\" (close)=\"closeSideNav.emit($event)\">\r\n <div class=\"item shadow-sm text-dark\" *ngFor=\"let doanhNghiep of doanhNghieps\"\r\n (click)=\"selectDoanhNghiep(doanhNghiep.code)\">\r\n <div class=\"item-title\">{{doanhNghiep.name}}</div>\r\n </div>\r\n </app-side-nav>\r\n</div>","import { Component, OnInit, ElementRef, EventEmitter, Output, ViewChild, Input } from '@angular/core';\r\nimport { SCALE, CENTER } from 'src/app/map/shared/constants/map.constant';\r\nimport MapView from 'esri/views/MapView';\r\nimport Map from 'esri/Map';\r\nimport { SimpleMarkerSymbol } from 'esri/symbols';\r\nimport PopupTemplate from 'esri/PopupTemplate';\r\nimport GeometryService from 'esri/tasks/GeometryService';\r\nimport Home from 'esri/widgets/Home';\r\nimport { DDoanhNghieps } from 'src/app/shared/constants/data.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { Huyen } from 'src/app/shared/models/login.model';\r\nimport Measurement from 'esri/widgets/Measurement';\r\nimport { MapService } from 'src/app/map/shared/services/map.service';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-mini-map',\r\n templateUrl: './mini-map.component.html',\r\n styleUrls: ['./mini-map.component.scss']\r\n})\r\nexport class MiniMapComponent implements OnInit {\r\n\r\n @ViewChild('mapViewEl', { static: true }) mapViewEl: ElementRef<HTMLDivElement>;\r\n @Output() mapLoaded = new EventEmitter<__esri.MapView>();\r\n @Output() drawAllDoanhNghiep = new EventEmitter<string>();\r\n @Output() closeSideNav = new EventEmitter<string>();\r\n @Output() whenLayerView = new EventEmitter();\r\n @Input() isShowMeasure: boolean;\r\n active = false;\r\n view: __esri.MapView;\r\n polyline: __esri.Geometry;\r\n point: __esri.Geometry;\r\n img: string;\r\n doanhNghieps = DDoanhNghieps;\r\n layerId: string | undefined = undefined;\r\n isOpenSideNav = false;\r\n public geometryService = new GeometryService({ url: \"https://ditagis.com:6443/arcgis/rest/services/Utilities/Geometry/GeometryServer\" });\r\n public symbolCreate = new SimpleMarkerSymbol({\r\n color: 'red',\r\n size: '16px',\r\n outline: {\r\n color: 'yellow',\r\n width: 3\r\n }\r\n });\r\n measurement: __esri.Measurement;\r\n // draw: __esri.Draw\r\n constructor(\r\n private loginService: LoginService,\r\n ) {\r\n this.measurement = new Measurement();\r\n // this.draw = new Draw({\r\n // view: this.view\r\n // });\r\n }\r\n\r\n async ngOnInit() {\r\n this.initializeMap();\r\n }\r\n\r\n checkVaiTro(): number[] {\r\n if (this.loginService.maDonVi === Huyen.TPKONTUM) {\r\n return CENTER.THANHPHO;\r\n } else if (this.loginService.maDonVi === Huyen.DAKGLEI) {\r\n return CENTER.DAKGLEI;\r\n } else if (this.loginService.maDonVi === Huyen.DAKHA) {\r\n return CENTER.DAKHA;\r\n } else if (this.loginService.maDonVi === Huyen.DAKTO) {\r\n return CENTER.DAKTO;\r\n } else if (this.loginService.maDonVi === Huyen.KONPLONG) {\r\n return CENTER.KONPLONG;\r\n } else if (this.loginService.maDonVi === Huyen.KONRAY) {\r\n return CENTER.KONRAY;\r\n } else if (this.loginService.maDonVi === Huyen.SATHAY) {\r\n return CENTER.SATHAY;\r\n } else if (this.loginService.maDonVi === Huyen.TUMORONG) {\r\n return CENTER.TUMORONG;\r\n } else if (this.loginService.maDonVi === Huyen.NGOCHOI) {\r\n return CENTER.NGOCHOI;\r\n } else {\r\n return CENTER.TINH;\r\n }\r\n }\r\n\r\n async initializeMap() {\r\n try {\r\n const mapProperties: __esri.MapProperties = {\r\n basemap: 'osm'\r\n };\r\n\r\n const map = new Map(mapProperties);\r\n\r\n const mapViewProperties: __esri.MapViewProperties = {\r\n container: this.mapViewEl.nativeElement,\r\n center: this.checkVaiTro(),\r\n scale: SCALE,\r\n map: map\r\n };\r\n\r\n this.view = new MapView(mapViewProperties);\r\n\r\n const homeWidget = new Home({\r\n view: this.view,\r\n });\r\n this.view.ui.add(homeWidget, \"top-left\");\r\n\r\n this.view.when(() => {\r\n this.mapLoaded.emit(this.view);\r\n });\r\n this.measurement.view = this.view;\r\n this.view.ui.add(this.measurement, 'top-right');\r\n\r\n this.view.popup.dockOptions = {};\r\n let layerView: __esri.FeatureLayerView;\r\n this.view.on('layerview-create', evt => {\r\n const layer = evt.layer as __esri.FeatureLayer;\r\n layerView = evt.layerView as __esri.FeatureLayerView;\r\n const fireFields = ['OBJECTID', 'created_user', 'created_date', 'last_edited_user', 'last_edited_date', 'XaPhuongTT', 'HuyenTXTP', 'TinhTrang', 'ChapThuanCuaSo', 'LoaiTram', 'DoCaoTram'];\r\n if (layer.type == 'feature') {\r\n let actions = [];\r\n layer.outFields = ['*'];\r\n layer.popupTemplate = new PopupTemplate({\r\n content: (target) => {\r\n const layer = target.graphic.layer;\r\n const fieldInfos = [];\r\n layer.fields.forEach(f => {\r\n if (fireFields.indexOf(f.name) === -1) {\r\n fieldInfos.push({ fieldName: f.name, label: f.alias })\r\n }\r\n })\r\n const content = [{\r\n type: 'fields',\r\n fieldInfos\r\n }]\r\n return content;\r\n },\r\n title: layer.title,\r\n actions: actions,\r\n });\r\n }\r\n this.whenLayerView.emit(layerView);\r\n });\r\n } catch (error) {\r\n alert('We have an error: ' + error);\r\n }\r\n }\r\n\r\n selectDoanhNghiep(maDoanhNghiep) {\r\n this.isOpenSideNav = false;\r\n this.drawAllDoanhNghiep.emit(maDoanhNghiep);\r\n }\r\n\r\n clearGraphic() {\r\n this.view.graphics.removeAll();\r\n }\r\n\r\n distanceMeasurement() {\r\n this.measurement.activeTool = \"distance\";\r\n }\r\n\r\n // Call the appropriate AreaMeasurement2D or AreaMeasurement3D\r\n areaMeasurement() {\r\n this.measurement.activeTool = \"area\";\r\n }\r\n\r\n\r\n clearMeasurements() {\r\n this.measurement.clear();\r\n }\r\n}\r\n","<app-modal-template title=\"Thông tin chi tiết\">\r\n <!-- body -->\r\n <div body>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-6\"\r\n *ngFor=\"let field of data.fields; let odd = odd\"\r\n [class.pb-2]=\"isEditing\"\r\n >\r\n <div class=\"row item\">\r\n <label for=\"field\" class=\"col-4 font-weight-lighter text-right\">{{\r\n field.name\r\n }}:</label>\r\n <div class=\"col-8 text-dark prop pl-0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isEditing ? editing : noneEdit;\r\n context: { field: field, value: data.row[field.prop] }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div footer style=\"display: flex\">\r\n <ng-container *ngIf=\"file\">\r\n <div class=\"file\">\r\n <a class=\"text-dark\" [href]=\"downloadFilePDF(file.url)\" target=\"_blank\"\r\n (change)=\"downloadFilePDF(file.url)\">\r\n <!-- <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"deleteFileAttachment(fileKySo.id)\" plac>x</a> -->\r\n <div class=\"d-flex h-100\">\r\n <i class=\"far fa-file-pdf mr-2\"></i>\r\n <span class=\"file-name\">Xem file GPKD</span>\r\n </div>\r\n </a>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isHidden\">\r\n <app-button \r\n ngbAutofocus\r\n btnClass=\"btn-primary\"\r\n icon=\"pencil-alt\"\r\n *ngIf=\"!isEditing\"\r\n (click)=\"handleClickEdit()\"\r\n >Sửa</app-button\r\n >\r\n </ng-container>\r\n <app-button\r\n btnClass=\"btn-danger\"\r\n icon=\"times\"\r\n *ngIf=\"!isEditing\"\r\n (click)=\"modal.dismiss(EventModal.CANCEL)\"\r\n >Đóng</app-button\r\n >\r\n <app-button\r\n ngbAutofocus\r\n btnClass=\"btn-success\"\r\n icon=\"save\"\r\n *ngIf=\"isEditing\"\r\n (click)=\"handleClickSave()\"\r\n >Lưu</app-button\r\n >\r\n <app-button\r\n ngbAutofocus\r\n btnClass=\"btn-danger\"\r\n icon=\"ban\"\r\n *ngIf=\"isEditing\"\r\n (click)=\"handleClickCancel()\"\r\n >Hủy</app-button\r\n >\r\n </div>\r\n</app-modal-template>\r\n\r\n<ng-template #editing let-value=\"value\" let-field=\"field\">\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n *ngIf=\"field.type === 'text' || field.type === 'number'\"\r\n [type]=\"field.type\"\r\n class=\"form-control\"\r\n style=\"width: 100%;\"\r\n [(ngModel)]=\"data.row[field.prop]\"\r\n />\r\n </div>\r\n <select\r\n *ngIf=\"field.type === 'select'\"\r\n class=\"custom-select\" [ngModel]=\"data.row[field.prop] ? data.row[field.prop] : ''\"\r\n (ngModelChange)=\"data.row[field.prop]=$event\"\r\n >\r\n <option value=\"\">Chọn...</option>\r\n <option\r\n *ngFor=\"let option of field.options\"\r\n [value]=\"option.code\"\r\n [selected]=\"option.code === value\"\r\n >{{ option.name }}\r\n </option>\r\n </select>\r\n <input\r\n *ngIf=\"field.type === 'date'\"\r\n class=\"form-control\"\r\n placeholder=\"yyyy-mm-dd\"\r\n name=\"dp\"\r\n [ngModel]=\"data.row[field.prop] | date: 'yyyy-MM-dd'\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n (click)=\"d.toggle()\"\r\n (ngModelChange)=\"data.row[field.prop] = $event.getTime()\"\r\n />\r\n\r\n <app-input-file *ngIf=\"field.type === 'file'\" [objectId]=\"data.row.OBJECTID\" [service]=\"attachment\" (formData)=\"data.row[field.prop] = $event\"></app-input-file>\r\n\r\n</ng-template>\r\n\r\n<ng-template #noneEdit let-value=\"value\" let-field=\"field\">\r\n {{\r\n field.type === \"select\"\r\n ? getNameDomain(value, field)\r\n : field.type === \"date\"\r\n ? (value | date: \"dd-MM-yyy\")\r\n : field.type === \"file\"\r\n ? getFileName()\r\n : value\r\n }}\r\n</ng-template>\r\n\r\n<ng-template #viewFile>\r\n <div class=\"file\" *ngIf=\"file\">\r\n <a class=\"text-dark\" [href]=\"downloadFilePDF(file.url)\" target=\"_blank\"\r\n (change)=\"downloadFilePDF(file.url)\">\r\n <!-- <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"deleteFileAttachment(fileKySo.id)\" plac>x</a> -->\r\n <div class=\"d-flex h-100\">\r\n <i class=\"far fa-file-pdf mr-2\"></i>\r\n <span class=\"file-name\">{{file.name}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { Actions } from 'src/app/shared/components/modal/modal.component';\r\nimport { TableColumnMode } from '../datatable/datatable.model';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\nimport { DiemDichVuAttachmentService } from '../../services/diem-dich-vu-attachment.service';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\ntype Data = DiemDichVuModel | TramBTSModel | TuyenCapNgamModel;\r\n\r\nenum EventModal {\r\n OK = 'OK',\r\n CANCEL = 'CANCEL',\r\n CROSS = 'CROSS'\r\n}\r\n\r\n@Component({\r\n selector: 'app-modal-detail',\r\n templateUrl: './modal-detail.component.html',\r\n styleUrls: ['./modal-detail.component.scss']\r\n})\r\nexport class ModalDetailComponent implements OnInit {\r\n EventModal = EventModal;\r\n @Input() data: { flag?: string, row: Data, fields: TableColumnMode, };\r\n @Output() passEntry = new EventEmitter<Data>()\r\n dataClone: Data;\r\n isEditing = false;\r\n isHidden = true;\r\n file: any;\r\n\r\n Flag = FlagMenu;\r\n\r\n constructor(\r\n public modal: NgbActiveModal,\r\n private loginService: LoginService,\r\n public attachment: DiemDichVuAttachmentService,\r\n private apiService: ApiService,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.loginService.isQuanHuyen && (this.data.flag === this.Flag.TuyenCapNoi || this.data.flag === this.Flag.TuyenCapNgam || this.data.flag === this.Flag.TramBTS)) {\r\n this.isHidden = false;\r\n }\r\n if (this.loginService.isQuanHuyen) {\r\n if (this.data.flag === this.Flag.DiemDichVu) {\r\n if ((this.data.row as DiemDichVuModel).LoaiDichVu !== 3) {\r\n this.isHidden = false;\r\n }\r\n }\r\n }\r\n this.getFile();\r\n }\r\n\r\n getFile() {\r\n this.attachment.queryAttachments({ objectIds: [this.data.row.OBJECTID]}).then(res => {\r\n const value =this.data.row as DiemDichVuModel\r\n this.file = res[0].attachments.find(f => f.id === value.TepDinhKemGPKD as DiemDichVuModel);\r\n });\r\n }\r\n\r\n\r\n downloadFilePDF(url: string) {\r\n return url;\r\n }\r\n\r\n getNameDomain(value, column) {\r\n const val = column.options.find(m => m.code === value);\r\n return val && val.name || \"\";\r\n }\r\n\r\n handleClickEdit() {\r\n this.isEditing = true;\r\n }\r\n\r\n handleClickCancel() {\r\n this.isEditing = false;\r\n }\r\n\r\n handleClickSave() {\r\n this.passBack();\r\n this.modal.close(this.data.row);\r\n }\r\n\r\n handleClickClose() {\r\n this.modal.dismiss(EventModal.CANCEL);\r\n }\r\n\r\n getFileName() {\r\n return this.file ? this.file.name : 'Giấy phép kinh doanh';\r\n }\r\n\r\n passBack() {\r\n this.modal.dismiss(EventModal.OK);\r\n this.passEntry.emit(this.data.row);\r\n }\r\n\r\n}\r\n","<table class=\"table table-sm table-bordered\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of columns\" scope=\"col\">{{column.name}}</th>\r\n <th scope=\"col\" *ngIf=\"!display\" class=\"text-center\">Thao tác</th>\r\n <th scope=\"col\" *ngIf=\"!service.isDoanhNghiep || trangThai>TinhTrangHoSo.HoSoChoDuyet\" class=\"text-center\">Chấp thuận</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of rows; let i = index\" [class.bg-info]=\"indexRow===i\" [class.text-white]=\"indexRow===i\" (click)=\"handleClickRow(i,row)\">\r\n <td *ngFor=\"let column of columns\">{{row.attributes[column.prop]}}</td>\r\n <td class=\"text-center\" *ngIf=\"!service.isDoanhNghiep || trangThai>TinhTrangHoSo.HoSoChoDuyet\">\r\n <ng-container *ngTemplateOutlet=\"row.attributes.TinhTrang===TinhTrangBts.XinCapPhep ? pheDuyet : daPheDuyet; context: {row: row}\"></ng-container>\r\n </td>\r\n <td class=\"d-flex justify-content-center\" *ngIf=\"!display\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"btn btn-primary btn-sm mr-1\" placement=\"top\" ngbTooltip=\"Edit\" data-toggle=\"tooltip\"\r\n (click)=\"onEdit.emit(row)\"><i class=\"fas fa-edit\"></i></button>\r\n <button (click)=\"onDelete.emit(row)\" class=\"btn btn-danger btn-sm\" placement=\"top\" ngbTooltip=\"Delete\"\r\n data-toggle=\"tooltip\"><i class=\"fas fa-trash-alt\"></i></button>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!rows?.length\">\r\n <td [attr.colspan]=\"columns?.length + 1\" class=\"text-center\"><span class=\"font-weight-light\">Không có dữ\r\n liệu\r\n để hiển thị</span></td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<ng-template #pheDuyet let-row=\"row\" > \r\n <app-button-link icon=\"pen-alt\" color=\"primary\"\r\n [ngbPopover]=\"popContent\" triggers=\"manual\" #p=\"ngbPopover\" \r\n (click)=\"reset();p.open()\" [autoClose]=\"autoClose(p)\" [popoverTitle]=\"popTitle\"\r\n >Duyệt</app-button-link>\r\n <ng-template #popTitle>\r\n <div class=\"row justify-content-between align-items-center\">\r\n <div class=\"text-dark\">Chấp thuận</div>\r\n <app-button-link icon=\"times\" color=\"danger\" (click)=\"toggle(p)\"></app-button-link>\r\n </div>\r\n </ng-template>\r\n <ng-template #popContent>\r\n <div class=\"row\" *ngIf=\"!isTuChoi\">\r\n <app-button-link icon=\"check\" color=\"primary\" (click)=\"toggle(p);onCheck.emit(row.attributes)\">Chấp nhận</app-button-link>\r\n <app-button-link icon=\"ban\" color=\"danger\" (click)=\"isTuChoi=true\">Từ chối</app-button-link>\r\n </div>\r\n <div class=\"row\" *ngIf=\"isTuChoi\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"lyDoTuChoi\"\r\n class=\"form-control form-control-sm\"\r\n placeholder=\"Nhập lý do từ chối\" />\r\n <div class=\"w-100 d-flex justify-content-end\">\r\n <app-button-link icon=\"check\" color=\"success\" (click)=\"toggle(p);handleTuChoi(row.attributes)\">OK</app-button-link>\r\n <app-button-link icon=\"times\" color=\"danger\" (click)=\"isTuChoi=false\">Hủy</app-button-link>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-template>\r\n\r\n<ng-template #daPheDuyet let-row=\"row\">\r\n <div class=\"text-success\" *ngIf=\"row.attributes.TinhTrang===TinhTrangBts.DaCapPhep\"><i class=\"fas fa-check\"></i> Chấp nhận</div>\r\n <div class=\"text-danger\" *ngIf=\"row.attributes.TinhTrang===TinhTrangBts.KhongChapNhan\"><i class=\"fas fa-times\"></i> Từ chối ({{row?.attributes?.lyDo}})</div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { INFERRED_TYPE } from '@angular/compiler/src/output/output_ast';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { ETinhTrang } from 'src/app/shared/models/data.model';\r\nimport { NgbPopover } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TinhTrangHoSo } from '../../models/ho-so.model';\r\n\r\ninterface Column {\r\n name: string;\r\n prop: string;\r\n}\r\n\r\nenum Role {\r\n SOTTTT = 'SOTTTT',\r\n DN = 'DN'\r\n}\r\n\r\nexport type Columns = Column[];\r\n\r\n@Component({\r\n selector: 'app-table-details',\r\n templateUrl: './table-details.component.html',\r\n styleUrls: ['./table-details.component.scss']\r\n})\r\nexport class TableDetailsComponent implements OnInit {\r\n @Input() rows = [];\r\n @Input() display = false;\r\n @Input() trangThai: any;\r\n @Input() maVT: string;\r\n @Input() role = Role;\r\n @Input() columns: Columns = [];\r\n @Output() onEdit = new EventEmitter();\r\n @Output() onDelete = new EventEmitter();\r\n @Output() onClickRow = new EventEmitter();\r\n @Output() onCheck = new EventEmitter();\r\n @Output() onRefuse = new EventEmitter();\r\n TinhTrangBts = ETinhTrang;\r\n indexRow: number;\r\n isTuChoi = false;\r\n lyDoTuChoi = '';\r\n TinhTrangHoSo = TinhTrangHoSo;\r\n constructor(public service: LoginService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClickRow(index: number, row: any) {\r\n this.indexRow = index;\r\n this.onClickRow.emit(row);\r\n }\r\n\r\n handleTuChoi(row) {\r\n if(!this.lyDoTuChoi) return;\r\n this.onRefuse.emit({row, lyDo: this.lyDoTuChoi}); \r\n }\r\n\r\n toggle(p) {\r\n p.close();\r\n }\r\n\r\n reset() {\r\n this.isTuChoi = false;\r\n this.lyDoTuChoi = '';\r\n }\r\n\r\n autoClose(p): string {\r\n return 'outside';\r\n }\r\n\r\n\r\n}\r\n","<div class=\"card border-light mb-3\">\r\n <div class=\"card-header d-flex justify-content-between\">\r\n <span>{{header}}</span>\r\n <!-- <button [routerLink]=\"['../','add']\" routerLinkActive type=\"button\" class='btn btn-sm btn-success' placement=\"left\"\r\n ngbTooltip=\"Thêm mới\"> -->\r\n <div class=\"d-flex\">\r\n <ng-content select=\"[filter]\">\r\n </ng-content>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <ngx-datatable #table class=\"material striped\" [columns]=\"columns\" [rows]=\"rows\" [limit]=\"limit\"\r\n [loadingIndicator]=\"loadingIndicator\" [columnMode]=\"ColumnMode.flex\" [headerHeight]=\"45\" [footerHeight]=\"50\"\r\n [externalPaging]=\"true\" [count]=\"count\" [offset]=\"page\" [rowHeight]=\"40\" (page)=\"setPage($event)\"\r\n [reorderable]=\"reorderable\" [scrollbarH]=\"true\" [selected]=\"selected\" (select)=\"onSelect.emit($event)\">\r\n </ngx-datatable>\r\n </div>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter, Type } from '@angular/core';\r\nimport { SelectionType, TableColumn, ColumnMode } from '@swimlane/ngx-datatable';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { AddComponent } from '../../../ho-so/add/add.component';\r\n\r\n@Component({\r\n selector: 'app-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss']\r\n})\r\nexport class TableComponent implements OnInit {\r\n SelectionType = SelectionType;\r\n rows: any = [];\r\n @Input() columns: TableColumn[] = [];\r\n @Input() header = '';\r\n @Input() flag: any;\r\n @Input() url: any;\r\n @Input() file: any;\r\n @Output() onSelect = new EventEmitter();\r\n actions: any;\r\n loadingIndicator = true;\r\n ColumnMode = ColumnMode;\r\n reorderable = true;\r\n limit = 10;\r\n page = 0;\r\n count = 0;\r\n selected = [];\r\n skip= 0;\r\n \r\n constructor(\r\n public toastService: ToastService,\r\n public modalService: NgbModal,\r\n private apiService: ApiService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n\r\n openDlgAdd() {\r\n const modalRef = this.modalService.open(AddComponent, {\r\n size: \"full\",\r\n });\r\n }\r\n\r\n\r\n formatValue(column: TableColumn, value: any) {\r\n\r\n }\r\n\r\n loadData() {\r\n this.loadingIndicator = true;\r\n this.apiService.get(`${this.url}?TenHoSo=${this.file.name}&LoaiHoSo=&IDDV=${this.file.idDV}&StartDate=${this.file.startDay}&EndDate=${this.file.endDay}&TrangThai=${this.file.status}&skip=${this.skip}&take=${this.limit}`)\r\n .then(res => {\r\n this.rows = res.value;\r\n this.count = res.count;\r\n this.loadingIndicator = false;\r\n })\r\n }\r\n\r\n getCount() {\r\n \r\n }\r\n\r\n setPage(pageInfo) {\r\n this.loadingIndicator = true;\r\n this.page = pageInfo.offset;\r\n this.skip = this.page * this.limit;\r\n this.loadData();\r\n }\r\n\r\n onSelected(event) {\r\n this.onSelect.emit(event.target.value)\r\n }\r\n\r\n handleClickEdit(row, rowIndex) {\r\n\r\n }\r\n\r\n handleClickSave(row, rowIndex) {\r\n\r\n }\r\n\r\n handleClickDelete(row, rowIndex) {\r\n\r\n }\r\n\r\n\r\n handleClickCancel(row, rowIndex) {\r\n\r\n }\r\n\r\n}\r\n","import { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\n\r\nexport interface HoSoModel {\r\n Ma: string;\r\n Ten: string;\r\n}\r\n\r\nexport enum TinhTrangHoSo {\r\n HoSoChuaKySo,\r\n HoSoDaKySo,\r\n HoSoChoDuyet,\r\n HoSoBiTuChoi,\r\n HoSoDaDuyet\r\n\r\n}\r\n\r\nexport interface HoSo {\r\n ID?: string;\r\n IDDV?: string;\r\n TGTao?: string;\r\n TGCapNhat?: string;\r\n MaTaiKhoan?: string;\r\n MaHoSo?: number;\r\n TenHoSo?: string;\r\n SoCongVan?: string;\r\n IDVanBan?: string;\r\n TrangThai?: number;\r\n LyDo?: string;\r\n DaGuiHoSo?: string;\r\n TGGuiHoSo?: string;\r\n TGDenHanXuLy?: string;\r\n TGDuyet?: string;\r\n NoiDungPhucDap?: string;\r\n};\r\n\r\nexport type TramBtsRows = { attributes: TramBTSModel, geometry?: __esri.Geometry };\r\nexport type DiemDichVuRows = { attributes: DiemDichVuModel, geometry?: __esri.Geometry };\r\nexport type TuyenCapRows = { attributes: TuyenCapNgamModel, geometry?: __esri.Geometry };\r\n\r\nexport interface HoSoTramBts {\r\n HoSo_ID: string;\r\n TramBTS_ID: number;\r\n}\r\n\r\nexport interface HoSoTuyenCapNgam {\r\n HoSo_ID: string;\r\n TuyenCapNgam_ID: number;\r\n}\r\n\r\nexport interface HoSoTuyenCapNoi {\r\n HoSo_ID: string;\r\n TuyenCapNoi_ID: number;\r\n}\r\n\r\nexport interface HoSoDiemDichVu {\r\n HoSo_ID: string;\r\n DiemDichVu_ID: number;\r\n}\r\n\r\nexport interface DonVi {\r\n ID?: string;\r\n MaDonVi?: string;\r\n TenDonVi?: string;\r\n IDPX?: null;\r\n STT?: number;\r\n ParentID?: string;\r\n IDVaiTro?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\nconst apiUrl = environment.apiUrl;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n authorization = 'Bearer ' + this.service.token;\r\n private headers = { \r\n 'Content-Type': 'application/json',\r\n Authorization: this.authorization\r\n }\r\n constructor(public http: HttpClient, private service: LoginService) {\r\n }\r\n\r\n get(url: string, isOdata?: boolean): Promise<any> {\r\n if(isOdata) {\r\n return (this.http.get(`${apiUrl}/${url}`, {headers: this.headers}).toPromise() as any)\r\n .then(res => res.value);\r\n }\r\n return this.http.get(`${apiUrl}/${url}`, {headers: this.headers}).toPromise();\r\n }\r\n\r\n getCount(url: string): Promise<any> {\r\n return (this.http.get(`${apiUrl}/${url}$inlinecount=allpages&$top=0`, {headers: this.headers}).toPromise() as any)\r\n .then(res => res['odata.count']);\r\n }\r\n\r\n post(url: string, body?: any, isFormData?: boolean): Promise<any> {\r\n return this.http.post(\r\n `${apiUrl}/${url}`, \r\n body, \r\n {headers: !isFormData ? this.headers : {Authorization: this.authorization}})\r\n .toPromise();\r\n }\r\n\r\n update(url: string, body: any) {\r\n return this.http.patch(`${apiUrl}/${url}`, body, { headers: this.headers }).toPromise();\r\n }\r\n\r\n delete(url: string) {\r\n return this.http.delete(`${apiUrl}/${url}`, {headers: this.headers}).toPromise();\r\n }\r\n}\r\n","import esriRequest from 'esri/request';\r\nimport { HttpClient } from '@angular/common/http';\r\nconst headers = { 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryZZX2oHjXvvfHdboy' };\r\n\r\nexport interface AttachmentResult {\r\n objectId: number;\r\n attachments: __esri.AttachmentInfo[];\r\n}\r\n\r\nexport class AttachmentService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private url: string,\r\n ) { }\r\n\r\n public async addAttachment(id: number, form: HTMLFormElement | FormData): Promise<__esri.RequestResponse> {\r\n const url = this.url + '/' + id + '/addAttachment';\r\n if (form) {\r\n return esriRequest(url, {\r\n responseType: \"json\",\r\n body: form\r\n })\r\n }\r\n }\r\n\r\n public async deleteAttachments(objectId: number, attachmentIds: any): Promise<{objectId:number,success:boolean,error:{code:number,description:string}}[]> {\r\n\r\n const url = `${this.url}/${objectId}/deleteAttachments`;\r\n const form = new FormData();\r\n form.append('f', 'json');\r\n form.append('attachmentIds', attachmentIds);\r\n const respone = await fetch(url, {\r\n method: 'POST',\r\n body: form\r\n });\r\n if (respone.status === 200) {\r\n const result = await respone.json();\r\n return result.deleteAttachmentResults;\r\n } else {\r\n throw new Error('Error');\r\n }\r\n }\r\n\r\n public async queryAttachments(params: {\r\n objectIds: number[]\r\n }): Promise<Array<AttachmentResult>> {\r\n const resultReturn: Array<{ objectId: number, attachments: __esri.AttachmentInfo[] }> = [];\r\n const promises = params.objectIds.map(objectId => {\r\n const url = `${this.url}/${objectId}/attachments`;\r\n return fetch(`${url}?f=json`, { method: 'GET', credentials: 'same-origin' });\r\n });\r\n const responses = await Promise.all(promises);\r\n for (let i = 0; i < params.objectIds.length; i++) {\r\n const objectId = params.objectIds[i];\r\n let attachments = [];\r\n const response = responses[i];\r\n const url = `${this.url}/${objectId}/attachments`;\r\n if (response && response.status === 200) {\r\n const result = await response.json();\r\n if (!result.error) {\r\n attachments = result.attachmentInfos.map((m: any) => {\r\n m.url = `${url}/${m.id}`;\r\n return m;\r\n });\r\n }\r\n }\r\n resultReturn.push({\r\n objectId, attachments\r\n });\r\n }\r\n return resultReturn;\r\n }\r\n\r\n async attachmentImg(attributes: any): Promise<Array<any>> {\r\n let attachmentedImg = [];\r\n const objectIds = attributes.map(m => m.OBJECTID);\r\n await this.queryAttachments({ objectIds }).then(res => {\r\n attachmentedImg = attributes.map(attribute => {\r\n const attachment = res.find(m => m.objectId === attribute.OBJECTID);\r\n const length = attachment.attachments.length - 1;\r\n attribute.Url = attachment && attachment.attachments[length] && attachment.attachments[length].url;\r\n return attribute;\r\n });\r\n });\r\n return attachmentedImg;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachmentService } from './attachment.service';\r\nimport { TramBTSLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BtsAttachmentService extends AttachmentService {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, TramBTSLayer)\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { IDataService } from './IDataService';\r\nimport { EsriQueryResponse, ParamsGetAll, ResposeApplyEdits } from '../models/data.model';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport QueryTask from 'esri/tasks/QueryTask';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { Roles } from 'src/app/shared/models/login.model';\r\n\r\n\r\nexport interface DataServiceProperties {\r\n defaultWhere?: string;\r\n whereType?: 'merge' | 'prevent';\r\n maDoanhNghiep?: string;\r\n}\r\n\r\nexport class DataService implements IDataService {\r\n protected task: __esri.QueryTask;\r\n protected queryTask: __esri.QueryTask;\r\n protected query: __esri.Query;\r\n // tslint:disable-next-line:variable-name\r\n private _fields: __esri.Field[];\r\n public get fields() {\r\n return this._fields;\r\n }\r\n private loadedSource = new BehaviorSubject<boolean>(false);\r\n public loaded$ = this.loadedSource.asObservable();\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n protected url: string,\r\n private loginService: LoginService,\r\n protected options: DataServiceProperties = {},\r\n ) {\r\n this.task = new QueryTask({\r\n url: this.url\r\n });\r\n this.load()\r\n .then(() => {\r\n this.loadedSource.next(true);\r\n });\r\n\r\n if (loginService.isDoanhNghiep || loginService.isQuanHuyen) {\r\n options.maDoanhNghiep = loginService.maDonVi;\r\n }\r\n }\r\n\r\n public getField(fieldName: string): __esri.Field | null {\r\n if (this._fields) {\r\n return this.fields.find(f => f.name === fieldName);\r\n }\r\n return null;\r\n }\r\n\r\n private async load() {\r\n const response = await this.http.get<any>(this.url + '?f=json').toPromise();\r\n this._fields = response.fields;\r\n return response;\r\n\r\n }\r\n\r\n async getAll(params?: ParamsGetAll): Promise<EsriQueryResponse> {\r\n const query: __esri.QueryProperties = params && params.query ? params.query :\r\n { where: '1=1', outFields: ['*'], orderByFields: ['OBJECTID DESC'] };\r\n query.where = this.getWhere([query.where]);\r\n const result = await this.task.execute(query);\r\n return result;\r\n }\r\n\r\n async getCount(params: ParamsGetAll): Promise<number> {\r\n const query: __esri.QueryProperties = params && params.query ? params.query :\r\n { where: '1=1', outFields: ['*'], orderByFields: ['OBJECTID DESC'] };\r\n query.where = this.getWhere([query.where]);\r\n const result = await this.task.executeForCount(query);\r\n return result;\r\n }\r\n\r\n private getWhere(wheres: string[]) {\r\n if (this.options.defaultWhere) {\r\n if (this.options.whereType === 'merge') {\r\n wheres.push(`(${this.options.defaultWhere})`);\r\n } else {\r\n wheres = [this.options.defaultWhere];\r\n }\r\n }\r\n\r\n if (this.loginService.isDoanhNghiep) {\r\n if (this.options.maDoanhNghiep && this.options.maDoanhNghiep !== 'S4T') {\r\n wheres.push(`TenDoanhNghiep='${this.options.maDoanhNghiep}'`)\r\n }\r\n } else if (this.loginService.isQuanHuyen) {\r\n wheres.push(`HuyenTXTP=${this.options.maDoanhNghiep}`);\r\n } else {\r\n wheres.push('1=1');\r\n }\r\n\r\n return wheres.filter(Boolean).length > 1 && wheres.join(' and ') || wheres.join('');\r\n }\r\n\r\n /* Cập nhật một đối tượng */\r\n update(attributes: { OBJECTID: number } & any): Promise<ResposeApplyEdits> {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('updates', JSON.stringify(\r\n [\r\n { attributes }\r\n ] as __esri.Graphic[]\r\n ));\r\n return fetch(this.url + '/applyEdits?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n\r\n /* Cập nhật nhiều đối tượng */\r\n updates(datas: Array<{ objectId: number } & any>): Promise<ResposeApplyEdits> {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('updates', JSON.stringify(\r\n datas.map(m => ({ attributes: m }))\r\n ));\r\n return fetch(this.url + '/applyEdits?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n\r\n updatesGeometry(datas: Array<{ attributes: { objectId: number } & any, geometry: any }>) {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('updates', JSON.stringify(\r\n datas\r\n ));\r\n return fetch(this.url + '/applyEdits?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n\r\n /* Thêm mới */\r\n adds(graphics: __esri.Graphic[]): Promise<ResposeApplyEdits> {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('features', JSON.stringify(\r\n graphics\r\n ));\r\n return fetch(this.url + '/addFeatures?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n\r\n deletes(objectIds: number): Promise<ResposeApplyEdits> {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('objectIds', JSON.stringify(\r\n objectIds\r\n ));\r\n return fetch(this.url + '/deleteFeatures?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n\r\n deletesMultiple(objectIds: number[]): Promise<ResposeApplyEdits> {\r\n const formData = new FormData();\r\n formData.append('f', 'json');\r\n formData.append('objectIds', JSON.stringify(\r\n objectIds.join(', ')\r\n ).replace(/\"/g, \"\"));\r\n return fetch(this.url + '/deleteFeatures?f=json', {\r\n method: 'POST',\r\n mode: 'cors',\r\n body: formData\r\n })\r\n .then(r => r.json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachmentService } from './attachment.service';\r\nimport { DiemDichVuLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DiemDichVuAttachmentService extends AttachmentService {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, DiemDichVuLayer)\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DiemDichVuLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DiemDichVuService extends DataService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n service: LoginService\r\n ) {\r\n super(\r\n http, \r\n DiemDichVuLayer,\r\n service,\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TramBTSLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TramBtsService extends DataService {\r\n\r\n constructor(\r\n http: HttpClient, \r\n service: LoginService\r\n ) {\r\n super(\r\n http, \r\n TramBTSLayer,\r\n service,\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DataService } from './data.service';\r\nimport { TuyenCapNgamLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TuyenCapNgamService extends DataService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n service: LoginService \r\n ) {\r\n super(\r\n http, \r\n TuyenCapNgamLayer,\r\n service\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TuyenCapNoiLayer } from 'src/app/map/shared/constants/layer.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TuyenCapNoiService extends DataService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n service: LoginService \r\n ) {\r\n super(\r\n http, \r\n TuyenCapNoiLayer,\r\n service\r\n );\r\n }\r\n}\r\n","<div class=\"container-fluid\">\r\n <app-loading [loading]=\"loading\"></app-loading>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-card [header]=\"headerCard\">\r\n <app-form\r\n #form\r\n [service]=\"service\"\r\n [fields]=\"fields\"\r\n (onSubmit)=\"handleClickAdd($event)\"\r\n (onKeyup)=\"handleKeyup($event)\"\r\n (changeDoanhNghiep)=\"changeDoanhNghiep($event)\"\r\n (changeFileInput)=\"getInputFiles($event)\"\r\n ></app-form>\r\n </app-card>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <!-- map -->\r\n <app-mini-map\r\n #miniMap\r\n (mapLoaded)=\"mapLoaded($event)\"\r\n \r\n (closeSideNav)=\"closeSideNav($event)\"\r\n >\r\n </app-mini-map>\r\n\r\n <!-- toolbar -->\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive\"\r\n [ngClass]=\"'esri-icon-radio-checked'\"\r\n title=\"Vẽ\"\r\n [class.active]=\"active\"\r\n (click)=\"enableCreatePoint()\" \r\n ></button>\r\n <button\r\n id=\"clear\"\r\n class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Xóa\"\r\n (click)=\"removeGraphic()\"\r\n ></button>\r\n </div>\r\n\r\n <!-- side-bar -->\r\n <!-- <app-side-nav title=\"Chọn doanh nghiệp\" class=\"side-nav\" [isOpen]=\"isOpenSideNav\" (close)=\"closeSideNav($event)\">\r\n <div class=\"item\" *ngFor=\"let doanhNghiep of doanhNghieps\">\r\n {{doanhNghiep.name}}\r\n </div>\r\n </app-side-nav> -->\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, ViewChild, AfterViewInit, OnChanges, SimpleChanges } from \"@angular/core\";\r\nimport { TramBtsService } from \"../../shared/services/tram-bts.service\";\r\nimport { IDataService } from \"../../shared/services/IDataService\";\r\nimport { TramBtss } from \"src/app/shared/constants/tram-bts.constant\";\r\nimport { ToastService } from \"src/app/shared/services/toast.service\";\r\nimport FeatureLayer from \"esri/layers/FeatureLayer\";\r\nimport { CONSTNAME } from \"src/app/map/shared/constants/map.constant\";\r\nimport { TramBTSModel } from \"src/app/shared/models/tram-bts.model\";\r\nimport { MiniMapComponent } from \"../../shared/components/mini-map/mini-map.component\";\r\nimport {\r\n FormComponent,\r\n FormFields,\r\n} from \"../../shared/components/form/form.component\";\r\nimport Graphic from \"esri/Graphic\";\r\nimport Point from \"esri/geometry/Point\";\r\nimport { PictureMarkerSymbol, SimpleMarkerSymbol, SimpleFillSymbol, SimpleLineSymbol } from \"esri/symbols\";\r\nimport ProjectParameters from \"esri/tasks/support/ProjectParameters\";\r\nimport GeometryService from \"esri/tasks/GeometryService\";\r\nimport { BtsAttachmentService } from \"../../shared/services/bts-attachment.service\";\r\nimport Draw from \"esri/views/draw/Draw\";\r\nimport { EDoanhNghieps as DoanhNghieps } from \"src/app/shared/models/data.model\";\r\nimport { LayerService } from \"src/app/map/shared/services/layer.service\";\r\nimport { LoginService } from \"src/app/shared/services/login.service\";\r\nimport { HanhChinhService } from \"src/app/shared/services/hanh-chinh.service\";\r\nimport geometryEngine from 'esri/geometry/geometryEngine';\r\nimport Circle from 'esri/geometry/Circle';\r\nimport GroupLayer from 'esri/layers/GroupLayer';\r\nimport UniqueValueRenderer from 'esri/renderers/UniqueValueRenderer';\r\nimport { DTinhTrang } from 'src/app/shared/constants/data.constant';\r\nimport LayerList from 'esri/widgets/LayerList';\r\nimport { map } from 'rxjs/operators';\r\nimport Expand from 'esri/widgets/Expand';\r\nimport { formatDate } from 'esri/intl';\r\n\r\n@Component({\r\n selector: \"app-add\",\r\n templateUrl: \"./add.component.html\",\r\n styleUrls: [\"./add.component.scss\"],\r\n})\r\nexport class AddComponent implements OnInit, OnChanges, AfterViewInit {\r\n @ViewChild(\"miniMap\") miniMap: MiniMapComponent;\r\n @ViewChild(\"form\") formComponent: FormComponent;\r\n headerCard = \"Thêm mới trạm BTS\";\r\n fields: FormFields[] = [\r\n { prop: \"MaTram\", name: \"Mã trạm\", type: \"text\", require: true, placeholder: 'Mã trạm' },\r\n { prop: \"TenTram\", name: \"Tên trạm\", type: \"text\", require: true, placeholder: 'Tên trạm' },\r\n { prop: \"ToaDoX\", name: \"Tọa độ X\", type: \"text\", require: true, placeholder: 'Tọa độ X (Có thể chọn 1 điểm trên bản đồ)' },\r\n { prop: \"ToaDoY\", name: \"Tọa độ Y\", type: \"text\", require: true, placeholder: 'Tọa độ Y (Có thể chọn 1 điểm trên bản đồ)' },\r\n { prop: \"DiaChi\", name: \"Địa chỉ\", type: \"text\", placeholder: 'Địa chỉ' },\r\n { prop: \"ChuSoHuuDat\", name: \"Chủ sỡ hữu đất\", type: \"text\", placeholder: 'Chủ sở hữu đất', hidden: true },\r\n { prop: \"LoaiAngTen\", name: \"Loại ăng ten\", type: \"select\", hidden: true },\r\n { prop: \"LoaiTram\", name: \"Loại trạm\", type: \"select\" },\r\n { prop: \"DoCaoTram\", name: \"Độ cao trạm\", type: \"text\", placeholder: 'Độ cao trạm' },\r\n { prop: \"DoCaoTang\", name: \"Độ cao tầng\", type: \"text\", placeholder: 'Độ cao tầng', hidden: true },\r\n { prop: \"CongSuat\", name: \"Công suất\", type: \"text\", placeholder: 'Công suất', hidden: true },\r\n { prop: \"GocNgan\", name: \"Số lượng ăng ten phát\", type: \"text\", placeholder: 'Số lượng ăng ten phát', hidden: true },\r\n { prop: \"TGXayDung\", name: \"TG xây dựng\", type: \"text\", placeholder: 'TG Xâuy dựng', hidden: true },\r\n { prop: \"TGPhatSong\", name: \"TG phát sóng\", type: \"text\", placeholder: 'TG phủ sóng', hidden: true },\r\n { prop: \"GiayPhepXayDung\", name: \"Giấy phép xây dựng\", type: \"select\", hidden: true },\r\n { prop: \"ChapThuanCuaSo\", name: \"Chấp thuận của sở\", type: \"select\", hidden: true },\r\n { prop: \"SoCongVan\", name: \"Số công văn\", type: \"text\", placeholder: 'Số công văn', hidden: true },\r\n { prop: \"ThietBiLapDat\", name: \"Thiết bị lắp đặt\", type: \"text\", placeholder: 'Thiết bị lắp đặt' },\r\n { prop: \"GiayKiemDinhCongTrinh\", name: \"GKĐ công trình\", type: \"text\", placeholder: 'GKĐ công trình', hidden: true },\r\n { prop: \"TinhTrangKiemDinh\", name: \"Tình trạng KĐ\", type: \"select\", placeholder: 'Tình trạng KĐ', hidden: true },\r\n { prop: \"NgayCap\", name: \"Ngày cấp\", type: \"date\", placeholder: 'Ngày cấp', hidden: true },\r\n { prop: \"NgayHetHan\", name: \"Ngày hết hạn\", type: \"date\", placeholder: 'Ngày hết hạn', hidden: true },\r\n { prop: \"SoCongVanHSKD\", name: \"Số công văn HSKĐ\", type: \"text\", placeholder: 'Số công văn HSKĐ', hidden: true },\r\n { prop: \"NgayNopHSKD\", name: \"Ngày nộp hồ sơ\", type: \"date\", placeholder: 'Ngày nộp hồ sơ', hidden: true },\r\n { prop: \"NguoiCungCapThongTin\", name: \"Người cung cấp thông tin\", type: \"text\", placeholder: 'Người cung cấp thông tin', hidden: true },\r\n { prop: \"GhiChu\", name: \"Ghi chú\", type: \"text\", width: 250, placeholder: 'Ghi chú' },\r\n { prop: \"NgayGioCapPhepBTS\", name: \"Ngày cấp phép\", type: \"date\", placeholder: 'Ngày cấp phép', hidden: true },\r\n { prop: \"ThietBiLapDat2G\", name: \"2G\", type: \"text\", placeholder: '2G', hidden: true },\r\n { prop: \"ThietBiLapDat3G\", name: \"3G\", type: \"text\", placeholder: '3G', hidden: true },\r\n { prop: \"ThietBiLapDat4G\", name: \"4G\", type: \"text\", placeholder: '4G', hidden: true },\r\n { prop: \"CoKhaNangDungChung\", name: 'Khả năng dùng chung', type: 'checkbox' },\r\n { prop: \"File\", name: \"\", type: \"file\" },\r\n ];\r\n service: IDataService;\r\n view: __esri.MapView;\r\n layer: __esri.FeatureLayer;\r\n active = false;\r\n toaDoX: number;\r\n toaDoY: number;\r\n graphic: __esri.Graphic;\r\n geometryService: __esri.GeometryService;\r\n geometry: __esri.Geometry;\r\n point: __esri.Point;\r\n loading = false;\r\n lstFormData = [];\r\n maDoanhNghiep: string;\r\n isDoanhNghiepSlected = false;\r\n isDungChung = false;\r\n\r\n\r\n constructor(\r\n public _service: TramBtsService,\r\n private toastService: ToastService,\r\n private attachmentService: BtsAttachmentService,\r\n public layerService: LayerService,\r\n private loginService: LoginService,\r\n protected hanhChinhService: HanhChinhService\r\n ) {\r\n this.service = _service;\r\n this.geometryService = new GeometryService({\r\n url:\r\n \"http://103.74.116.95:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer\",\r\n });\r\n if (this.loginService.isQuanHuyen) {\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.loginService.maDonVi !== 'S4T') {\r\n this.maDoanhNghiep = this.loginService.maDonVi;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n }\r\n\r\n mapLoaded(view) {\r\n this.view = view;\r\n const layerList = new LayerList({\r\n view: view,\r\n });\r\n var bgExpand = new Expand({\r\n view: view,\r\n content: layerList\r\n });\r\n view.ui.add(bgExpand, \"top-left\");\r\n const dsDN = [{\r\n name: \"GTL\",\r\n title: \"GTel\",\r\n name_img: 'gtel'\r\n }, {\r\n name: \"MBF\",\r\n title: \"Mobifone\",\r\n name_img: 'mobifone'\r\n }, {\r\n name: \"VNPT\",\r\n title: \"VNPT\",\r\n name_img: \"vina\"\r\n }, {\r\n name: \"VNM\",\r\n title: \"Vietnamobile\",\r\n name_img: \"vietnam\"\r\n }, {\r\n name: \"VTL\",\r\n title: \"Viettel\",\r\n name_img: \"viettel\"\r\n }];\r\n const uniqueValueInfos = [];\r\n const doanhNghiep = dsDN.find(m => m.name === this.loginService.maDonVi);\r\n\r\n for (let i = 1; i <= 4; i++) {\r\n if (!doanhNghiep) { // neu khong phai la doanh nghiep thi set unique tat ca de hien thi tren Legend\r\n for (const dn of dsDN) {\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = dn.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `${dn.title} - Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `${dn.title} - Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `${dn.title} - Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `${dn.title} - Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n } else { // nguoc lai la doanh nghiep thi chi hien thi legend cua doanh nghiep do\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = doanhNghiep.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n }\r\n var renderer = new UniqueValueRenderer({\r\n field: \"TenDoanhNghiep\",\r\n field2: \"TinhTrang\",\r\n fieldDelimiter: \", \",\r\n uniqueValueInfos: uniqueValueInfos,\r\n defaultSymbol: new PictureMarkerSymbol({\r\n url: \"/assets/images/bts/chuaxacdinh.png\",\r\n\r\n }),\r\n defaultLabel: \"Chưa xác định\"\r\n })\r\n this.layer = new FeatureLayer(this.layerService.tramBtsLayer);\r\n this.layer.renderer = renderer;\r\n this.layer.listMode = 'hide';\r\n this.view.map.add(this.layer);\r\n\r\n const tramBTSDefinitionExpression = [];\r\n\r\n if (!this.loginService.isDoanhNghiep) { // neu khong phai la doanh nghiep thi group doanh nghiep\r\n dsDN.forEach(f => {\r\n const btsDn = new GroupLayer({\r\n title: f.title,\r\n id: f.name\r\n });\r\n\r\n btsDn.watch(\"visible\", (newVal, oldVal) => {\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`TenDoanhNghiep not like '${f.name}'`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`TenDoanhNghiep not like '${f.name}'`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n this.layer.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n this.layer.definitionExpression = \"1=1\";\r\n }\r\n })\r\n this.view.map.add(btsDn);\r\n });\r\n // groupBtsDn.watch(\"visible\", function (newVal, oldVal) {\r\n // tramBtsFL.visible = newVal;\r\n // })\r\n }\r\n\r\n\r\n view.map.add(this.layer);\r\n }\r\n\r\n changeDoanhNghiep(event) {\r\n this.maDoanhNghiep = event.target.value;\r\n }\r\n\r\n closeSideNav(event) {\r\n this.miniMap.isOpenSideNav = event;\r\n this.isDoanhNghiepSlected = false;\r\n }\r\n\r\n enableCreatePoint() {\r\n // if (this.maDoanhNghiep) {\r\n this.active = true;\r\n const draw = new Draw({\r\n view: this.view,\r\n });\r\n var action = draw.create(\"point\");\r\n\r\n action.on(\"cursor-update\", (evt) => {\r\n this.createPointGraphic(evt);\r\n });\r\n\r\n action.on(\"draw-complete\", (evt) => {\r\n this.createPointGraphic(evt);\r\n this.active = false;\r\n // this.isDoanhNghiepSlected = false;\r\n });\r\n // } else {\r\n // this.toastService.warning(\"Vui lòng chọn doanh nghiệp!\");\r\n // }\r\n }\r\n\r\n async createPointGraphic(evt) {\r\n const coordinates = evt.coordinates;\r\n\r\n this.view.graphics.removeAll();\r\n this.geometry = new Point({\r\n x: coordinates[0],\r\n y: coordinates[1],\r\n spatialReference: this.view.spatialReference,\r\n });\r\n\r\n var graphic = new Graphic({\r\n geometry: this.geometry,\r\n symbol: this.creatSymbol(),\r\n\r\n });\r\n\r\n this.view.graphics.addMany([graphic]);\r\n\r\n if (evt.type === \"draw-complete\") {\r\n await this.layer.queryFeatures({ geometry: this.geometry, distance: 100, units: 'meters' })\r\n .then(({ features }) => {\r\n if (features.length) {\r\n this.toastService.danger('Vị trí quá gần trạm BTS đã được cấp phép. Vui lòng chọn vị trí khác!');\r\n this.view.graphics.removeAll();\r\n return;\r\n }\r\n });\r\n const { longitude, latitude } = graphic.geometry as __esri.Point;\r\n this.toaDoX = longitude; // gan toa do de chuyen sang VN2000 (cam thay si da)\r\n this.toaDoY = latitude;\r\n // this.projectViewToInput().then(([geometry]) => {\r\n // const { x, y } = geometry as __esri.Point;\r\n // this.toaDoY = y; // sau khi chuyen gan lai toa do\r\n // this.toaDoX = x;\r\n this.formComponent.datas.ToaDoX = longitude.toString();\r\n this.formComponent.datas.ToaDoY = latitude.toString();\r\n // });\r\n this.view.goTo(graphic);\r\n }\r\n }\r\n\r\n getInputFiles(event) {\r\n this.lstFormData = [];\r\n const files = event.target.files;\r\n for (const file of files) {\r\n const formData = new FormData();\r\n formData.append('attachment', file);\r\n formData.append('j', 'json');\r\n this.lstFormData.push(formData);\r\n }\r\n }\r\n\r\n async handleClickAdd(info) {\r\n const attributes = info as TramBTSModel;\r\n console.log(attributes);\r\n if (!this.maDoanhNghiep) {\r\n this.toastService.warning('Vui lòng chọn doanh nghiệp!');\r\n return;\r\n }\r\n attributes.TenDoanhNghiep = this.maDoanhNghiep;\r\n attributes.TinhTrang = 3;\r\n if (!attributes.KhaNangDungChung) {\r\n attributes.KhaNangDungChung = this.isDungChung;\r\n }\r\n const addFeature = {\r\n geometry: this.geometry,\r\n attributes,\r\n } as any;\r\n this.loading = true;\r\n this.layer.applyEdits({ addFeatures: [addFeature] }).then(async (res) => {\r\n try {\r\n const featureEditResult: __esri.FeatureEditResult[] =\r\n res.addFeatureResults;\r\n const objectId = featureEditResult[0].objectId;\r\n if (objectId) {\r\n this.layer.queryFeatures({\r\n returnGeometry: true,\r\n outSpatialReference: this.view.spatialReference,\r\n where: 'OBJECTID = ' + objectId,\r\n outFields: ['*'],\r\n }).then(({ features }) => {\r\n const ft = features[0];\r\n this.view.graphics.add(new Graphic({\r\n geometry: ft.geometry,\r\n symbol: new SimpleMarkerSymbol({\r\n color: 'rgba(0,0,0,0)',\r\n size: '24px',\r\n outline: new SimpleLineSymbol({\r\n color: 'yellow',\r\n width: 1.5\r\n })\r\n })\r\n }))\r\n this.hanhChinhService.getLocationInfo(ft.geometry).then(locationInfo => {\r\n if (locationInfo) {\r\n for (let i in locationInfo) {\r\n ft.attributes[i] = locationInfo[i];\r\n }\r\n this.layer.applyEdits({\r\n updateFeatures: [{\r\n attributes: ft.attributes\r\n } as any]\r\n }).then((result) => {\r\n // this.toastService.success('Cap nhat vi tri thanh cong!')\r\n });\r\n }\r\n })\r\n });\r\n if (this.lstFormData) {\r\n for (const file of this.lstFormData) {\r\n this.attachmentService.addAttachment(\r\n objectId,\r\n file,\r\n ).then(res => { });\r\n }\r\n }\r\n this.toastService.success(\"Thêm mới trạm BTS thành công!\");\r\n this.reset();\r\n this.loading = false;\r\n }\r\n } catch (e) {\r\n this.toastService.danger(e.message);\r\n }\r\n });\r\n }\r\n\r\n handleKeyup(evt) {\r\n const { name, value } = evt.target;\r\n if (name === \"ToaDoX\" || name === \"ToaDoY\") {\r\n if (name === \"ToaDoX\") {\r\n this.toaDoX = value;\r\n }\r\n if (name === \"ToaDoY\") {\r\n this.toaDoY = value;\r\n }\r\n if (this.toaDoX && this.toaDoY) {\r\n // this.projectInputToView().then(([geometry]) => {\r\n this.view.graphics.removeAll();\r\n this.geometry = new Point({\r\n longitude: this.toaDoX,\r\n latitude: this.toaDoY\r\n });\r\n const graphic = new Graphic({\r\n geometry: this.geometry,\r\n symbol: this.creatSymbol(),\r\n });\r\n this.view.graphics.add(graphic);\r\n this.view.goTo(graphic);\r\n // });\r\n } else {\r\n this.view.graphics.removeAll();\r\n }\r\n }\r\n }\r\n\r\n private async projectInputToView() {\r\n const point = new Point({\r\n latitude: this.toaDoY,\r\n longitude: this.toaDoX,\r\n spatialReference: this.layer.spatialReference,\r\n });\r\n const projectParameters = new ProjectParameters({\r\n geometries: [point],\r\n outSpatialReference: this.view.spatialReference,\r\n });\r\n return this.geometryService\r\n .project(projectParameters);\r\n }\r\n\r\n projectViewToInput() {\r\n const point = new Point({\r\n latitude: this.toaDoY,\r\n longitude: this.toaDoX,\r\n spatialReference: this.view.spatialReference,\r\n });\r\n const projectParameters = new ProjectParameters({\r\n geometries: [point],\r\n outSpatialReference: this.layer.spatialReference,\r\n });\r\n return this.geometryService\r\n .project(projectParameters);\r\n }\r\n\r\n removeGraphic() {\r\n this.view.graphics.removeAll();\r\n this.formComponent.datas.ToaDoX = \"\";\r\n this.formComponent.datas.ToaDoY = \"\";\r\n }\r\n\r\n reset() {\r\n this.removeGraphic();\r\n this.formComponent.reset();\r\n }\r\n\r\n creatSymbol(): __esri.symbolsMarkerSymbol {\r\n // let img = \"chuaxacdinh\";\r\n\r\n // if (this.maDoanhNghiep) {\r\n // switch (this.maDoanhNghiep) {\r\n // case DoanhNghieps.VNPT:\r\n // img = `vina`;\r\n // break;\r\n // case DoanhNghieps.Vietnamobile:\r\n // img = `vietnam`;\r\n // break;\r\n // case DoanhNghieps.GTel:\r\n // img = `gtel`;\r\n // break;\r\n // case DoanhNghieps.Mobifone:\r\n // img = `mobifone`;\r\n // break;\r\n // case DoanhNghieps.Viettel:\r\n // img = `viettel`;\r\n // break;\r\n // }\r\n // }\r\n // return new PictureMarkerSymbol({\r\n // url: `/assets/images/bts/${img}.png`,\r\n // width: \"24px\",\r\n // height: \"24px\",\r\n\r\n // });\r\n return this.miniMap.symbolCreate;\r\n }\r\n}\r\n","<div class=\"container-fluid mt-3\">\r\n <app-datatable [isHidden]=\"isHidden\" [khaNangDungChung]=\"isCheck\" [tinhTrang]=\"tinhTrang\" [searchField]=\"searchField\" #dataTbl [header]=\"headerTable\" [service]=\"service\" [columns]=\"columns\" (onActivate)=\"onActivate($event)\">\r\n <div class=\"form-check search-kha-nang-dung-chung\" style=\"width: 100%;\">\r\n <label class=\"form-check-label\" for=\"checkBox\" style=\"width: 80%;\">Dùng chung</label>\r\n <input type=\"checkbox\" (change)=\"isCheck = $event.target.checked\" class=\"form-check-input\" id=\"checkBox\">\r\n </div>\r\n\r\n <select class=\"form-control form-control-sm tinh-trang-cap-phep\" \r\n (change)=\"tinhTrang = $event.target.value\">\r\n <option value=\"\">Chọn tình trạng</option>\r\n <option\r\n *ngFor=\"let tinhTrang of tinhTrangs\"\r\n [value]=\"tinhTrang.code\"\r\n >{{ tinhTrang.name }}</option\r\n >\r\n </select>\r\n </app-datatable>\r\n</div>\r\n\r\n<ng-template #dungChung let-value=\"value\">\r\n {{getCoKhaNangDungChung(value)}}\r\n</ng-template>\r\n\r\n","import { Component, OnInit, Attribute, ViewChild, Input, TemplateRef } from '@angular/core';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport { TramBtsService } from '../../shared/services/tram-bts.service';\r\nimport { TableColumnMode } from '../../shared/components/datatable/datatable.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalInfoComponent } from '../modal-info/modal-info.component';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { DatatableComponent } from '../../shared/components/datatable/datatable.component';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild('dataTbl') dataTbl: DatatableComponent;\r\n @ViewChild('dungChung', { static: true }) dungChung: TemplateRef<any>;\r\n headerTable = 'Danh sách trạm BTS'\r\n service: IDataService;\r\n searchField = 'TenTram';\r\n isHidden = false;\r\n Flag = FlagMenu;\r\n columns: TableColumnMode[];\r\n isCheck: boolean;\r\n tinhTrang: number;\r\n tinhTrangs = [\r\n { code: 1, name: 'Doanh nghiệp xin cấp phép' },\r\n { code: 2, name: 'Sở cấp phép' },\r\n { code: 3, name: 'Hoàn công' },\r\n { code: 4, name: 'Không chấp thuận' },\r\n ];\r\n\r\n constructor(\r\n private _service: TramBtsService,\r\n public modalService: NgbModal,\r\n public toastService: ToastService,\r\n private loginService: LoginService,\r\n ) {\r\n this.service = _service;\r\n if (loginService.isQuanHuyen) {\r\n this.isHidden = true;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.columns = [\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'TenDoanhNghiep', name: 'Doanh nghiệp', type: 'select', width: 150, isNonEdit: true },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'TinhTrang', name: 'Tình trạng', type: 'select', width: 170, isNonEdit: true },\r\n { prop: 'DiaChi', name: 'Địa chỉ', type: 'text', width: 250 },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', width: 150, isNonEdit: true },\r\n { prop: 'LoaiTram', name: 'Loại trạm', type: 'select', width: 150 },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', width: 150, isNonEdit: true },\r\n { prop: 'DoCaoTram', name: 'Độ cao trạm', type: 'text', width: 150 },\r\n { prop: 'ChuSoHuuDat', name: 'Chủ sỡ hữu đất', type: 'text', width: 200, hidden: true },\r\n { prop: 'LoaiAngTen', name: 'Loại ăng ten', type: 'select', width: 150, hidden: true },\r\n { prop: 'DoCaoTang', name: 'Độ cao tầng', type: 'text', width: 150, hidden: true },\r\n { prop: 'GocNgan', name: 'Số lượng ăng ten phát', type: 'text', width: 150, hidden: true },\r\n { prop: 'GiayPhepXayDung', name: 'Giấy phép xây dựng', type: 'select', width: 150, hidden: true },\r\n { prop: 'TGXayDung', name: 'TG xây dựng', type: 'text', width: 150, hidden: true },\r\n { prop: 'TepDinhKemGPXD', name: 'File GPXD', type: 'file', width: 150, hidden: true },\r\n { prop: 'TGPhatSong', name: 'TG phát sóng', type: 'text', width: 150, hidden: true },\r\n { prop: 'NgayCapGPXD', name: 'Ngày cấp GPXD', type: 'date', width: 150, hidden: true },\r\n { prop: 'ChapThuanCuaSo', name: 'Chấp thuận của sở', type: 'select', width: 150, hidden: true },\r\n { prop: 'SoCongVan', name: 'Số công văn', type: 'text', width: 150, hidden: true },\r\n { prop: 'ThietBiLapDat', name: 'Thiết bị lắp đặt', type: 'text', width: 150 },\r\n { prop: 'GiayKiemDinhCongTrinh', name: 'GKĐ công trình', type: 'text', width: 150, hidden: true },\r\n { prop: 'TinhTrangKiemDinh', name: 'Tình trạng KĐ', type: 'select', width: 150, hidden: true },\r\n { prop: 'TepDinhKemHSKD', name: 'File KĐCT', type: 'file', width: 150, hidden: true },\r\n { prop: 'NgayHetHan', name: 'Ngày hết hạn', type: 'date', width: 150, hidden: true },\r\n { prop: 'NgayCap', name: 'Ngày cấp', type: 'date', width: 150, hidden: true },\r\n { prop: 'NgayNopHSKD', name: 'Ngày nộp hồ sơ', type: 'date', width: 150, hidden: true },\r\n { prop: 'SoCongVanHSKD', name: 'Số công văn HSKĐ', type: 'text', width: 150, hidden: true },\r\n { prop: 'GhiChu', name: 'Ghi chú', type: 'text', width: 250 },\r\n { prop: 'NguoiCungCapThongTin', name: 'Người cung cấp thông tin', type: 'text', width: 170, hidden: true },\r\n { prop: 'VungPhu', name: 'Vùng phủ', type: 'text', width: 150, hidden: true },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', width: 150, isQuanHuyenTP: true, options: [], hidden: true },\r\n { prop: 'NgayGioCapPhepBTS', name: 'Ngày cấp phép', type: 'date', width: 150 },\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', width: 150, isPhuongXa: true, options: [] },\r\n { prop: 'ThietBiLapDat2G', name: '2G', type: 'text', width: 120, hidden: true },\r\n { prop: 'ThietBiLapDat3G', name: '3G', type: 'text', width: 120, hidden: true },\r\n { prop: 'ThietBiLapDat4G', name: '4G', type: 'text', width: 120, hidden: true },\r\n { prop: 'CoKhaNangDungChung', name: 'Có khả năng dùng chung', type: 'checkbox', width: 200, cellTemplate: this.dungChung },\r\n ];\r\n }\r\n\r\n handleSave(data) {\r\n // this.loadingIndicator = true;\r\n this.service.update(data).then(res => {\r\n if (res.updateResults && res.updateResults.length) {\r\n console.log(res.updateResults);\r\n console.log(res.updateResults.length);\r\n this.dataTbl.loadData();\r\n this.toastService.success('Cập nhập dữ liệu thành công!');\r\n }\r\n else {\r\n this.toastService.danger('Cập nhật dữ liệu thất bại');\r\n }\r\n // this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n onActivate(event) {\r\n this.modalService.dismissAll();\r\n const modalRef = this.modalService.open(ModalInfoComponent, {\r\n size: 'xl',\r\n });\r\n modalRef.componentInstance.data = { row: { ...event.row }, fields: this.columns, service: this.service, flag: this.Flag.TramBTS };\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.handleSave(receivedEntry);\r\n });\r\n }\r\n\r\n getCoKhaNangDungChung(value) {\r\n if (value === 1) {\r\n return 'Có';\r\n } else return 'Không';\r\n }\r\n\r\n}\r\n","<app-modal-template title=\"Thông tin chi tiết\">\r\n <!-- body -->\r\n <div body>\r\n <ul\r\n ngbNav\r\n #nav=\"ngbNav\"\r\n (navChange)=\"changeNav($event)\"\r\n [activeId]=\"navIndex\"\r\n class=\"nav-tabs justify-content-center\"\r\n >\r\n <li [ngbNavItem]=\"NavIndex.Info\">\r\n <a ngbNavLink>\r\n <b>Thông tin</b>\r\n </a>\r\n\r\n <ng-template ngbNavContent>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-6\"\r\n *ngFor=\"let field of _data.fields; let odd = odd\"\r\n [class.pb-2]=\"isEditing\"\r\n >\r\n <div\r\n class=\"row item\"\r\n *ngIf=\"field.hidden !== undefined ? !field.hidden : true\"\r\n >\r\n <label for=\"field\" class=\"col-4 font-weight-lighter text-right\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <div class=\"col-8 text-dark prop pl-0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isEditing && !field.isNonEdit ? editing : noneEdit;\r\n context: { field: field, value: _data.row[field.prop] }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"col-6\"\r\n [class.pb-2]=\"isEditing\"\r\n *ngIf=\"\r\n (_data.row['TinhTrang'] === TinhTrang.DaCapPhep ||\r\n row['TinhTrang'] === TinhTrang.DaCapPhep) &&\r\n isEditing &&\r\n loginService.isDoanhNghiep\r\n \"\r\n >\r\n <div class=\"row item\">\r\n <label\r\n for=\"field\"\r\n class=\"col-4 font-weight-lighter text-right\"\r\n ></label>\r\n <div class=\"col-8 text-dark prop pl-0\">\r\n <div class=\"form-check\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n [checked]=\"isHoanCong\"\r\n (change)=\"\r\n isHoanCong = !isHoanCong;\r\n isHoanCong\r\n ? (_data.row['TinhTrang'] = TinhTrang.HoanCong)\r\n : (_data.row['TinhTrang'] = TinhTrang.DaCapPhep)\r\n \"\r\n value\r\n />\r\n <label class=\"form-check-label\" for=\"defaultCheck\">\r\n Hoàn công\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- *ngIf=\"_data.row['TinhTrang']===2\" -->\r\n </ng-template>\r\n </li>\r\n\r\n <!-- <li [ngbNavItem]=\"NavIndex.HoanCong\" *ngIf=\"loginService.isSoTTTT || loginService.isDoanhNghiep\">\r\n <a ngbNavLink>\r\n <b>Hoàn công</b>\r\n </a>\r\n <ng-template ngbNavContent>\r\n <div class=\"col-6\" *ngFor=\"let field of _data.fields; let odd = odd\" [class.pb-2]=\"isEditing\">\r\n <div class=\"row item\">\r\n <label for=\"field\" class=\"col-4 font-weight-lighter text-right\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <div class=\"col-8 text-dark prop pl-0\">\r\n <ng-container *ngTemplateOutlet=\"\r\n isEditing && !field.isNonEdit ? editing : noneEdit;\r\n context: { field: field, value: _data.row[field.prop] }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </li> -->\r\n\r\n <li [ngbNavItem]=\"NavIndex.Attachment\">\r\n <a ngbNavLink>\r\n <b>Hồ sơ đính kèm</b>\r\n </a>\r\n <ng-template ngbNavContent>\r\n <div class=\"row\" *ngIf=\"isDoanhNghiep\">\r\n <form enctype=\"multipart/form-data\" #formEl>\r\n <p class=\"file\">\r\n <input\r\n #inputFile\r\n type=\"file\"\r\n name=\"attachment\"\r\n (change)=\"attachmentFile($event)\"\r\n />\r\n <label for=\"file\">Upload file</label>\r\n </p>\r\n </form>\r\n </div>\r\n\r\n <app-attachment\r\n [attachments]=\"attachments\"\r\n (delete)=\"confirmDelFile($event)\"\r\n ></app-attachment>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"nav\" class=\"mt-2\"></div>\r\n </div>\r\n\r\n <div footer>\r\n <ng-container *ngIf=\"isHidden\">\r\n <app-button\r\n ngbAutofocus\r\n btnClass=\"btn-primary\"\r\n icon=\"pencil-alt\"\r\n *ngIf=\"!isEditing && navIndex === NavIndex.Info\"\r\n (click)=\"handleClickEdit()\"\r\n >\r\n Sửa\r\n </app-button>\r\n </ng-container>\r\n <app-button\r\n btnClass=\"btn-danger\"\r\n icon=\"times\"\r\n *ngIf=\"!isEditing\"\r\n (click)=\"modal.dismiss(EventModal.CANCEL)\"\r\n >\r\n Đóng\r\n </app-button>\r\n <app-button\r\n ngbAutofocus\r\n btnClass=\"btn-success\"\r\n icon=\"save\"\r\n *ngIf=\"isEditing && navIndex === NavIndex.Info\"\r\n (click)=\"handleClickSave()\"\r\n >\r\n Lưu\r\n </app-button>\r\n <app-button\r\n ngbAutofocus\r\n btnClass=\"btn-danger\"\r\n icon=\"ban\"\r\n *ngIf=\"isEditing && navIndex === NavIndex.Info\"\r\n (click)=\"handleClickCancel()\"\r\n >\r\n Hủy\r\n </app-button>\r\n </div>\r\n</app-modal-template>\r\n\r\n<ng-template #editing let-value=\"value\" let-field=\"field\">\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n *ngIf=\"field.type === 'text' || field.type === 'number'\"\r\n [type]=\"field.type\"\r\n class=\"form-control\"\r\n style=\"width: 100%\"\r\n [(ngModel)]=\"_data.row[field.prop]\"\r\n />\r\n </div>\r\n\r\n <select\r\n *ngIf=\"field.type === 'select'\"\r\n class=\"custom-select\"\r\n [ngModel]=\"_data.row[field.prop] ? _data.row[field.prop] : ''\"\r\n (ngModelChange)=\"_data.row[field.prop] = $event\"\r\n >\r\n <option value>Chọn...</option>\r\n <option\r\n *ngFor=\"let option of field.options\"\r\n [value]=\"option.code\"\r\n [selected]=\"option.code === value\"\r\n >\r\n {{ option.name }}\r\n </option>\r\n </select>\r\n\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n *ngIf=\"field.type === 'date'\"\r\n class=\"form-control\"\r\n placeholder=\"dd/MM/yyyy\"\r\n name=\"dp\"\r\n [ngModel]=\"_data.row[field.prop] | date : 'yyyy-MM-dd'\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n (click)=\"d.toggle()\"\r\n (ngModelChange)=\"_data.row[field.prop] = $event.getTime()\"\r\n />\r\n </div>\r\n\r\n <input\r\n type=\"checkbox\"\r\n *ngIf=\"field.type === 'checkbox'\"\r\n [(ngModel)]=\"_data.row[field.prop]\"\r\n />\r\n\r\n <div *ngIf=\"field.type === 'file'\">\r\n <!-- <ng-container *ngIf=\"_data.row[field.prop]\">\r\n <div class=\"file\" *ngFor=\"let file of attachments\">\r\n <a class=\"text-dark\" [href]=\"downloadFilePDF(file.url)\" target=\"_blank\"\r\n (change)=\"downloadFilePDF(file.url)\">\r\n <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"confirmDelFile(file.id)\" plac>x</a>\r\n <div class=\"d-flex h-100\">\r\n <i class=\"far fa-file-pdf mr-2\"></i>\r\n <span class=\"file-name\">{{file.name}}</span>\r\n </div>\r\n </a>\r\n </div>\r\n </ng-container> -->\r\n\r\n <app-input-file\r\n [objectId]=\"objectId\"\r\n [service]=\"service\"\r\n (formData)=\"_data.row[field.prop] = $event\"\r\n ></app-input-file>\r\n <!-- <input type='file' *ngIf=\"field.type === 'file'\" name=\"file\" (change)=\"onFileSelected($event)\"> -->\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #noneEdit let-value=\"value\" let-field=\"field\">\r\n {{\r\n field.type === \"select\"\r\n ? getNameDomain(value, field)\r\n : field.type === \"date\"\r\n ? (value | date : \"dd/MM/yyyy\")\r\n : field.type === \"checkbox\"\r\n ? getValueCheckbox(value)\r\n : value\r\n }}\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventModal } from 'src/app/shared/components/modal/modal.component';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { TableColumnMode } from '../../shared/components/datatable/datatable.model';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BtsAttachmentService } from '../../shared/services/bts-attachment.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { ETinhTrang } from 'src/app/shared/models/data.model';\r\nimport { ApiService } from '../../shared/services/api.service';\r\nimport AttachmentInfo from 'esri/layers/support/AttachmentInfo';\r\nimport { ContentType } from 'src/app/shared/components/attachment/attachment.component';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ModalConfirmComponent } from 'src/app/shared/components/modal-confirm/modal-confirm.component';\r\nenum NavIndex {\r\n Info,\r\n Attachment,\r\n HoanCong\r\n}\r\n\r\ninterface DataModal {\r\n row: TramBTSModel;\r\n fields: TableColumnMode;\r\n flag?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-modal-info',\r\n templateUrl: './modal-info.component.html',\r\n styleUrls: ['./modal-info.component.scss']\r\n})\r\nexport class ModalInfoComponent implements OnInit, OnChanges {\r\n @ViewChild('formEl') formEl: ElementRef<HTMLFormElement>;\r\n @ViewChild('inputFile') inputFile: ElementRef<HTMLInputElement>;\r\n EventModal = EventModal;\r\n @Input() _data: DataModal;\r\n @Output() passEntry = new EventEmitter<TramBTSModel>()\r\n row: any;\r\n dataClone: TramBTSModel;\r\n isEditing = false;\r\n navIndex = NavIndex.Info;\r\n NavIndex = NavIndex;\r\n attachments: __esri.AttachmentInfo[] = [];\r\n TinhTrang = ETinhTrang;\r\n isHoanCong = false;\r\n idHoSo: string;\r\n Flag = FlagMenu;\r\n flag: string;\r\n isDoanhNghiep: boolean;\r\n\r\n arrayFiles: Array<{ name: string, url: string, id: string }> = [];\r\n\r\n set data(value: DataModal) {\r\n if (value.row && value.row.OBJECTID) {\r\n this.objectId = value.row.OBJECTID;\r\n }\r\n this._data = value;\r\n }\r\n objectId: number;\r\n\r\n ngOnChanges(change: SimpleChanges) { }\r\n isHidden = true;\r\n\r\n constructor(\r\n public modal: NgbActiveModal,\r\n public service: BtsAttachmentService,\r\n private toastService: ToastService,\r\n private apiService: ApiService,\r\n public loginService: LoginService,\r\n private modalService: NgbModal,\r\n ) {\r\n this.isDoanhNghiep = loginService.isDoanhNghiep;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.row = { ...this._data.row };\r\n if (this.loginService.isQuanHuyen && (this._data.flag === this.Flag.TuyenCapNoi || this._data.flag === this.Flag.TuyenCapNgam || this._data.flag === this.Flag.TramBTS)) {\r\n this.isHidden = false;\r\n }\r\n if (this.loginService.isQuanHuyen) {\r\n if (this._data.flag === this.Flag.DiemDichVu) {\r\n if ((this._data.row as DiemDichVuModel).LoaiDichVu !== 3) {\r\n this.isHidden = false;\r\n }\r\n }\r\n }\r\n this.apiService.get(`odata/HoSo_TramBTS?$filter=TramBTS_ID eq ${this.row.OBJECTID}`, true)\r\n .then(res => {\r\n if (res.length) {\r\n this.idHoSo = res[0].HoSo_ID;\r\n }\r\n })\r\n }\r\n\r\n getNameDomain(value, column) {\r\n const val = column.options.find(m => m.code === value);\r\n return val && val.name || \"\";\r\n }\r\n\r\n async changeNav(event) {\r\n if (event.nextId === NavIndex.Attachment) {\r\n this.attachments = [];\r\n this.loadAttachment();\r\n this.getFileAttachment();\r\n }\r\n }\r\n\r\n async attachmentFile(event) {\r\n const formData = new FormData();\r\n formData.append('attachment', event.target.files[0]);\r\n formData.append('f', 'json');\r\n if (event.target.value) {\r\n await this.service.addAttachment(this.objectId, formData).then((res) => {\r\n this.loadAttachment();\r\n console.log(res);\r\n \r\n });\r\n this.toastService.success('upload success!');\r\n }\r\n }\r\n\r\n getFileAttachment() {\r\n if (this.idHoSo) {\r\n this.apiService.get(`QuanLyVanBan/DanhSach?id_ho_so=${this.idHoSo}`)\r\n .then(attachments => {\r\n const attachmentsParse = attachments as {\r\n CodeNotation: any;\r\n CodeNumber: any;\r\n ID: any;\r\n attachmentsParse: string;\r\n IssuedDate: string;\r\n LinkFile: string;\r\n Subject: string;\r\n }[]\r\n if (attachmentsParse) {\r\n for (const attachment of attachmentsParse) {\r\n const att = new AttachmentInfo();\r\n if (attachment.LinkFile) {\r\n const extend = attachment.LinkFile.split('.')[1];\r\n if (extend === 'pdf') {\r\n att.contentType = ContentType.Pdf\r\n }\r\n }\r\n att.name = attachment.Subject;\r\n att.id = attachment.ID;\r\n att.url = environment.apiUrl + '/' + attachment.LinkFile;\r\n this.attachments.push(att);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n loadAttachment() {\r\n if (this.objectId) {\r\n this.service.queryAttachments({ objectIds: [this.objectId] }).then(res => this.attachments.push(...res[0].attachments));\r\n }\r\n }\r\n\r\n confirmDelFile(id: number) {\r\n if (this.isDoanhNghiep) {\r\n this.modalService.open(ModalConfirmComponent, { centered: true, }).result.then(result => {\r\n if (result === EventModal.OK) {\r\n this.deleteAttachment(id);\r\n }\r\n });\r\n } else {\r\n this.toastService.danger('Chỉ doanh nghiệp mới được phép xóa file này!', 'Thông Báo:');\r\n }\r\n }\r\n\r\n async deleteAttachment(id: number) {\r\n await this.service.deleteAttachments(this.objectId, id)\r\n .then(result => {\r\n if (result[0].success) {\r\n this.toastService.success('Xóa file thành công!');\r\n this.attachments = [];\r\n this.loadAttachment();\r\n this.getFileAttachment();\r\n } else {\r\n this.toastService.danger('Xóa thất bại, vì file đính kèm thuộc hồ sơ!');\r\n }\r\n });\r\n }\r\n\r\n handleClickEdit() {\r\n this.isEditing = true;\r\n }\r\n\r\n handleClickCancel() {\r\n this._data.row = { ...this.row };\r\n this.isHoanCong = false;\r\n this.isEditing = false;\r\n }\r\n\r\n handleClickSave() {\r\n if (this.isHoanCong) {\r\n if (this.checkValid()) {\r\n this.passBack();\r\n this.modal.close(this._data.row);\r\n }\r\n } else {\r\n this.passBack();\r\n this.modal.close(this._data.row);\r\n }\r\n }\r\n\r\n handleClickClose() {\r\n this.modal.dismiss(EventModal.CANCEL);\r\n }\r\n\r\n passBack() {\r\n this.modal.dismiss(EventModal.OK);\r\n this.passEntry.emit(this._data.row);\r\n }\r\n\r\n checkValid() {\r\n if (!this._data.row.GiayKiemDinhCongTrinh) {\r\n this.toastService.warning('Thiếu giấy kiểm định công trình. Không thể hoàn công!', 'Thông Báo:');\r\n return false;\r\n }\r\n if (!this._data.row.TepDinhKemHSKD) {\r\n this.toastService.warning('Thiếu tệp đính kèm HSKĐ. Không thể hoàn công!', 'Thông Báo:');\r\n return false;\r\n }\r\n if (!this._data.row.NgayCap) {\r\n this.toastService.warning('Thiếu ngày cấp giấy KDCT. Không thể hoàn công!', 'Thông Báo:');\r\n return false;\r\n }\r\n if (!this._data.row.SoCongVanHSKD) {\r\n this.toastService.warning('Thiếu số công văn. Không thể hoàn công!', 'Thông Báo:');\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getValueCheckbox(value) {\r\n if (value === 1) {\r\n return 'Có'\r\n } else return 'Không'\r\n }\r\n \r\n downloadFilePDF(url: string) {\r\n return environment.apiUrl + url;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { TramBtsComponent } from './tram-bts.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', \r\n component: TramBtsComponent,\r\n children: [\r\n {\r\n path: '', pathMatch: 'full', redirectTo: 'list'\r\n },\r\n {\r\n path: 'list', component: ListComponent\r\n },\r\n {\r\n path: 'add', component: AddComponent\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TramBtsRoutingModule { }\r\n","<router-outlet></router-outlet>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tram-bts',\r\n templateUrl: './tram-bts.component.html',\r\n styleUrls: ['./tram-bts.component.scss']\r\n})\r\nexport class TramBtsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TramBtsComponent } from './tram-bts.component';\r\nimport { TramBtsRoutingModule } from './tram-bts-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\nimport { ComponentsModule } from '../shared/components/components.module';\r\nimport { ModalInfoComponent } from './modal-info/modal-info.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { InputFileModule } from 'src/app/shared/components/input-file/input-file.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TramBtsComponent, ListComponent, AddComponent, ModalInfoComponent],\r\n imports: [\r\n CommonModule,\r\n TramBtsRoutingModule,\r\n ComponentsModule,\r\n SharedModule,\r\n InputFileModule\r\n ],\r\n entryComponents: [ModalInfoComponent]\r\n}) \r\nexport class TramBtsModule { }\r\n","<div class=\"container-fluid\">\r\n <app-loading [loading]=\"loading\"></app-loading>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-card [header]=\"headerCard\">\r\n <app-form #form [fields]=\"fields\" [service]=\"service\" (onSubmit)=\"handleClickAdd($event)\" (changeDoanhNghiep)=\"changeDoanhNghiep($event)\"></app-form>\r\n </app-card> \r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map \r\n #miniMap \r\n (mapLoaded)=\"mapLoaded($event)\"\r\n (closeSideNav)=\"closeSideNav($event)\"\r\n ></app-mini-map>\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive esri-icon-polyline\"\r\n title=\"Distance Measurement Tool\"\r\n [class.active]=\"_active\"\r\n (click)=\"enableCreateLine()\"\r\n ></button>\r\n <button\r\n id=\"clear\"\r\n class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\"\r\n (click)=\"miniMap.clearGraphic()\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, ViewChild, AfterViewInit } from \"@angular/core\";\r\nimport { TuyenCapNgams } from \"src/app/shared/constants/tuyen-cap-ngam.constant\";\r\nimport FeatureLayer from \"esri/layers/FeatureLayer\";\r\nimport { CONSTNAME } from \"src/app/map/shared/constants/map.constant\";\r\nimport { TuyenCapNgamService } from \"../../shared/services/tuyen-cap-ngam.service\";\r\nimport { IDataService } from \"../../shared/services/IDataService\";\r\nimport Graphic from \"esri/Graphic\";\r\nimport { MiniMapComponent } from \"../../shared/components/mini-map/mini-map.component\";\r\nimport { Polyline } from \"esri/geometry\";\r\nimport { ToastService } from \"src/app/shared/services/toast.service\";\r\nimport { Geometry } from \"ngx-perfect-scrollbar\";\r\nimport { TuyenCapNgamModel } from \"src/app/shared/models/tuyen-cap-ngam.model\";\r\nimport { LayerService } from \"src/app/map/shared/services/layer.service\";\r\nimport Draw from \"esri/views/draw/Draw\";\r\nimport SimpleLineSymbol from \"esri/symbols/SimpleLineSymbol\";\r\nimport geometryEngine from \"esri/geometry/geometryEngine\";\r\nimport { LoginService } from \"src/app/shared/services/login.service\";\r\nimport { FormFields, FormComponent } from \"../../shared/components/form/form.component\";\r\n\r\n@Component({\r\n selector: \"app-add\",\r\n templateUrl: \"./add.component.html\",\r\n styleUrls: [\"./add.component.scss\"],\r\n})\r\nexport class AddComponent implements OnInit, AfterViewInit {\r\n @ViewChild(\"miniMap\") miniMap: MiniMapComponent;\r\n @ViewChild(\"form\") formComponent: FormComponent;\r\n headerCard = \"Thêm mới tuyến cáp ngầm\";\r\n fields: FormFields[] = [\r\n { prop: \"MaTuyen\", name: \"Mã tuyến cáp\", type: \"text\", frozenLeft: true, require: true, placeholder: 'Mã tuyến cáp' },\r\n { prop: \"TenTuyen\", name: \"Tên tuyến\", type: \"text\", frozenLeft: true, require: true, placeholder: 'Tên tuyến' },\r\n { prop: \"DiemDau\", name: \"Điểm đầu\", type: \"text\", require: true, placeholder: 'Điểm đầu' },\r\n { prop: \"DiemCuoi\", name: \"Điểm cuối\", type: \"text\", require: true, placeholder: 'Điểm cuối' },\r\n { prop: \"ChieuDaiThucTe\", name: \"Chiều dài thực tế\", type: \"text\", placeholder: 'Chiều dài thực tế' },\r\n { prop: \"ViTriTuyenCap\", name: \"Vị trí tuyến cáp\", type: \"select\" },\r\n { prop: \"KhoangCachSoVoiLe\", name: \"Khoảng cách so với lề\", type: \"text\", placeholder: 'Khoảng cách so với lề' },\r\n { prop: \"DoSau\", name: \"Độ sâu\", type: \"text\", placeholder: 'Độ sâu' },\r\n { prop: \"SoLuongOngCap\", name: \"Số lượng ống cáp\", type: \"text\", placeholder: 'Số lượng ống cáp' },\r\n { prop: \"SoLuongOngDangDung\", name: \"Số lượng ống dẫn\", type: \"text\", placeholder: 'Số lượng ống dẫn' },\r\n { prop: \"LoaiCap\", name: \"Loại cáp\", type: \"select\" },\r\n { prop: \"DungLuongCap\", name: \"Dung lượng cáp\", type: \"text\", placeholder: 'Dung lượng tuyến cáp' },\r\n { prop: \"LoaiCongTrinh\", name: \"Loại công trình\", type: \"select\" },\r\n { prop: \"KhaNangDungChung\", name: \"Khả năng dùng chung\", type: \"select\" },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true, options: [], require: true},\r\n ];\r\n _active = false;\r\n view: __esri.View;\r\n layer: __esri.FeatureLayer;\r\n service: IDataService;\r\n polyline: __esri.Geometry;\r\n maDoanhNghiep: string;\r\n isDoanhNghiepSlected = false;\r\n loading = false;\r\n\r\n constructor(\r\n protected _service: TuyenCapNgamService,\r\n protected toastService: ToastService,\r\n protected layerService: LayerService,\r\n protected loginService: LoginService\r\n ) {\r\n this.service = _service;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.loginService.maDonVi !== \"S4T\") {\r\n this.maDoanhNghiep = this.loginService.maDonVi;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n \r\n }\r\n\r\n handleClickAdd(info) {\r\n const attributes = info as TuyenCapNgamModel;\r\n if(!this.maDoanhNghiep) {\r\n this.toastService.warning('Vui lòng chọn doanh nghiệp cần thêm mới!');\r\n return;\r\n }\r\n if(!this.polyline) {\r\n this.toastService.warning('Vui lòng vẽ tuyến cáp!');\r\n return;\r\n }\r\n attributes.TenDoanhNghiep = this.maDoanhNghiep;\r\n const addFeature = {\r\n geometry: this.polyline,\r\n attributes,\r\n } as any;\r\n this.loading = true;\r\n this.layer.applyEdits({ addFeatures: [addFeature] }).then((res) => {\r\n if (res.addFeatureResults && res.addFeatureResults.length) {\r\n this.toastService.success(\"Thêm mới tuyến cáp ngầm thành công!\");\r\n this.view.graphics.removeAll();\r\n this.formComponent.reset();\r\n } else {\r\n this.toastService.danger(\"Có lỗi xảy ra!\");\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n mapLoaded(view) {\r\n this.view = view;\r\n this.layer = new FeatureLayer(this.layerService.tuyenCapNgamLayer);\r\n this.layer.minScale = 0;\r\n this.layer.maxScale = 0;\r\n view.map.add(this.layer);\r\n }\r\n\r\n closeSideNav(event) {\r\n this.miniMap.isOpenSideNav = event;\r\n this.isDoanhNghiepSlected = false;\r\n }\r\n\r\n changeDoanhNghiep(event) {\r\n this.maDoanhNghiep = event.target.value;\r\n }\r\n\r\n // goi lai enableCreatePoint khi doanh nghiep duoc chon emit tu miniMap (boi roi)\r\n // drawAgian(maDoanhNghiep) {\r\n // this.maDoanhNghiep = maDoanhNghiep;\r\n // this.enableCreateLine();\r\n // }\r\n\r\n enableCreateLine() {\r\n // // check ma don vi la S4T va isDoanhNghiepSlected = false thi phai chon doanh nghiep\r\n // if(this.loginService.maDonVi === 'S4T' && !this.isDoanhNghiepSlected) {\r\n // this.miniMap.isOpenSideNav = true;\r\n // this.isDoanhNghiepSlected = true;\r\n // return;\r\n // }\r\n // // neu isDoanhNghiepSlected = false la doanh nghiep khong duoc chon tuc la lay doanh nghiep dang dang nhap\r\n // if(!this.isDoanhNghiepSlected) {\r\n // this.maDoanhNghiep = this.loginService.maDonVi;\r\n // }\r\n // if (this.maDoanhNghiep || this.maDoanhNghiep === \"undefined\") {\r\n this.view.graphics.removeAll();\r\n const draw = new Draw({\r\n view: this.view,\r\n });\r\n const action = draw.create(\"polyline\");\r\n this.view.focus();\r\n action.on(\r\n [\"vertex-add\", \"vertex-remove\", \"cursor-update\", \"redo\", \"undo\"],\r\n (evt) => this.updateVertices(evt)\r\n );\r\n\r\n action.on(\"draw-complete\", (evt) => {\r\n this.updateVertices(evt);\r\n this.isDoanhNghiepSlected = false;\r\n });\r\n // } else {\r\n // this.toastService.warning(\"Vui lòng chọn doanh nghiệp!\");\r\n // }\r\n }\r\n\r\n updateVertices(event) {\r\n if (event.vertices.length > 1) {\r\n const result = this.createGraphic(event);\r\n\r\n if (result.selfIntersects) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n createGraphic(event) {\r\n const vertices = event.vertices;\r\n this.view.graphics.removeAll();\r\n\r\n const graphic = new Graphic({\r\n geometry: new Polyline({\r\n paths: vertices,\r\n spatialReference: this.view.spatialReference,\r\n }),\r\n symbol: new SimpleLineSymbol({\r\n color: [93, 109, 126],\r\n width: 1,\r\n cap: \"round\",\r\n join: \"round\",\r\n }),\r\n });\r\n\r\n // check if the polyline intersects itself.\r\n const intersectingSegment = this.getIntersectingSegment(graphic.geometry);\r\n\r\n // Add a new graphic for the intersecting segment.\r\n if (intersectingSegment) {\r\n this.view.graphics.addMany([graphic, intersectingSegment]);\r\n }\r\n // Just add the graphic representing the polyline if no intersection\r\n else {\r\n this.view.graphics.add(graphic);\r\n }\r\n this.polyline = graphic.geometry;\r\n // return intersectingSegment\r\n return {\r\n selfIntersects: intersectingSegment,\r\n };\r\n }\r\n\r\n // function that checks if the line intersects itself\r\n isSelfIntersecting(polyline) {\r\n if (polyline.paths[0].length < 3) {\r\n return false;\r\n }\r\n const line = polyline.clone();\r\n\r\n //get the last segment from the polyline that is being drawn\r\n const lastSegment = this.getLastSegment(polyline);\r\n line.removePoint(0, line.paths[0].length - 1);\r\n\r\n // returns true if the line intersects itself, false otherwise\r\n return geometryEngine.crosses(lastSegment, line);\r\n }\r\n\r\n // Checks if the line intersects itself. If yes, change the last\r\n // segment's symbol giving a visual feedback to the user.\r\n getIntersectingSegment(polyline) {\r\n if (this.isSelfIntersecting(polyline)) {\r\n return new Graphic({\r\n geometry: this.getLastSegment(polyline),\r\n symbol: new SimpleLineSymbol({\r\n style: \"short-dot\",\r\n width: 2,\r\n color: \"yellow\",\r\n }),\r\n });\r\n }\r\n return null;\r\n }\r\n\r\n // Get the last segment of the polyline that is being drawn\r\n getLastSegment(polyline) {\r\n const line = polyline.clone();\r\n const lastXYPoint = line.removePoint(0, line.paths[0].length - 1);\r\n const existingLineFinalPoint = line.getPoint(0, line.paths[0].length - 1);\r\n\r\n return new Polyline({\r\n spatialReference: this.view.spatialReference,\r\n hasZ: false,\r\n paths: [\r\n [\r\n [existingLineFinalPoint.x, existingLineFinalPoint.y],\r\n [lastXYPoint.x, lastXYPoint.y],\r\n ],\r\n ],\r\n });\r\n }\r\n}\r\n","<div class=\"container-fluid mt-3\">\r\n <app-datatable [isHidden]=\"isHidden\" [searchField]=\"searchField\" #dataTbl [header]=\"headerTable\" [columns]=\"columns\" [service]=\"service\" (onActivate)=\"onActivate($event)\">\r\n </app-datatable>\r\n</div>","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { TableColumnMode } from '../../shared/components/datatable/datatable.model';\r\nimport { TuyenCapNgamService } from '../../shared/services/tuyen-cap-ngam.service';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { ModalDetailComponent } from '../../shared/components/modal-detail/modal-detail.component';\r\nimport { DatatableComponent } from '../../shared/components/datatable/datatable.component';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild('dataTbl') dataTbl: DatatableComponent;\r\n headerTable = 'Danh sách tuyến cáp ngầm';\r\n isHidden = false;\r\n columns: TableColumnMode[] = [\r\n { prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text', frozenLeft: true },\r\n { prop: 'TenTuyen', name: 'Tên tuyến', type: 'text', frozenLeft: true },\r\n { prop: 'TenDoanhNghiep', name: 'Tên doanh nghiệp', type: 'select', isNonEdit: true },\r\n { prop: 'DiemDau', name: 'Điểm đầu', type: 'text' },\r\n { prop: 'DiemCuoi', name: 'Điểm cuối', type: 'text' },\r\n { prop: 'ChieuDaiThucTe', name: 'Chiều dài thực tế', type: 'text' },\r\n { prop: 'ViTriTuyenCap', name: 'Vị trí tuyến cáp', type: 'text' },\r\n { prop: 'KhoangCachSoVoiLe', name: 'Khoảng cách so với lề', type: 'text' },\r\n { prop: 'DoSau', name: 'Độ sâu', type: 'text' },\r\n { prop: 'SoLuongOngCap', name: 'Số lượng ống cáp', type: 'text' },\r\n { prop: 'SoLuongOngDangDung', name: 'Số lượng ống dẫn', type: 'text' },\r\n { prop: 'LoaiCap', name: 'Loại cáp', type: 'select' },\r\n { prop: 'DungLuongCap', name: 'Dung lượng cáp', type: 'text' },\r\n { prop: 'LoaiCongTrinh', name: 'Loại công trình', type: 'select' },\r\n { prop: 'KhaNangDungChung', name: 'Khả năng dùng chung', type: 'select' },\r\n ];\r\n service: IDataService;\r\n searchField = 'TenTuyen';\r\n\r\n Flag = FlagMenu;\r\n\r\n constructor(\r\n private _service: TuyenCapNgamService,\r\n public modalService: NgbModal,\r\n private toastService: ToastService,\r\n private loginService: LoginService,\r\n ) {\r\n this.service = _service;\r\n if (loginService.isQuanHuyen) {\r\n this.isHidden = true;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleSave(data) {\r\n // this.loadingIndicator = true;\r\n this.service.update(data).then(res => {\r\n if (res.updateResults && res.updateResults.length) {\r\n this.dataTbl.loadData();\r\n this.toastService.success('Cập nhập dữ liệu thành công!');\r\n }\r\n else {\r\n this.toastService.danger('Cập nhật dữ liệu thất bại');\r\n }\r\n // this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n onActivate(event) {\r\n const modalRef = this.modalService.open(ModalDetailComponent, {\r\n size: 'lg'\r\n })\r\n modalRef.componentInstance.data = { row: event.row, fields: this.columns, flag: this.Flag.TuyenCapNgam };\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.handleSave(receivedEntry);\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { TuyenCapNgamComponent } from './tuyen-cap-ngam.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { \r\n path: '',\r\n component: TuyenCapNgamComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'list'},\r\n { path: 'list', component: ListComponent},\r\n { path: 'add', component: AddComponent }\r\n ]\r\n }\r\n]\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TuyenCapNgamRoutingModule { }\r\n","<router-outlet></router-outlet>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tuyen-cap-ngam',\r\n templateUrl: './tuyen-cap-ngam.component.html',\r\n styleUrls: ['./tuyen-cap-ngam.component.scss']\r\n})\r\nexport class TuyenCapNgamComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\nimport { ComponentsModule } from '../shared/components/components.module';\r\nimport { TuyenCapNgamRoutingModule } from './tuyen-cap-ngam-routing.module';\r\nimport { TuyenCapNgamComponent } from './tuyen-cap-ngam.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TuyenCapNgamComponent ,ListComponent, AddComponent],\r\n imports: [\r\n CommonModule,\r\n ComponentsModule,\r\n TuyenCapNgamRoutingModule,\r\n RouterModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class TuyenCapNgamModule { }\r\n","<div class=\"container-fluid\">\r\n <app-loading [loading]=\"loading\"></app-loading>\r\n <div class=\"row h-100\">\r\n <div class=\"col-4 p-0\">\r\n <app-card [header]=\"headerCard\">\r\n <app-form #form [fields]=\"fields\" [service]=\"service\" (changeDoanhNghiep)=\"changeDoanhNghiep($event)\" (onSubmit)=\"handleClickAdd($event)\"></app-form>\r\n </app-card> \r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <div class=\"map\">\r\n <app-mini-map \r\n #miniMap\r\n (mapLoaded)=\"mapLoaded($event)\"\r\n (closeSideNav)=\"closeSideNav($event)\"\r\n ></app-mini-map>\r\n <div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive esri-icon-polyline\"\r\n title=\"Distance Measurement Tool\"\r\n (click)=\"enableCreateLine()\"\r\n ></button>\r\n <button\r\n id=\"clear\"\r\n class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\"\r\n (click)=\"miniMap.clearGraphic()\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { TuyenCapNoiService } from \"../../shared/services/tuyen-cap-noi.service\";\r\nimport { TableColumnMode } from \"../../shared/components/datatable/datatable.model\";\r\nimport { TuyenCapNgams } from \"src/app/shared/constants/tuyen-cap-ngam.constant\";\r\nimport FeatureLayer from \"esri/layers/FeatureLayer\";\r\nimport { CONSTNAME } from \"src/app/map/shared/constants/map.constant\";\r\nimport { MiniMapComponent } from \"../../shared/components/mini-map/mini-map.component\";\r\nimport { IDataService } from \"../../shared/services/IDataService\";\r\nimport { TuyenCapNgamModel } from \"src/app/shared/models/tuyen-cap-ngam.model\";\r\nimport { ToastService } from \"src/app/shared/services/toast.service\";\r\nimport { FormComponent, FormFields } from '../../shared/components/form/form.component';\r\nimport { LayerService } from 'src/app/map/shared/services/layer.service';\r\nimport {AddComponent as AddTuyenCapNgamComponent} from \"src/app/manager/tuyen-cap-ngam/add/add.component\"\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\n@Component({\r\n selector: \"app-add\",\r\n templateUrl: \"./add.component.html\",\r\n styleUrls: [\"./add.component.scss\"],\r\n})\r\nexport class AddComponent extends AddTuyenCapNgamComponent {\r\n headerCard = \"Thêm mới tuyến cáp nổi\";\r\n fields: FormFields[] = [\r\n {prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text', require: true, placeholder: 'Mã tuyến cáp' },\r\n {prop: 'TenTuyen', name: 'Tên tuyến', type: 'text', require: true, placeholder: 'Tên tuyến' },\r\n {prop: 'DiemDau', name: 'Điểm đầu', type: 'text', require: true, placeholder: 'Điểm đầu' },\r\n {prop: 'DiemCuoi', name: 'Điểm cuối', type: 'text', require: true, placeholder: 'Điểm cuối' },\r\n {prop: 'ChieuDaiThucTe', name: 'Chiều dài thực tế', type: 'text', placeholder: 'Chiều dài thực tế' },\r\n {prop: 'ViTriTuyenCap', name: 'Vị trí tuyến cáp', type: 'text', placeholder: 'Vị trí tuyến cáp' },\r\n {prop: 'KhoangCachSoVoiLe', name: 'Khoảng cách so với lề', type: 'text', placeholder: 'Khoảng cách so với lề' },\r\n {prop: 'LoaiCap', name: 'Loại cáp', type: 'select', require: true },\r\n {prop: 'DungLuongCap', name: 'Dung lượng cáp', type: 'text', placeholder: 'Dụng lượng cáp' },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true, options: [], require: true},\r\n ];\r\n constructor(\r\n _service: TuyenCapNoiService,\r\n toastService: ToastService,\r\n layerService: LayerService,\r\n loginService: LoginService\r\n ) {\r\n super(_service, toastService, layerService, loginService);\r\n this.service = _service;\r\n }\r\n\r\n mapLoaded(view) {\r\n this.view = view;\r\n this.layer = new FeatureLayer(this.layerService.tuyenCapNoiLayer);\r\n this.layer.minScale = 0;\r\n this.layer.maxScale = 0;\r\n view.map.add(this.layer);\r\n }\r\n \r\n}\r\n","<div class=\"container-fluid mt-3\">\r\n <app-datatable [isHidden]=\"isHidden\" [searchField]=\"searchField\" #dataTbl [header]=\"headerTable\" [service]=\"service\" [columns]=\"columns\"\r\n (onActivate)=\"onActivate($event)\"></app-datatable>\r\n</div>","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { TuyenCapNoiService } from '../../shared/services/tuyen-cap-noi.service';\r\nimport { TableColumnMode } from '../../shared/components/datatable/datatable.model';\r\nimport { IDataService } from '../../shared/services/IDataService';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalDetailComponent } from '../../shared/components/modal-detail/modal-detail.component';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { DatatableComponent } from '../../shared/components/datatable/datatable.component';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { FlagMenu } from 'src/app/shared/models/menu.model';\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild('dataTbl') dataTbl: DatatableComponent;\r\n headerTable = \"Danh sách tuyến cáp nổi\";\r\n columns: TableColumnMode[] = [\r\n {prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text', frozenLeft: true },\r\n {prop: 'TenTuyen', name: 'Tên tuyến', type: 'text', frozenLeft: true },\r\n {prop: 'TenDoanhNghiep', name: 'Tên doanh nghiệp', type: 'select', isNonEdit: true },\r\n {prop: 'DiemDau', name: 'Điểm đầu', type: 'text' },\r\n {prop: 'DiemCuoi', name: 'Điểm cuối', type: 'text' },\r\n {prop: 'ChieuDaiThucTe', name: 'Chiều dài thực tế', type: 'text' },\r\n {prop: 'ViTriTuyenCap', name: 'Vị trí tuyến cáp', type: 'text' },\r\n {prop: 'KhoangCachSoVoiLe', name: 'Khoảng cách so với lề', type: 'text' },\r\n {prop: 'LoaiCap', name: 'Loại cáp', type: 'select' },\r\n {prop: 'DungLuongCap', name: 'Dung lượng cáp', type: 'text' },\r\n {prop: 'LoaiCongTrinh', name: 'Loại công trình', type: 'select' },\r\n {prop: 'KhaNangDungChung', name: 'Khả năng dùng chung', type: 'select' },\r\n {prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', width: 150, isQuanHuyenTP: true, options: [] },\r\n];\r\n service: IDataService;\r\n searchField = 'TenTuyen';\r\n rowEditing = {};\r\n isHidden = false;\r\n\r\n Flag = FlagMenu;\r\n\r\n constructor(\r\n public _service: TuyenCapNoiService,\r\n public modalService: NgbModal,\r\n private toastService: ToastService,\r\n private loginService: LoginService,\r\n ) {\r\n this.service = _service\r\n if (loginService.isQuanHuyen) {\r\n this.isHidden = true;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleSave(data) {\r\n // this.loadingIndicator = true;\r\n this.service.update(data).then(res => {\r\n if (res.updateResults && res.updateResults.length) {\r\n this.dataTbl.loadData();\r\n this.toastService.success('Cập nhập dữ liệu thành công!');\r\n }\r\n else {\r\n this.toastService.danger('Cập nhật dữ liệu thất bại');\r\n }\r\n // this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n onActivate(event) {\r\n const modalRef = this.modalService.open(ModalDetailComponent, {\r\n size: 'lg',\r\n })\r\n modalRef.componentInstance.data = {row: event.row, fields: this.columns, flag: this.Flag.TuyenCapNoi};\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.handleSave(receivedEntry);\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TuyenCapNoiComponent } from './tuyen-cap-noi.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n { \r\n path: '',\r\n component: TuyenCapNoiComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'list'},\r\n { path: 'list', component: ListComponent},\r\n { path: 'add', component: AddComponent }\r\n ]\r\n }\r\n]\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TuyenCapNoiRoutingModule { }\r\n","<router-outlet></router-outlet>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tuyen-cap-noi',\r\n templateUrl: './tuyen-cap-noi.component.html',\r\n styleUrls: ['./tuyen-cap-noi.component.scss']\r\n})\r\nexport class TuyenCapNoiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TuyenCapNoiComponent } from './tuyen-cap-noi.component';\r\nimport { AddComponent } from './add/add.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TuyenCapNoiRoutingModule } from './tuyen-cap-noi-routing.module';\r\nimport { ComponentsModule } from '../shared/components/components.module';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TuyenCapNoiComponent, AddComponent, ListComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n TuyenCapNoiRoutingModule,\r\n ComponentsModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class TuyenCapNoiModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes } from '@angular/router';\r\nimport { YKienNguoiDanComponent } from './y-kien-nguoi-dan.component';\r\nimport { ListComponent } from './list/list.component';\r\n\r\nconst routes: Routes = [\r\n { \r\n path: '',\r\n component: YKienNguoiDanComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'list'},\r\n { path: 'list', component: ListComponent}\r\n ]\r\n }\r\n]\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class YKienNguoiDanRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-y-kien-nguoi-dan',\r\n templateUrl: './y-kien-nguoi-dan.component.html',\r\n styleUrls: ['./y-kien-nguoi-dan.component.scss']\r\n})\r\nexport class YKienNguoiDanComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { YKienNguoiDanComponent } from './y-kien-nguoi-dan.component';\r\nimport { YKienNguoiDanRoutingModule } from './y-kien-nguoi-dan-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [YKienNguoiDanComponent, ListComponent],\r\n imports: [\r\n CommonModule,\r\n YKienNguoiDanRoutingModule\r\n ]\r\n})\r\nexport class YKienNguoiDanModule { }\r\n","<app-side-nav [title]=\"title\" [isOpen]=\"isOpen\" (close)=\"handleClose($event)\">\r\n <ul ngbNav #nav=\"ngbNav\" [(activeId)]=\"active\" class=\"nav-tabs\">\r\n <li [ngbNavItem]=\"1\">\r\n <a ngbNavLink>Lớp dữ liệu</a>\r\n <ng-template ngbNavContent>\r\n <app-layer-list></app-layer-list>\r\n </ng-template>\r\n </li>\r\n <li [ngbNavItem]=\"2\">\r\n <a ngbNavLink>Chú thích</a>\r\n <ng-template ngbNavContent>\r\n <app-legend></app-legend> \r\n </ng-template>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"nav\" class=\"mt-2\"></div>\r\n</app-side-nav>\r\n<button id=\"btnLayers\" class=\"esri-widget--button esri-interactive esri-icon-documentation\" title=\"Lớp bản đồ\"\r\n(click)=\"isOpen=!isOpen\"\r\n></button>","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-info-map',\r\n templateUrl: './info-map.component.html',\r\n styleUrls: ['./info-map.component.scss']\r\n})\r\nexport class InfoMapComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Input() title = 'Thông tin bản đồ';\r\n active = 1;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClose(closed) {\r\n this.isOpen = closed;\r\n }\r\n}\r\n","<!-- <app-side-nav [title]=\"title\" [isOpen]=\"isOpen\" (close)=\"handleClose($event)\"> -->\r\n <div #layerEl></div>\r\n<!-- </app-side-nav> -->\r\n","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport LayerList from 'esri/widgets/LayerList';\r\nimport { MapService } from '../shared/services/map.service';\r\n\r\n@Component({\r\n selector: 'app-layer-list',\r\n templateUrl: './layer-list.component.html',\r\n styleUrls: ['./layer-list.component.scss']\r\n})\r\nexport class LayerListComponent implements OnInit, AfterViewInit {\r\n @ViewChild('layerEl') layerEl: ElementRef\r\n isOpen = true;\r\n title = 'Lớp dữ liệu';\r\n constructor(private service: MapService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n const layerList = new LayerList({\r\n container: this.layerEl.nativeElement,\r\n view: this.service.view\r\n })\r\n }\r\n\r\n handleClose(closed) {\r\n this.isOpen = closed;\r\n }\r\n\r\n}\r\n","<!-- <app-side-nav [title]=\"title\"> -->\r\n <div #legendEl></div>\r\n<!-- </app-side-nav> -->\r\n","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef } from '@angular/core';\r\nimport Legend from 'esri/widgets/Legend';\r\nimport { MapService } from '../shared/services/map.service';\r\n\r\n@Component({\r\n selector: 'app-legend',\r\n templateUrl: './legend.component.html',\r\n styleUrls: ['./legend.component.scss']\r\n})\r\nexport class LegendComponent implements OnInit, AfterViewInit {\r\n legend: __esri.Legend;\r\n title = 'Chú giải';\r\n @ViewChild('legendEl') legendEl: ElementRef\r\n constructor(private service: MapService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.legend = new Legend({\r\n view: this.service.view,\r\n container: this.legendEl.nativeElement\r\n });\r\n \r\n }\r\n\r\n}\r\n","<div class=\"viewDiv\" #mapElement>\r\n <div class=\"table-info\">\r\n <app-table-info [isOpen]=\"isOpendTblInfo\" (close)=\"handleCloseTblInfo($event)\" (open)=\"handleOpenTblInfo($event)\"></app-table-info>\r\n </div>\r\n <app-search-box class=\"search-box\"></app-search-box>\r\n <!-- <div class=\"expand\">\r\n <app-button btnClass=\"btn-info\" icon=\"arrows-alt\" (click)=\"expand()\"></app-button>\r\n </div> -->\r\n <!-- <app-side-nav class=\"side-nav\" [isOpen]=\"isOpenSideNav\" (close)=\"handleCloseSideNav($event)\"></app-side-nav> -->\r\n <!-- <app-legend></app-legend> -->\r\n <!-- <app-layer-list></app-layer-list> -->\r\n <app-info-map></app-info-map>\r\n <app-popup (close)=\"handleClosePopup($event)\"></app-popup>\r\n <app-vung-phu-bts></app-vung-phu-bts>\r\n <app-measure></app-measure>\r\n <!-- <button type=\"button\" class=\"\" onclick=\"zoomFunction();\">Zoom to Original Extent</button> -->\r\n \r\n</div>\r\n\r\n\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { MapService } from './shared/services/map.service';\r\nimport { PopupService } from './shared/services/popup.service';\r\n\r\n@Component({\r\n selector: 'app-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.scss']\r\n})\r\nexport class MapComponent implements OnInit {\r\n @ViewChild('mapElement', { static: true }) mapEl: ElementRef<HTMLDivElement>;\r\n isOpenSideNav = false;\r\n isOpendTblInfo = false;\r\n isOpenPopup = false;\r\n constructor(\r\n private service: MapService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.service.loadMap({\r\n element: this.mapEl.nativeElement\r\n });\r\n this.viewOnClick(); \r\n\r\n // this.popupService.open$.subscribe(open => this.isOpenPopup = open);\r\n\r\n }\r\n\r\n expand() {\r\n this.service.relativeTo();\r\n this.isOpenSideNav = !this.isOpenSideNav;\r\n }\r\n\r\n handleCloseSideNav(val) {\r\n this.isOpenSideNav = val;\r\n }\r\n\r\n handleCloseTblInfo(val) {\r\n this.isOpendTblInfo = val;\r\n }\r\n\r\n handleOpenTblInfo(val) {\r\n this.isOpendTblInfo = val;\r\n }\r\n\r\n handleClosePopup(val) {\r\n this.isOpenPopup = val;\r\n }\r\n\r\n viewOnClick() {\r\n this.service.loaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.service.view.popup.watch('selectedFeature', graphic => {\r\n if (graphic) {\r\n }\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MapComponent } from './map.component';\r\nimport { TableInfoComponent } from './table-info/table-info.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { SearchBoxComponent } from './search-box/search-box.component';\r\nimport { SeachAdvComponent } from './seach-adv/seach-adv.component';\r\nimport { PopupComponent } from './popup/popup.component';\r\nimport { ContentPopupComponent } from './content-popup/content-popup.component';\r\nimport { ComponentsModule } from '../manager/shared/components/components.module';\r\nimport { MeasureComponent } from './measure/measure.component';\r\nimport { MeasureAreaComponent } from './measure-area/measure-area.component';\r\nimport { LegendComponent } from './legend/legend.component';\r\nimport { LayerListComponent } from './layer-list/layer-list.component';\r\nimport { VungPhuBtsComponent } from './vung-phu-bts/vung-phu-bts.component';\r\nimport { ModalComponent } from './vung-phu-bts/modal/modal.component';\r\nimport { InfoMapComponent } from './info-map/info-map.component';\r\nimport { MeasureModule } from './measure/measure.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MapComponent,\r\n TableInfoComponent,\r\n SearchBoxComponent,\r\n SeachAdvComponent,\r\n PopupComponent,\r\n ContentPopupComponent,\r\n MeasureAreaComponent,\r\n LegendComponent,\r\n LayerListComponent,\r\n VungPhuBtsComponent,\r\n ModalComponent,\r\n InfoMapComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ComponentsModule,\r\n MeasureModule\r\n ],\r\n entryComponents: [ModalComponent]\r\n})\r\nexport class MapModule { }\r\n","<div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive esri-icon-measure-line\"\r\n title=\"Distance Measurement Tool\"\r\n [class.active]=\"isActiveDistance\"\r\n (click)=\"distanceMeasurement($event)\"\r\n ></button>\r\n <button\r\n id=\"area\"\r\n class=\"esri-widget--button esri-interactive esri-icon-measure-area\"\r\n title=\"Area Measurement Tool\"\r\n [class.active]=\"isActiveArea\"\r\n (click)=\"areaMeasurement($event)\"\r\n ></button>\r\n <button\r\n id=\"clear\"\r\n class=\"esri-widget--button esri-interactive esri-icon-trash\"\r\n title=\"Clear Measurements\"\r\n (click)=\"clearMeasurements()\"\r\n ></button>\r\n </div>","import { Component, OnInit, ViewChild, AfterViewInit, ElementRef, TemplateRef } from '@angular/core';\r\nimport { MapService } from '../shared/services/map.service';\r\nimport Measurement from 'esri/widgets/Measurement';\r\n\r\n@Component({\r\n selector: 'app-measure',\r\n templateUrl: './measure.component.html',\r\n styleUrls: ['./measure.component.scss']\r\n})\r\nexport class MeasureComponent implements OnInit, AfterViewInit {\r\n @ViewChild('toolbarDiv', {static: true}) toolbarDiv: ElementRef;\r\n\r\n view: __esri.View;\r\n isActiveDistance = false;\r\n isActiveArea = false;\r\n measurement: __esri.Measurement;\r\n clickHandle: IHandle;\r\n\r\n constructor(private service: MapService) {\r\n this.measurement = new Measurement({\r\n areaUnit: 'square-kilometers',\r\n linearUnit: 'kilometers'\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service.loaded$.subscribe(loaded => {\r\n console.log(loaded);\r\n \r\n if (loaded) {\r\n this.service.view.ui.add(this.toolbarDiv.nativeElement, 'top-right');\r\n this.measurement.view = this.service.view;\r\n this.service.view.ui.add(this.measurement, 'bottom-right');\r\n this.view = this.service.view;\r\n }\r\n })\r\n }\r\n\r\n ngAfterViewInit() {\r\n \r\n }\r\n\r\n distanceMeasurement(event) {\r\n if(this.clickHandle) {\r\n this.clickHandle.remove();\r\n }\r\n this.clickHandle = this.service.view.on('click', (e) => e.stopPropagation());\r\n this.measurement.activeTool = \"distance\";\r\n if(this.isActiveDistance) {\r\n this.isActiveDistance = false;\r\n this.clickHandle.remove();\r\n this.measurement.clear();\r\n } else {\r\n this.isActiveDistance = true;\r\n }\r\n }\r\n\r\n areaMeasurement(event) {\r\n if(this.clickHandle) {\r\n this.clickHandle.remove();\r\n }\r\n this.clickHandle = this.service.view.on('click', (e) => e.stopPropagation());\r\n event.stopPropagation();\r\n this.measurement.activeTool = \"area\";\r\n if(this.isActiveArea) {\r\n this.isActiveArea = !this.isActiveArea;\r\n this.clickHandle.remove();\r\n }\r\n }\r\n\r\n clearMeasurements() {\r\n this.measurement.clear();\r\n this.isActiveArea = false;\r\n this.isActiveDistance = false;\r\n this.clickHandle.remove();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MeasureComponent } from './measure.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [MeasureComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [MeasureComponent]\r\n})\r\nexport class MeasureModule { }\r\n","<div class=\"popup\" *ngIf=\"isOpen\">\r\n <div class=\"popup-image\">\r\n <img src=\"/assets/images/popup.jpg\" alt=\"\" />\r\n </div>\r\n <div class=\"popup-content\">\r\n\r\n <a href=\"javascript:void(0)\" class=\"closebtn\" (click)=\"service.close()\">×</a>\r\n <div class=\"description h-100\">\r\n <div class=\"info-container h-100\">\r\n\r\n <ul class=\"list-group list-group-flush text-dark shadow-sm\">\r\n <ul class=\"list-group\">\r\n <li class=\"list-group-item\" *ngFor=\"let feature of features; let i = index\"\r\n (click)=\"showContent(feature, i)\" [class.active]=\"indexSelected===i\">\r\n <a class=\"btn-floating btn-fb btn-sm pr-4\">\r\n <img width=\"18px\" height=\"18px\" [src]=\"getImage(feature)\" />\r\n </a>\r\n <span [class.active]=\"indexSelected===i\">{{ getTitle(feature) }}</span>\r\n </li>\r\n </ul>\r\n </ul>\r\n\r\n\r\n\r\n <perfect-scrollbar [config]=\"{suppressScrollX: true}\"\r\n class=\"shadow mb-5 bg-white rounded text-dark mt-2 content\"\r\n [ngStyle]=\"{'height': openContent ? '-webkit-fill-available' : 0}\">\r\n <div class=\"row m-0\" *ngFor=\"let field of fieldsShow; let odd=odd; let even=even;\" [class.odd]=\"odd\">\r\n <label class=\"col-5 font-weight-lighter\" for=\"\">{{ field?.name }}</label>\r\n <div class=\"col-7 text-dark prop\">\r\n {{ field.type === 'date' ? (content[field?.prop] | date: 'dd/MM/yyyy') : content[field?.prop] }}\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- <div class=\"attach-title\"> <i class=\"fas fa-paperclip\"></i><span> Tệp đính kèm</span></div>\r\n\r\n <div class=\"esri-attachments esri-widget\">\r\n <div class=\"esri-attachments__container esri-attachments__container--list\">\r\n <ul class=\"esri-attachments__items\" *ngFor=\"let attachment of attachments\"\r\n [ngSwitch]=\"attachment.contentType\">\r\n\r\n <li class=\"esri-attachments__item\">\r\n <a href={{attachment.url}} class=\"esri-attachments__item-button\" target=\"_blank\"\r\n title=\"Attachment details\" aria-label=\"Attachment details\">\r\n <div class=\"esri-attachments__item-mask\">\r\n\r\n <img *ngSwitchCase=\"'image/jpeg'\" alt=\"\" src={{attachment.url}}\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n <img *ngSwitchCase=\"'image/png'\" alt=\"\" src={{attachment.url}}\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n\r\n <img *ngSwitchCase=\"'application/pdf'\" alt=\"\" src=\"./assets/images/attachments/file-pdf-solid.svg\"\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n\r\n <img *ngSwitchCase=\"'application/msword'\" alt=\"\"\r\n src=\"./assets/images/attachments/file-word-solid.svg\"\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n <img *ngSwitchCase=\"'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\"\r\n alt=\"\" src=\"./assets/images/attachments/file-word-solid.svg\"\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n\r\n\r\n <img *ngSwitchCase=\"'application/vnd.ms-excel'\" alt=\"\"\r\n src=\"./assets/images/attachments/file-excel-solid.svg\"\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n <img *ngSwitchCase=\"'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\" alt=\"\"\r\n src=\"./assets/images/attachments/file-excel-solid.svg\"\r\n class=\"esri-attachments__image--resizable esri-attachments__image\">\r\n\r\n\r\n </div>\r\n <label class=\"esri-attachments__label\"><span\r\n class=\"esri-attachments__filename\">{{attachment.name}}</span><span aria-hidden=\"true\"\r\n class=\"esri-attachments__item-chevron-icon esri-icon-right\"></span></label>\r\n </a>\r\n </li>\r\n\r\n </ul><button class=\"esri-button esri-button--tertiary esri-attachments__add-attachment-button\"><span\r\n aria-hidden=\"true\" class=\"esri-attachments__item-add-icon esri-icon-plus\"></span>Add</button>\r\n </div>\r\n </div> -->\r\n\r\n </perfect-scrollbar>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\r\nimport { PopupService } from '../shared/services/popup.service';\r\nimport { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\nimport { TramBtss } from 'src/app/shared/constants/tram-bts.constant';\r\nimport { DiemDichVus } from 'src/app/shared/constants/diem-dich-vu.constant';\r\nimport { TuyenCapNgams } from 'src/app/shared/constants/tuyen-cap-ngam.constant';\r\nimport { TuyenCapNois } from 'src/app/shared/constants/tuyen-cap-noi.constant';\r\nimport { CONSTNAME } from '../shared/constants/map.constant';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\nimport { TuyenCapNoiModel } from 'src/app/shared/models/tuyen-cap-noi.model';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { BtsAttachmentService } from 'src/app/manager/shared/services/bts-attachment.service';\r\nimport { EDoanhNghieps as DoanhNghieps, ELoaiDichVu } from 'src/app/shared/models/data.model';\r\nimport { SearchService } from '../shared/services/search.service';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\n\r\nconst url = '/assets/images';\r\n\r\n@Component({\r\n selector: 'app-popup',\r\n templateUrl: './popup.component.html',\r\n styleUrls: ['./popup.component.scss']\r\n})\r\nexport class PopupComponent implements OnInit {\r\n @Output() close = new EventEmitter<boolean>();\r\n isOpen = false;\r\n features: __esri.FeatureSet[];\r\n // attachments:AttachmentResult[];\r\n attachments: __esri.AttachmentInfo[];\r\n\r\n fieldsShow: TableColumnMode[];\r\n openContent = false;\r\n // tramBtsCols: TableColumnMode[] = TramBtss;\r\n // diemDichVuCols: TableColumnMode[] = DiemDichVus;\r\n // tuyenCapNgamCols: TableColumnMode[] = TuyenCapNgams;\r\n content: TuyenCapNgamModel | TuyenCapNoiModel | TramBTSModel | DiemDichVuModel;\r\n indexSelected: number | undefined = undefined;\r\n\r\n constructor(\r\n public service: PopupService,\r\n public attachmentService: BtsAttachmentService,\r\n public searchService: SearchService,\r\n private hanhChinhService: HanhChinhService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.service.attributes.subscribe(attr => {\r\n this.features = attr;\r\n if (this.features.length === 1) {\r\n this.showContent(this.features[0]);\r\n this.openContent = true;\r\n this.indexSelected = 0;\r\n }\r\n })\r\n\r\n // mo popup\r\n this.service.open$.subscribe(open => {\r\n this.isOpen = open;\r\n })\r\n // neu table ket qua tim kiem hien len thi dong popup\r\n this.searchService.resultSearch$.subscribe((open) => {\r\n this.isOpen = false;\r\n })\r\n\r\n\r\n }\r\n\r\n getImage(featureSet: __esri.FeatureSet) {\r\n const features = featureSet.features[0];\r\n const doanhNghiep = features.attributes.TenDoanhNghiep;\r\n const loaiDichVu = features.attributes.LoaiDichVu;\r\n const idLayer = (featureSet.features[0] as __esri.Graphic).layer.id;\r\n let urlImg = '';\r\n if (idLayer === CONSTNAME.TRAMBTS.id) {\r\n switch (doanhNghiep) {\r\n case DoanhNghieps.VNPT:\r\n urlImg = `${url}/bts/vina.png`;\r\n break;\r\n case DoanhNghieps.Vietnamobile:\r\n urlImg = `${url}/bts/vietnam.png`;\r\n break;\r\n case DoanhNghieps.GTel:\r\n urlImg = `${url}/bts/gtel.png`;\r\n break;\r\n case DoanhNghieps.Mobifone:\r\n urlImg = `${url}/bts/mobifone.png`;\r\n break;\r\n case DoanhNghieps.Viettel:\r\n urlImg = `${url}/bts/viettel.png`\r\n break;\r\n }\r\n } else if (idLayer === CONSTNAME.DIEMDICHVU.id) {\r\n switch (loaiDichVu) {\r\n case ELoaiDichVu.PhucVuBuuChinh:\r\n urlImg = `${url}/store/type/phucvubuuchinh.png`;\r\n break;\r\n case ELoaiDichVu.DichVuVienThong:\r\n urlImg = `${url}/store/type/dichvuvienthong.png`;\r\n break;\r\n case ELoaiDichVu.DaiLyInternet:\r\n urlImg = `${url}/store/type/dailyinternet.png`;\r\n break;\r\n default:\r\n urlImg = `${url}/store/type/chuaxacdinh.png`;\r\n\r\n } \r\n } else if (idLayer === CONSTNAME.TUYENCAPNGAM.id) {\r\n urlImg = `${url}/tuyencap.png`;\r\n } else if (idLayer === CONSTNAME.TUYENCAPNOI.id) {\r\n urlImg = `${url}/tuyencapnoi.png`;\r\n }\r\n return urlImg;\r\n }\r\n\r\n getTitle(featureSet: __esri.FeatureSet) {\r\n const features = featureSet.features[0];\r\n const attributes = features.attributes;\r\n // attachments=\r\n const idLayer = (featureSet.features[0] as __esri.Graphic).layer.id;\r\n let title = '';\r\n if (idLayer === CONSTNAME.TRAMBTS.id) {\r\n title = `Trạm BTS ${attributes.MaTram}`;\r\n } else if (idLayer === CONSTNAME.DIEMDICHVU.id) {\r\n title = `Điểm dịch vụ ${attributes.TenDiem}`;\r\n } else if (idLayer === CONSTNAME.TUYENCAPNGAM.id) {\r\n title = `Tuyến cáp ngầm ${attributes.TenTuyen}`;\r\n } else if (idLayer === CONSTNAME.TUYENCAPNOI.id) {\r\n title = `Tuyến cấp nổi ${attributes.TenTuyen}`;\r\n }\r\n return title;\r\n }\r\n\r\n\r\n\r\n showContent(featureSet: __esri.FeatureSet, index?: number) {\r\n const features = featureSet.features[0] as __esri.Graphic;\r\n const attributes = { ...features.attributes };\r\n const idLayer = features.layer.id;\r\n const fieldsLayer: __esri.Field[] = (features.layer as __esri.FeatureLayer).fields;\r\n // lấy field hiển thị theo layer\r\n if (idLayer === CONSTNAME.TRAMBTS.id) {\r\n this.fieldsShow = TramBtss;\r\n } else if (idLayer === CONSTNAME.DIEMDICHVU.id) {\r\n this.fieldsShow = DiemDichVus\r\n } else if (idLayer === CONSTNAME.TUYENCAPNGAM.id) {\r\n this.fieldsShow = TuyenCapNgams;\r\n } else if (idLayer === CONSTNAME.TUYENCAPNOI.id) {\r\n this.fieldsShow = TuyenCapNois;\r\n }\r\n fieldsLayer.forEach(field => {\r\n if (field.domain) {\r\n const codedValues = (field.domain as __esri.CodedValueDomain).codedValues;\r\n if (attributes[field.name]) {\r\n const codedValue = codedValues.find(f => f.code === attributes[field.name]);\r\n if (codedValue) {\r\n attributes[field.name] = codedValue.name;\r\n }\r\n }\r\n }\r\n if(field.name==='HuyenTXTP') {\r\n this.hanhChinhService.districtLoaded$.subscribe(huyenTXTPs => {\r\n if(huyenTXTPs.length) {\r\n const huyenTXTP = huyenTXTPs.find(m => m.code === attributes[field.name]);\r\n if(huyenTXTP) {\r\n attributes[field.name] = huyenTXTP.name;\r\n }\r\n }\r\n })\r\n }\r\n if(field.name==='XaPhuongTT') {\r\n this.hanhChinhService.wardLoaded$.subscribe(xaPhuongTTs => {\r\n if(xaPhuongTTs.length) {\r\n const xaPhuongTT = xaPhuongTTs.find(m => m.code === attributes[field.name]);\r\n if(xaPhuongTT) {\r\n attributes[field.name] = xaPhuongTT.name;\r\n }\r\n }\r\n })\r\n }\r\n });\r\n\r\n const myFeatureLayer = features.layer as __esri.FeatureLayer;\r\n\r\n\r\n\r\n if (myFeatureLayer.capabilities.data.supportsAttachment) {\r\n this.attachmentService.queryAttachments({ objectIds: [attributes.OBJECTID] })\r\n .then(attachRes => {\r\n this.attachments = attachRes[0].attachments;\r\n })\r\n }\r\n\r\n\r\n this.content = attributes;\r\n this.openContent = true;\r\n this.indexSelected = index;\r\n }\r\n\r\n}","<div class=\"position-relative\">\r\n <app-loading [loading]=\"loading\"></app-loading>\r\n\r\n <div class=\"searchbox\" [class.suggest]=\"+spatialSelected\">\r\n <a class=\"searchbox-menu btn\">\r\n <app-icon name=\"bars\"></app-icon>\r\n </a>\r\n \r\n <div class=\"searchbox-input-container\">\r\n <select [(ngModel)]=\"spatialSelected\" (change)=\"selectionChangeQueryType($event)\" class=\"custom-select my-1\">\r\n <option [value]=\"0\">Truy vấn...</option>\r\n <option [value]=\"SearchType.Spatial\">Không gian</option>\r\n <option [value]=\"SearchType.NonSpatial\">Thuộc tính</option>\r\n </select>\r\n\r\n <!-- <button class=\"btn\">\r\n <app-icon name=\"angle-down\" (click)=\"handleCloseSearchAdv()\"></app-icon>\r\n </button> -->\r\n\r\n <button class=\"btn\" (click)=\"handleSearch()\">\r\n <app-icon name=\"search\"></app-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"search-adv\" *ngIf=\"+spatialSelected\">\r\n <div class=\"form-group row\">\r\n <label for=\"staticEmail\" class=\"col-sm-3 col-form-label-sm font-weight-lighter px-0 text-right\">Lớp dữ\r\n liệu</label>\r\n\r\n <div class=\"col-sm-9\">\r\n <select class=\"form-control form-control-sm\" (change)=\"selectionChangeLayer($event)\"\r\n [(ngModel)]=\"_layerSelected\">\r\n <option value=\"\">Chọn lớp dữ liệu</option>\r\n <option *ngFor=\"let layer of layers\" [value]=\"layer.id\">{{ layer.title }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"_layerSelected && +spatialSelected===SearchType.NonSpatial\">\r\n <div class=\"form-group row\" *ngFor=\"let item of searchFields\">\r\n <ng-container>\r\n <label [for]=\"item.prop\" class=\"col-sm-3 col-form-label-sm font-weight-lighter px-0 text-right\">{{\r\n item.name }}</label>\r\n\r\n <div class=\"col-sm-9\">\r\n <input [type]=\"item.type\" [attr.name]=\"item.prop\" [(ngModel)]=\"dataSearch[item.prop]\"\r\n class=\"form-control form-control-sm\" [placeholder]=\"item.name\"\r\n *ngIf=\"item.type === 'text' || item.type === 'number'\" />\r\n\r\n <select class=\"form-control form-control-sm\" [(ngModel)]=\"dataSearch[item.prop]\"\r\n *ngIf=\"item.type === 'select'\">\r\n <option [value]=\"undefined\">Chọn...</option>\r\n <option *ngFor=\"let option of item.options\" [value]=\"option.code\"\r\n [selected]=\"dataSearch[item.prop] === option.code\">{{ option.name }}</option>\r\n </select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { CONSTNAME } from '../shared/constants/map.constant';\r\nimport { FormFields } from 'src/app/manager/shared/components/form/form.component';\r\nimport { IDataService } from 'src/app/manager/shared/services/IDataService';\r\nimport { SearchService } from '../shared/services/search.service';\r\nimport { layerId } from '../shared/models/layer.model';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { PopupService } from '../shared/services/popup.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\nenum SearchType {\r\n NonSpatial = 1,\r\n Spatial = 2\r\n}\r\n\r\ninterface SearchFields extends FormFields {\r\n where?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-search-box',\r\n templateUrl: './search-box.component.html',\r\n styleUrls: ['./search-box.component.scss']\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n SearchType = SearchType;\r\n loading = false;\r\n layers = [CONSTNAME.TRAMBTS, CONSTNAME.TUYENCAPNGAM, CONSTNAME.TUYENCAPNOI, CONSTNAME.DIEMDICHVU];\r\n tramBtsFields: SearchFields[] = [\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text' },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', where: 'LIKE' },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true },\r\n // { prop: 'XaPhuongTT ', name: 'Phường/Xã', type: 'select', isPhuongXa: true},\r\n // { prop: 'TinhTrang', name: 'Tình trạng', type: 'select'},\r\n ];\r\n tuyenCapFields: SearchFields[] = [\r\n { prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text' },\r\n { prop: 'TenTuyen', name: 'Tên tuyến cáp', type: 'text', where: \"LIKE\" },\r\n { prop: 'LoaiCap', name: 'Loại cáp', type: 'select' },\r\n ];\r\n diemDichVuFields: SearchFields[] = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text' },\r\n { prop: 'TenDiem', name: 'Tên điểm DV', type: 'text', where: 'LIKE' },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true },\r\n // { prop: 'XaPhuongTT ', name: 'Phường/Xã', type: 'select', isPhuongXa: true}\r\n ];\r\n _layerSelected: layerId | '' = '';\r\n spatialSelected: number = 0;\r\n service: IDataService;\r\n searchFields: SearchFields[];\r\n wheres: string[] = [];\r\n isQueryAttributes = false;\r\n dataSearch = {};\r\n maQuanHuyen: number;\r\n\r\n set layerSelected(layer: layerId) {\r\n switch (layer) {\r\n case CONSTNAME.TRAMBTS.id:\r\n this.searchFields = this.tramBtsFields\r\n break;\r\n case CONSTNAME.TUYENCAPNGAM.id:\r\n case CONSTNAME.TUYENCAPNOI.id:\r\n this.searchFields = this.tuyenCapFields;\r\n break;\r\n case CONSTNAME.DIEMDICHVU.id:\r\n this.searchFields = this.diemDichVuFields;\r\n break;\r\n }\r\n this._layerSelected = layer;\r\n }\r\n\r\n constructor(\r\n private searchService: SearchService,\r\n public hanhChinhService: HanhChinhService,\r\n public popupService: PopupService,\r\n private loginService: LoginService\r\n ) {\r\n if (loginService.isQuanHuyen) {\r\n this.maQuanHuyen = +loginService.maDonVi;\r\n this.tramBtsFields = [\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text' },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', where: 'LIKE' },\r\n { prop: 'XaPhuongTT ', name: 'Xã/phường/thị trấn', type: 'select', isPhuongXa: true },\r\n ];\r\n this.diemDichVuFields = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text' },\r\n { prop: 'TenDiem', name: 'Tên điểm DV', type: 'text', where: 'LIKE' },\r\n { prop: 'XaPhuongTT ', name: 'Xã/phường/thị trấn', type: 'select', isPhuongXa: true },\r\n ];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.searchService.resultSearch$.subscribe(res => {\r\n // this.loading = false;\r\n // })\r\n this.popupService.open$.subscribe(isOpen => {\r\n if (isOpen) {\r\n this.spatialSelected = 0;\r\n }\r\n })\r\n }\r\n\r\n getQuerySearch() {\r\n this.wheres = [];\r\n this.searchFields.forEach(m => {\r\n if (this.dataSearch && this.dataSearch[m.prop] && this.dataSearch[m.prop] !== 'undefined') {\r\n let val = '';\r\n let where = '';\r\n if ((m.type === 'select' && (m.isPhuongXa || m.isQuanHuyenTP)) || m.type === 'number') {\r\n where = `${m.prop} = ${this.dataSearch[m.prop]}`;\r\n } else if (m.where) {\r\n where = `${m.prop} ${m.where} '%${this.dataSearch[m.prop]}%'`;\r\n } else {\r\n where = `${m.prop} = '${this.dataSearch[m.prop]}'`;\r\n }\r\n this.wheres.push(where);\r\n }\r\n })\r\n }\r\n\r\n\r\n handleSearch() {\r\n try {\r\n if (this._layerSelected && +this.spatialSelected === SearchType.NonSpatial) {\r\n this.getQuerySearch();\r\n if (this.wheres.length) {\r\n this.searchService.searchNonSpatial(this.wheres);\r\n }\r\n }\r\n } catch (e) {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n handleCloseSearchAdv() {\r\n this.spatialSelected = 0;\r\n }\r\n\r\n selectionChangeQueryType(event) {\r\n this.dataSearch = {};\r\n this._layerSelected = '';\r\n }\r\n\r\n selectionChangeLayer(selected) {\r\n this.layerSelected = selected.target.value;\r\n this.searchService.layerId = selected.target.value;\r\n this.isQueryAttributes = false;\r\n this.dataSearch = {};\r\n if (+this.spatialSelected === SearchType.Spatial) {\r\n this.searchService.draw();\r\n } else {\r\n this.isQueryAttributes = true;\r\n this.searchFields.map(async m => {\r\n if (m.isQuanHuyenTP) {\r\n m.options = await this.hanhChinhService.getAllDistrict().then(res => res);\r\n } else if (m.isPhuongXa) {\r\n if (this.loginService.isQuanHuyen && this.maQuanHuyen) {\r\n m.options = await this.hanhChinhService.getAllWard(this.maQuanHuyen).then(res => res);\r\n } else {\r\n m.options = await this.hanhChinhService.getAllWard().then(res => res);\r\n }\r\n } else if (m.prop === 'TinhTrang') {\r\n m.options = [\r\n { code: 1, name: 'Doanh nghiệp xin cấp phép' },\r\n { code: 2, name: 'Sở cấp phép' },\r\n { code: 3, name: 'Hoàn công' },\r\n { code: 4, name: 'Không chấp thuận' },\r\n ]\r\n } else if (m.prop === 'LoaiCap') {\r\n m.options = [\r\n { code: 1, name: 'Cáp quang' },\r\n { code: 2, name: 'Cáp đồng' },\r\n { code: 3, name: 'Cáp quang, cáp đồng' },\r\n ]\r\n }\r\n return m;\r\n })\r\n }\r\n }\r\n\r\n}\r\n","import { environment } from 'src/environments/environment';\r\n\r\n\r\nexport const DuLieuNenLayer = `${environment.arcgisRestUrl}/KonTum_DuLieuNen/MapServer`;\r\nexport const TramBTSLayer = `${environment.arcgisRestUrl}/KonTum_ChuyenDe/FeatureServer/1`;\r\nexport const TuyenCapNgamLayer = `${environment.arcgisRestUrl}/KonTum_ChuyenDe/FeatureServer/2`;\r\nexport const TuyenCapNoiLayer = `${environment.arcgisRestUrl}/KonTum_ChuyenDe/FeatureServer/3`;\r\nexport const DiemDichVuLayer = `${environment.arcgisRestUrl}/KonTum_ChuyenDe/FeatureServer/0`;\r\nexport const HanhChinhXaMapServer = `${environment.arcgisRestUrl}/KonTum_DuLieuNen/MapServer/0`;\r\nexport const HanhChinhHuyenMapServer = `${environment.arcgisRestUrl}/KonTum_DuLieuNen/MapServer/1`;","import { ETinhTrang } from 'src/app/shared/models/data.model';\r\n\r\nexport const CENTER = {\r\n TINH: [107.894243, 14.595270], \r\n THANHPHO: [107.999967, 14.346050],\r\n DAKGLEI: [107.735266, 15.088867],\r\n NGOCHOI: [107.647486, 14.705637],\r\n DAKTO: [107.838489, 14.661322],\r\n KONPLONG: [108.310059, 14.783328],\r\n KONRAY: [108.178725, 14.534882],\r\n DAKHA: [107.919650, 14.515933],\r\n SATHAY: [107.645510, 14.366081],\r\n TUMORONG: [107.963087, 14.873720],\r\n IAHDRAI: [],\r\n}\r\n\r\nexport const SCALE = 600000;\r\nexport const MINSCALETRAMBTS = 2000000;\r\nexport const MINSCALEDIEMDICHVU = 40000;\r\nexport const MINSCALETUYENCAP = 20000;\r\n\r\nexport const CONSTNAME = {\r\n INDEX_HANHCHINHHUYEN: 1,\r\n INDEX_HANHCHINHXA: 0,\r\n INDEX_TIMDUONG: 1,\r\n BASEMAP: 'dulieunen',\r\n TRAMBTS: { id: 'TramBTS', title: 'Trạm BTS' },\r\n DIEMDICHVU: { id: \"DiemDichVu\", title: 'Điểm dịch vụ' },\r\n TUYENCAPNGAM: { id: 'TuyenCapNgam', title: 'Tuyến cáp ngầm' },\r\n TUYENCAPNOI: { id: 'TuyenCapNoi', title: 'Tuyến cáp nổi' },\r\n CHUYEN_DE_HT: 'chuyendehientrang',\r\n OSM: \"osm\"\r\n};","import { Injectable } from '@angular/core';\r\nimport { CONSTNAME, MINSCALETRAMBTS } from '../constants/map.constant';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport { TramBTSLayer, DiemDichVuLayer, TuyenCapNgamLayer, TuyenCapNoiLayer } from '../constants/layer.constant';\r\nimport { DTinhTrang } from 'src/app/shared/constants/data.constant';\r\nimport GroupLayer from 'esri/layers/GroupLayer';\r\nimport FeatureLayer from 'esri/layers/FeatureLayer';\r\nimport UniqueValueRenderer from 'esri/renderers/UniqueValueRenderer';\r\nimport PictureMarkerSymbol from 'esri/symbols/PictureMarkerSymbol';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LayerService {\r\n private definitionExpression = '';\r\n private outFields = ['*'];\r\n public layerTramBTS: __esri.FeatureLayer;\r\n constructor(\r\n public service: LoginService\r\n ) {\r\n if (service.isDoanhNghiep) {\r\n this.definitionExpression = `TenDoanhNghiep='${service.maDonVi}'`;\r\n } else if (service.isQuanHuyen) {\r\n this.definitionExpression = `HuyenTXTP=${service.maDonVi}`;\r\n }\r\n else {\r\n this.definitionExpression = '1=1';\r\n }\r\n }\r\n\r\n get layer() {\r\n return this.layerTramBTS;\r\n }\r\n\r\n addTramBTSFeatureLayer() { \r\n const gr = new GroupLayer({\r\n title: \"Trạm BTS\",\r\n id: \"nhomTramBTS\"\r\n });\r\n \r\n const dsDN = [{\r\n name: \"GTL\",\r\n title: \"GTel\",\r\n name_img: 'gtel'\r\n }, {\r\n name: \"MBF\",\r\n title: \"Mobifone\",\r\n name_img: 'mobifone'\r\n }, {\r\n name: \"VNPT\",\r\n title: \"VNPT\",\r\n name_img: \"vina\"\r\n }, {\r\n name: \"VNM\",\r\n title: \"Vietnamobile\",\r\n name_img: \"vietnam\"\r\n }, {\r\n name: \"VTL\",\r\n title: \"Viettel\",\r\n name_img: \"viettel\"\r\n }];\r\n const uniqueValueInfos = [];\r\n const doanhNghiep = dsDN.find(m => m.name === this.service.maDonVi);\r\n\r\n for (let i = 1; i <= 4; i++) {\r\n if (!doanhNghiep) { // neu khong phai la doanh nghiep thi set unique tat ca de hien thi tren Legend\r\n for (const dn of dsDN) {\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = dn.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `${dn.title} - Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `${dn.title} - Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `${dn.title} - Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `${dn.title} - Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n } else { // nguoc lai la doanh nghiep thi chi hien thi legend cua doanh nghiep do\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = doanhNghiep.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n }\r\n var renderer = new UniqueValueRenderer({\r\n field: \"TenDoanhNghiep\",\r\n field2: \"TinhTrang\",\r\n fieldDelimiter: \", \",\r\n uniqueValueInfos: uniqueValueInfos,\r\n defaultSymbol: new PictureMarkerSymbol({\r\n url: \"/assets/images/bts/chuaxacdinh.png\",\r\n\r\n }),\r\n defaultLabel: \"Chưa xác định\"\r\n })\r\n const tramBtsFL = new FeatureLayer(this.tramBtsLayer);\r\n tramBtsFL.minScale = MINSCALETRAMBTS;\r\n tramBtsFL.renderer = renderer;\r\n tramBtsFL.listMode = 'hide';\r\n gr.add(tramBtsFL);\r\n this.layerTramBTS = tramBtsFL;\r\n\r\n const groupBtsTt = new GroupLayer({ id: 'tinh-trang', title: 'Tình trạng' })\r\n gr.add(groupBtsTt);\r\n\r\n const tramBTSDefinitionExpression = [];\r\n\r\n if (!this.service.isDoanhNghiep) { // neu khong phai la doanh nghiep thi group doanh nghiep\r\n const groupBtsDn = new GroupLayer({ id: 'doanh-nghiep', title: 'Doanh nghiệp' });\r\n gr.add(groupBtsDn);\r\n\r\n dsDN.forEach(f => {\r\n const btsDn = new GroupLayer({\r\n title: f.title,\r\n id: f.name\r\n });\r\n\r\n btsDn.watch(\"visible\", function (newVal, oldVal) {\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`TenDoanhNghiep not like '${f.name}'`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`TenDoanhNghiep not like '${f.name}'`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n tramBtsFL.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n tramBtsFL.definitionExpression = \"1=1\";\r\n }\r\n })\r\n groupBtsDn.add(btsDn)\r\n });\r\n\r\n groupBtsDn.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n } else { // nguoc lai la doanh nghiep thi set definition mac dinh la doanh nghiep de request\r\n tramBTSDefinitionExpression.push(`TenDoanhNghiep like '${this.service.maDonVi}'`)\r\n }\r\n // Group theo tinh trang\r\n DTinhTrang.forEach(f => {\r\n const btsTinhTrang = new GroupLayer({\r\n title: f.name,\r\n id: `tinh-trang-${f.code}`\r\n })\r\n btsTinhTrang.watch(\"visible\", function (newVal, oldVal) {\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`TinhTrang <> ${f.code}`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`TinhTrang <> ${f.code}`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n tramBtsFL.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n tramBtsFL.definitionExpression = \"1=1\";\r\n }\r\n })\r\n groupBtsTt.add(btsTinhTrang);\r\n })\r\n\r\n groupBtsTt.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n\r\n gr.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n\r\n return gr;\r\n }\r\n\r\n\r\n get tramBtsLayer(): __esri.FeatureLayerProperties {\r\n\r\n return { ...CONSTNAME.TRAMBTS, url: TramBTSLayer, definitionExpression: this.definitionExpression, outFields: this.outFields }\r\n }\r\n\r\n get diemDichVuLayer(): __esri.FeatureLayerProperties {\r\n return { ...CONSTNAME.DIEMDICHVU, url: DiemDichVuLayer, definitionExpression: this.definitionExpression, outFields: this.outFields }\r\n }\r\n\r\n get tuyenCapNgamLayer(): __esri.FeatureLayerProperties {\r\n return { ...CONSTNAME.TUYENCAPNGAM, url: TuyenCapNgamLayer, definitionExpression: this.definitionExpression, outFields: this.outFields }\r\n }\r\n\r\n get tuyenCapNoiLayer(): __esri.FeatureLayerProperties {\r\n return { ...CONSTNAME.TUYENCAPNOI, url: TuyenCapNoiLayer, definitionExpression: this.definitionExpression, outFields: this.outFields }\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { SCALE, CONSTNAME, CENTER, MINSCALEDIEMDICHVU, MINSCALETUYENCAP, MINSCALETRAMBTS } from \"../constants/map.constant\";\r\nimport { DuLieuNenLayer } from \"../constants/layer.constant\";\r\nimport Map from \"esri/Map\";\r\nimport MapView from \"esri/views/MapView\";\r\nimport FeatureLayer from \"esri/layers/FeatureLayer\";\r\nimport MapImageLayer from \"esri/layers/MapImageLayer\";\r\nimport WebTileLayer from \"esri/layers/WebTileLayer\";\r\nimport OpenStreetMapLayer from \"esri/layers/OpenStreetMapLayer\";\r\nimport Graphic from \"esri/Graphic\";\r\nimport PopupTemplate from \"esri/PopupTemplate\";\r\nimport ScaleBar from \"esri/widgets/ScaleBar\";\r\nimport Measurement from \"esri/widgets/Measurement\";\r\nimport { PopupService } from \"./popup.service\";\r\nimport Point from \"esri/geometry/Point\";\r\nimport ProjectParameters from \"esri/tasks/support/ProjectParameters\";\r\nimport GeometryService from \"esri/tasks/GeometryService\";\r\nimport Home from \"esri/widgets/Home\";\r\nimport Locate from \"esri/widgets/Locate\";\r\nimport { SimpleMarkerSymbol, PictureMarkerSymbol } from \"esri/symbols\";\r\nimport GroupLayer from 'esri/layers/GroupLayer';\r\nimport BasemapToggle from 'esri/widgets/BasemapToggle';\r\nimport { LayerService } from './layer.service';\r\nimport Layer from 'esri/layers/Layer';\r\nimport UniqueValueRenderer from 'esri/renderers/UniqueValueRenderer';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\nimport Print from 'esri/widgets/Print';\r\nimport Expand from 'esri/widgets/Expand';\r\nimport { DTinhTrang } from 'src/app/shared/constants/data.constant';\r\nimport { Roles, Huyen } from 'src/app/shared/models/login.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MapService {\r\n private loadedSource = new BehaviorSubject<boolean>(false);\r\n notify = new EventEmitter<{ message?: string; type?: string }>();\r\n get loaded$() {\r\n return this.loadedSource.asObservable();\r\n }\r\n view: __esri.MapView;\r\n private gmap: __esri.WebTileLayer;\r\n //basemap = [];\r\n\r\n // PUBLIC PROPERTIES\r\n public hightlightGraphicLayer: __esri.Graphic;\r\n featureLayer: __esri.FeatureLayer;\r\n module: any;\r\n geometryService: __esri.GeometryService;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private layerService: LayerService,\r\n private loginService: LoginService\r\n ) { }\r\n\r\n checkVaiTro(): number[] {\r\n if (this.loginService.maDonVi === Huyen.TPKONTUM) {\r\n return CENTER.THANHPHO;\r\n } else if (this.loginService.maDonVi === Huyen.DAKGLEI) {\r\n return CENTER.DAKGLEI;\r\n } else if (this.loginService.maDonVi === Huyen.DAKHA) {\r\n return CENTER.DAKHA;\r\n } else if (this.loginService.maDonVi === Huyen.DAKTO) {\r\n return CENTER.DAKTO;\r\n } else if (this.loginService.maDonVi === Huyen.KONPLONG) {\r\n return CENTER.KONPLONG;\r\n } else if (this.loginService.maDonVi === Huyen.KONRAY) {\r\n return CENTER.KONRAY;\r\n } else if (this.loginService.maDonVi === Huyen.SATHAY) {\r\n return CENTER.SATHAY;\r\n } else if (this.loginService.maDonVi === Huyen.TUMORONG) {\r\n return CENTER.TUMORONG;\r\n } else if (this.loginService.maDonVi === Huyen.NGOCHOI) {\r\n return CENTER.NGOCHOI;\r\n } else {\r\n return CENTER.TINH;\r\n }\r\n }\r\n\r\n async loadMap(params: {\r\n element: HTMLDivElement;\r\n mapProperties?: __esri.MapProperties;\r\n viewProperties?: __esri.MapViewProperties;\r\n }) {\r\n const { element, mapProperties, viewProperties } = params;\r\n const map = new Map({\r\n basemap: 'osm',\r\n ...mapProperties,\r\n });\r\n\r\n this.view = new MapView({\r\n map,\r\n container: element,\r\n ...viewProperties,\r\n center: this.checkVaiTro(),\r\n scale: SCALE,\r\n ui: {\r\n components: [],\r\n },\r\n });\r\n\r\n // const scaleBar = new ScaleBar({ view: this.view, unit: 'dual' });\r\n // this.view.ui.add(scaleBar, 'bottom-left');\r\n\r\n // Add a basemap toggle widget to toggle between basemaps\r\n var toggle = new BasemapToggle({\r\n view: this.view,\r\n nextBasemap: \"hybrid\"\r\n });\r\n // Add widget to the top right corner of the view\r\n this.view.ui.add(toggle, \"bottom-right\");\r\n\r\n const homeWidget = new Home({\r\n view: this.view,\r\n });\r\n this.view.ui.add(homeWidget, \"bottom-right\");\r\n\r\n var locateWidget = new Locate({\r\n view: this.view,\r\n graphic: new Graphic({\r\n symbol: new PictureMarkerSymbol({\r\n url: `/assets/images/location.png`,\r\n width: 20,\r\n height: 31\r\n })\r\n }),\r\n });\r\n\r\n this.view.ui.add(locateWidget, \"bottom-right\");\r\n\r\n this.view.ui.move(\"zoom\", \"bottom-right\");\r\n\r\n var print = new Print({\r\n view: this.view,\r\n // specify your own print service\r\n printServiceUrl:\r\n \"https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task\"\r\n });\r\n var bgExpand = new Expand({\r\n view: this.view,\r\n content: print\r\n });\r\n this.view.ui.add(bgExpand, \"bottom-right\");\r\n\r\n // Add widget to the top right corner of the view\r\n // this.view.ui.add(print, \"bottom-right\");\r\n\r\n this.addLayer();\r\n // this.switchBasemap();\r\n\r\n this.view.when(() => {\r\n // this.queryParamMap();\r\n this.addFeatureLayer();\r\n this.view.popup.watch(\"selectedFeature\", (graphic) => {\r\n if (graphic) {\r\n this.view.popup.visible = false;\r\n }\r\n });\r\n this.loadedSource.next(true);\r\n });\r\n }\r\n\r\n contentPopup() { }\r\n\r\n private async queryFeatureLayer(\r\n featureLayer: __esri.FeatureLayer,\r\n objectId: number\r\n ): Promise<any> {\r\n return featureLayer.queryFeatures({\r\n objectIds: [objectId],\r\n outFields: [\"*\"],\r\n returnGeometry: false,\r\n });\r\n }\r\n\r\n private addFeatureLayer() {\r\n this.addTramBTSFeatureLayer();\r\n this.addDiemDichVuFeatureLayer();\r\n this.addTuyenCapNgamFeatureLayer();\r\n this.addTuyenCapNoiFeatureLayer();\r\n }\r\n\r\n /**\r\n * Thêm layer\r\n */\r\n private async addLayer() {\r\n this.addDuLieuNen();\r\n }\r\n\r\n addDuLieuNen() {\r\n const baseMap = new MapImageLayer({\r\n url: DuLieuNenLayer,\r\n visible: false,\r\n id: CONSTNAME.BASEMAP,\r\n title: \"Dữ liệu nền Kontum\",\r\n copyright: \"Bản đồ biên tập bởi GDT\",\r\n });\r\n //this.basemap.push(baseMap);\r\n this.view.map.add(baseMap);\r\n }\r\n\r\n public changeCursor(cursor: \"default\" | \"progress\" | \"pointer\" = \"default\") {\r\n this.view.container.style.cursor = cursor;\r\n }\r\n\r\n public expandMapFullScreen() { }\r\n\r\n\r\n addTramBTSFeatureLayer() { \r\n const gr = new GroupLayer({\r\n title: \"Trạm BTS\",\r\n id: \"nhomTramBTS\"\r\n });\r\n this.view.map.add(gr);\r\n const dsDN = [{\r\n name: \"GTL\",\r\n title: \"GTel\",\r\n name_img: 'gtel'\r\n }, {\r\n name: \"MBF\",\r\n title: \"Mobifone\",\r\n name_img: 'mobifone'\r\n }, {\r\n name: \"VNPT\",\r\n title: \"VNPT\",\r\n name_img: \"vina\"\r\n }, {\r\n name: \"VNM\",\r\n title: \"Vietnamobile\",\r\n name_img: \"vietnam\"\r\n }, {\r\n name: \"VTL\",\r\n title: \"Viettel\",\r\n name_img: \"viettel\"\r\n }];\r\n const uniqueValueInfos = [];\r\n const doanhNghiep = dsDN.find(m => m.name === this.loginService.maDonVi);\r\n\r\n for (let i = 1; i <= 4; i++) {\r\n if (!doanhNghiep) { // neu khong phai la doanh nghiep thi set unique tat ca de hien thi tren Legend\r\n for (const dn of dsDN) {\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = dn.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `${dn.title} - Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `${dn.title} - Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `${dn.title} - Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `${dn.title} - Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + dn.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n } else { // nguoc lai la doanh nghiep thi chi hien thi legend cua doanh nghiep do\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"24px\",\r\n height: \"24px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = doanhNghiep.name + ', ' + i;\r\n if (i == 1) {\r\n uniqueValueInfo.label = `Xin cấp phép`;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau.png\";\r\n }\r\n if (i == 2) {\r\n uniqueValueInfo.label = `Đã cấp phép`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_chapnhan.png\";\r\n }\r\n if (i == 3) {\r\n uniqueValueInfo.label = `Hoàn công`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \".png\";\r\n }\r\n if (i == 4) {\r\n uniqueValueInfo.label = `Không chấp nhận`;\r\n uniqueValueInfo.symbol.url = \"/assets/images/bts/\" + doanhNghiep.name_img + \"_yeucau_kochapnhan.png\";\r\n }\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n }\r\n var renderer = new UniqueValueRenderer({\r\n field: \"TenDoanhNghiep\",\r\n field2: \"TinhTrang\",\r\n fieldDelimiter: \", \",\r\n uniqueValueInfos: uniqueValueInfos,\r\n defaultSymbol: new PictureMarkerSymbol({\r\n url: \"/assets/images/bts/chuaxacdinh.png\",\r\n\r\n }),\r\n defaultLabel: \"Chưa xác định\"\r\n })\r\n const tramBtsFL = new FeatureLayer(this.layerService.tramBtsLayer);\r\n tramBtsFL.minScale = MINSCALETRAMBTS;\r\n tramBtsFL.renderer = renderer;\r\n tramBtsFL.listMode = 'hide';\r\n gr.add(tramBtsFL);\r\n\r\n const groupBtsTt = new GroupLayer({ id: 'tinh-trang', title: 'Tình trạng' });\r\n gr.add(groupBtsTt);\r\n const groupLayerDungChung = new GroupLayer({id: 'dung-chung', title: 'Khả năng dùng chung'})\r\n gr.add(groupLayerDungChung);\r\n groupLayerDungChung.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n for(let i=0; i<2; i++) {\r\n const btsKhaNang = new GroupLayer({\r\n title: `${i===0 ? 'Không' : 'Có'}`,\r\n id: `kha-nang-${i}`\r\n });\r\n btsKhaNang.watch('visible', function (newVal, oldVal) {\r\n console.log(newVal, oldVal);\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`CoKhaNangDungChung<>${i}`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`CoKhaNangDungChung<>${i}`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n tramBtsFL.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n tramBtsFL.definitionExpression = \"1=1\";\r\n }\r\n \r\n });\r\n groupLayerDungChung.add(btsKhaNang)\r\n }\r\n\r\n \r\n\r\n\r\n const tramBTSDefinitionExpression = [];\r\n\r\n if (!this.loginService.isDoanhNghiep) { // neu khong phai la doanh nghiep thi group doanh nghiep\r\n const groupBtsDn = new GroupLayer({ id: 'doanh-nghiep', title: 'Doanh nghiệp' });\r\n gr.add(groupBtsDn);\r\n\r\n dsDN.forEach(f => {\r\n const btsDn = new GroupLayer({\r\n title: f.title,\r\n id: f.name\r\n });\r\n\r\n btsDn.watch(\"visible\", function (newVal, oldVal) {\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`TenDoanhNghiep not like '${f.name}'`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`TenDoanhNghiep not like '${f.name}'`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n tramBtsFL.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n tramBtsFL.definitionExpression = \"1=1\";\r\n }\r\n })\r\n groupBtsDn.add(btsDn)\r\n });\r\n\r\n groupBtsDn.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n } else { // nguoc lai la doanh nghiep thi set definition mac dinh la doanh nghiep de request\r\n tramBTSDefinitionExpression.push(`TenDoanhNghiep like '${this.loginService.maDonVi}'`)\r\n }\r\n // Group theo tinh trang\r\n DTinhTrang.forEach(f => {\r\n const btsTinhTrang = new GroupLayer({\r\n title: f.name,\r\n id: `tinh-trang-${f.code}`\r\n })\r\n btsTinhTrang.watch(\"visible\", function (newVal, oldVal) {\r\n if (!newVal) {\r\n tramBTSDefinitionExpression.push(`TinhTrang <> ${f.code}`)\r\n } else {\r\n let index = tramBTSDefinitionExpression.indexOf(`TinhTrang <> ${f.code}`);\r\n if (index > -1) {\r\n tramBTSDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (tramBTSDefinitionExpression.length > 0) {\r\n tramBtsFL.definitionExpression = tramBTSDefinitionExpression.join(\" and \");\r\n } else {\r\n tramBtsFL.definitionExpression = \"1=1\";\r\n }\r\n })\r\n groupBtsTt.add(btsTinhTrang);\r\n })\r\n\r\n groupBtsTt.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n\r\n gr.watch(\"visible\", function (newVal, oldVal) {\r\n tramBtsFL.visible = newVal;\r\n })\r\n }\r\n\r\n addDiemDichVuFeatureLayer() {\r\n const loaiDV: {name: string, title: string, name_img: string}[] = [\r\n {name: '1', title: 'Điểm phục vụ bưu chính', name_img: 'phucvubuuchinh'},\r\n {name: '2', title: 'Điểm cung cấp dịch vụ viễn thông', name_img: 'dichvuvienthong'},\r\n {name: '3', title: 'Đại lý internet công cộng', name_img: 'dailyinternet'},\r\n ];\r\n const uniqueValueInfos = [];\r\n for(let i = 0; i < loaiDV.length; i++) {\r\n const uniqueValueInfo = {\r\n label: null,\r\n value: null,\r\n symbol: {\r\n url: null,\r\n type: \"picture-marker\",\r\n width: \"18px\",\r\n height: \"18px\"\r\n }\r\n } as any;\r\n uniqueValueInfo.value = +loaiDV[i].name ;\r\n uniqueValueInfo.label = loaiDV[i].title;\r\n uniqueValueInfo.create = true;\r\n uniqueValueInfo.symbol.url = \"/assets/images/store/type/\" + loaiDV[i].name_img + \".png\";\r\n\r\n uniqueValueInfos.push(uniqueValueInfo);\r\n }\r\n var renderer = new UniqueValueRenderer({\r\n field: \"LoaiDichVu\",\r\n fieldDelimiter: \", \",\r\n uniqueValueInfos,\r\n defaultSymbol: new PictureMarkerSymbol({\r\n url: \"/assets/images/store/type/chuaxacdinh.png\",\r\n width: \"18px\",\r\n height: \"18px\"\r\n }),\r\n defaultLabel: \"Chưa xác định\"\r\n })\r\n const diemDichVuLayer = new FeatureLayer(this.layerService.diemDichVuLayer);\r\n diemDichVuLayer.renderer = renderer;\r\n diemDichVuLayer.listMode = 'hide';\r\n diemDichVuLayer.minScale = MINSCALEDIEMDICHVU;\r\n this.view.map.add(diemDichVuLayer);\r\n const groupDdv = new GroupLayer({\r\n id: \"nhomDiemDichVu\",\r\n title: \"Điểm dịch vụ\"\r\n })\r\n const diemDichVuDefinitionExpression: string[] = [];\r\n loaiDV.forEach(f => {\r\n const ddv = new GroupLayer({\r\n title: f.title,\r\n id: `loai-dv-${f.name}`\r\n });\r\n \r\n ddv.watch(\"visible\", function (newVal, oldVal) {\r\n if (!newVal) {\r\n diemDichVuDefinitionExpression.push(`LoaiDichVu <> ${f.name}`)\r\n } else {\r\n let index = diemDichVuDefinitionExpression.indexOf(`LoaiDichVu <> ${f.name}`);\r\n if (index > -1) {\r\n diemDichVuDefinitionExpression.splice(index, 1);\r\n }\r\n };\r\n if (diemDichVuDefinitionExpression.length > 0) {\r\n diemDichVuLayer.definitionExpression = diemDichVuDefinitionExpression.join(\" and \");\r\n } else {\r\n diemDichVuLayer.definitionExpression = \"1=1\";\r\n }\r\n })\r\n groupDdv.add(ddv)\r\n });\r\n groupDdv.watch(\"visible\", function (newVal, oldVal) {\r\n diemDichVuLayer.visible = newVal;\r\n })\r\n\r\n this.view.map.add(groupDdv);\r\n }\r\n\r\n addTuyenCapNgamFeatureLayer() {\r\n const tuyenCapNgamLayer = new FeatureLayer(this.layerService.tuyenCapNgamLayer);\r\n tuyenCapNgamLayer.minScale = MINSCALETUYENCAP;\r\n this.view.map.add(tuyenCapNgamLayer);\r\n }\r\n addTuyenCapNoiFeatureLayer() {\r\n const tuyenCapNoiLayer = new FeatureLayer(this.layerService.tuyenCapNoiLayer);\r\n tuyenCapNoiLayer.minScale = MINSCALETUYENCAP;\r\n this.view.map.add(tuyenCapNoiLayer);\r\n }\r\n\r\n\r\n public relativeTo() {\r\n this.router.navigate([], {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { screen: \"full\" },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n async hightlight(geometry: __esri.Geometry) {\r\n if (this.hightlightGraphicLayer) {\r\n this.view.graphics.remove(this.hightlightGraphicLayer);\r\n }\r\n this.hightlightGraphicLayer = new Graphic({\r\n geometry: geometry,\r\n // symbol: {\r\n // type: \"simple-marker\",\r\n // color: [255, 255, 255, 0],\r\n // outline: {\r\n // color: [77, 234, 238],\r\n // width: 1.5\r\n // }\r\n // },\r\n });\r\n this.view.graphics.add(this.hightlightGraphicLayer);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { MapService } from './map.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PopupService {\r\n private _open = new Subject<boolean>();\r\n public open$ = this._open.asObservable();\r\n private _attributes = new Subject<Array<__esri.FeatureSet>>();\r\n public attributes = this._attributes.asObservable();\r\n constructor(public service: MapService) {\r\n service.loaded$.subscribe(loaded => {\r\n if(loaded) {\r\n service.view.on(\"click\", (event) => {\r\n service.view.hitTest(event).then(async (res) => {\r\n if (res && res.results && res.results.length) {\r\n const promise: Promise<__esri.FeatureSet>[] = [];\r\n res.results.map((m) => {\r\n //query tung grapic owr day\r\n const objectId = m.graphic && m.graphic.attributes && m.graphic.attributes.OBJECTID;\r\n if(objectId) {\r\n promise.push(\r\n (m.graphic.layer as __esri.FeatureLayer).queryFeatures({\r\n objectIds: objectId,\r\n outFields: [\"*\"],\r\n returnGeometry: false,\r\n })\r\n );\r\n }\r\n });\r\n \r\n const results = await Promise.all(promise);\r\n this.handleOpen(results);\r\n }\r\n });\r\n });\r\n }\r\n })\r\n }\r\n\r\n handleOpen(mygraphics: __esri.FeatureSet[]) {\r\n this._attributes.next(mygraphics);\r\n this._open.next(Boolean(mygraphics))\r\n }\r\n\r\n\r\n close() {\r\n this._open.next(undefined)\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { TramBTSModel } from 'src/app/shared/models/tram-bts.model';\r\nimport { TuyenCapNgamModel } from 'src/app/shared/models/tuyen-cap-ngam.model';\r\nimport { DiemDichVuModel } from 'src/app/shared/models/diem-dich-vu.model';\r\nimport { TramBtsService } from 'src/app/manager/shared/services/tram-bts.service';\r\nimport { TuyenCapNgamService } from 'src/app/manager/shared/services/tuyen-cap-ngam.service';\r\nimport { DiemDichVuService } from 'src/app/manager/shared/services/diem-dich-vu.service';\r\nimport { IDataService } from 'src/app/manager/shared/services/IDataService';\r\nimport { CONSTNAME } from '../constants/map.constant';\r\nimport { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\nimport { FormFields } from 'src/app/manager/shared/components/form/form.component';\r\nimport { TramBtss } from 'src/app/shared/constants/tram-bts.constant';\r\nimport { TuyenCapNgams } from 'src/app/shared/constants/tuyen-cap-ngam.constant';\r\nimport { DiemDichVus } from 'src/app/shared/constants/diem-dich-vu.constant';\r\nimport { layerId } from '../models/layer.model';\r\nimport { MapService } from './map.service';\r\nimport Polygon from 'esri/geometry/Polygon';\r\nimport SimpleFillSymbol from 'esri/symbols/SimpleFillSymbol';\r\nimport Graphic from 'esri/Graphic';\r\nimport { EventListenerOptions } from 'rxjs/internal/observable/fromEvent';\r\nimport { HanhChinhService } from 'src/app/shared/services/hanh-chinh.service';\r\nimport { LoginService } from 'src/app/shared/services/login.service';\r\n\r\nexport type ResultSearch = Array<DiemDichVuModel | TramBTSModel | TuyenCapNgamModel>;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SearchService {\r\n private resultSearch = new Subject<ResultSearch>();\r\n public resultSearch$ = this.resultSearch.asObservable(); \r\n\r\n private _loading = new Subject<boolean>();\r\n public loading$ = this._loading.asObservable();\r\n _featureLayer: __esri.FeatureLayer;\r\n service: IDataService;\r\n fields: TableColumnMode[];\r\n view: __esri.View;\r\n rings: any;\r\n firsring: any;\r\n movePolygon: any;\r\n point: any;\r\n polygonMoveEvent: IHandle;\r\n doubleClickEvent: IHandle;\r\n clickBufferEvent: IHandle;\r\n clickEvent: IHandle;\r\n constructor(\r\n private mapService: MapService,\r\n private hanhChinhService: HanhChinhService,\r\n private loginService: LoginService\r\n ) {\r\n }\r\n\r\n searchSpatial() {\r\n\r\n }\r\n\r\n public get featureLayer() {\r\n return this._featureLayer;\r\n }\r\n\r\n public set featureLayer(val: __esri.FeatureLayer) {\r\n this._featureLayer = val;\r\n }\r\n\r\n public close() {\r\n this.resultSearch.next(undefined); \r\n }\r\n\r\n set layerId(id: string) {\r\n if (id) {\r\n switch (id) {\r\n case CONSTNAME.TRAMBTS.id:\r\n this.fields = TramBtss;\r\n break;\r\n case CONSTNAME.TUYENCAPNGAM.id:\r\n this.fields = TuyenCapNgams;\r\n break;\r\n case CONSTNAME.TUYENCAPNOI.id:\r\n this.fields = TuyenCapNgams;\r\n break;\r\n case CONSTNAME.DIEMDICHVU.id:\r\n this.fields = DiemDichVus;\r\n break;\r\n }\r\n }\r\n this._featureLayer = this.mapService.view.map.findLayerById(id) as __esri.FeatureLayer;\r\n }\r\n\r\n public getFields() {\r\n return this.fields;\r\n }\r\n\r\n searchNonSpatial(wheres: string[]) {\r\n this._loading.next(true);\r\n this.loginService.isDoanhNghiep && wheres.push(`TenDoanhNghiep='${this.loginService.maDonVi}'`);\r\n this.loginService.isQuanHuyen && wheres.push(`HuyenTXTP='${this.loginService.maDonVi}'`);\r\n // this.mapService.loaded$.subscribe(loaded => {\r\n // if (loaded) {\r\n const query = this._featureLayer.createQuery();\r\n query.where = wheres.join(' and ');\r\n query.returnGeometry = false;\r\n this._featureLayer.queryFeatures(query).then(({ features }) => {\r\n const results = features.map(m => m.attributes) as ResultSearch;\r\n this.getHanhChinh(results).then(res => {\r\n this.resultSearch.next(res);\r\n this._loading.next(false)\r\n });\r\n });\r\n // }\r\n // })\r\n }\r\n\r\n public draw() {\r\n if (!this._featureLayer) return;\r\n this.rings = [];\r\n this.firsring = undefined;\r\n this.clickBufferEvent = this.mapService.view.on('click', (evt) => {\r\n this.clickBufferFunc(evt);\r\n });\r\n this.doubleClickEvent = this.mapService.view.on('double-click', (evt) => {\r\n this.doubleClickFunc(evt);\r\n });\r\n\r\n }\r\n\r\n createPolygonGraphic(rings) {\r\n const polygon = new Polygon({\r\n rings: rings\r\n });\r\n\r\n const fillSymbol = new SimpleFillSymbol({\r\n color: [147, 112, 219, 0.75],\r\n style: \"solid\",\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 2\r\n }\r\n });\r\n\r\n const polygonGraphic = new Graphic({\r\n geometry: polygon,\r\n symbol: fillSymbol\r\n });\r\n return polygonGraphic;\r\n }\r\n polygonMoveFunc(evt) {\r\n if (this.movePolygon) {\r\n this.mapService.view.graphics.remove(this.movePolygon);\r\n this.movePolygon = null;\r\n }\r\n if (!this.firsring) return;\r\n let rings = [];\r\n const screenCoors = {\r\n x: evt.x,\r\n y: evt.y\r\n };\r\n //Tìm kiếm graphic trùng với tọa độ màn hình khi drag\r\n this.point = this.mapService.view.toMap(screenCoors);\r\n\r\n for (let r of this.rings) {\r\n rings.push(r);\r\n }\r\n rings.push([this.point.longitude, this.point.latitude]);\r\n\r\n const polygonGraphic = this.createPolygonGraphic(rings);\r\n // Add the graphics to the view's graphics layer\r\n this.mapService.view.graphics.add(polygonGraphic);\r\n this.movePolygon = polygonGraphic;\r\n }\r\n clickBufferFunc(evt) {\r\n evt.stopPropagation();\r\n let screenCoors = {\r\n x: evt.x,\r\n y: evt.y\r\n };\r\n let clickPoint = this.mapService.view.toMap(screenCoors);\r\n if (!this.firsring) {\r\n this.polygonMoveEvent = this.mapService.view.on('pointer-move', evt => {\r\n this.polygonMoveFunc(evt);\r\n });\r\n if (this.movePolygon) {\r\n this.mapService.view.graphics.remove(this.movePolygon);\r\n this.movePolygon = null;\r\n }\r\n this.rings = [];\r\n this.firsring = clickPoint;\r\n }\r\n this.rings.push([clickPoint.longitude, clickPoint.latitude]);\r\n\r\n }\r\n doubleClickFunc(evt) {\r\n evt.stopPropagation();\r\n this._loading.next(true);\r\n this.rings.push([this.point.longitude, this.point.latitude]);\r\n const polygonGraphic = this.createPolygonGraphic(this.rings);\r\n\r\n this.findObjectPolygon(polygonGraphic);\r\n this.firsring = undefined;\r\n this.finish();\r\n this.clickEvent = this.mapService.view.on(\"click\", e => {\r\n e.stopPropagation();\r\n if (e.button === 2) {\r\n if (this.movePolygon) {\r\n this.mapService.view.graphics.remove(this.movePolygon);\r\n this.movePolygon = null;\r\n this.finish();\r\n }\r\n }\r\n })\r\n }\r\n finish() {\r\n if (this.clickBufferEvent) {\r\n this.clickBufferEvent.remove();\r\n this.clickBufferEvent = null;\r\n }\r\n if (this.polygonMoveEvent) {\r\n this.polygonMoveEvent.remove();\r\n this.polygonMoveEvent = null;\r\n }\r\n if (this.doubleClickEvent) {\r\n this.doubleClickEvent.remove();\r\n this.doubleClickEvent = null;\r\n }\r\n if (this.clickEvent) {\r\n this.clickEvent.remove();\r\n this.clickEvent = null;\r\n }\r\n }\r\n\r\n findObjectPolygon(bufferGraphic) {\r\n try {\r\n // this.queryBufferingObjects(bufferGraphic.geometry).then((results) => this.displayResults(results));\r\n this.queryBufferingObjects(bufferGraphic.geometry);\r\n } catch (error) {\r\n }\r\n }\r\n queryBufferingObjects(geometry) {\r\n const query = this._featureLayer.createQuery();\r\n query.geometry = geometry;\r\n this._featureLayer.queryFeatures(query).then(async results => {\r\n const feature = results.features;\r\n const attributes = feature.map(m => m.attributes);\r\n this.getHanhChinh(attributes).then(result =>{\r\n this.resultSearch.next(result);\r\n this._loading.next(false);\r\n });\r\n \r\n })\r\n }\r\n\r\n\r\n\r\n\r\n private async getHanhChinh(attributes: any[]) {\r\n let duLieuHanhChinhXa = await this.hanhChinhService.selectAllWard({});\r\n for (const field of this.featureLayer.fields) {\r\n if (field.domain) {\r\n let codedValues = (field.domain as __esri.CodedValueDomain).codedValues;\r\n attributes.forEach(attr => {\r\n if (attr[field.name]) {\r\n let codedValue = codedValues.find(f => f.code === attr[field.name]);\r\n if (codedValue)\r\n attr[field.name] = codedValue.name;\r\n }\r\n });\r\n }\r\n else if (field.name === \"HuyenTXTP\") {\r\n await this.hanhChinhService.selectAllDistrict({}).then(huyens => {\r\n attributes.forEach(async (attr) => {\r\n if (attr[field.name]) {\r\n let huyen = huyens.find(f => f.attributes.MaHuyenTp == attr[field.name]);\r\n if (huyen)\r\n attr[field.name] = huyen.attributes.TenHuyenTp;\r\n }\r\n });\r\n });\r\n }\r\n else if (field.name === \"XaPhuongTT\") {\r\n attributes.forEach(async (attr) => {\r\n if (attr[field.name]) {\r\n let xa = duLieuHanhChinhXa.find(f => f.attributes.MaXaPhuongTT == attr[field.name]);\r\n if (xa)\r\n attr[field.name] = xa.attributes.TenXaPhuongTT;\r\n }\r\n });\r\n }\r\n }\r\n return attributes;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport Circle from \"esri/geometry/Circle\";\r\nimport Graphic from \"esri/Graphic\";\r\nimport GraphicsLayer from \"esri/layers/GraphicsLayer\";\r\nimport Color from \"esri/Color\";\r\nimport SimpleFillSymbol from \"esri/symbols/SimpleFillSymbol\";\r\nimport SimpleLineSymbol from \"esri/symbols/SimpleLineSymbol\";\r\nimport { CONSTNAME } from '../constants/map.constant';\r\nimport { MapService } from './map.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nconst MAU_THIET_BI = {\r\n 'ThietBiLapDat2G': '#ff0000',\r\n 'ThietBiLapDat3G': '#0000cc',\r\n 'ThietBiLapDat4G': '#8600b3'\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VungPhuBtsService {\r\n private loaded = new BehaviorSubject<__esri.MapView>(undefined);\r\n public loaded$ = this.loaded.asObservable();\r\n private _view: __esri.MapView;\r\n private bufferGraphics: GraphicsLayer;\r\n private bufferGraphicsSingle: GraphicsLayer;\r\n constructor(public service: MapService) {\r\n service.loaded$.subscribe(loaded => {\r\n if(loaded) {\r\n this.loaded.next(service.view);\r\n this.view = service.view as __esri.MapView;\r\n (service.view.map.findLayerById(CONSTNAME.TRAMBTS.id) as __esri.FeatureLayer).when(() => {\r\n this.bufferGraphics = new GraphicsLayer({\r\n listMode: \"hide\",\r\n minScale: this.layer.minScale,\r\n maxScale: this.layer.maxScale\r\n });\r\n this.bufferGraphicsSingle = new GraphicsLayer({\r\n listMode: \"hide\",\r\n id: \"bufferGraphicsSingle\",\r\n minScale: this.layer.minScale,\r\n maxScale: this.layer.maxScale\r\n });\r\n this._view.map.add(this.bufferGraphicsSingle);\r\n this._view.map.add(this.bufferGraphics);\r\n });\r\n }\r\n }) \r\n }\r\n get layer(): __esri.FeatureLayer {\r\n return this._view.map.findLayerById(CONSTNAME.TRAMBTS.id) as __esri.FeatureLayer;\r\n }\r\n\r\n addUI(element: HTMLDivElement) {\r\n this.service.loaded$.subscribe(loaded => {\r\n if(loaded) {\r\n this._view.ui.add(element, 'top-right')\r\n }\r\n })\r\n }\r\n\r\n get container(): HTMLDivElement {\r\n return this._view.container;\r\n }\r\n\r\n set view(view: __esri.MapView) {\r\n this._view = view;\r\n }\r\n\r\n get view(): __esri.MapView {\r\n\r\n return this._view;\r\n }\r\n\r\n /**\r\n * loaiVungPhu:2G,3G,4G\r\n */\r\n public all(loaiVungPhu?: string) {\r\n if (!this.layer)\r\n return;\r\n if (this._view.scale > this.layer.minScale)\r\n return;\r\n this.bufferGraphics.removeAll();\r\n let query = this.layer.createQuery();\r\n query.outSpatialReference = this._view.spatialReference;\r\n query.outFields = ['TenDoanhNghiep', 'ThietBiLapDat2G', 'ThietBiLapDat3G', 'ThietBiLapDat4G', 'OBJECTID'];\r\n this.layer.queryFeatures(query).then(queryResult => {\r\n const features = queryResult.features;\r\n features.forEach(f => {\r\n this.buffer(f);\r\n });\r\n });\r\n }\r\n clear(business?: string, thietBi?: string) {\r\n let removes: __esri.Collection<Graphic>;\r\n if (business) {\r\n if (thietBi) {\r\n removes = this.bufferGraphics.graphics.filter(f =>\r\n f.attributes.doanhNghiep === business\r\n && (f.symbol\r\n && (f.symbol as SimpleFillSymbol).outline\r\n && (f.symbol as SimpleFillSymbol).outline.color\r\n && (f.symbol as SimpleFillSymbol).outline.color.toHex() === MAU_THIET_BI[thietBi]));\r\n } else {\r\n removes = this.bufferGraphics.graphics.filter(f => f.attributes.doanhNghiep === business);\r\n }\r\n removes.forEach(f => {\r\n this.bufferGraphics.remove(f)\r\n })\r\n } else { this.bufferGraphics.removeAll(); this.bufferGraphicsSingle.removeAll(); }\r\n }\r\n public onlyBusiness(business, thietBi?: string) {\r\n if (!this.layer)\r\n return;\r\n // if (this.view.scale > this.layer.minScale)\r\n // return;\r\n let query = this.layer.createQuery();\r\n query.where = `TenDoanhNghiep = '${business}'`\r\n query.outSpatialReference = this._view.spatialReference;\r\n query.outFields = ['TenDoanhNghiep', 'OBJECTID'];\r\n if (thietBi && (thietBi === 'ThietBiLapDat2G' || thietBi === 'ThietBiLapDat3G' || thietBi === 'ThietBiLapDat4G')) {\r\n query.outFields.push(thietBi);\r\n } else {\r\n query.outFields.push('ThietBiLapDat2G', 'ThietBiLapDat3G', 'ThietBiLapDat4G');\r\n }\r\n this.layer.queryFeatures(query).then(queryResult => {\r\n const features = queryResult.features;\r\n features.forEach(f => {\r\n this.buffer(f);\r\n });\r\n });\r\n }\r\n public singleBusiness(e, thietBi?: string) {\r\n if (!this.layer)\r\n return;\r\n e.stopPropagation();\r\n this._view.hitTest({\r\n x: e.x,\r\n y: e.y\r\n }).then(hitTestResult => {\r\n const results = hitTestResult.results;\r\n let result = results.find(f => {\r\n return f.graphic.layer.id === CONSTNAME.TRAMBTS.id;\r\n });\r\n if (!result) {\r\n this.bufferGraphicsSingle.removeAll();\r\n } else {\r\n let attributes = result.graphic.attributes;\r\n let bufferAttrs = {\r\n TenDoanhNghiep: attributes.TenDoanhNghiep\r\n };\r\n if (thietBi && (thietBi === 'ThietBiLapDat2G' || thietBi === 'ThietBiLapDat3G' || thietBi === 'ThietBiLapDat4G')) {\r\n bufferAttrs[thietBi] = attributes[thietBi];\r\n } else {\r\n if (attributes['ThietBiLapDat2G'])\r\n bufferAttrs['ThietBiLapDat2G'] = attributes['ThietBiLapDat2G'];\r\n if (attributes['ThietBiLapDat3G'])\r\n bufferAttrs['ThietBiLapDat3G'] = attributes['ThietBiLapDat3G'];\r\n if (attributes['ThietBiLapDat4G'])\r\n bufferAttrs['ThietBiLapDat4G'] = attributes['ThietBiLapDat4G'];\r\n }\r\n let graphic = result.graphic.clone();\r\n graphic.attributes = bufferAttrs;\r\n this.buffer(graphic, this.bufferGraphicsSingle);\r\n }\r\n });\r\n }\r\n private buffer(graphic, graphicLayer = this.bufferGraphics) {\r\n const point = graphic.geometry,\r\n attributes = graphic.attributes,\r\n doanhNghiep = attributes.TenDoanhNghiep;\r\n if (!graphicLayer || !point || !attributes || !doanhNghiep)\r\n throw \"Không đủ dữ liệu\";\r\n const renderSymbol = (thietBi: string) => {\r\n let outlineColor = thietBi === 'ThietBiLapDat2G' ? MAU_THIET_BI.ThietBiLapDat2G :\r\n thietBi === 'ThietBiLapDat3G' ? MAU_THIET_BI.ThietBiLapDat3G : MAU_THIET_BI.ThietBiLapDat4G;\r\n let symbol = new SimpleFillSymbol({\r\n color: this.renderColor(doanhNghiep),\r\n outline: new SimpleLineSymbol({\r\n color: new Color(outlineColor)\r\n })\r\n });\r\n return symbol\r\n }\r\n const run = (thietBi: string) => {\r\n if (attributes[thietBi]) {\r\n let circle = new Circle({\r\n center: point,\r\n radius: attributes[thietBi]\r\n });\r\n graphicLayer.add(new Graphic({\r\n layer: graphicLayer,\r\n attributes: {\r\n doanhNghiep: doanhNghiep\r\n },\r\n geometry: circle,\r\n symbol: renderSymbol(thietBi)\r\n }));\r\n }\r\n }\r\n if (attributes.ThietBiLapDat2G)\r\n run('ThietBiLapDat2G')\r\n if (attributes.ThietBiLapDat3G)\r\n run('ThietBiLapDat3G')\r\n if (attributes.ThietBiLapDat4G)\r\n run('ThietBiLapDat4G')\r\n }\r\n private renderColor(doanhNghiep) {\r\n let color = new Color([52, 73, 94, .25]);\r\n switch (doanhNghiep) {\r\n case \"GTL\":\r\n color = new Color([255, 204, 36, .25]);\r\n break;\r\n case \"MBF\":\r\n color = new Color([249, 0, 0, .25]);\r\n break;\r\n case \"VNPT\":\r\n case \"VNP\":\r\n color = new Color([0, 148, 248, .25]);\r\n break;\r\n case \"VNM\":\r\n color = new Color([252, 160, 0, .25]);\r\n break;\r\n case \"VTL\":\r\n color = new Color([0, 249, 36, .25]);\r\n break;\r\n }\r\n return color;\r\n }\r\n public cancel() {\r\n this.bufferGraphics.removeAll();\r\n }\r\n}\r\n","<div class=\"container-table\">\r\n <!-- <div class=\"btn-more\" *ngIf=\"!isOpen\"> <app-button icon=\"angle-double-up\" (click)=\"isOpen=true\"></app-button></div> -->\r\n <div class=\"rwd-table\" [ngStyle]=\"{ height: isOpen ? '232px' : '0px' }\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center\">\r\n <div class=\"title\">Kết quả truy vấn {{ title }} ({{rows?.length}})</div>\r\n <app-button\r\n btnClass=\"btn-danger\"\r\n icon=\"times\"\r\n (click)=\"closeTable()\"\r\n ></app-button>\r\n </div>\r\n <perfect-scrollbar [config]=\"scrollBarConfigBoth\" style=\"height: 190px;\">\r\n <table>\r\n <tr>\r\n <th width=\"50\">STT</th>\r\n <th\r\n *ngFor=\"let column of columns\"\r\n [ngStyle]=\"{\r\n 'min-width': column.width ? column.width + 'px' : '150px'\r\n }\"\r\n >\r\n {{ column.name }}\r\n </th>\r\n </tr>\r\n </table>\r\n <perfect-scrollbar\r\n [config]=\"scrollBarConfigSingle\"\r\n style=\"height: 140px;\"\r\n >\r\n <table>\r\n <tr *ngFor=\"let row of rows; let i = index\" [class.active]=\"i===rowIndex\" (click)=\"rowClick(row.OBJECTID, i)\">\r\n <td width=\"50\">{{i+1}}</td>\r\n <td\r\n *ngFor=\"let column of columns\"\r\n [ngStyle]=\"{\r\n 'min-width': column.width ? column.width + 'px' : '150px'\r\n }\"\r\n data-th=\"column.name\"\r\n >\r\n {{ row[column.prop] }}\r\n </td>\r\n </tr>\r\n </table>\r\n </perfect-scrollbar>\r\n </perfect-scrollbar>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { SearchService, ResultSearch } from '../shared/services/search.service';\r\nimport { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { MapService } from '../shared/services/map.service';\r\n\r\n@Component({\r\n selector: 'app-table-info',\r\n templateUrl: './table-info.component.html',\r\n styleUrls: ['./table-info.component.scss']\r\n})\r\nexport class TableInfoComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() close = new EventEmitter<boolean>();\r\n @Output() open = new EventEmitter<boolean>();\r\n columns: TableColumnMode[];\r\n rows: ResultSearch;\r\n layer: __esri.FeatureLayer;\r\n scrollBarConfigBoth: PerfectScrollbarConfigInterface = {\r\n suppressScrollY: true\r\n };\r\n scrollBarConfigSingle: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n };\r\n highlight: any;\r\n title = '';\r\n rowIndex: number | undefined = undefined;\r\n constructor(\r\n private mapService: MapService,\r\n public searchService: SearchService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.searchService.resultSearch$.subscribe(result => {\r\n\r\n this.columns = this.searchService.getFields();\r\n this.rows = result;\r\n this.title = this.searchService.featureLayer.title;\r\n // this.layer = this.service.layerFeature;\r\n this.isOpen = Boolean(result);\r\n \r\n })\r\n \r\n }\r\n\r\n closeTable() {\r\n this.searchService.close();\r\n }\r\n\r\n rowClick(objectId: number, rowIndex: number) {\r\n this.rowIndex = rowIndex;\r\n const layer = this.searchService.featureLayer;\r\n // this.mapService.loaded$.subscribe(loaded => {\r\n let query = layer.createQuery();\r\n query.where = `OBJECTID = ${objectId}`;\r\n query.outSpatialReference = this.mapService.view.spatialReference;\r\n query.returnGeometry = true;\r\n \r\n layer.queryFeatures(query).then(async ({features}) => {\r\n this.mapService.view.goTo(features);\r\n this.mapService.view.whenLayerView(layer).then(layerView => {\r\n if(this.highlight) {\r\n this.highlight.remove();\r\n }\r\n this.highlight = layerView.highlight(features);\r\n })\r\n });\r\n // })\r\n }\r\n\r\n}\r\n","\r\n <app-modal-template title=\"Thiết bị lắp đặt\">\r\n <div body>\r\n <select class=\"custom-select\" [(ngModel)]=\"result\">\r\n <option *ngFor=\"let thietBi of thietBis\" [value]=\"thietBi.code\">{{thietBi.name}}</option> \r\n </select>\r\n </div>\r\n <div footer> \r\n <button type=\"button\" class=\"btn btn-outline-secondary mr-1 btn-sm\" (click)=\"modal.dismiss(EventModal.CANCEL)\">Hủy</button>\r\n <button type=\"button\" ngbAutofocus class=\"btn btn-danger btn-sm\" (click)=\"passBack()\">Chấp nhận</button>\r\n </div>\r\n </app-modal-template>","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nexport enum EventModal {\r\n OK = 'OK',\r\n CANCEL = 'CANCEL',\r\n CROSS = 'CROSS'\r\n}\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit {\r\n EventModal = EventModal;\r\n @Input() thietBis: any;\r\n @Output() passEntry: EventEmitter<any> = new EventEmitter();\r\n result: string | null = null ;\r\n constructor(public modal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n passBack() {\r\n this.modal.dismiss(EventModal.OK);\r\n this.passEntry.emit(this.result);\r\n }\r\n\r\n}\r\n","<div #toolbarDiv id=\"toolbarDiv\" class=\"esri-component esri-widget\">\r\n <button\r\n id=\"distance\"\r\n class=\"esri-widget--button esri-interactive esri-icon-dial\"\r\n title=\"Vùng phủ BTS\"\r\n [class.active]=\"_active\"\r\n (click)=\"changeActive()\"\r\n ></button>\r\n</div>","import { Component, OnInit, ElementRef, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { MapService } from '../shared/services/map.service';\r\nimport { CONSTNAME } from '../shared/constants/map.constant';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalComponent, EventModal } from './modal/modal.component';\r\nimport { VungPhuBtsService } from '../shared/services/vung-phu-bts.service';\r\n\r\n@Component({\r\n selector: 'app-vung-phu-bts',\r\n templateUrl: './vung-phu-bts.component.html',\r\n styleUrls: ['./vung-phu-bts.component.scss']\r\n})\r\nexport class VungPhuBtsComponent implements OnInit, AfterViewInit {\r\n@ViewChild('toolbarDiv', {static: true}) toolbarDiv: ElementRef<HTMLDivElement>;\r\n private view: __esri.MapView;\r\n _active: boolean = false;\r\n private clickHandle: IHandle;\r\n private eHandleValue;\r\n options = {}\r\n constructor(\r\n private service: VungPhuBtsService,\r\n public modalService: NgbModal,\r\n ) {\r\n\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.service.loaded$.subscribe(mapView => {\r\n this.view = mapView;\r\n \r\n })\r\n this.service.addUI(this.toolbarDiv.nativeElement);\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n changeActive() {\r\n this._active = !this._active;\r\n const container = this.service.container;\r\n if (this._active) {\r\n \r\n container.style.cursor = \"crosshair\";\r\n this.clickHandle = this.view.on('click', (e) => this.onViewClickHandler(e))\r\n } else {\r\n container.style.cursor = \"default\";\r\n\r\n this.clickHandle.remove();\r\n this.clickHandle = null;\r\n this.service.clear();\r\n this.eHandleValue = null;\r\n }\r\n }\r\n onViewClickHandler(e) {\r\n e.stopPropagation();\r\n this.view.hitTest(e).then(hitTestResult => {\r\n const results = hitTestResult.results;\r\n let result = results.find(f => {\r\n return f.graphic.layer.id === CONSTNAME.TRAMBTS.id;\r\n });\r\n if (result) {\r\n let graphic = result.graphic;\r\n let attributes = graphic.attributes;\r\n let dataSource = new Array();\r\n dataSource.push({ code: null, name: 'Tất cả' });\r\n if (attributes['ThietBiLapDat2G'])\r\n dataSource.push({ code: 'ThietBiLapDat2G', name: '2G' });\r\n if (attributes['ThietBiLapDat3G'])\r\n dataSource.push({ code: 'ThietBiLapDat3G', name: '3G' });\r\n if (attributes['ThietBiLapDat4G'])\r\n dataSource.push({ code: 'ThietBiLapDat4G', name: '4G' });\r\n this.eHandleValue = e;\r\n const modalRef = this.modalService.open(ModalComponent, {centered: true});\r\n modalRef.componentInstance.thietBis = dataSource;\r\n modalRef.componentInstance.passEntry.subscribe((receivedEntry) => {\r\n this.service.singleBusiness(this.eHandleValue, receivedEntry);\r\n })\r\n\r\n } else {\r\n this.service.clear();\r\n this.eHandleValue = null\r\n }\r\n });\r\n\r\n }\r\n\r\n private onHienThiAction() {\r\n // this.tool.singleBusiness(this.eHandleValue, val as string);\r\n }\r\n\r\n\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-11 mx-auto\">\r\n <div class=\"row\" >\r\n <a *ngFor=\"let attachment of attachments\" class=\"col-3 mt-3 mr-4 p-2 shadow-sm bg-white rounded text-dark\" \r\n target=\"_blank\" [href]=\"attachment.url\">\r\n <a href=\"javascript:void(0)\" class=\"btn-del\" (click)=\"delete.emit(attachment.id)\">x</a>\r\n <div class=\"row h-100 align-items-center\">\r\n <div class=\"col-3 text-right h-100\">\r\n <span [ngStyle]=\"{'color': setColor(attachment.contentType)}\">\r\n <i [class]=\"'far fa-3x fa-' + setIcon(attachment.contentType)\"></i>\r\n </span>\r\n </div>\r\n <div class=\"col-9 d-flex align-items-center pl-0 h-100\"><span class=\"file-name\">{{attachment.name}}</span></div>\r\n </div>\r\n </a>\r\n </div> \r\n <p class=\"text-center text-dark\" *ngIf=\"!attachments.length\">Chưa có file đính kèm</p>\r\n </div>\r\n \r\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nexport enum ContentType {\r\n Word = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n Excel = 'application/vnd.ms-excel',\r\n Pdf = 'application/pdf'\r\n}\r\n\r\n@Component({\r\n selector: 'app-attachment',\r\n templateUrl: './attachment.component.html',\r\n styleUrls: ['./attachment.component.scss']\r\n})\r\nexport class AttachmentComponent implements OnInit {\r\n @Input() attachments: __esri.AttachmentInfo[] = [];\r\n @Output() delete = new EventEmitter<number>();\r\n ContentType = ContentType;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n setIcon(type) {\r\n switch(type) {\r\n case ContentType.Excel: \r\n return 'file-excel';\r\n case ContentType.Word:\r\n return 'file-word';\r\n case ContentType.Pdf:\r\n return 'file-pdf';\r\n default: return 'file';\r\n }\r\n }\r\n\r\n setColor(type) {\r\n switch(type) {\r\n case ContentType.Excel: \r\n return 'green';\r\n case ContentType.Word:\r\n return 'blue';\r\n case ContentType.Pdf:\r\n return 'red';\r\n default: return '#797979'\r\n }\r\n }\r\n\r\n}\r\n","<button type=\"button\" class=\"btn btn-link text-dark text-decoration-none\">\r\n <app-icon [name]=\"icon\" [class]=\"'text-' + color\"></app-icon>{{' '}}<ng-content></ng-content>\r\n</button>","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-button-link',\r\n templateUrl: './button-link.component.html',\r\n styleUrls: ['./button-link.component.scss']\r\n})\r\nexport class ButtonLinkComponent implements OnInit {\r\n @Input() icon = '';\r\n @Input() color: 'primary' | 'success' | 'danger' | 'dark' = 'dark';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<button type=\"button\" [class]=\"'ml-1 btn btn-sm ' + btnClass\" [disabled]=\"disabled\">\r\n <app-icon [name]=\"icon\"></app-icon>{{' '}}<ng-content></ng-content>\r\n</button>\r\n ","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n @Input() btnClass = '';\r\n @Input() icon = '';\r\n @Input() disabled = false;\r\n @Output() click = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<i [class]=\"'fas fa-' + name\"></i>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-icon',\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./icon.component.scss']\r\n})\r\nexport class IconComponent implements OnInit {\r\n @Input() name = '';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<form enctype=\"multipart/form-data\">\r\n <input type=\"file\" name=\"attachment\" (change)=\"onFileSelected($event)\">\r\n</form>","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { ToastService } from '../../services/toast.service';\r\n\r\n@Component({\r\n selector: 'app-input-file',\r\n templateUrl: './input-file.component.html',\r\n styleUrls: ['./input-file.component.scss']\r\n})\r\nexport class InputFileComponent implements OnInit {\r\n @Output() formData = new EventEmitter<any>();\r\n @Input() service: any;\r\n @Input() objectId: any;\r\n idFile: number;\r\n\r\n constructor(\r\n private toastrService: ToastService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onFileSelected(event) {\r\n const value = event.target.files[0];\r\n const formData = new FormData();\r\n formData.append('attachment', value);\r\n formData.append('f', 'json');\r\n console.log(formData);\r\n \r\n if (this.objectId) {\r\n if (this.idFile) {\r\n this.service.deleteAttachments(this.objectId, this.idFile).then(res => { });\r\n }\r\n this.service.addAttachment(this.objectId, formData).then(res => {\r\n if (res.data.addAttachmentResult.success === true) {\r\n this.toastrService.success('upload success!');\r\n this.idFile = res.data.addAttachmentResult.objectId;\r\n this.formData.emit(res.data.addAttachmentResult.objectId);\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputFileComponent } from './input-file.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [InputFileComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [InputFileComponent]\r\n})\r\nexport class InputFileModule { }\r\n","<div class=\"position-relative h-100\">\r\n <app-loading [loading]=\"loading\"></app-loading>\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"modal-title\">{{title}}</h5>\r\n <div class=\"d-flex\" *ngIf=\"isAction\">\r\n <ng-content select=\"[header]\"></ng-content>\r\n <app-button btnClass=\"btn-danger\" icon=\"times\" (click)=\"modal.dismiss('CROSS')\" ></app-button>\r\n </div>\r\n <!-- <button type=\"button\" class=\"close\" aria-label=\"Close button\" aria-describedby=\"modal-title\" (click)=\"modal.dismiss('CROSS')\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button> -->\r\n </div>\r\n <perfect-scrollbar class=\"modal-body\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n </perfect-scrollbar>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[footer]\">\r\n </ng-content>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\r\ninterface Action {\r\n class: string;\r\n icon: string;\r\n title?: string;\r\n click: ({params}) => void; \r\n placement?: string; \r\n tooltip?: string;\r\n isAction?: boolean;\r\n}\r\n\r\nexport enum EventModal {\r\n OK = 'OK',\r\n CANCEL = 'CANCEL',\r\n CROSS = 'CROSS'\r\n}\r\n\r\nexport type Actions = Array<Action>;\r\n\r\n@Component({\r\n selector: 'app-modal-template',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit {\r\n @Input() actions: Actions = [];\r\n @Input() title = '';\r\n @Input() loading = false;\r\n @Input() isAction = true;\r\n constructor(public modal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div id=\"mySidenav\" class=\"sidenav\" *ngIf=\"isOpen\">\r\n <!-- <div class=\"position-relative\">\r\n <a href=\"javascript:void(0)\" class=\"closebtn\" (click)=\"close.emit(false)\">×</a>\r\n </div> -->\r\n <div class=\"d-flex justify-content-between align-items-center header\">\r\n <span>{{title}}</span>\r\n <a href=\"javascript:void(0)\" class=\"closebtn\" (click)=\"close.emit(false)\">×</a>\r\n </div>\r\n <perfect-scrollbar class=\"content\" [config]=\"scrollBarConfig\">\r\n <ng-content></ng-content>\r\n </perfect-scrollbar>\r\n \r\n</div>\r\n ","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\r\n@Component({\r\n selector: 'app-side-nav',\r\n templateUrl: './side-nav.component.html',\r\n styleUrls: ['./side-nav.component.scss']\r\n})\r\nexport class SideNavComponent implements OnInit {\r\n @Input() isOpen = true;\r\n @Input() title = '';\r\n @Output() close = new EventEmitter<boolean>();\r\n scrollBarConfig: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n };\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export const DDoanhNghieps: __esri.CodedValueDomainCodedValues[] = [\r\n { code: 'VNPT', name: 'VNPT' },\r\n { code: 'MBF', name: 'Mobilefone' },\r\n { code: 'VTL', name: 'Viettel' },\r\n { code: 'GTL', name: 'GTel' },\r\n { code: 'VNM', name: 'Vietnamobile' },\r\n]\r\n\r\nexport const DTinhTrang: __esri.CodedValueDomainCodedValues[] = [\r\n { name: 'Hoàn công', code: 3 },\r\n { name: 'Đã cấp phép', code: 2 },\r\n { name: 'Xin cấp phép', code: 1 },\r\n { name: 'Không chấp nhận', code: 4 },\r\n]\r\n\r\nexport const DLoaiDichVu: __esri.CodedValueDomainCodedValues[] = [\r\n { code: 1, name: 'Điểm phục vụ bưu chính' },\r\n { code: 2, name: 'Điểm cung cấp dịch vụ viễn thông' },\r\n { code: 3, name: 'Điểm cung cấp internet' },\r\n { code: 4, name: 'Điểm cung cấp trò chơi điện tử' },\r\n]\r\n","import { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\n\r\nexport const DiemDichVus: TableColumnMode[] = [\r\n { prop: 'SoHieu', name: 'Số hiệu', type: 'text', frozenLeft: true},\r\n { prop: 'TenDiem', name: 'Tên điểm', type: 'text', frozenLeft: true},\r\n { prop: 'TenDoanhNghiep', name: 'Doanh nghiệp', type: 'select'},\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text'},\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text'},\r\n { prop: 'MaThonLangDoi', name: 'Mã thôn làng đội', type: 'text'},\r\n { prop: 'DichVuCungCap', name: 'Dịch vụ cung cấp', type: 'text'},\r\n { prop: 'DichVuCungCapVT', name: 'Dịch vụ cung cấp viễn thông', type: 'text'},\r\n { prop: 'DichVuGTGTKhac', name: 'Dịch vụ GTGT khác', type: 'text'},\r\n { prop: 'SoDienThoai', name: 'Số điện thoại', type: 'text'},\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', isQuanHuyenTP: true, options: []},\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', isPhuongXa: true, options: []},\r\n { prop: 'Địa_chỉ', name: 'Địa chỉ', type: 'text'},\r\n]","import { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\n\r\nexport const TramBtss: TableColumnMode[] = [\r\n { prop: 'TenDoanhNghiep', name: 'Doanh nghiệp', type: 'select', width: 150 },\r\n { prop: 'MaTram', name: 'Mã trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'TenTram', name: 'Tên trạm', type: 'text', frozenLeft: true, width: 150 },\r\n { prop: 'ToaDoX', name: 'Tọa độ X', type: 'text', width: 150 },\r\n { prop: 'ToaDoY', name: 'Tọa độ Y', type: 'text', width: 150 },\r\n { prop: 'DiaChi', name: 'Địa chỉ', type: 'text', width: 550 },\r\n { prop: 'ChuSoHuuDat', name: 'Chủ sỡ hữu đất', type: 'text', width: 250 },\r\n { prop: 'LoaiAngTen', name: 'Loại ăng ten', type: 'select', width: 150 },\r\n { prop: 'LoaiTram', name: 'Loại trạm', type: 'select', width: 150 },\r\n { prop: 'DoCaoTram', name: 'Độ cao trạm', type: 'text', width: 150 },\r\n { prop: 'DoCaoTang', name: 'Độ cao tầng', type: 'text', width: 150 },\r\n { prop: 'CongSuat', name: 'Công suất', type: 'text', width: 150 },\r\n { prop: 'GocNgan', name: 'Số lượng ăng ten phát', type: 'text', width: 150 },\r\n { prop: 'TGXayDung', name: 'TG xây dựng', type: 'text', width: 150 },\r\n { prop: 'TGPhatSong', name: 'TG phát sóng', type: 'text', width: 150 },\r\n { prop: 'GiayPhepXayDung', name: 'Giấy phép xây dựng', type: 'select', width: 150 },\r\n { prop: 'ChapThuanCuaSo', name: 'Chấp thuận của sở', type: 'select', width: 150 },\r\n { prop: 'SoCongVan', name: 'Số công văn', type: 'text', width: 150 },\r\n { prop: 'ThietBiLapDat', name: 'Thiết bị lắp đặt', type: 'text', width: 150 },\r\n { prop: 'GiayKiemDinhCongTrinh', name: 'GKĐ công trình', type: 'text', width: 150 },\r\n { prop: 'TinhTrangKiemDinh', name: 'Tình trạng KĐ', type: 'select', width: 150 },\r\n { prop: 'NgayCap', name: 'Ngày cấp', type: 'date', width: 150 },\r\n { prop: 'NgayHetHan', name: 'Ngày hết hạn', type: 'date', width: 150 },\r\n { prop: 'SoCongVanHSKD', name: 'Số công văn HSKĐ', type: 'text', width: 150 },\r\n { prop: 'NgayNopHSKD', name: 'Ngày nộp hồ sơ', type: 'date', width: 150 },\r\n { prop: 'NguoiCungCapThongTin', name: 'Ngày cung cấp thông tin', type: 'text', width: 150 },\r\n { prop: 'GhiChu', name: 'Ghi chú', type: 'text', width: 250 },\r\n { prop: 'TinhTrang', name: 'Tình trạng', type: 'select', width: 150 },\r\n { prop: 'VungPhu', name: 'Vùng phủ', type: 'text', width: 150 },\r\n { prop: 'HuyenTXTP', name: 'Huyện/TP', type: 'select', width: 150, isQuanHuyenTP: true, options: [] },\r\n { prop: 'XaPhuongTT', name: 'Xã/phường', type: 'select', width: 150, isPhuongXa: true, options: [] },\r\n { prop: 'NgayGioCapPhepBTS', name: 'Ngày cấp phép', type: 'date', width: 150 },\r\n { prop: 'ThietBiLapDat2G', name: '2G', type: 'text', width: 150 },\r\n { prop: 'ThietBiLapDat3G', name: '3G', type: 'text', width: 150 },\r\n { prop: 'ThietBiLapDat4G', name: '4G', type: 'text', width: 150 },\r\n]","import { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\n\r\nexport const TuyenCapNgams: TableColumnMode[] = [\r\n {prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text', frozenLeft: true },\r\n {prop: 'TenTuyen', name: 'Tên tuyến', type: 'text', frozenLeft: true },\r\n {prop: 'TenDoanhNghiep', name: 'Tên doanh nghiệp', type: 'select' },\r\n {prop: 'DiemDau', name: 'Điểm đầu', type: 'text' },\r\n {prop: 'DiemCuoi', name: 'Điểm cuối', type: 'text' },\r\n {prop: 'ChieuDaiThucTe', name: 'Chiều dài thực tế', type: 'text' },\r\n {prop: 'ViTriTuyenCap', name: 'Vị trí tuyến cáp', type: 'text' },\r\n {prop: 'KhoangCachSoVoiLe', name: 'Khoảng cách so với lề', type: 'text' },\r\n {prop: 'DoSau', name: 'Độ sâu', type: 'text' },\r\n {prop: 'SoLuongOngCap', name: 'Số lượng ống cáp', type: 'text' },\r\n {prop: 'SoLuongOngDangDung', name: 'Số lượng ống dẫn', type: 'text' },\r\n {prop: 'LoaiCap', name: 'Loại cáp', type: 'select' },\r\n {prop: 'DungLuongCap', name: 'Dung lượng cáp', type: 'text' },\r\n {prop: 'LoaiCongTrinh', name: 'Loại công trình', type: 'select' },\r\n {prop: 'KhaNangDungChung', name: 'Khả năng dùng chung', type: 'select' },\r\n]","import { TableColumnMode } from 'src/app/manager/shared/components/datatable/datatable.model';\r\n\r\nexport const TuyenCapNois: TableColumnMode[] = [\r\n {prop: 'MaTuyen', name: 'Mã tuyến cáp', type: 'text', frozenLeft: true },\r\n {prop: 'TenTuyen', name: 'Tên tuyến', type: 'text', frozenLeft: true },\r\n {prop: 'DiemDau', name: 'Điểm đầu', type: 'text' },\r\n {prop: 'DiemCuoi', name: 'Điểm cuối', type: 'text' },\r\n {prop: 'ChieuDaiThucTe', name: 'Chiều dài thực tế', type: 'text' },\r\n {prop: 'ViTriTuyenCap', name: 'Vị trí tuyến cáp', type: 'text' },\r\n {prop: 'KhoangCachSoVoiLe', name: 'Khoảng cách so với lề', type: 'text' },\r\n {prop: 'DoSau', name: 'Độ sâu', type: 'text' },\r\n {prop: 'SoLuongOngCap', name: 'Số lượng ống cáp', type: 'text' },\r\n {prop: 'SoLuongOngDangDung', name: 'Số lượng ống dẫn', type: 'text' },\r\n {prop: 'LoaiCap', name: 'Loại cáp', type: 'text' },\r\n {prop: 'DungLuongCap', name: 'Dung lượng cáp', type: 'text' },\r\n {prop: 'LoaiCongTrinh', name: 'Loại công trình', type: 'text' },\r\n {prop: 'KhaNangDungChung', name: 'Khả năng dùng chung', type: 'text' },\r\n {prop: 'TenDoanhNghiep', name: 'Tên doanh nghiệp', type: 'select' },\r\n]","export type EsriQueryResponse = {\r\n} & __esri.FeatureSet;\r\n\r\nexport interface ResposeApplyEdit {\r\n objectId?: number; error?: { message: string };\r\n}\r\nexport interface ResposeApplyEdits {\r\n addResults?: ResposeApplyEdit[];\r\n updateResults?: ResposeApplyEdit[];\r\n deleteResults?: ResposeApplyEdit[];\r\n}\r\n\r\nexport enum EDoanhNghieps {\r\n VNPT = 'VNPT',\r\n Mobifone = 'MBF',\r\n Viettel = 'VTL',\r\n GTel = 'GTL',\r\n Vietnamobile = 'VNM',\r\n}\r\n\r\nexport enum ETinhTrang {\r\n XinCapPhep = 1,\r\n DaCapPhep,\r\n HoanCong,\r\n KhongChapNhan,\r\n}\r\n\r\nexport enum ELoaiDichVu {\r\n PhucVuBuuChinh = 1,\r\n DichVuVienThong,\r\n DaiLyInternet\r\n}\r\n\r\n","export enum FlagMenu {\r\n TuyenCapNoi = 'TCN',\r\n DiemDichVu = 'DDV',\r\n TuyenCapNgam = 'TCN',\r\n Map = 'Map',\r\n TramBTS = 'BTS'\r\n}","import { Injectable } from '@angular/core';\r\nimport {formatDate} from '@angular/common'\r\nimport { NgbDatepickerI18n, NgbDateStruct, NgbDateParserFormatter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst I18N_VALUES = {\r\n 'vi': {\r\n weekdays: ['T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'CN'],\r\n months: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],\r\n }\r\n // other languages you would support\r\n};\r\n\r\n// Define a service holding the language. You probably already have one if your app is i18ned. Or you could also\r\n// use the Angular LOCALE_ID value\r\n@Injectable()\r\nexport class I18n {\r\n language = 'vi';\r\n}\r\n\r\n// Define custom service providing the months and weekdays translations\r\n@Injectable()\r\nexport class DatepickerI18n extends NgbDatepickerI18n {\r\n\r\n constructor(private _i18n: I18n) {\r\n super();\r\n }\r\n\r\n getWeekdayShortName(weekday: number): string {\r\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n }\r\n getMonthShortName(month: number): string {\r\n return I18N_VALUES[this._i18n.language].months[month - 1];\r\n }\r\n getMonthFullName(month: number): string {\r\n return this.getMonthShortName(month);\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n\r\n/**\r\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\r\n */\r\n@Injectable()\r\nexport class DateParserFormatter extends NgbDateParserFormatter {\r\n\r\n readonly DELIMITERINPUT = '-';\r\n readonly DELIMITEROUTPUT = '/';\r\n\r\n parse(value: string): NgbDateStruct {\r\n let result: NgbDateStruct = null;\r\n if (value) {\r\n let date =value.split(this.DELIMITERINPUT);\r\n result = {\r\n day: parseInt(date[0], 10),\r\n month: parseInt(date[1], 10),\r\n year: parseInt(date[2], 10)\r\n };\r\n }\r\n return result;\r\n }\r\n\r\n format(date: NgbDateStruct): string {\r\n let result: string = null;\r\n if (date) {\r\n result = date.day.toString().padStart(2, '0') + this.DELIMITEROUTPUT + date.month.toString().padStart(2, '0') + this.DELIMITEROUTPUT + date.year;\r\n }\r\n return result;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class CustomAdapter extends NgbDateAdapter<string | Date> {\r\n\r\n readonly DELIMITER = '-';\r\n\r\n fromModel(value: Date | null): NgbDateStruct | null {\r\n if (value) {\r\n let date = formatDate(value, 'yyyy-MM-dd', 'en-US').toString().split(this.DELIMITER);\r\n return {\r\n day : parseInt(date[2], 10),\r\n month : parseInt(date[1], 10),\r\n year : parseInt(date[0], 10)\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n toModel(date: NgbDateStruct | null): Date | null {\r\n return date ? (new Date(date.year + this.DELIMITER + date.month + this.DELIMITER + date.day)) : null;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ApiService } from 'src/app/manager/shared/services/api.service';\r\n\r\n interface DonVi {\r\n ID: string,\r\n MaDonVi: string,\r\n TenDonVi: string\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DonViService {\r\n constructor(\r\n private apiService: ApiService\r\n ) { }\r\n\r\n getListDonVi(): Promise<DonVi[]> {\r\n return this.apiService.get(`odata/DonVis?$expand=SYS_VaiTroLoaiDonVi&$filter=SYS_VaiTroLoaiDonVi/Ma eq 'DN'&$select=ID,MaDonVi,TenDonVi`, true);\r\n }\r\n}\r\n\r\n","import { Injectable, EventEmitter } from \"@angular/core\";\r\nimport { CONSTNAME } from \"src/app/map/shared/constants/map.constant\";\r\nimport { MapService } from \"src/app/map/shared/services/map.service\";\r\nimport { DataService } from \"src/app/manager/shared/services/data.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport {\r\n HanhChinhHuyenMapServer,\r\n HanhChinhXaMapServer,\r\n} from \"src/app/map/shared/constants/layer.constant\";\r\nimport { EsriQueryResponse } from \"src/app/manager/shared/models/data.model\";\r\nimport QueryTask from \"esri/tasks/QueryTask\";\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\ninterface ParamsGet {\r\n url: string;\r\n query?: __esri.QueryProperties;\r\n}\r\n\r\nconst MA_HUYEN = \"MaHuyenTp\";\r\nconst TEN_HUYEN = \"TenHuyenTp\";\r\nconst MA_XA = \"MaXaPhuongTT\";\r\nconst TEN_XA = \"TenXaPhuongTT\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HanhChinhService {\r\n private districtLoaded = new BehaviorSubject<Array<__esri.CodedValueDomainCodedValues>>([]);\r\n public districtLoaded$ = this.districtLoaded.asObservable();\r\n private wardLoaded = new BehaviorSubject<Array<__esri.CodedValueDomainCodedValues>>([]);\r\n public wardLoaded$ = this.wardLoaded.asObservable();\r\n\r\n constructor(public service: MapService) {\r\n service.loaded$.subscribe((loaded) => {\r\n if (loaded) {\r\n this.map = service.view.map;\r\n }\r\n });\r\n this.getAllDistrict().then(huyenTXTP => this.districtLoaded.next(huyenTXTP));\r\n this.getAllWard().then(xaPhuongTT => this.wardLoaded.next(xaPhuongTT));\r\n }\r\n\r\n public map: __esri.Map;\r\n\r\n private get districtLayer(): __esri.Sublayer {\r\n return (this.map.findLayerById(\r\n CONSTNAME.BASEMAP\r\n ) as __esri.MapImageLayer).findSublayerById(CONSTNAME.INDEX_HANHCHINHHUYEN);\r\n }\r\n private get wardLayer(): __esri.Sublayer {\r\n return (this.map.findLayerById(\r\n CONSTNAME.BASEMAP\r\n ) as __esri.MapImageLayer).findSublayerById(CONSTNAME.INDEX_HANHCHINHXA);\r\n }\r\n\r\n async getAll(params?: ParamsGet): Promise<EsriQueryResponse> {\r\n const query: __esri.QueryProperties =\r\n params && params.query\r\n ? params.query\r\n : {\r\n where: \"1=1\",\r\n outFields: [\"*\"],\r\n orderByFields: [\"OBJECTID DESC\"],\r\n };\r\n const result = await new QueryTask({\r\n url: params.url,\r\n }).execute(query);\r\n return result;\r\n }\r\n\r\n public getAllDistrict(): Promise<Array<__esri.CodedValueDomainCodedValues>> {\r\n return this.getAll({\r\n url: HanhChinhHuyenMapServer,\r\n query: {\r\n where: \"1=1\",\r\n outFields: [MA_HUYEN, TEN_HUYEN],\r\n },\r\n }).then(({ features }) => features.map((m) => {\r\n const attribute = m.attributes;\r\n return { code: +attribute[MA_HUYEN], name: attribute[TEN_HUYEN] };\r\n }));\r\n }\r\n\r\n getLocationInfo(geometry: __esri.Geometry) {\r\n return this.getAll({\r\n url: HanhChinhXaMapServer,\r\n query: {\r\n geometry,\r\n outFields: ['*'],\r\n },\r\n }).then(({ features }) => {\r\n const ft = features[0];\r\n if (ft) {\r\n return { HuyenTXTP: +ft.attributes[MA_HUYEN], XaPhuongTT: +ft.attributes[MA_XA] };\r\n }\r\n return false;\r\n\r\n });\r\n }\r\n\r\n public getAllWard(idQuanHuyen?: number): Promise<Array<__esri.CodedValueDomainCodedValues>> {\r\n let _query = {\r\n where: \"1=1\",\r\n outFields: [MA_XA, TEN_XA],\r\n };\r\n if (idQuanHuyen) {\r\n _query = {\r\n where: `MaHuyenTp=${idQuanHuyen}`,\r\n outFields: [MA_XA, TEN_XA],\r\n };\r\n }\r\n return this.getAll({\r\n url: HanhChinhXaMapServer,\r\n query: _query\r\n }).then(({ features }) => features.map((m) => {\r\n const attribute = m.attributes;\r\n return { code: +attribute[MA_XA], name: attribute[TEN_XA] };\r\n }));\r\n }\r\n\r\n public selectAllDistrict(options: {\r\n returnGeometry?: false;\r\n }): Promise<__esri.Graphic[]> {\r\n return new Promise((resolve, reject) => {\r\n let query = this.districtLayer.createQuery();\r\n query.returnGeometry = options.returnGeometry || false;\r\n query.where = \"1=1\";\r\n query.outFields = [MA_HUYEN, TEN_HUYEN];\r\n this.districtLayer\r\n .queryFeatures(query)\r\n .then((r) => {\r\n resolve(r.features);\r\n })\r\n .catch((e) => reject(e));\r\n });\r\n }\r\n public selectAllWard(options: {\r\n returnGeometry?: boolean;\r\n }): Promise<__esri.Graphic[]> {\r\n return new Promise((resolve, reject) => {\r\n let query = this.wardLayer.createQuery();\r\n query.returnGeometry = options.returnGeometry || false;\r\n query.where = \"1=1\";\r\n query.outFields = [MA_XA, TEN_XA];\r\n this.wardLayer\r\n .queryFeatures(query)\r\n .then((r) => {\r\n resolve(r.features);\r\n })\r\n .catch((e) => reject(e));\r\n });\r\n }\r\n public queryDistrict(query: __esri.Query) {\r\n return this.districtLayer.queryFeatures(query);\r\n }\r\n public queryWard(query: __esri.Query) {\r\n return this.wardLayer.queryFeatures(query);\r\n }\r\n public districtIdToName(id: string): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n this.districtLayer\r\n .queryFeatures(<__esri.Query>{\r\n where: `${MA_HUYEN} = '${id}'`,\r\n outFields: [TEN_HUYEN],\r\n })\r\n .then((r) => {\r\n if (r.features.length > 0) {\r\n resolve(r.features[0].attributes[TEN_HUYEN]);\r\n } else resolve(null);\r\n });\r\n });\r\n }\r\n public wardIdToName(id: string): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n this.wardLayer\r\n .queryFeatures(<__esri.Query>{\r\n where: `${MA_XA} = '${id}'`,\r\n outFields: [TEN_XA],\r\n })\r\n .then((r) => {\r\n if (r.features.length > 0) {\r\n resolve(r.features[0].attributes[TEN_XA]);\r\n } else resolve(null);\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from 'src/app/manager/shared/services/api.service';\r\nimport { LoginService } from './login.service';\r\nimport { TinhTrangHoSo } from 'src/app/manager/shared/models/ho-so.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotifyService {\r\n public hoSoChoPheDuyet = 0;\r\n constructor(private apiService: ApiService, private loginService: LoginService) { \r\n this.countHsChoPheDuyet();\r\n }\r\n\r\n\r\n\r\n public countHsChoPheDuyet() {\r\n let url = `odata/HoSoes?$expand=SYS_DonVi&$filter=TrangThai eq ${TinhTrangHoSo.HoSoChoDuyet}&`;\r\n if(this.loginService.isDoanhNghiep) {\r\n url = url + `SYS_DonVi/${this.loginService.maDonVi} eq 'VTL'&`\r\n }\r\n this.apiService.getCount(url).then(count => this.hoSoChoPheDuyet = count);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n NgbModule,\r\n NgbDatepickerConfig,\r\n NgbDateAdapter,\r\n NgbDateNativeAdapter,\r\n NgbDateParserFormatter,\r\n NgbDatepickerI18n,\r\n NgbPaginationConfig \r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { I18n, DateParserFormatter, DatepickerI18n, CustomAdapter } from './services';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ComponentsModule } from './components/components.module';\r\nimport { PerfectScrollbarConfigInterface, PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n // suppressScrollX: true\r\n };\r\n\r\n@NgModule({\r\n imports: [NgbModule, ComponentsModule, PerfectScrollbarModule],\r\n providers: [\r\n I18n,\r\n NgbDatepickerConfig,\r\n { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter },\r\n { provide: NgbDateParserFormatter, useClass: DateParserFormatter },\r\n { provide: NgbDateAdapter, useClass: CustomAdapter },\r\n { provide: NgbDatepickerI18n, useClass: DatepickerI18n },\r\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG}\r\n ],\r\n exports: [NgbModule, CommonModule, FormsModule, RouterModule, ComponentsModule, PerfectScrollbarModule],\r\n declarations: []\r\n})\r\nexport class SharedModule {\r\n constructor(\r\n datePickerCfg: NgbDatepickerConfig,\r\n pageCfg: NgbPaginationConfig) {\r\n // Cấu hình datepicker\r\n datePickerCfg.minDate = { year: 1920, month: 1, day: 1 };\r\n // Cấu hình phân trang\r\n pageCfg.size = 'sm';\r\n pageCfg.boundaryLinks = true;\r\n pageCfg.maxSize = 3;\r\n pageCfg.rotate = true;\r\n }\r\n}"],"sourceRoot":"webpack:///"}